Exemplo n.º 1
0
        public void Should_HaveDefaultIdAndDeactivatedEvents()
        {
            var marker = new HtmlMarker(new HtmlMarkerOptions());

            Assert.False(string.IsNullOrWhiteSpace(marker.Id));
            Assert.Empty(marker.EventActivationFlags.EnabledEvents);
        }
        public async ValueTask <IDropMarkersAnimation> DropMarkerAsync(HtmlMarker marker, decimal?height = null, DropMarkersAnimationOptions options = default)
        {
            _logger?.LogAzureMapsControlInfo(AzureMapLogEvent.AnimationService_DropMarkers, "Calling DropMarkersAsync");

            Require.NotNull(marker, nameof(marker));
            return(await DropMarkersAsync(new[] { marker }, height, options));
        }
Exemplo n.º 3
0
        public void Should_NotUpdateOptionsWithEvent()
        {
            var marker = new HtmlMarker(new HtmlMarkerOptions());

            marker.DispatchEvent(new Components.Map.Map("id"), new HtmlMarkerJsEventArgs());
            Assert.NotNull(marker.Options);
        }
Exemplo n.º 4
0
        public async void Should_TogglePopupAsync()
        {
            var assertEvent       = false;
            var popupInvokeHelper = new PopupInvokeHelper(null);
            var marker            = new HtmlMarker(new HtmlMarkerOptions {
                Popup = new HtmlMarkerPopup(new PopupOptions())
                {
                    IsRemoved = true
                }
            })
            {
                JSRuntime         = _jsRuntime.Object,
                PopupInvokeHelper = popupInvokeHelper
            };

            marker.OnPopupToggled += () => assertEvent = true;
            await marker.TogglePopupAsync();

            Assert.True(assertEvent);
            Assert.True(marker.Options.Popup.HasBeenToggled);
            Assert.False(marker.Options.Popup.IsRemoved);

            _jsRuntime.Verify(runtime => runtime.InvokeVoidAsync(Constants.JsConstants.Methods.HtmlMarker.TogglePopup.ToHtmlMarkerNamespace(), It.Is <object[]>(parameters =>
                                                                                                                                                                parameters[0] as string == marker.Id &&
                                                                                                                                                                parameters[1] as string == marker.Options.Popup.Id &&
                                                                                                                                                                parameters[2] is IEnumerable <string> &&
                                                                                                                                                                parameters[3] is DotNetObjectReference <PopupInvokeHelper>
                                                                                                                                                                )));
            _jsRuntime.VerifyNoOtherCalls();
        }
