|
20 | 20 | private Markers.HtmlMarkerInvokeHelper _htmlMarkerEventInvokeHelper; |
21 | 21 | private Drawing.DrawingToolbarEventInvokeHelper _drawingToolbarEventInvokeHelper; |
22 | 22 | private Layers.LayerEventInvokeHelper _layerEventInvokeHelper; |
| 23 | + private Popups.PopupInvokeHelper _popupInvokeHelper; |
23 | 24 |
|
24 | 25 | private string _id; |
25 | 26 |
|
|
408 | 409 | _htmlMarkerEventInvokeHelper = new Markers.HtmlMarkerInvokeHelper(HtmlMarkerEventReceivedAsync); |
409 | 410 | _drawingToolbarEventInvokeHelper = new Drawing.DrawingToolbarEventInvokeHelper(DrawingToolbarEventReceivedAsync); |
410 | 411 | _layerEventInvokeHelper = new Layers.LayerEventInvokeHelper(LayerEventReceivedAsync); |
| 412 | + _popupInvokeHelper = new Popups.PopupInvokeHelper(PopupEventReceivedAsync); |
411 | 413 | base.OnInitialized(); |
412 | 414 | } |
413 | 415 |
|
|
512 | 514 |
|
513 | 515 | private async Task DrawingToolbarEventReceivedAsync(AzureMapsControl.Components.Drawing.DrawingToolbarJsEventArgs drawingToolbarEvent) |
514 | 516 | { |
| 517 | + MapService.Map.DispatchDrawingToolbarEvent(drawingToolbarEvent); |
515 | 518 | switch (drawingToolbarEvent.Type) |
516 | 519 | { |
517 | 520 | case "drawingchanged": |
|
739 | 742 | && EventActivationFlags.EnabledEvents != null |
740 | 743 | && EventActivationFlags.EnabledEvents.Contains(mapEvent.Type)) |
741 | 744 | { |
| 745 | + MapService.Map.DispatchEvent(mapEvent); |
742 | 746 | switch (mapEvent.Type) |
743 | 747 | { |
744 | 748 | case "boxzoomend": |
|
837 | 841 | case "sourceadded": |
838 | 842 | await OnSourceAdded.InvokeAsync(new MapDataEventArgs(MapService.Map, mapEvent)); |
839 | 843 | break; |
840 | | - case "sourcedate": |
| 844 | + case "sourcedata": |
841 | 845 | await OnSourceData.InvokeAsync(new MapDataEventArgs(MapService.Map, mapEvent)); |
842 | 846 | break; |
843 | 847 | case "sourceremoved": |
|
886 | 890 |
|
887 | 891 | private async Task AddPopupAsync(AzureMapsControl.Components.Popups.Popup popup) |
888 | 892 | { |
889 | | - await JSRuntime.InvokeVoidAsync(Constants.JsConstants.MethodAddPopup.ToAzureMapsControlNamespace(), popup.Id, popup.Options); |
| 893 | + await JSRuntime.InvokeVoidAsync(Constants.JsConstants.MethodAddPopup.ToAzureMapsControlNamespace(), popup.Id, popup.Options, popup.EventActivationFlags.EnabledEvents, DotNetObjectReference.Create(_popupInvokeHelper)); |
890 | 894 | popup.OpenPopupCallback = Popup_OpenAsync; |
891 | 895 | popup.ClosePopupCallback = Popup_CloseAsync; |
892 | 896 | popup.RemoveCallback = Popup_RemoveAsync; |
|
903 | 907 | private async Task Popup_UpdateAsync(string id, AzureMapsControl.Components.Popups.PopupOptions options) => await JSRuntime.InvokeVoidAsync(Constants.JsConstants.MethodPopupUpdate.ToAzureMapsControlNamespace(), id, options); |
904 | 908 | private async Task ClearPopupsAsync() => await JSRuntime.InvokeVoidAsync(Constants.JsConstants.MethodClearPopups.ToAzureMapsControlNamespace()); |
905 | 909 |
|
| 910 | + private async Task PopupEventReceivedAsync(AzureMapsControl.Components.Popups.PopupEventArgs eventArgs) => |
| 911 | + await Task.Run(() => MapService.Map.Popups.First(popup => popup.Id == eventArgs.Id).DispatchEvent(eventArgs)); |
| 912 | + |
906 | 913 | #endregion |
907 | 914 | } |
0 commit comments