@artstesh/maps 6.0.2 → 6.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/esm2022/map/messages/events/map-move-end.event.mjs +4 -6
  2. package/dist/esm2022/map/messages/executors/get-map-position.executor.mjs +16 -0
  3. package/dist/esm2022/map/messages/index.mjs +3 -1
  4. package/dist/esm2022/map/models/index.mjs +2 -1
  5. package/dist/esm2022/map/models/map-position.model.mjs +2 -0
  6. package/dist/esm2022/map/services/map-state.service.mjs +10 -4
  7. package/dist/esm2022/map/services/message-registrator.service.mjs +5 -1
  8. package/dist/esm2022/src/map/messages/events/map-move-end.event.mjs +4 -6
  9. package/dist/esm2022/src/map/messages/executors/get-map-position.executor.mjs +16 -0
  10. package/dist/esm2022/src/map/messages/index.mjs +3 -1
  11. package/dist/esm2022/src/map/models/index.mjs +2 -1
  12. package/dist/esm2022/src/map/models/map-position.model.mjs +2 -0
  13. package/dist/esm2022/src/map/services/map-state.service.mjs +10 -4
  14. package/dist/esm2022/src/map/services/message-registrator.service.mjs +5 -1
  15. package/dist/fesm2022/maps-components-src-map.mjs +45 -23
  16. package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
  17. package/dist/fesm2022/maps-components.mjs +45 -23
  18. package/dist/fesm2022/maps-components.mjs.map +1 -1
  19. package/dist/map/messages/events/map-move-end.event.d.ts +3 -3
  20. package/dist/map/messages/executors/get-map-position.executor.d.ts +12 -0
  21. package/dist/map/messages/index.d.ts +2 -0
  22. package/dist/map/models/index.d.ts +1 -0
  23. package/dist/map/models/map-position.model.d.ts +6 -0
  24. package/dist/map/services/map-state.service.d.ts +2 -0
  25. package/dist/map/services/message-registrator.service.d.ts +1 -0
  26. package/dist/src/map/messages/events/map-move-end.event.d.ts +3 -3
  27. package/dist/src/map/messages/executors/get-map-position.executor.d.ts +12 -0
  28. package/dist/src/map/messages/index.d.ts +2 -0
  29. package/dist/src/map/models/index.d.ts +1 -0
  30. package/dist/src/map/models/map-position.model.d.ts +6 -0
  31. package/dist/src/map/services/map-state.service.d.ts +2 -0
  32. package/dist/src/map/services/message-registrator.service.d.ts +1 -0
  33. package/package.json +1 -1
@@ -244,13 +244,11 @@ class MapClickEvent extends PostboyGenericMessage {
244
244
  }
245
245
 
246
246
  class MapMoveEndEvent extends PostboyGenericMessage {
247
- zoom;
248
- extent;
247
+ position;
249
248
  static ID = 'f21f783e-b5af-4489-9fec-8027fd07a8ad';
250
- constructor(zoom, extent) {
249
+ constructor(position) {
251
250
  super();
252
- this.zoom = zoom;
253
- this.extent = extent;
251
+ this.position = position;
254
252
  }
255
253
  get id() {
256
254
  return MapMoveEndEvent.ID;
@@ -406,6 +404,35 @@ class FitToPolygonsCommand extends PostboyGenericMessage {
406
404
  }
407
405
  }
408
406
 
407
+ /**
408
+ * A message that allows to get the current state of the map.
409
+ * If the map's state is not defined yet, the executor would return null
410
+ * @returns {MapPosition | null}
411
+ */
412
+ class GetMapPositionExecutor extends PostboyExecutor {
413
+ static ID = '52c95689-d09b-4082-ba58-9183ea96a213';
414
+ get id() {
415
+ return GetMapPositionExecutor.ID;
416
+ }
417
+ constructor() {
418
+ super();
419
+ }
420
+ }
421
+
422
+ class GetFeaturesInAreaQuery extends PostboyCallbackMessage {
423
+ area;
424
+ ignore;
425
+ static ID = 'efcf4271-a07a-40e0-9f02-d4dade40b8ac';
426
+ constructor(area, ignore = new Set()) {
427
+ super();
428
+ this.area = area;
429
+ this.ignore = ignore;
430
+ }
431
+ get id() {
432
+ return GetFeaturesInAreaQuery.ID;
433
+ }
434
+ }
435
+
409
436
  class AddLayerCommand extends PostboyGenericMessage {
410
437
  layer;
411
438
  static ID = 'd93e250f-92bc-43ac-9c6a-46c521a1aaa5';
@@ -547,20 +574,6 @@ class FeatureService {
547
574
  }
548
575
  }
549
576
 
550
- class GetFeaturesInAreaQuery extends PostboyCallbackMessage {
551
- area;
552
- ignore;
553
- static ID = 'efcf4271-a07a-40e0-9f02-d4dade40b8ac';
554
- constructor(area, ignore = new Set()) {
555
- super();
556
- this.area = area;
557
- this.ignore = ignore;
558
- }
559
- get id() {
560
- return GetFeaturesInAreaQuery.ID;
561
- }
562
- }
563
-
564
577
  class FilterFeaturesInAreaExecutor extends PostboyExecutor {
565
578
  area;
566
579
  features;
@@ -726,6 +739,14 @@ class MapStateService {
726
739
  this.observeMapRendering();
727
740
  this.observeCenter();
728
741
  }
742
+ getMapPosition() {
743
+ if (!this.map)
744
+ return null;
745
+ let [longitude, latitude] = this.map.getView().getCenter();
746
+ const zoom = Math.floor(this.map.getView().getZoom());
747
+ const extent = this.map.getView().calculateExtent();
748
+ return { longitude, latitude, zoom, extent };
749
+ }
729
750
  observeMapRendering() {
730
751
  this.postboy
731
752
  .subscribe(MapRenderedEvent.ID)
@@ -733,9 +754,7 @@ class MapStateService {
733
754
  .subscribe((ev) => {
734
755
  this.map = ev.map;
735
756
  this.map?.on('moveend', () => {
736
- const zoom = Math.floor(this.map?.getView().getZoom() || -1);
737
- const extent = this.map?.getView().calculateExtent() || [];
738
- this.postboy.fire(new MapMoveEndEvent(zoom, extent));
757
+ this.postboy.fire(new MapMoveEndEvent(this.getMapPosition()));
739
758
  });
740
759
  });
741
760
  }
@@ -1060,8 +1079,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
1060
1079
  }], ctorParameters: () => [{ type: MapPostboyService }] });
