@artstesh/maps 1.1.13 → 1.1.16

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 (180) hide show
  1. package/dist/bundles/maps-components-src-map.umd.js +398 -390
  2. package/dist/bundles/maps-components-src-map.umd.js.map +1 -1
  3. package/dist/bundles/maps-components.umd.js +398 -390
  4. package/dist/bundles/maps-components.umd.js.map +1 -1
  5. package/dist/esm2015/map/map-plate/controls/map-control-zoom/map-control-zoom.component.js +3 -3
  6. package/dist/esm2015/map/map-plate/features/markers/markers.component.js +2 -2
  7. package/dist/esm2015/map/map-plate/features/polygons/polygons.component.js +2 -2
  8. package/dist/esm2015/map/map-plate/layers/cluster-layer/cluster-layer.component.js +2 -2
  9. package/dist/esm2015/map/map-plate/layers/cluster-layer/cluster-layer.manager.js +4 -4
  10. package/dist/esm2015/map/map-plate/layers/feature-layer/feature-layer.component.js +2 -2
  11. package/dist/esm2015/map/map-plate/layers/tile-layer/tile-layer.component.js +2 -2
  12. package/dist/esm2015/map/map-plate/tooltips/tooltip/tooltip.component.js +4 -4
  13. package/dist/esm2015/map/messages/commands/add-control.command.js +10 -5
  14. package/dist/esm2015/map/messages/commands/add-layer.command.js +2 -5
  15. package/dist/esm2015/map/messages/commands/add-tile.command.js +2 -5
  16. package/dist/esm2015/map/messages/commands/cancel-drawing.command.js +5 -5
  17. package/dist/esm2015/map/messages/commands/cancel-feature-modification.command.js +5 -5
  18. package/dist/esm2015/map/messages/commands/close-tooltip.command.js +10 -5
  19. package/dist/esm2015/map/messages/commands/draw-selection-area.command.js +14 -5
  20. package/dist/esm2015/map/messages/commands/fit-to-features.command.js +2 -5
  21. package/dist/esm2015/map/messages/commands/fit-to-polygons.command.js +12 -5
  22. package/dist/esm2015/map/messages/commands/modify-feature.command.js +15 -5
  23. package/dist/esm2015/map/messages/commands/place-layer-features.command.js +2 -5
  24. package/dist/esm2015/map/messages/commands/remove-control.command.js +15 -5
  25. package/dist/esm2015/map/messages/commands/remove-layer.command.js +2 -5
  26. package/dist/esm2015/map/messages/commands/remove-tile.command.js +2 -5
  27. package/dist/esm2015/map/messages/commands/set-map-center.command.js +2 -5
  28. package/dist/esm2015/map/messages/commands/start-drawing.command.js +12 -5
  29. package/dist/esm2015/map/messages/events/drawing-finished.event.js +2 -8
  30. package/dist/esm2015/map/messages/events/map-click.event.js +15 -5
  31. package/dist/esm2015/map/messages/events/map-move-end.event.js +8 -5
  32. package/dist/esm2015/map/messages/events/map-rendered.event.js +10 -5
  33. package/dist/esm2015/map/messages/executors/calculate-area.executor.js +9 -5
  34. package/dist/esm2015/map/messages/executors/filter-features-in-area.executor.js +10 -5
  35. package/dist/esm2015/map/messages/executors/filter-features-in-point.executor.js +14 -6
  36. package/dist/esm2015/map/messages/executors/generate-draw.executor.js +2 -5
  37. package/dist/esm2015/map/messages/executors/generate-zoom-control.executor.js +2 -5
  38. package/dist/esm2015/map/messages/executors/get-map-position.executor.js +1 -4
  39. package/dist/esm2015/map/messages/index.js +8 -8
  40. package/dist/esm2015/map/messages/queries/get-features-in-area.query.js +12 -5
  41. package/dist/esm2015/map/messages/queries/get-features-in-point.query.js +9 -5
  42. package/dist/esm2015/map/messages/queries/get-layer.query.js +2 -5
  43. package/dist/esm2015/map/models/drawing-type.enum.js +14 -1
  44. package/dist/esm2015/map/models/feature-format.enum.js +9 -1
  45. package/dist/esm2015/map/models/map-position.model.js +1 -1
  46. package/dist/esm2015/map/models/map-settings.js +47 -1
  47. package/dist/esm2015/map/services/controls/controls.service.js +4 -6
  48. package/dist/esm2015/map/services/drawing/drawing.service.js +9 -15
  49. package/dist/esm2015/map/services/drawing/feature-modification.service.js +5 -7
  50. package/dist/esm2015/map/services/map-click.service.js +2 -2
  51. package/dist/esm2015/map/services/map-feature.service.js +4 -4
  52. package/dist/esm2015/map/services/map-management.service.js +12 -12
  53. package/dist/esm2015/map/services/map-postboy.service.js +6 -2
  54. package/dist/esm2015/map/services/map-state.service.js +3 -3
  55. package/dist/esm2015/map/services/message-registrator.service.js +30 -30
  56. package/dist/esm2015/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.js +3 -3
  57. package/dist/esm2015/src/map/map-plate/features/markers/markers.component.js +2 -2
  58. package/dist/esm2015/src/map/map-plate/features/polygons/polygons.component.js +2 -2
  59. package/dist/esm2015/src/map/map-plate/layers/cluster-layer/cluster-layer.component.js +2 -2
  60. package/dist/esm2015/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.js +4 -4
  61. package/dist/esm2015/src/map/map-plate/layers/feature-layer/feature-layer.component.js +2 -2
  62. package/dist/esm2015/src/map/map-plate/layers/tile-layer/tile-layer.component.js +2 -2
  63. package/dist/esm2015/src/map/map-plate/tooltips/tooltip/tooltip.component.js +4 -4
  64. package/dist/esm2015/src/map/messages/commands/add-control.command.js +10 -5
  65. package/dist/esm2015/src/map/messages/commands/add-layer.command.js +2 -5
  66. package/dist/esm2015/src/map/messages/commands/add-tile.command.js +2 -5
  67. package/dist/esm2015/src/map/messages/commands/cancel-drawing.command.js +5 -5
  68. package/dist/esm2015/src/map/messages/commands/cancel-feature-modification.command.js +5 -5
  69. package/dist/esm2015/src/map/messages/commands/close-tooltip.command.js +10 -5
  70. package/dist/esm2015/src/map/messages/commands/draw-selection-area.command.js +14 -5
  71. package/dist/esm2015/src/map/messages/commands/fit-to-features.command.js +2 -5
  72. package/dist/esm2015/src/map/messages/commands/fit-to-polygons.command.js +12 -5
  73. package/dist/esm2015/src/map/messages/commands/modify-feature.command.js +15 -5
  74. package/dist/esm2015/src/map/messages/commands/place-layer-features.command.js +2 -5
  75. package/dist/esm2015/src/map/messages/commands/remove-control.command.js +15 -5
  76. package/dist/esm2015/src/map/messages/commands/remove-layer.command.js +2 -5
  77. package/dist/esm2015/src/map/messages/commands/remove-tile.command.js +2 -5
  78. package/dist/esm2015/src/map/messages/commands/set-map-center.command.js +2 -5
  79. package/dist/esm2015/src/map/messages/commands/start-drawing.command.js +12 -5
  80. package/dist/esm2015/src/map/messages/events/drawing-finished.event.js +2 -8
  81. package/dist/esm2015/src/map/messages/events/map-click.event.js +15 -5
  82. package/dist/esm2015/src/map/messages/events/map-move-end.event.js +8 -5
  83. package/dist/esm2015/src/map/messages/events/map-rendered.event.js +10 -5
  84. package/dist/esm2015/src/map/messages/executors/calculate-area.executor.js +9 -5
  85. package/dist/esm2015/src/map/messages/executors/filter-features-in-area.executor.js +10 -5
  86. package/dist/esm2015/src/map/messages/executors/filter-features-in-point.executor.js +14 -6
  87. package/dist/esm2015/src/map/messages/executors/generate-draw.executor.js +2 -5
  88. package/dist/esm2015/src/map/messages/executors/generate-zoom-control.executor.js +2 -5
  89. package/dist/esm2015/src/map/messages/executors/get-map-position.executor.js +1 -4
  90. package/dist/esm2015/src/map/messages/index.js +8 -8
  91. package/dist/esm2015/src/map/messages/queries/get-features-in-area.query.js +12 -5
  92. package/dist/esm2015/src/map/messages/queries/get-features-in-point.query.js +9 -5
  93. package/dist/esm2015/src/map/messages/queries/get-layer.query.js +2 -5
  94. package/dist/esm2015/src/map/models/drawing-type.enum.js +14 -1
  95. package/dist/esm2015/src/map/models/feature-format.enum.js +9 -1
  96. package/dist/esm2015/src/map/models/map-position.model.js +1 -1
  97. package/dist/esm2015/src/map/models/map-settings.js +47 -1
  98. package/dist/esm2015/src/map/services/controls/controls.service.js +4 -6
  99. package/dist/esm2015/src/map/services/drawing/drawing.service.js +9 -15
  100. package/dist/esm2015/src/map/services/drawing/feature-modification.service.js +5 -7
  101. package/dist/esm2015/src/map/services/map-click.service.js +2 -2
  102. package/dist/esm2015/src/map/services/map-feature.service.js +4 -4
  103. package/dist/esm2015/src/map/services/map-management.service.js +12 -12
  104. package/dist/esm2015/src/map/services/map-postboy.service.js +6 -2
  105. package/dist/esm2015/src/map/services/map-state.service.js +3 -3
  106. package/dist/esm2015/src/map/services/message-registrator.service.js +30 -30
  107. package/dist/fesm2015/maps-components-src-map.js +373 -252
  108. package/dist/fesm2015/maps-components-src-map.js.map +1 -1
  109. package/dist/fesm2015/maps-components.js +373 -252
  110. package/dist/fesm2015/maps-components.js.map +1 -1
  111. package/dist/map/messages/commands/add-control.command.d.ts +9 -2
  112. package/dist/map/messages/commands/add-layer.command.d.ts +1 -2
  113. package/dist/map/messages/commands/add-tile.command.d.ts +1 -2
  114. package/dist/map/messages/commands/cancel-drawing.command.d.ts +4 -2
  115. package/dist/map/messages/commands/cancel-feature-modification.command.d.ts +4 -2
  116. package/dist/map/messages/commands/close-tooltip.command.d.ts +9 -2
  117. package/dist/map/messages/commands/draw-selection-area.command.d.ts +13 -2
  118. package/dist/map/messages/commands/fit-to-features.command.d.ts +1 -2
  119. package/dist/map/messages/commands/fit-to-polygons.command.d.ts +11 -2
  120. package/dist/map/messages/commands/modify-feature.command.d.ts +14 -2
  121. package/dist/map/messages/commands/place-layer-features.command.d.ts +1 -2
  122. package/dist/map/messages/commands/remove-control.command.d.ts +14 -2
  123. package/dist/map/messages/commands/remove-layer.command.d.ts +1 -2
  124. package/dist/map/messages/commands/remove-tile.command.d.ts +1 -2
  125. package/dist/map/messages/commands/set-map-center.command.d.ts +1 -2
  126. package/dist/map/messages/commands/start-drawing.command.d.ts +11 -2
  127. package/dist/map/messages/events/drawing-finished.event.d.ts +1 -3
  128. package/dist/map/messages/events/map-click.event.d.ts +14 -2
  129. package/dist/map/messages/events/map-move-end.event.d.ts +7 -2
  130. package/dist/map/messages/events/map-rendered.event.d.ts +9 -2
  131. package/dist/map/messages/executors/calculate-area.executor.d.ts +8 -2
  132. package/dist/map/messages/executors/filter-features-in-area.executor.d.ts +9 -2
  133. package/dist/map/messages/executors/filter-features-in-point.executor.d.ts +13 -3
  134. package/dist/map/messages/executors/generate-draw.executor.d.ts +1 -2
  135. package/dist/map/messages/executors/generate-zoom-control.executor.d.ts +1 -2
  136. package/dist/map/messages/executors/get-map-position.executor.d.ts +0 -1
  137. package/dist/map/messages/index.d.ts +7 -7
  138. package/dist/map/messages/queries/get-features-in-area.query.d.ts +11 -2
  139. package/dist/map/messages/queries/get-features-in-point.query.d.ts +8 -2
  140. package/dist/map/messages/queries/get-layer.query.d.ts +1 -2
  141. package/dist/map/models/drawing-type.enum.d.ts +13 -0
  142. package/dist/map/models/feature-format.enum.d.ts +8 -0
  143. package/dist/map/models/map-position.model.d.ts +12 -0
  144. package/dist/map/models/map-settings.d.ts +46 -0
  145. package/dist/package.json +1 -1
  146. package/dist/src/map/messages/commands/add-control.command.d.ts +9 -2
  147. package/dist/src/map/messages/commands/add-layer.command.d.ts +1 -2
  148. package/dist/src/map/messages/commands/add-tile.command.d.ts +1 -2
  149. package/dist/src/map/messages/commands/cancel-drawing.command.d.ts +4 -2
  150. package/dist/src/map/messages/commands/cancel-feature-modification.command.d.ts +4 -2
  151. package/dist/src/map/messages/commands/close-tooltip.command.d.ts +9 -2
  152. package/dist/src/map/messages/commands/draw-selection-area.command.d.ts +13 -2
  153. package/dist/src/map/messages/commands/fit-to-features.command.d.ts +1 -2
  154. package/dist/src/map/messages/commands/fit-to-polygons.command.d.ts +11 -2
  155. package/dist/src/map/messages/commands/modify-feature.command.d.ts +14 -2
  156. package/dist/src/map/messages/commands/place-layer-features.command.d.ts +1 -2
  157. package/dist/src/map/messages/commands/remove-control.command.d.ts +14 -2
  158. package/dist/src/map/messages/commands/remove-layer.command.d.ts +1 -2
  159. package/dist/src/map/messages/commands/remove-tile.command.d.ts +1 -2
  160. package/dist/src/map/messages/commands/set-map-center.command.d.ts +1 -2
  161. package/dist/src/map/messages/commands/start-drawing.command.d.ts +11 -2
  162. package/dist/src/map/messages/events/drawing-finished.event.d.ts +1 -3
  163. package/dist/src/map/messages/events/map-click.event.d.ts +14 -2
  164. package/dist/src/map/messages/events/map-move-end.event.d.ts +7 -2
  165. package/dist/src/map/messages/events/map-rendered.event.d.ts +9 -2
  166. package/dist/src/map/messages/executors/calculate-area.executor.d.ts +8 -2
  167. package/dist/src/map/messages/executors/filter-features-in-area.executor.d.ts +9 -2
  168. package/dist/src/map/messages/executors/filter-features-in-point.executor.d.ts +13 -3
  169. package/dist/src/map/messages/executors/generate-draw.executor.d.ts +1 -2
  170. package/dist/src/map/messages/executors/generate-zoom-control.executor.d.ts +1 -2
  171. package/dist/src/map/messages/executors/get-map-position.executor.d.ts +0 -1
  172. package/dist/src/map/messages/index.d.ts +7 -7
  173. package/dist/src/map/messages/queries/get-features-in-area.query.d.ts +11 -2
  174. package/dist/src/map/messages/queries/get-features-in-point.query.d.ts +8 -2
  175. package/dist/src/map/messages/queries/get-layer.query.d.ts +1 -2
  176. package/dist/src/map/models/drawing-type.enum.d.ts +13 -0
  177. package/dist/src/map/models/feature-format.enum.d.ts +8 -0
  178. package/dist/src/map/models/map-position.model.d.ts +12 -0
  179. package/dist/src/map/models/map-settings.d.ts +46 -0
  180. package/package.json +14 -13