Exemplo n.º 5
0
        public ActionResult Delete(int id)
        {
            HtmlMarker toDelete = db.HtmlMarkers.Find(id);

            db.HtmlMarkers.Remove(toDelete);
            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
Exemplo n.º 6
0
        public void Should_UpdateOptionsWithEvent()
        {
            var marker  = new HtmlMarker(new HtmlMarkerOptions());
            var options = new HtmlMarkerOptions {
                Color = "#bbbbbb"
            };

            marker.DispatchEvent(new Components.Map.Map("id"), new HtmlMarkerJsEventArgs {
                Options = options
            });
            Assert.Equal(options, marker.Options);
        }
Exemplo n.º 7
0
        public void Should_DispatchMouseMoveEvent()
        {
            var assertEvent = false;
            var marker      = new HtmlMarker(new HtmlMarkerOptions());
            var map         = new Components.Map.Map("id");
            var type        = "mousemove";

            marker.OnMouseMove += eventArgs => assertEvent = eventArgs.Map == map && eventArgs.Type == type && eventArgs.HtmlMarker == marker;
            marker.DispatchEvent(map, new HtmlMarkerJsEventArgs {
                Type = type
            });
        }
Exemplo n.º 8
0
        public void Should_DispatchDragEvent()
        {
            var assertEvent = false;
            var marker      = new HtmlMarker(new HtmlMarkerOptions());
            var map         = new Components.Map.Map("id");
            var type        = "drag";

            marker.OnDrag += eventArgs => assertEvent = eventArgs.Map == map && eventArgs.Type == type && eventArgs.HtmlMarker == marker;
            marker.DispatchEvent(map, new HtmlMarkerJsEventArgs {
                Type = type
            });
            Assert.True(assertEvent);
        }
Exemplo n.º 9
0
        public ActionResult Edit(int id, HtmlMarker toEdit)
        {
            try
            {
                db.Entry(toEdit).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Exemplo n.º 10
0
        public ActionResult Create(HtmlMarker html)
        {
            try
            {
                db.HtmlMarkers.Add(html);
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
        public async ValueTask <ISetCoordinatesAnimation> SetCoordinatesAsync(HtmlMarker marker, Position newCoordinates, SetCoordinatesAnimationOptions options = default)
        {
            _logger?.LogAzureMapsControlInfo(AzureMapLogEvent.AnimationService_SetCoordinates, "Calling SetCoordinatesAsync");

            Require.NotNull(marker, nameof(marker));
            Require.NotNull(newCoordinates, nameof(newCoordinates));

            _logger?.LogAzureMapsControlDebug(AzureMapLogEvent.AnimationService_SetCoordinates, "Marker", marker);
            _logger?.LogAzureMapsControlDebug(AzureMapLogEvent.AnimationService_SetCoordinates, "New Coordinates", newCoordinates);
            _logger?.LogAzureMapsControlDebug(AzureMapLogEvent.AnimationService_SetCoordinates, "Options", options);

            var animation = new SetCoordinatesAnimation(Guid.NewGuid().ToString(), _jsRuntime);
            await _jsRuntime.InvokeVoidAsync(Constants.JsConstants.Methods.Animation.SetCoordinates.ToAnimationNamespace(), animation.Id, marker.Id, null, newCoordinates, options);

            animation.Disposed = options.DisposeOnComplete.GetValueOrDefault();
            return(animation);
        }
Exemplo n.º 12
0
        public async void Should_Not_TogglePopup_NotAddedToMapCase_Async()
        {
            var popupInvokeHelper = new PopupInvokeHelper(null);
            var marker            = new HtmlMarker(new HtmlMarkerOptions {
                Popup = new HtmlMarkerPopup(new PopupOptions())
                {
                    IsRemoved = true
                }
            })
            {
                PopupInvokeHelper = popupInvokeHelper
            };

            await Assert.ThrowsAnyAsync <ComponentNotAddedToMapException>(async() => await marker.TogglePopupAsync());

            _jsRuntime.VerifyNoOtherCalls();
        }
Exemplo n.º 13
0
        public async void Should_Not_TogglePopupAsync()
        {
            var assertEvent       = false;
            var popupInvokeHelper = new PopupInvokeHelper(null);
            var marker            = new HtmlMarker(new HtmlMarkerOptions())
            {
                JSRuntime         = _jsRuntime.Object,
                PopupInvokeHelper = popupInvokeHelper
            };

            marker.OnPopupToggled += () => assertEvent = true;
            await marker.TogglePopupAsync();

            Assert.False(assertEvent);

            _jsRuntime.VerifyNoOtherCalls();
        }
        public async ValueTask <IMoveAlongPathAnimation> MoveAlongPathAsync(IEnumerable <Position> path, HtmlMarker pin, MoveAlongPathAnimationOptions options = default)
        {
            _logger?.LogAzureMapsControlInfo(AzureMapLogEvent.AnimationService_MoveAlongPath, "Calling MoveAlongPath");

            Require.NotNull(path, nameof(path));
            Require.NotNull(pin, nameof(pin));

            _logger?.LogAzureMapsControlDebug(AzureMapLogEvent.AnimationService_MoveAlongPath, "Path", path);
            _logger?.LogAzureMapsControlDebug(AzureMapLogEvent.AnimationService_MoveAlongPath, "PinId", pin.Id);
            _logger?.LogAzureMapsControlDebug(AzureMapLogEvent.AnimationService_MoveAlongPath, "Options", options);

            var animation = new MoveAlongPathAnimation(Guid.NewGuid().ToString(), _jsRuntime);
            await _jsRuntime.InvokeVoidAsync(Constants.JsConstants.Methods.Animation.MoveAlongPath.ToAnimationNamespace(), animation.Id, path, null, pin.Id, null, options);

            animation.Disposed = options.DisposeOnComplete.GetValueOrDefault();
            return(animation);
        }
        public async ValueTask <IMoveAlongRouteAnimation> MoveAlongRouteAsync(IEnumerable <RoutePoint> points, HtmlMarker pin, RoutePathAnimationOptions options = default)
        {
            _logger?.LogAzureMapsControlInfo(AzureMapLogEvent.AnimationService_Morph, "Calling MoveAlongRoute");

            Require.NotNull(points, nameof(points));
            Require.NotNull(pin, nameof(pin));

            _logger?.LogAzureMapsControlDebug(AzureMapLogEvent.AnimationService_Morph, "Points", points);
            _logger?.LogAzureMapsControlDebug(AzureMapLogEvent.AnimationService_Morph, "Pin", pin);
            _logger?.LogAzureMapsControlDebug(AzureMapLogEvent.AnimationService_SetCoordinates, "Options", options);

            var animation = new MoveAlongRouteAnimation(Guid.NewGuid().ToString(), _jsRuntime);
            await _jsRuntime.InvokeVoidAsync(Constants.JsConstants.Methods.Animation.MoveAlongRoute.ToAnimationNamespace(), animation.Id, points, null, pin.Id, options);

            return(animation);
        }
Exemplo n.º 16
0
        public ActionResult Edit(int id)
        {
            HtmlMarker toEdit = db.HtmlMarkers.Find(id);

            return(View(toEdit));
        }