1061
1080
 
1062
1081
  class MessageRegistratorService extends PostboyAbstractRegistrator {
1082
+ state;
1063
1083
  constructor(service, management, state, mapFeature, interaction, drawing, featureModification, controls) {
1064
1084
  super(service);
1085
+ this.state = state;
1065
1086
  this.registerServices([management, state, interaction, mapFeature, drawing, featureModification, controls]);
1066
1087
  }
1067
1088
  _up() {
@@ -1094,6 +1115,7 @@ class MessageRegistratorService extends PostboyAbstractRegistrator {
1094
1115
  this.registerExecutor(CalculateAreaExecutor.ID, (e) => FeatureService.calculateArea(e.polygon?.feature?.getGeometry()));
1095
1116
  this.registerExecutor(GenerateDrawExecutor.ID, (e) => DrawingGenerationService.getDraw(e));
1096
1117
  this.registerExecutor(GenerateZoomControlExecutor.ID, (e) => ZoomControlFactory.build(e.settings));
1118
+ this.registerExecutor(GetMapPositionExecutor.ID, () => this.state.getMapPosition());
1097
1119
  }
1098
1120
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MessageRegistratorService, deps: [{ token: MapPostboyService }, { token: MapManagementService }, { token: MapStateService }, { token: MapFeatureService }, { token: MapClickService }, { token: DrawingService }, { token: FeatureModificationService }, { token: ControlsService }], target: i0.ɵɵFactoryTarget.Injectable });
1099
1121
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MessageRegistratorService });
@@ -2531,5 +2553,5 @@ class StringifyFeatureHelper {
2531
2553
  * Generated bundle index. Do not edit.
2532
2554
  */
2533
2555
 
2534
- export { AddControlCommand, CalculateAreaExecutor, CancelDrawingCommand, CancelFeatureModificationCommand, CloseTooltipCommand, ClusterLayerComponent, ClusterLayerSettings, DrawSelectionAreaCommand, DrawingType, FeatureLayerComponent, FeatureLayerSettings, FeatureOutputFormat, FitToPolygonsCommand, MapClickEvent, MapControl, MapControlZoomComponent, MapLyrs, MapLyrsLabel, MapModule, MapMoveEndEvent, MapPlateComponent, MapPostboyService, MapRenderedEvent, MapSettings, MarkerModel, MarkerStyleHelper, MarkersComponent, MessageRegistratorService, ModifyFeatureCommand, OsmTileLayerComponent, PolygonModel, PolygonStyleHelper, PolygonsComponent, RemoveControlCommand, SetMapCenterCommand, StartDrawingCommand, StringifyFeatureHelper, TextStyleHelper, TileLayerComponent, TileLayerSettings, TooltipComponent, TooltipSettings, ZoomControlSettings };
2556
+ export { AddControlCommand, CalculateAreaExecutor, CancelDrawingCommand, CancelFeatureModificationCommand, CloseTooltipCommand, ClusterLayerComponent, ClusterLayerSettings, DrawSelectionAreaCommand, DrawingType, FeatureLayerComponent, FeatureLayerSettings, FeatureOutputFormat, FitToPolygonsCommand, GetFeaturesInAreaQuery, GetMapPositionExecutor, MapClickEvent, MapControl, MapControlZoomComponent, MapLyrs, MapLyrsLabel, MapModule, MapMoveEndEvent, MapPlateComponent, MapPostboyService, MapRenderedEvent, MapSettings, MarkerModel, MarkerStyleHelper, MarkersComponent, MessageRegistratorService, ModifyFeatureCommand, OsmTileLayerComponent, PolygonModel, PolygonStyleHelper, PolygonsComponent, RemoveControlCommand, SetMapCenterCommand, StartDrawingCommand, StringifyFeatureHelper, TextStyleHelper, TileLayerComponent, TileLayerSettings, TooltipComponent, TooltipSettings, ZoomControlSettings };
2535
2557
  //# sourceMappingURL=maps-components.mjs.map