@@ -65,6 +65,10 @@ MapLyrsLabel.lyrs = {
65
65
  [MapLyrs.Terrain]: 'p',
66
66
  };
67
67
 
68
+ /**
69
+ * Represents the configurable settings for a map instance, providing
70
+ * options for center coordinates, zoom levels, map layers, and language.
71
+ */
68
72
  class MapSettings {
69
73
  constructor() {
70
74
  this.center = [0, 0];
@@ -84,24 +88,66 @@ class MapSettings {
84
88
  result.language = model.language;
85
89
  return result;
86
90
  }
91
+ /**
92
+ * Sets the center for the map settings.
93
+ *
94
+ * @param {number[]} center - A two-element array representing the latitude and longitude of the map's center.
95
+ * @return {MapSettings} A new MapSettings object with the updated center.
96
+ */
87
97
  setCenter(center) {
88
98
  return MapSettings.copy(Object.assign(Object.assign({}, this), { center }));
89
99
  }
100
+ /**
101
+ * Sets the maximum zoom level for the map.
102
+ *
103
+ * @param {number} maxZoom - The maximum zoom level to be set.
104
+ * @return {MapSettings} A new instance of MapSettings with the updated maximum zoom level.
105
+ */
90
106
  setMaxZoom(maxZoom) {
91
107
  return MapSettings.copy(Object.assign(Object.assign({}, this), { maxZoom }));
92
108
  }
109
+ /**
110
+ * Sets the minimum zoom level for the map settings.
111
+ *
112
+ * @param {number} minZoom The minimum zoom level to be set. Must be a valid numeric value.
113
+ * @return {MapSettings} A new MapSettings object with the updated minimum zoom level.
114
+ */
93
115
  setMinZoom(minZoom) {
94
116
  return MapSettings.copy(Object.assign(Object.assign({}, this), { minZoom }));
95
117
  }
118
+ /**
119
+ * Adjusts the zoom level of the map by setting the specified value.
120
+ *
121
+ * @param {number} zoom - The desired zoom level to be set.
122
+ * @return {MapSettings} A new MapSettings instance with the updated zoom level.
123
+ */
96
124
  setZoom(zoom) {
97
125
  return MapSettings.copy(Object.assign(Object.assign({}, this), { zoom }));
98
126
  }
127
+ /**
128
+ * Sets the layers in the map settings with the provided layers.
129
+ *
130
+ * @param {MapLyrs} lyrs - The layers to be set in the map settings.
131
+ * @return {MapSettings} A new instance of MapSettings with the updated layers.
132
+ */
99
133
  setLyrs(lyrs) {
100
134
  return MapSettings.copy(Object.assign(Object.assign({}, this), { lyrs }));
101
135
  }
136
+ /**
137
+ * Updates the language setting for the map configuration and returns a new instance with the updated language.
138
+ *
139
+ * @param {string} language - The language to be set for the map configuration.
140
+ * @return {MapSettings} A new instance of MapSettings with the updated language.
141
+ */
102
142
  setLanguage(language) {
103
143
  return MapSettings.copy(Object.assign(Object.assign({}, this), { language }));
104
144
  }
145
+ /**
146
+ * Compares the current MapSettings instance with another to determine if they are identical.
147
+ *
148
+ * @param {MapSettings} model - The MapSettings instance to compare with the current instance.
149
+ * @return {boolean} Returns true if both MapSettings instances have the same properties and values; otherwise, false.
150
+ */
105
151
  isSame(model) {
106
152
  if (this.maxZoom !== model.maxZoom)
107
153
  return false;
@@ -181,6 +227,19 @@ class PolygonModel {
181
227
  }
182
228
  }
183
229
 
230
+ /**
231
+ * Enum representing various drawing types.
232
+ *
233
+ * This enumeration is used to define the types of drawable shapes
234
+ * within a specific drawing context. Each member corresponds to
235
+ * a specific type of drawing.
236
+ *
237
+ * Members:
238
+ * - `Polygon`: Represents a polygonal shape (e.g., triangle, pentagon, etc.).
239
+ * - `Circle`: Represents a circular shape.
240
+ * - `Square`: Represents a square shape.
241
+ * - `Box`: Represents a rectangular box shape.
242
+ */
184
243
  var DrawingType;
185
244
  (function (DrawingType) {
186
245
  DrawingType[DrawingType["Polygon"] = 1] = "Polygon";
@@ -189,6 +248,14 @@ var DrawingType;
189
248
  DrawingType[DrawingType["Box"] = 4] = "Box";
190
249
  })(DrawingType || (DrawingType = {}));
191
250
 
251
+ /**
252
+ * An enumeration representing different formats for feature outputs.
253
+ * This can be used to specify the desired output format when dealing with geospatial data.
254
+ *
255
+ * Enumerators:
256
+ * - GeoJson: Represents the GeoJSON format for geospatial data.
257
+ * - WKT: Represents the Well-Known Text (WKT) format for geospatial data.
258
+ */
192
259
  var FeatureOutputFormat;
193
260
  (function (FeatureOutputFormat) {
194
261
  FeatureOutputFormat[FeatureOutputFormat["GeoJson"] = 1] = "GeoJson";
@@ -209,126 +276,137 @@ class MapControl extends Control {
209
276
  }
210
277
  }
211
278
 
212
- class MapRenderedEvent extends PostboyGenericMessage {
213
- constructor(map) {
214
- super();
215
- this.map = map;
216
- }
217
- get id() {
218
- return MapRenderedEvent.ID;
219
- }
220
- }
221
- MapRenderedEvent.ID = 'b6121807-3b89-4cd3-82cf-089d2cefdc4f';
222
-
223
- class MapClickEvent extends PostboyGenericMessage {
224
- constructor(coordinates, entities, features) {
225
- super();
226
- this.coordinates = coordinates;
227
- this.entities = entities;
228
- this.features = features;
229
- }
230
- get id() {
231
- return MapClickEvent.ID;
232
- }
233
- }
234
- MapClickEvent.ID = '323df526-8d9c-49c6-83e8-6e9a1e7762f7';
235
-
236
- class MapMoveEndEvent extends PostboyGenericMessage {
237
- constructor(position) {
279
+ /**
280
+ * Represents a command to add a custom control to a map.
281
+ */
282
+ class AddControlCommand extends PostboyGenericMessage {
283
+ /**
284
+ * Creates an instance of the class with the specified MapControl object.
285
+ *
286
+ * @param {MapControl} item - The MapControl object to be associated with the instance.
287
+ */
288
+ constructor(item) {
238
289
  super();
239
- this.position = position;
240
- }
241
- get id() {
242
- return MapMoveEndEvent.ID;
290
+ this.item = item;
243
291
  }
244
292
  }
245
- MapMoveEndEvent.ID = 'f21f783e-b5af-4489-9fec-8027fd07a8ad';
293
+ AddControlCommand.ID = '2921fb19-f1c4-4bf4-97be-001f98241f3b';
246
294
 
295
+ /**
296
+ * A command class that represents the action to close a tooltip.
297
+ */
247
298
  class CloseTooltipCommand extends PostboyGenericMessage {
299
+ /**
300
+ * Creates an instance of the class with the specified tooltip ID.
301
+ *
302
+ * @param {string} tooltipId - The unique identifier for the tooltip.
303
+ */
248
304
  constructor(tooltipId) {
249
305
  super();
250
306
  this.tooltipId = tooltipId;
251
307
  }
252
- get id() {
253
- return CloseTooltipCommand.ID;
254
- }
255
308
  }
256
- CloseTooltipCommand.ID = '4896d52c-e34f-4994-bcfd-32832d12dbe4';
309
+ CloseTooltipCommand.ID = 'df687e26-7298-46d7-8911-d014801dafac';
257
310
 
311
+ /**
312
+ * Represents a command to start a drawing operation.
313
+ */
258
314
  class StartDrawingCommand extends PostboyCallbackMessage {
315
+ /**
316
+ * Constructor for creating an instance of the class that represents a drawing feature with specific type, style, and output format.
317
+ *
318
+ * @param {DrawingType} type - The type of the drawing to be created.
319
+ * @param {Style} style - The style defining visual appearance of the drawing.
320
+ * @param {FeatureOutputFormat} [format=FeatureOutputFormat.GeoJson] - The format of the feature output. Defaults to GeoJson.
321
+ */
259
322
  constructor(type, style, format = FeatureOutputFormat.GeoJson) {
260
323
  super();
261
324
  this.type = type;
262
325
  this.style = style;
263
326
  this.format = format;
264
327
  }
265
- get id() {
266
- return StartDrawingCommand.ID;
267
- }
268
328
  }
269
- StartDrawingCommand.ID = 'da904f4b-a1c8-4db7-a6af-14d9ee18ec8c';
329
+ StartDrawingCommand.ID = '4407e9ee-d6c3-4e77-8000-c1aae7433fb6';
270
330
 
331
+ /**
332
+ * Represents a command to cancel a drawing action.
333
+ */
271
334
  class CancelDrawingCommand extends PostboyGenericMessage {
272
- get id() {
273
- return CancelDrawingCommand.ID;
274
- }
275
335
  }
276
- CancelDrawingCommand.ID = '7d38d983-feba-4176-a66b-18175e5ecd6b';
336
+ CancelDrawingCommand.ID = '192d70f8-9d12-4cb3-a8ad-0fc2dc5af1de';
277
337
 
338
+ /**
339
+ * Class representing a command to draw a selection area with a specific type and style.
340
+ *
341
+ * @return {Dictionary<IIdentified[]>} - a collection of features inside the selected area, grouped by a layer's name
342
+ */
278
343
  class DrawSelectionAreaCommand extends PostboyCallbackMessage {
344
+ /**
345
+ * Constructs a new instance with the specified type, style, and optional set of ignored items.
346
+ *
347
+ * @param {DrawingType} type - The type of drawing to be created.
348
+ * @param {Style} style - The style information for the drawing.
349
+ * @param {Set<string>} [ignore=new Set<string>()] - Optional set of items to be ignored.
350
+ */
279
351
  constructor(type, style, ignore = new Set()) {
280
352
  super();
281
353
  this.type = type;
282
354
  this.style = style;
283
355
  this.ignore = ignore;
284
356
  }
285
- get id() {
286
- return DrawSelectionAreaCommand.ID;
287
- }
288
357
  }
289
- DrawSelectionAreaCommand.ID = '573d8a0d-f25b-42b7-9ad7-0ac6d86ac362';
358
+ DrawSelectionAreaCommand.ID = '06e43f59-c6ba-41bb-9c5b-f6534d914905';
290
359
 
360
+ /**
361
+ * Represents a command to modify a feature with a specific style and output format
362
+ * for a polygonal model.
363
+ *
364
+ * @return {string | null} a string representation of the modified feature in the appropriate format
365
+ */
291
366
  class ModifyFeatureCommand extends PostboyCallbackMessage {
367
+ /**
368
+ * Constructs an instance of the class.
369
+ *
370
+ * @param {PolygonModel} model - The polygon model to be used.
371
+ * @param {Style} style - The style configuration for the polygon.
372
+ * @param {FeatureOutputFormat} [format=FeatureOutputFormat.GeoJson] - The output format of the features. Default is GeoJson.
373
+ */
292
374
  constructor(model, style, format = FeatureOutputFormat.GeoJson) {
293
375
  super();
294
376
  this.model = model;
295
377
  this.style = style;
296
378
  this.format = format;
297
379
  }
298
- get id() {
299
- return ModifyFeatureCommand.ID;
300
- }
301
380
  }
302
- ModifyFeatureCommand.ID = 'ead85caa-24c6-4844-a68c-2cea91774c8c';
381
+ ModifyFeatureCommand.ID = '8f76507e-f18d-4232-bab7-f3d4e3d707bb';
303
382
 
383
+ /**
384
+ * Represents a command to cancel a feature modification.
385
+ */
304
386
  class CancelFeatureModificationCommand extends PostboyGenericMessage {
305
- get id() {
306
- return CancelFeatureModificationCommand.ID;
307
- }
308
387
  }
309
- CancelFeatureModificationCommand.ID = '9c9fb40f-ea95-4704-8177-0e9ecabf36fa';
310
-
311
- class AddControlCommand extends PostboyGenericMessage {
312
- constructor(item) {
313
- super();
314
- this.item = item;
315
- }
316
- get id() {
317
- return AddControlCommand.ID;
318
- }
319
- }
320
- AddControlCommand.ID = '8e1c06eb-b395-4fe1-929c-ebf0805eeb49';
388
+ CancelFeatureModificationCommand.ID = 'e7886353-53b3-4bbe-93b5-6490e5f1305e';
321
389
 
390
+ /**
391
+ * Represents a command to remove a map control from the map.
392
+ *
393
+ * The command is identified by a unique static ID, and it requires a MapControl item
394
+ * to specify the control to be removed.
395
+ *
396
+ * @extends PostboyGenericMessage
397
+ */
322
398
  class RemoveControlCommand extends PostboyGenericMessage {
399
+ /**
400
+ * Constructs an instance of the class.
401
+ *
402
+ * @param {MapControl} item - The map control instance to be removed.
403
+ */
323
404
  constructor(item) {
324
405
  super();
325
406
  this.item = item;
326
407
  }
327
- get id() {
328
- return RemoveControlCommand.ID;
329
- }
330
408
  }
331
- RemoveControlCommand.ID = '361641e0-804a-4930-8c27-0cea6330dbfc';
409
+ RemoveControlCommand.ID = '73bcb4f5-ce7d-4c71-b70d-e772100136a1';
332
410
 
333
411
  /**
334
412
  * Forces map to move to a specific point
@@ -346,34 +424,136 @@ class SetMapCenterCommand extends PostboyGenericMessage {
346
424
  this.lng = lng;
347
425
  this.zoom = zoom;
348
426
  }
349
- get id() {
350
- return SetMapCenterCommand.ID;
427
+ }
428
+ SetMapCenterCommand.ID = 'd4e3cf4f-0be7-4c1a-8355-8607d02c3dea';
429
+
430
+ /**
431
+ * FitToPolygonsCommand is a command used to fit a given set of polygon features
432
+ * to the viewable area, optionally applying a zoom transformation afterwards.
433
+ */
434
+ class FitToPolygonsCommand extends PostboyGenericMessage {
435
+ /**
436
+ * Creates an instance of the class with specified polygon features and an optional zoom level.
437
+ *
438
+ * @param {PolygonModel[]} features - An array of polygon models to fit to.
439
+ * @param {number} [zoomAfter=0] - Optional zoom level change to apply after initialization. Defaults to 0.
440
+ */
441
+ constructor(features, zoomAfter = 0) {
442
+ super();
443
+ this.features = features;
444
+ this.zoomAfter = zoomAfter;
351
445
  }
352
446
  }
353
- SetMapCenterCommand.ID = 'd50e89c9-6707-4f8c-ab57-65fcef232182';
447
+ FitToPolygonsCommand.ID = '308394ce-48d3-45f5-8671-52207fba4be3';
354
448
 
355
- class CalculateAreaExecutor extends PostboyExecutor {
356
- constructor(polygon) {
449
+ /**
450
+ * Represents an event triggered when a map rendering process is completed.
451
+ */
452
+ class MapRenderedEvent extends PostboyGenericMessage {
453
+ /**
454
+ * Constructor for creating an instance of the class.
455
+ *
456
+ * @param {Map} map - The map instance to be used by the class.
457
+ */
458
+ constructor(map) {
357
459
  super();
358
- this.polygon = polygon;
460
+ this.map = map;
359
461
  }
360
- get id() {
361
- return CalculateAreaExecutor.ID;
462
+ }
463
+ MapRenderedEvent.ID = '4515dde8-1519-4e3f-a0e3-10d3c52deabe';
464
+
465
+ /**
466
+ * Represents an event triggered by a click on a map, containing information about the
467
+ * click's location, relevant entities, and features present at the clicked position.
468
+ *
469
+ * @extends {PostboyGenericMessage}
470
+ */
471
+ class MapClickEvent extends PostboyGenericMessage {
472
+ /**
473
+ * Creates an instance of this class with the provided coordinates, entities, and features.
474
+ *
475
+ * @param {number[]} coordinates - An array representing the coordinates.
476
+ * @param {{ [layer: string]: IIdentified[] }} entities - A mapping of layer names to arrays of IIdentified entities.
477
+ * @param {{ [layer: string]: Feature<Geometry>[] }} features - A mapping of layer names to arrays of features with geometry.
478
+ */
479
+ constructor(coordinates, entities, features) {
480
+ super();
481
+ this.coordinates = coordinates;
482
+ this.entities = entities;
483
+ this.features = features;
362
484
  }
363
485
  }
364
- CalculateAreaExecutor.ID = '172ecf46-86b5-4f46-a5f1-96ba2cbb1694';
486
+ MapClickEvent.ID = 'ee31a86c-e838-4531-8399-983753a354df';
365
487
 
366
- class FitToPolygonsCommand extends PostboyGenericMessage {
367
- constructor(features, zoomAfter = 0) {
488
+ /**
489
+ * Represents an event that is triggered when the movement of a map ends.
490
+ * This class is used to capture the final position of a map after a movement operation.
491
+ *
492
+ * @property {MapPosition | null} position - The final position of the map after movement ends. Can be null.
493
+ */
494
+ class MapMoveEndEvent extends PostboyGenericMessage {
495
+ constructor(position) {
368
496
  super();
497
+ this.position = position;
498
+ }
499
+ }
500
+ MapMoveEndEvent.ID = 'd210ec7e-032f-4ce8-8a39-7b816519eaae';
501
+
502
+ /**
503
+ * A class responsible for executing filtering of geographical features
504
+ * based on a specific geographical point (latitude and longitude).
505
+ *
506
+ * @template Feature - A geographical feature that is processed by the executor.
507
+ * @template Geometry - The type of geometry associated with the feature.
508
+ */
509
+ class FilterFeaturesInPointExecutor extends PostboyExecutor {
510
+ /**
511
+ * Constructs a new instance with the specified latitude, longitude, and features.
512
+ *
513
+ * @param {number} lat - The latitude coordinate.
514
+ * @param {number} lng - The longitude coordinate.
515
+ * @param {Feature<Geometry>[]} features - The array of features associated with the location.
516
+ */
517
+ constructor(lat, lng, features) {
518
+ super();
519
+ this.lat = lat;
520
+ this.lng = lng;
521
+ this.features = features;
522
+ }
523
+ }
524
+ FilterFeaturesInPointExecutor.ID = 'dcbb156d-def3-45b4-91af-84d1483d8941';
525
+
526
+ /**
527
+ * A class that extends the PostboyExecutor to filter geographical features within a specified area.
528
+ * This class is designed to process a list of input features and determine which of them are located inside the provided area geometry.
529
+ *
530
+ * Parameters:
531
+ * - `area`: A Geometry object defining the area to filter geographical features.
532
+ * - `features`: An array of geographical features, represented as `Feature<Geometry>` objects, to be filtered by their presence within the specified area.
533
+ */
534
+ class FilterFeaturesInAreaExecutor extends PostboyExecutor {
535
+ constructor(area, features) {
536
+ super();
537
+ this.area = area;
369
538
  this.features = features;
370
- this.zoomAfter = zoomAfter;
371
539
  }
372
- get id() {
373
- return FitToPolygonsCommand.ID;
540
+ }
541
+ FilterFeaturesInAreaExecutor.ID = '4d26e1e3-e60f-4e49-804b-5b3eadc2adce';
542
+
543
+ /**
544
+ * An executor responsible for calculating the area of a given polygon.
545
+ *
546
+ * Use this class to manage and execute area-calculation logic for a polygon.
547
+ *
548
+ * @return {number} - the spherical area (in square meters)
549
+ */
550
+ class CalculateAreaExecutor extends PostboyExecutor {
551
+ constructor(polygon) {
552
+ super();
553
+ this.polygon = polygon;
374
554
  }
375
555
  }
376
- FitToPolygonsCommand.ID = 'a9e42b23-ffaf-4c46-8370-e0432cd14d60';
556
+ CalculateAreaExecutor.ID = '82347b8c-7635-45ec-85ef-75aaf43bc34c';
377
557
 
378
558
  /**
379
559
  * A message that allows to get the current state of the map.
@@ -384,79 +564,56 @@ class GetMapPositionExecutor extends PostboyExecutor {
384
564
  constructor() {
385
565
  super();
386
566
  }
387
- get id() {
388
- return GetMapPositionExecutor.ID;
389
- }
390
567
  }
391
568
  GetMapPositionExecutor.ID = '52c95689-d09b-4082-ba58-9183ea96a213';
392
569
 
570
+ /**
571
+ * Class representing a query to get features within a specified geographical area.
572
+ * The query optionally takes a set of layer names to ignore during the operation.
573
+ */
393
574
  class GetFeaturesInAreaQuery extends PostboyCallbackMessage {
575
+ /**
576
+ * Constructor to initialize the object with a Geometry instance and an optional set of strings to ignore.
577
+ *
578
+ * @param {Geometry} area - The Geometry object used to define the area.
579
+ * @param {Set<string>} [ignore] - An optional set of layer names that will be ignored. Defaults to an empty set.
580
+ */
394
581
  constructor(area, ignore = new Set()) {
395
582
  super();
396
583
  this.area = area;
397
584
  this.ignore = ignore;
398
585
  }
399
- get id() {
400
- return GetFeaturesInAreaQuery.ID;
401
- }
402
586
  }
403
- GetFeaturesInAreaQuery.ID = 'efcf4271-a07a-40e0-9f02-d4dade40b8ac';
404
-
405
- class FilterFeaturesInAreaExecutor extends PostboyExecutor {
406
- constructor(area, features) {
407
- super();
408
- this.area = area;
409
- this.features = features;
410
- }
411
- get id() {
412
- return FilterFeaturesInAreaExecutor.ID;
413
- }
414
- }
415
- FilterFeaturesInAreaExecutor.ID = '36bb2d94-8028-4512-90dd-2386af3fc67c';
587
+ GetFeaturesInAreaQuery.ID = '317cf427-a029-4a43-97c4-cb6b8148ff65';
416
588
 
417
589
  /**
418
590
  * Represents a query to retrieve features located at a specific geographical point.
419
591
  * The query is defined by latitude, longitude, and an optional set of features to ignore.
420
592
  */
421
593
  class GetFeaturesInPointQuery extends PostboyCallbackMessage {
594
+ /**
595
+ * Constructor for initializing a geographic coordinate object.
596
+ *
597
+ * @param {number} lat - The latitude of the location.
598
+ * @param {number} lng - The longitude of the location.
599
+ * @param {Set<string>} [ignore=new Set<string>()] - An optional set of strings to ignore during processing.
600
+ */
422
601
  constructor(lat, lng, ignore = new Set()) {
423
602
  super();
424
603
  this.lat = lat;
425
604
  this.lng = lng;
426
605
  this.ignore = ignore;
427
606
  }
428
- get id() {
429
- return GetFeaturesInPointQuery.ID;
430
- }
431
607
  }
432
- GetFeaturesInPointQuery.ID = '7c051c97-bbf1-47eb-baa3-4d1eef6f281f';
433
-
434
- /**
435
- * The FilterFeaturesInPointExecutor class is responsible for filtering features within a given point.
436
- */
437
- class FilterFeaturesInPointExecutor extends PostboyExecutor {
438
- constructor(lat, lng, features) {
439
- super();
440
- this.lat = lat;
441
- this.lng = lng;
442
- this.features = features;
443
- }
444
- get id() {
445
- return FilterFeaturesInPointExecutor.ID;
446
- }
447
- }
448
- FilterFeaturesInPointExecutor.ID = '5b859282-5d5a-47ca-a6ad-863a66c8b82b';
608
+ GetFeaturesInPointQuery.ID = '99bbc56f-34a2-4064-8300-13bb3d0662c1';
449
609
 
450
610
  class AddLayerCommand extends PostboyGenericMessage {
451
611
  constructor(layer) {
452
612
  super();
453
613
  this.layer = layer;
454
614
  }
455
- get id() {
456
- return AddLayerCommand.ID;
457
- }
458
615
  }
459
- AddLayerCommand.ID = 'd93e250f-92bc-43ac-9c6a-46c521a1aaa5';
616
+ AddLayerCommand.ID = '7fe68d71-350f-47e2-b1ae-62cc333e1572';
460
617
 
461
618
  class PlaceLayerFeaturesCommand extends PostboyGenericMessage {
462
619
  constructor(layer, features) {
@@ -464,44 +621,32 @@ class PlaceLayerFeaturesCommand extends PostboyGenericMessage {
464
621
  this.layer = layer;
465
622
  this.features = features;
466
623
  }
467
- get id() {
468
- return PlaceLayerFeaturesCommand.ID;
469
- }
470
624
  }
471
- PlaceLayerFeaturesCommand.ID = '8caf86bc-869b-426f-b36d-4642f6b8aab0';
625
+ PlaceLayerFeaturesCommand.ID = '5f27a2cd-8d8a-4929-b703-8aee6dcdc21c';
472
626
 
473
627
  class RemoveLayerCommand extends PostboyGenericMessage {
474
628
  constructor(layer) {
475
629
  super();
476
630
  this.layer = layer;
477
631
  }
478
- get id() {
479
- return RemoveLayerCommand.ID;
480
- }
481
632
  }
482
- RemoveLayerCommand.ID = 'ab484e0e-e185-45cd-8434-12101f3c7eb1';
633
+ RemoveLayerCommand.ID = '1b60599c-599a-4fdb-bad2-23b12e435e1a';
483
634
 
484
635
  class AddTileCommand extends PostboyGenericMessage {
485
636
  constructor(layer) {
486
637
  super();
487
638
  this.layer = layer;
488
639
  }
489
- get id() {
490
- return AddTileCommand.ID;
491
- }
492
640
  }
493
- AddTileCommand.ID = '25b7df28-72ce-4453-9fe6-54285a2fdc57';
641
+ AddTileCommand.ID = 'ae29b7af-21aa-4b0a-8586-92c23779e6cb';
494
642
 
495
643
  class RemoveTileCommand extends PostboyGenericMessage {
496
644
  constructor(layer) {
497
645
  super();
498
646
  this.layer = layer;
499
647
  }
500
- get id() {
501
- return RemoveTileCommand.ID;
502
- }
503
648
  }
504
- RemoveTileCommand.ID = 'c36ccc0b-5638-4819-b148-2de57a59a5b7';
649
+ RemoveTileCommand.ID = 'dab0f861-bb25-46da-9388-717bfaae798f';
505
650
 
506
651
  class FitToFeaturesCommand extends PostboyGenericMessage {
507
652
  constructor(features, zoomAfter = 0) {
@@ -509,32 +654,20 @@ class FitToFeaturesCommand extends PostboyGenericMessage {
509
654
  this.features = features;
510
655
  this.zoomAfter = zoomAfter;
511
656
  }
512
- get id() {
513
- return FitToFeaturesCommand.ID;
514
- }
515
657
  }
516
- FitToFeaturesCommand.ID = '76cdc091-3793-4b6c-82f7-1e0334cf08a8';
658
+ FitToFeaturesCommand.ID = '04d67609-0b4c-4f52-aa53-ad0a3db967dc';
517
659
 
518
660
  class GetLayerQuery extends PostboyCallbackMessage {
519
661
  constructor(name) {
520
662
  super();
521
663
  this.name = name;
522
664
  }
523
- get id() {
524
- return GetLayerQuery.ID;
525
- }
526
665
  }
527
- GetLayerQuery.ID = '5c04c87b-8a93-4c2a-979e-d1e313d860ed';
666
+ GetLayerQuery.ID = 'd2683490-2aa2-4dee-855d-f752ce4d3be5';
528
667
 
529
668
  class DrawingFinishedEvent extends PostboyGenericMessage {
530
- constructor() {
531
- super();
532
- }
533
- get id() {
534
- return DrawingFinishedEvent.ID;
535
- }
536
669
  }
537
- DrawingFinishedEvent.ID = 'c724b68e-b4eb-4783-90f1-a8e31973fd36';
670
+ DrawingFinishedEvent.ID = '9094e160-8df7-4868-883a-3436724106dd';
538
671
 
539
672
  class DrawingGenerationService {
540
673
  static getDraw(ev) {
@@ -589,22 +722,16 @@ class GenerateDrawExecutor extends PostboyExecutor {
589
722
  this.style = style;
590
723
  this.type = type;
591
724
  }
592
- get id() {
593
- return GenerateDrawExecutor.ID;
594
- }
595
725
  }
596
- GenerateDrawExecutor.ID = 'f01c99ba-0953-4ab5-82f9-04e6fbb678c1';
726
+ GenerateDrawExecutor.ID = '5d5f0737-ff70-461e-9a2e-bf6166c914cb';
597
727
 
598
728
  class GenerateZoomControlExecutor extends PostboyExecutor {
599
729
  constructor(settings) {
600
730
  super();
601
731
  this.settings = settings;
602
732
  }
603
- get id() {
604
- return GenerateZoomControlExecutor.ID;
605
- }
606
733
  }
607
- GenerateZoomControlExecutor.ID = 'ff16a833-c68e-4b1a-bc23-c0d16b002810';
734
+ GenerateZoomControlExecutor.ID = 'c59f4fc3-ccf6-4cb3-a38b-3a8c249114a2';
608
735
 
609
736
  class ZoomControlFactory {
610
737
  static build(settings) {
@@ -621,7 +748,11 @@ class ZoomControlFactory {
621
748
  class MapPostboyService extends PostboyService {
622
749
  constructor() {
623
750
  super();
624
- this.addLocker({ locker: StartDrawingCommand.ID, unlocker: DrawingFinishedEvent.ID, locking: [MapClickEvent.ID] });
751
+ this.addLocker({
752
+ locker: StartDrawingCommand.ID,
753
+ unlocker: DrawingFinishedEvent.ID,
754
+ locking: [MapClickEvent.ID],
755
+ });
625
756
  }
626
757
  }
627
758
  MapPostboyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MapPostboyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -647,29 +778,29 @@ class MapManagementService {
647
778
  this.observeFeaturesInPoint();
648
779
  }
649
780
  observeRemoveTile() {
650
- this.postboy.subscribe(RemoveTileCommand.ID).subscribe((c) => {
781
+ this.postboy.sub(RemoveTileCommand).subscribe((c) => {
651
782
  if (!this.map)
652
783
  return;
653
784
  this.map.removeLayer(c.layer);
654
785
  });
655
786
  }
656
787
  observeLayerQuery() {
657
- this.postboy.subscribe(GetLayerQuery.ID).subscribe((ev) => ev.finish(this.layers.take(ev.name)));
788
+ this.postboy.sub(GetLayerQuery).subscribe((ev) => ev.finish(this.layers.take(ev.name)));
658
789
  }
659
790
  observeAddTile() {
660
- this.postboy.subscribe(AddTileCommand.ID).subscribe((c) => {
791
+ this.postboy.sub(AddTileCommand).subscribe((c) => {
661
792
  if (!this.map)
662
793
  return;
663
794
  this.map.addLayer(c.layer);
664
795
  });
665
796
  }
666
797
  observeMapRender() {
667
- this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
798
+ this.postboy.sub(MapRenderedEvent).subscribe((m) => {
668
799
  this.map = m.map;
669
800
  });
670
801
  }
671
802
  observeAddLayer() {
672
- this.postboy.subscribe(AddLayerCommand.ID).subscribe((c) => {
803
+ this.postboy.sub(AddLayerCommand).subscribe((c) => {
673
804
  if (!this.map)
674
805
  return;
675
806
  this.layers.put(c.layer.get('name'), c.layer);
@@ -677,7 +808,7 @@ class MapManagementService {
677
808
  });
678
809
  }
679
810
  observePlaceFeatures() {
680
- this.postboy.subscribe(PlaceLayerFeaturesCommand.ID).subscribe((c) => {
811
+ this.postboy.sub(PlaceLayerFeaturesCommand).subscribe((c) => {
681
812
  var _a, _b;
682
813
  if (!this.layers.has(c.layer))
683
814
  return;
@@ -689,7 +820,7 @@ class MapManagementService {
689
820
  });
690
821
  }
691
822
  observeRemoveLayer() {
692
- this.postboy.subscribe(RemoveLayerCommand.ID).subscribe((c) => {
823
+ this.postboy.sub(RemoveLayerCommand).subscribe((c) => {
693
824
  if (!this.map)
694
825
  return;
695
826
  this.layers.rmv(c.layer.get('name'));
@@ -697,22 +828,22 @@ class MapManagementService {
697
828
  });
698
829
  }
699
830
  observeFeaturesInArea() {
700
- this.postboy.subscribe(GetFeaturesInAreaQuery.ID).subscribe((qr) => {
831
+ this.postboy.sub(GetFeaturesInAreaQuery).subscribe((qr) => {
701
832
  let result = new Dictionary();
702
833
  this.forEachLayer((l, s) => {
703
834
  var _a;
704
- let features = this.postboy.execute(new FilterFeaturesInAreaExecutor(qr.area, (_a = s === null || s === void 0 ? void 0 : s.getFeatures()) !== null && _a !== void 0 ? _a : []));
835
+ let features = this.postboy.exec(new FilterFeaturesInAreaExecutor(qr.area, (_a = s === null || s === void 0 ? void 0 : s.getFeatures()) !== null && _a !== void 0 ? _a : []));
705
836
  result.put(l.get('name'), features.map((e) => (Object.assign({ id: e.getId() }, e.get(MapConstants.FeatureInfo)))));
706
837
  }, qr.ignore);
707
838
  qr.finish(result);
708
839
  });
709
840
  }
710
841
  observeFeaturesInPoint() {
711
- this.postboy.subscribe(GetFeaturesInPointQuery.ID).subscribe((qr) => {
842
+ this.postboy.sub(GetFeaturesInPointQuery).subscribe((qr) => {
712
843
  let result = new Dictionary();
713
844
  this.forEachLayer((l, s) => {
714
845
  var _a;
715
- let features = this.postboy.execute(new FilterFeaturesInPointExecutor(qr.lat, qr.lng, (_a = s === null || s === void 0 ? void 0 : s.getFeatures()) !== null && _a !== void 0 ? _a : []));
846
+ let features = this.postboy.exec(new FilterFeaturesInPointExecutor(qr.lat, qr.lng, (_a = s === null || s === void 0 ? void 0 : s.getFeatures()) !== null && _a !== void 0 ? _a : []));
716
847
  result.put(l.get('name'), features.map((e) => (Object.assign({ id: e.getId() }, e.get(MapConstants.FeatureInfo)))));
717
848
  }, qr.ignore);
718
849
  qr.finish(result);
@@ -755,7 +886,7 @@ class MapStateService {
755
886
  }
756
887
  observeMapRendering() {
757
888
  this.postboy
758
- .subscribe(MapRenderedEvent.ID)
889
+ .sub(MapRenderedEvent)
759
890
  .pipe(first())
760
891
  .subscribe((ev) => {
761
892
  var _a;
@@ -766,7 +897,7 @@ class MapStateService {
766
897
  });
767
898
  }
768
899
  observeCenter() {
769
- this.postboy.subscribe(SetMapCenterCommand.ID).subscribe((c) => {
900
+ this.postboy.sub(SetMapCenterCommand).subscribe((c) => {
770
901
  var _a, _b;
771
902
  (_a = this.map) === null || _a === void 0 ? void 0 : _a.getView().setCenter([c.lng, c.lat]);
772
903
  if (c.zoom)
@@ -790,19 +921,19 @@ class MapFeatureService {
790
921
  this.observeFitToPolygons();
791
922
  }
792
923
  observeMapRender() {
793
- this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
924
+ this.postboy.sub(MapRenderedEvent).subscribe((m) => {
794
925
  this.map = m.map;
795
926
  if (this.fitPolygonsWaiting)
796
927
  this.postboy.fire(this.fitPolygonsWaiting);
797
928
  });
798
929
  }
799
930
  observeFitToFeatures() {
800
- this.postboy.subscribe(FitToFeaturesCommand.ID).subscribe((cmd) => {
931
+ this.postboy.sub(FitToFeaturesCommand).subscribe((cmd) => {
801
932
  this.fitToGeometries(cmd.features.map((f) => f.getGeometry()), cmd.zoomAfter);
802
933
  });
803
934
  }
804
935
  observeFitToPolygons() {
805
- this.postboy.subscribe(FitToPolygonsCommand.ID).subscribe((cmd) => {
936
+ this.postboy.sub(FitToPolygonsCommand).subscribe((cmd) => {
806
937
  if (!this.map) {
807
938
  this.fitPolygonsWaiting = cmd;
808
939
  return;
@@ -852,7 +983,7 @@ class MapClickService {
852
983
  return model;
853
984
  }
854
985
  observeMapRender() {
855
- this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
986
+ this.postboy.sub(MapRenderedEvent).subscribe((m) => {
856
987
  var _a;
857
988
  this.map = m.map;
858
989
  (_a = this.map) === null || _a === void 0 ? void 0 : _a.on('singleclick', (e) => {
@@ -885,23 +1016,19 @@ class DrawingService {
885
1016
  this.observeMapRender();
886
1017
  }
887
1018
  observeSelectArea() {
888
- this.postboy.subscribe(DrawSelectionAreaCommand.ID).subscribe((ev) => {
889
- const drawingCommand = new StartDrawingCommand(ev.type, ev.style);
890
- drawingCommand.result.subscribe((r) => {
1019
+ this.postboy.sub(DrawSelectionAreaCommand).subscribe((ev) => {
1020
+ this.postboy.fireCallback(new StartDrawingCommand(ev.type, ev.style), (r) => {
891
1021
  if (!r) {
892
1022
  ev.finish(new Dictionary());
893
1023
  return;
894
1024
  }
895
1025
  const area = PolygonModel.fromGeoJson(1, r).feature.getGeometry();
896
- const getFeaturesCommand = new GetFeaturesInAreaQuery(area, ev.ignore);
897
- getFeaturesCommand.result.subscribe((result) => ev.finish(result));
898
- this.postboy.fire(getFeaturesCommand);
1026
+ this.postboy.fireCallback(new GetFeaturesInAreaQuery(area, ev.ignore), (result) => ev.finish(result));
899
1027
  });
900
- this.postboy.fire(drawingCommand);
901
1028
  });
902
1029
  }
903
1030
  observeDrawing() {
904
- this.postboy.subscribe(StartDrawingCommand.ID).subscribe((ev) => {
1031
+ this.postboy.sub(StartDrawingCommand).subscribe((ev) => {
905
1032
  this.draw((l) => {
906
1033
  var _a;
907
1034
  if (!l || !this.map) {
@@ -909,7 +1036,7 @@ class DrawingService {
909
1036
  return;
910
1037
  }
911
1038
  const cancelSub = this.observeCancelation(ev, l);
912
- this.drawInteraction = this.postboy.execute(new GenerateDrawExecutor(l, ev.style, ev.type));
1039
+ this.drawInteraction = this.postboy.exec(new GenerateDrawExecutor(l, ev.style, ev.type));
913
1040
  (_a = this.map) === null || _a === void 0 ? void 0 : _a.addInteraction(this.drawInteraction);
914
1041
  this.drawInteraction.on('drawend', (evt) => {
915
1042
  cancelSub.unsubscribe();
@@ -925,18 +1052,16 @@ class DrawingService {
925
1052
  this.clearInteraction(layer);
926
1053
  }
927
1054
  observeMapRender() {
928
- this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
1055
+ this.postboy.sub(MapRenderedEvent).subscribe((m) => {
929
1056
  this.map = m.map;
930
1057
  });
931
1058
  }
932
1059
  draw(action) {
933
- const query = new GetLayerQuery(MapConstants.DrawingLayerId);
934
- query.result.subscribe((l) => action(l));
935
- this.postboy.fire(query);
1060
+ this.postboy.fireCallback(new GetLayerQuery(MapConstants.DrawingLayerId), (l) => action(l));
936
1061
  }
937
1062
  observeCancelation(ev, layer) {
938
1063
  return this.postboy
939
- .subscribe(CancelDrawingCommand.ID)
1064
+ .sub(CancelDrawingCommand)
940
1065
  .pipe(first())
941
1066
  .subscribe(() => {
942
1067
  ev.finish(null);
@@ -967,7 +1092,7 @@ class FeatureModificationService {
967
1092
  this.observeMapRender();
968
1093
  }
969
1094
  observeModification() {
970
- this.postboy.subscribe(ModifyFeatureCommand.ID).subscribe((ev) => {
1095
+ this.postboy.sub(ModifyFeatureCommand).subscribe((ev) => {
971
1096
  this.defineLayer((l) => {
972
1097
  if (!l || !this.map) {
973
1098
  this.clearInteraction(l);
@@ -1017,18 +1142,16 @@ class FeatureModificationService {
1017
1142
  : new WKT().writeFeature(command.model.feature));
1018
1143
  }
1019
1144
  observeMapRender() {
1020
- this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
1145
+ this.postboy.sub(MapRenderedEvent).subscribe((m) => {
1021
1146
  this.map = m.map;
1022
1147
  });
1023
1148
  }
1024
1149
  defineLayer(action) {
1025
- const query = new GetLayerQuery(MapConstants.DrawingLayerId);
1026
- query.result.subscribe((l) => action(l));
1027
- this.postboy.fire(query);
1150
+ this.postboy.fireCallback(new GetLayerQuery(MapConstants.DrawingLayerId), (l) => action(l));
1028
1151
  }
1029
1152
  observeCancelation(ev, layer) {
1030
1153
  return this.postboy
1031
- .subscribe(CancelFeatureModificationCommand.ID)
1154
+ .sub(CancelFeatureModificationCommand)
1032
1155
  .pipe(first())
1033
1156
  .subscribe(() => {
1034
1157
  ev.finish(null);
@@ -1058,7 +1181,7 @@ class ControlsService {
1058
1181
  }
1059
1182
  observeMapRender() {
1060
1183
  this.postboy
1061
- .subscribe(MapRenderedEvent.ID)
1184
+ .sub(MapRenderedEvent)
1062
1185
  .pipe(first())
1063
1186
  .subscribe((m) => {
1064
1187
  this.map = m.map;
@@ -1067,12 +1190,10 @@ class ControlsService {
1067
1190
  });
1068
1191
  }
1069
1192
  observeAdding() {
1070
- this.postboy.subscribe(AddControlCommand.ID).subscribe((c) => { var _a; return (_a = this.map) === null || _a === void 0 ? void 0 : _a.addControl(c.item); });
1193
+ this.postboy.sub(AddControlCommand).subscribe((c) => { var _a; return (_a = this.map) === null || _a === void 0 ? void 0 : _a.addControl(c.item); });
1071
1194
  }
1072
1195
  observeRemoving() {
1073
- this.postboy
1074
- .subscribe(RemoveControlCommand.ID)
1075
- .subscribe((c) => { var _a; return (_a = this.map) === null || _a === void 0 ? void 0 : _a.removeControl(c.item); });
1196
+ this.postboy.sub(RemoveControlCommand).subscribe((c) => { var _a; return (_a = this.map) === null || _a === void 0 ? void 0 : _a.removeControl(c.item); });
1076
1197
  }
1077
1198
  }
1078
1199
  ControlsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ControlsService, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -1088,38 +1209,38 @@ class MessageRegistratorService extends PostboyAbstractRegistrator {
1088
1209
  this.registerServices([management, state, interaction, mapFeature, drawing, featureModification, controls]);
1089
1210
  }
1090
1211
  _up() {
1091
- this.registerReplay(MapRenderedEvent.ID);
1092
- this.registerReplay(PlaceLayerFeaturesCommand.ID);
1093
- this.registerReplay(RemoveControlCommand.ID);
1094
- this.registerReplay(AddControlCommand.ID);
1095
- this.registerReplay(SetMapCenterCommand.ID);
1096
- this.registerSubject(AddLayerCommand.ID);
1097
- this.registerSubject(RemoveLayerCommand.ID);
1098
- this.registerSubject(AddTileCommand.ID);
1099
- this.registerSubject(RemoveTileCommand.ID);
1100
- this.registerSubject(MapClickEvent.ID);
1101
- this.registerSubject(CloseTooltipCommand.ID);
1102
- this.registerSubject(FitToFeaturesCommand.ID);
1103
- this.registerSubject(FitToPolygonsCommand.ID);
1104
- this.registerSubject(MapMoveEndEvent.ID);
1105
- this.registerSubject(CancelDrawingCommand.ID);
1106
- this.registerSubject(StartDrawingCommand.ID);
1107
- this.registerSubject(GetLayerQuery.ID);
1108
- this.registerSubject(DrawingFinishedEvent.ID);
1109
- this.registerSubject(GetFeaturesInAreaQuery.ID);
1110
- this.registerSubject(DrawSelectionAreaCommand.ID);
1111
- this.registerSubject(CancelFeatureModificationCommand.ID);
1112
- this.registerSubject(ModifyFeatureCommand.ID);
1113
- this.registerSubject(GetFeaturesInPointQuery.ID);
1212
+ this.recordReplay(MapRenderedEvent);
1213
+ this.recordReplay(PlaceLayerFeaturesCommand);
1214
+ this.recordReplay(RemoveControlCommand);
1215
+ this.recordReplay(AddControlCommand);
1216
+ this.recordReplay(SetMapCenterCommand);
1217
+ this.recordSubject(AddLayerCommand);
1218
+ this.recordSubject(RemoveLayerCommand);
1219
+ this.recordSubject(AddTileCommand);
1220
+ this.recordSubject(RemoveTileCommand);
1221
+ this.recordSubject(MapClickEvent);
1222
+ this.recordSubject(CloseTooltipCommand);
1223
+ this.recordSubject(FitToFeaturesCommand);
1224
+ this.recordSubject(FitToPolygonsCommand);
1225
+ this.recordSubject(MapMoveEndEvent);
1226
+ this.recordSubject(CancelDrawingCommand);
1227
+ this.recordSubject(StartDrawingCommand);
1228
+ this.recordSubject(GetLayerQuery);
1229
+ this.recordSubject(DrawingFinishedEvent);
1230
+ this.recordSubject(GetFeaturesInAreaQuery);
1231
+ this.recordSubject(DrawSelectionAreaCommand);
1232
+ this.recordSubject(CancelFeatureModificationCommand);
1233
+ this.recordSubject(ModifyFeatureCommand);
1234
+ this.recordSubject(GetFeaturesInPointQuery);
1114
1235
  this.setExecutors();
1115
1236
  }
1116
1237
  setExecutors() {
1117
- this.registerExecutor(FilterFeaturesInAreaExecutor.ID, (e) => FeatureService.filterFeaturesInArea(e));
1118
- this.registerExecutor(FilterFeaturesInPointExecutor.ID, (e) => FeatureService.filterFeaturesInPoint(e));
1119
- this.registerExecutor(CalculateAreaExecutor.ID, (e) => { var _a, _b; return FeatureService.calculateArea((_b = (_a = e.polygon) === null || _a === void 0 ? void 0 : _a.feature) === null || _b === void 0 ? void 0 : _b.getGeometry()); });
1120
- this.registerExecutor(GenerateDrawExecutor.ID, (e) => DrawingGenerationService.getDraw(e));
1121
- this.registerExecutor(GenerateZoomControlExecutor.ID, (e) => ZoomControlFactory.build(e.settings));
1122
- this.registerExecutor(GetMapPositionExecutor.ID, () => this.state.getMapPosition());
1238
+ this.recordExecutor(FilterFeaturesInAreaExecutor, (e) => FeatureService.filterFeaturesInArea(e));
1239
+ this.recordExecutor(FilterFeaturesInPointExecutor, (e) => FeatureService.filterFeaturesInPoint(e));
1240
+ this.recordExecutor(CalculateAreaExecutor, (e) => { var _a, _b; return FeatureService.calculateArea((_b = (_a = e.polygon) === null || _a === void 0 ? void 0 : _a.feature) === null || _b === void 0 ? void 0 : _b.getGeometry()); });
1241
+ this.recordExecutor(GenerateDrawExecutor, (e) => DrawingGenerationService.getDraw(e));
1242
+ this.recordExecutor(GenerateZoomControlExecutor, (e) => ZoomControlFactory.build(e.settings));
1243
+ this.recordExecutor(GetMapPositionExecutor, () => this.state.getMapPosition());
1123
1244
  }
1124
1245
  }
1125
1246
  MessageRegistratorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", 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 });
@@ -1348,7 +1469,7 @@ class TileLayerComponent extends DestructibleComponent {
1348
1469
  }
1349
1470
  ngOnInit() {
1350
1471
  this.postboy
1351
- .subscribe(MapRenderedEvent.ID)
1472
+ .sub(MapRenderedEvent)
1352
1473
  .pipe(filter((m) => !!m), first())
1353
1474
  .subscribe((m) => this.initLayer());
1354
1475
  }
@@ -1582,7 +1703,7 @@ class FeatureLayerComponent extends DestructibleComponent {
1582
1703
  }
1583
1704
  ngOnInit() {
1584
1705
  this.postboy
1585
- .subscribe(MapRenderedEvent.ID)
1706
+ .sub(MapRenderedEvent)
1586
1707
  .pipe(filter((m) => !!m), first())
1587
1708
  .subscribe((m) => this.initLayer());
1588
1709
  }
@@ -1765,14 +1886,14 @@ class ClusterLayerManager {
1765
1886
  }
1766
1887
  observeMapMovement() {
1767
1888
  combineLatest([
1768
- this.postboy.subscribe(MapMoveEndEvent.ID).pipe(auditTime(250)),
1769
- this.postboy.subscribe(MapRenderedEvent.ID),
1889
+ this.postboy.sub(MapMoveEndEvent).pipe(auditTime(250)),
1890
+ this.postboy.sub(MapRenderedEvent),
1770
1891
  ]).subscribe(([movement, renderEvent]) => {
1771
1892
  this.checkClusterNecessity(renderEvent.map);
1772
1893
  });
1773
1894
  }
1774
1895
  observeClick() {
1775
- this.postboy.subscribe(MapClickEvent.ID).subscribe((m) => {
1896
+ this.postboy.sub(MapClickEvent).subscribe((m) => {
1776
1897
  var _a, _b;
1777
1898
  if (((_b = (_a = m.features[this.settings.name]) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 1) {
1778
1899
  this.postboy.fire(new FitToFeaturesCommand(m.features[this.settings.name], -1));
@@ -1863,7 +1984,7 @@ class ClusterLayerComponent extends DestructibleComponent {
1863
1984
  }
1864
1985
  ngOnInit() {
1865
1986
  this.postboy
1866
- .subscribe(MapRenderedEvent.ID)
1987
+ .sub(MapRenderedEvent)
1867
1988
  .pipe(filter((m) => !!m), first())
1868
1989
  .subscribe((m) => this.initLayer());
1869
1990
  }
@@ -2016,7 +2137,7 @@ class MarkersComponent extends DestructibleComponent {
2016
2137
  }
2017
2138
  ngOnInit() {
2018
2139
  this.postboy
2019
- .subscribe(MapRenderedEvent.ID)
2140
+ .sub(MapRenderedEvent)
2020
2141
  .pipe(filter((m) => !!m), first())
2021
2142
  .subscribe(() => this.putMarkers());
2022
2143
  }
@@ -2113,18 +2234,18 @@ class TooltipComponent extends DestructibleComponent {
2113
2234
  this.detector.detectChanges();
2114
2235
  }
2115
2236
  observeMapClick() {
2116
- return this.postboy.subscribe(MapClickEvent.ID).subscribe((ev) => {
2237
+ return this.postboy.sub(MapClickEvent).subscribe((ev) => {
2117
2238
  this._settings.show(ev) ? this.addOverlay(ev.coordinates) : this.removeOverlay();
2118
2239
  });
2119
2240
  }
2120
2241
  observeClose() {
2121
2242
  return this.postboy
2122
- .subscribe(CloseTooltipCommand.ID)
2243
+ .sub(CloseTooltipCommand)
2123
2244
  .pipe(filter((ev) => ev.tooltipId === this._settings.id))
2124
2245
  .subscribe(() => this.removeOverlay());
2125
2246
  }
2126
2247
  observeMapRender() {
2127
- return this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
2248
+ return this.postboy.sub(MapRenderedEvent).subscribe((m) => {
2128
2249
  this.map = m.map;
2129
2250
  });
2130
2251
  }
@@ -2169,7 +2290,7 @@ class PolygonsComponent extends DestructibleComponent {
2169
2290
  }
2170
2291
  ngOnInit() {
2171
2292
  this.postboy
2172
- .subscribe(MapRenderedEvent.ID)
2293
+ .sub(MapRenderedEvent)
2173
2294
  .pipe(filter((m) => !!m), first())
2174
2295
  .subscribe(() => this.putPolygons());
2175
2296
  }
@@ -2348,7 +2469,7 @@ class MapControlZoomComponent extends DestructibleComponent {
2348
2469
  }
2349
2470
  ngOnInit() {
2350
2471
  this.postboy
2351
- .subscribe(MapRenderedEvent.ID)
2472
+ .sub(MapRenderedEvent)
2352
2473
  .pipe(filter((m) => !!m), first())
2353
2474
  .subscribe((m) => {
2354
2475
  this.map = m.map;
@@ -2358,7 +2479,7 @@ class MapControlZoomComponent extends DestructibleComponent {
2358
2479
  setControl() {
2359
2480
  if (!this.map)
2360
2481
  return;
2361
- this.control = this.postboy.execute(new GenerateZoomControlExecutor(this._settings));
2482
+ this.control = this.postboy.exec(new GenerateZoomControlExecutor(this._settings));
2362
2483
  this.map.addControl(this.control);
2363
2484
  }
2364
2485
  }