@artstesh/maps 5.1.7 → 6.0.1

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 (338) hide show
  1. package/README.md +13 -13
  2. package/dist/README.md +24 -24
  3. package/dist/esm2022/map/common/destructible.component.mjs +18 -18
  4. package/dist/esm2022/map/common/id.generator.mjs +14 -14
  5. package/dist/esm2022/map/helpers/index.mjs +4 -4
  6. package/dist/esm2022/map/helpers/marker-style.helper.mjs +28 -28
  7. package/dist/esm2022/map/helpers/polygon-style.helper.mjs +32 -32
  8. package/dist/esm2022/map/helpers/stringify-feature.helper.mjs +58 -58
  9. package/dist/esm2022/map/helpers/text-style.helper.mjs +13 -13
  10. package/dist/esm2022/map/map-plate/controls/index.mjs +2 -2
  11. package/dist/esm2022/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +52 -52
  12. package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +12 -12
  13. package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +44 -44
  14. package/dist/esm2022/map/map-plate/features/index.mjs +2 -2
  15. package/dist/esm2022/map/map-plate/features/markers/markers.component.mjs +42 -42
  16. package/dist/esm2022/map/map-plate/features/polygons/polygons.component.mjs +42 -42
  17. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +59 -59
  18. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +52 -52
  19. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +38 -38
  20. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +66 -66
  21. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.component.mjs +52 -52
  22. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.factory.mjs +28 -28
  23. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +91 -91
  24. package/dist/esm2022/map/map-plate/layers/index.mjs +7 -7
  25. package/dist/esm2022/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +57 -57
  26. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.component.mjs +52 -52
  27. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +50 -50
  28. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +44 -44
  29. package/dist/esm2022/map/map-plate/map-plate.component.mjs +102 -102
  30. package/dist/esm2022/map/map-plate/map-plate.factory.service.mjs +27 -27
  31. package/dist/esm2022/map/map-plate/tooltips/index.mjs +2 -2
  32. package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.component.mjs +81 -81
  33. package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +30 -30
  34. package/dist/esm2022/map/map.module.mjs +63 -63
  35. package/dist/esm2022/map/messages/commands/add-control.command.mjs +12 -12
  36. package/dist/esm2022/map/messages/commands/add-layer.command.mjs +12 -12
  37. package/dist/esm2022/map/messages/commands/add-tile.command.mjs +12 -12
  38. package/dist/esm2022/map/messages/commands/cancel-drawing.command.mjs +7 -7
  39. package/dist/esm2022/map/messages/commands/cancel-feature-modification.command.mjs +7 -7
  40. package/dist/esm2022/map/messages/commands/close-tooltip.command.mjs +12 -12
  41. package/dist/esm2022/map/messages/commands/draw-selection-area.command.mjs +16 -16
  42. package/dist/esm2022/map/messages/commands/fit-to-features.command.mjs +14 -14
  43. package/dist/esm2022/map/messages/commands/fit-to-polygons.command.mjs +14 -14
  44. package/dist/esm2022/map/messages/commands/modify-feature.command.mjs +17 -17
  45. package/dist/esm2022/map/messages/commands/place-layer-features.command.mjs +14 -14
  46. package/dist/esm2022/map/messages/commands/remove-control.command.mjs +12 -12
  47. package/dist/esm2022/map/messages/commands/remove-layer.command.mjs +12 -12
  48. package/dist/esm2022/map/messages/commands/remove-tile.command.mjs +12 -12
  49. package/dist/esm2022/map/messages/commands/set-map-center.command.mjs +25 -25
  50. package/dist/esm2022/map/messages/commands/start-drawing.command.mjs +17 -17
  51. package/dist/esm2022/map/messages/events/drawing-finished.event.mjs +10 -10
  52. package/dist/esm2022/map/messages/events/map-click.event.mjs +16 -16
  53. package/dist/esm2022/map/messages/events/map-move-end.event.mjs +14 -14
  54. package/dist/esm2022/map/messages/events/map-rendered.event.mjs +12 -12
  55. package/dist/esm2022/map/messages/executors/calculate-area.executor.mjs +12 -12
  56. package/dist/esm2022/map/messages/executors/filter-features-in-area.executor.mjs +14 -14
  57. package/dist/esm2022/map/messages/executors/generate-draw.executor.mjs +16 -16
  58. package/dist/esm2022/map/messages/executors/generate-zoom-control.executor.mjs +12 -12
  59. package/dist/esm2022/map/messages/index.mjs +14 -14
  60. package/dist/esm2022/map/messages/queries/get-features-in-area.query.mjs +14 -14
  61. package/dist/esm2022/map/messages/queries/get-layer.query.mjs +12 -12
  62. package/dist/esm2022/map/models/drawing-type.enum.mjs +7 -7
  63. package/dist/esm2022/map/models/feature-format.enum.mjs +5 -5
  64. package/dist/esm2022/map/models/i-identified.mjs +1 -1
  65. package/dist/esm2022/map/models/index.mjs +7 -7
  66. package/dist/esm2022/map/models/map-control.mjs +14 -14
  67. package/dist/esm2022/map/models/map-lyrs.enum.mjs +18 -18
  68. package/dist/esm2022/map/models/map-settings.mjs +50 -50
  69. package/dist/esm2022/map/models/map.constants.mjs +4 -4
  70. package/dist/esm2022/map/models/marker-model.mjs +28 -28
  71. package/dist/esm2022/map/models/polygon.model.mjs +32 -32
  72. package/dist/esm2022/map/public-api.mjs +15 -15
  73. package/dist/esm2022/map/services/controls/controls.service.mjs +39 -39
  74. package/dist/esm2022/map/services/drawing/drawing-generation.service.mjs +25 -25
  75. package/dist/esm2022/map/services/drawing/drawing.service.mjs +101 -101
  76. package/dist/esm2022/map/services/drawing/feature-modification.service.mjs +103 -103
  77. package/dist/esm2022/map/services/feature.service.mjs +21 -21
  78. package/dist/esm2022/map/services/map-click.service.mjs +55 -55
  79. package/dist/esm2022/map/services/map-feature.service.mjs +55 -55
  80. package/dist/esm2022/map/services/map-management.service.mjs +103 -103
  81. package/dist/esm2022/map/services/map-postboy.service.mjs +18 -18
  82. package/dist/esm2022/map/services/map-state.service.mjs +43 -43
  83. package/dist/esm2022/map/services/message-registrator.service.mjs +82 -82
  84. package/dist/esm2022/maps-components.mjs +4 -4
  85. package/dist/esm2022/public-api.mjs +4 -4
  86. package/dist/esm2022/src/map/common/destructible.component.mjs +18 -18
  87. package/dist/esm2022/src/map/common/id.generator.mjs +14 -14
  88. package/dist/esm2022/src/map/helpers/index.mjs +4 -4
  89. package/dist/esm2022/src/map/helpers/marker-style.helper.mjs +28 -28
  90. package/dist/esm2022/src/map/helpers/polygon-style.helper.mjs +32 -32
  91. package/dist/esm2022/src/map/helpers/stringify-feature.helper.mjs +58 -58
  92. package/dist/esm2022/src/map/helpers/text-style.helper.mjs +13 -13
  93. package/dist/esm2022/src/map/map-plate/controls/index.mjs +2 -2
  94. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +52 -52
  95. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +12 -12
  96. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +44 -44
  97. package/dist/esm2022/src/map/map-plate/features/index.mjs +2 -2
  98. package/dist/esm2022/src/map/map-plate/features/markers/markers.component.mjs +42 -42
  99. package/dist/esm2022/src/map/map-plate/features/polygons/polygons.component.mjs +42 -42
  100. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +59 -59
  101. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +52 -52
  102. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +38 -38
  103. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +66 -66
  104. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.component.mjs +52 -52
  105. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.factory.mjs +28 -28
  106. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +91 -91
  107. package/dist/esm2022/src/map/map-plate/layers/index.mjs +7 -7
  108. package/dist/esm2022/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +57 -57
  109. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.component.mjs +52 -52
  110. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +50 -50
  111. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +44 -44
  112. package/dist/esm2022/src/map/map-plate/map-plate.component.mjs +102 -102
  113. package/dist/esm2022/src/map/map-plate/map-plate.factory.service.mjs +27 -27
  114. package/dist/esm2022/src/map/map-plate/tooltips/index.mjs +2 -2
  115. package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.component.mjs +81 -81
  116. package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +30 -30
  117. package/dist/esm2022/src/map/map.module.mjs +63 -63
  118. package/dist/esm2022/src/map/maps-components-src-map.mjs +4 -4
  119. package/dist/esm2022/src/map/messages/commands/add-control.command.mjs +12 -12
  120. package/dist/esm2022/src/map/messages/commands/add-layer.command.mjs +12 -12
  121. package/dist/esm2022/src/map/messages/commands/add-tile.command.mjs +12 -12
  122. package/dist/esm2022/src/map/messages/commands/cancel-drawing.command.mjs +7 -7
  123. package/dist/esm2022/src/map/messages/commands/cancel-feature-modification.command.mjs +7 -7
  124. package/dist/esm2022/src/map/messages/commands/close-tooltip.command.mjs +12 -12
  125. package/dist/esm2022/src/map/messages/commands/draw-selection-area.command.mjs +16 -16
  126. package/dist/esm2022/src/map/messages/commands/fit-to-features.command.mjs +14 -14
  127. package/dist/esm2022/src/map/messages/commands/fit-to-polygons.command.mjs +14 -14
  128. package/dist/esm2022/src/map/messages/commands/modify-feature.command.mjs +17 -17
  129. package/dist/esm2022/src/map/messages/commands/place-layer-features.command.mjs +14 -14
  130. package/dist/esm2022/src/map/messages/commands/remove-control.command.mjs +12 -12
  131. package/dist/esm2022/src/map/messages/commands/remove-layer.command.mjs +12 -12
  132. package/dist/esm2022/src/map/messages/commands/remove-tile.command.mjs +12 -12
  133. package/dist/esm2022/src/map/messages/commands/set-map-center.command.mjs +25 -25
  134. package/dist/esm2022/src/map/messages/commands/start-drawing.command.mjs +17 -17
  135. package/dist/esm2022/src/map/messages/events/drawing-finished.event.mjs +10 -10
  136. package/dist/esm2022/src/map/messages/events/map-click.event.mjs +16 -16
  137. package/dist/esm2022/src/map/messages/events/map-move-end.event.mjs +14 -14
  138. package/dist/esm2022/src/map/messages/events/map-rendered.event.mjs +12 -12
  139. package/dist/esm2022/src/map/messages/executors/calculate-area.executor.mjs +12 -12
  140. package/dist/esm2022/src/map/messages/executors/filter-features-in-area.executor.mjs +14 -14
  141. package/dist/esm2022/src/map/messages/executors/generate-draw.executor.mjs +16 -16
  142. package/dist/esm2022/src/map/messages/executors/generate-zoom-control.executor.mjs +12 -12
  143. package/dist/esm2022/src/map/messages/index.mjs +14 -14
  144. package/dist/esm2022/src/map/messages/queries/get-features-in-area.query.mjs +14 -14
  145. package/dist/esm2022/src/map/messages/queries/get-layer.query.mjs +12 -12
  146. package/dist/esm2022/src/map/models/drawing-type.enum.mjs +7 -7
  147. package/dist/esm2022/src/map/models/feature-format.enum.mjs +5 -5
  148. package/dist/esm2022/src/map/models/i-identified.mjs +1 -1
  149. package/dist/esm2022/src/map/models/index.mjs +7 -7
  150. package/dist/esm2022/src/map/models/map-control.mjs +14 -14
  151. package/dist/esm2022/src/map/models/map-lyrs.enum.mjs +18 -18
  152. package/dist/esm2022/src/map/models/map-settings.mjs +50 -50
  153. package/dist/esm2022/src/map/models/map.constants.mjs +4 -4
  154. package/dist/esm2022/src/map/models/marker-model.mjs +28 -28
  155. package/dist/esm2022/src/map/models/polygon.model.mjs +32 -32
  156. package/dist/esm2022/src/map/public-api.mjs +15 -15
  157. package/dist/esm2022/src/map/services/controls/controls.service.mjs +39 -39
  158. package/dist/esm2022/src/map/services/drawing/drawing-generation.service.mjs +25 -25
  159. package/dist/esm2022/src/map/services/drawing/drawing.service.mjs +101 -101
  160. package/dist/esm2022/src/map/services/drawing/feature-modification.service.mjs +103 -103
  161. package/dist/esm2022/src/map/services/feature.service.mjs +21 -21
  162. package/dist/esm2022/src/map/services/map-click.service.mjs +55 -55
  163. package/dist/esm2022/src/map/services/map-feature.service.mjs +55 -55
  164. package/dist/esm2022/src/map/services/map-management.service.mjs +103 -103
  165. package/dist/esm2022/src/map/services/map-postboy.service.mjs +18 -18
  166. package/dist/esm2022/src/map/services/map-state.service.mjs +43 -43
  167. package/dist/esm2022/src/map/services/message-registrator.service.mjs +82 -82
  168. package/dist/fesm2022/maps-components-src-map.mjs +2109 -2109
  169. package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
  170. package/dist/fesm2022/maps-components.mjs +2111 -2111
  171. package/dist/fesm2022/maps-components.mjs.map +1 -1
  172. package/dist/index.d.ts +5 -5
  173. package/dist/map/common/destructible.component.d.ts +10 -10
  174. package/dist/map/common/id.generator.d.ts +4 -4
  175. package/dist/map/helpers/index.d.ts +4 -4
  176. package/dist/map/helpers/marker-style.helper.d.ts +7 -7
  177. package/dist/map/helpers/polygon-style.helper.d.ts +5 -5
  178. package/dist/map/helpers/stringify-feature.helper.d.ts +8 -8
  179. package/dist/map/helpers/text-style.helper.d.ts +4 -4
  180. package/dist/map/map-plate/controls/index.d.ts +2 -2
  181. package/dist/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +19 -19
  182. package/dist/map/map-plate/controls/map-control-zoom/zoom-control.factory.d.ts +5 -5
  183. package/dist/map/map-plate/controls/map-control-zoom/zoom-control.settings.d.ts +14 -14
  184. package/dist/map/map-plate/features/index.d.ts +2 -2
  185. package/dist/map/map-plate/features/markers/markers.component.d.ts +16 -16
  186. package/dist/map/map-plate/features/polygons/polygons.component.d.ts +16 -16
  187. package/dist/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.d.ts +11 -11
  188. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +21 -21
  189. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.manager.d.ts +13 -13
  190. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +22 -22
  191. package/dist/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +22 -22
  192. package/dist/map/map-plate/layers/feature-layer/feature-layer.factory.d.ts +9 -9
  193. package/dist/map/map-plate/layers/feature-layer/feature-layer.settings.d.ts +61 -61
  194. package/dist/map/map-plate/layers/index.d.ts +7 -7
  195. package/dist/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +19 -19
  196. package/dist/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +21 -21
  197. package/dist/map/map-plate/layers/tile-layer/tile-layer.factory.d.ts +11 -11
  198. package/dist/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +14 -14
  199. package/dist/map/map-plate/map-plate.component.d.ts +27 -27
  200. package/dist/map/map-plate/map-plate.factory.service.d.ts +8 -8
  201. package/dist/map/map-plate/tooltips/index.d.ts +2 -2
  202. package/dist/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +26 -26
  203. package/dist/map/map-plate/tooltips/tooltip/tooltip.settings.d.ts +11 -11
  204. package/dist/map/map.module.d.ts +17 -17
  205. package/dist/map/messages/commands/add-control.command.d.ts +8 -8
  206. package/dist/map/messages/commands/add-layer.command.d.ts +10 -10
  207. package/dist/map/messages/commands/add-tile.command.d.ts +9 -9
  208. package/dist/map/messages/commands/cancel-drawing.command.d.ts +5 -5
  209. package/dist/map/messages/commands/cancel-feature-modification.command.d.ts +5 -5
  210. package/dist/map/messages/commands/close-tooltip.command.d.ts +7 -7
  211. package/dist/map/messages/commands/draw-selection-area.command.d.ts +13 -13
  212. package/dist/map/messages/commands/fit-to-features.command.d.ts +10 -10
  213. package/dist/map/messages/commands/fit-to-polygons.command.d.ts +9 -9
  214. package/dist/map/messages/commands/modify-feature.command.d.ts +11 -11
  215. package/dist/map/messages/commands/place-layer-features.command.d.ts +10 -10
  216. package/dist/map/messages/commands/remove-control.command.d.ts +8 -8
  217. package/dist/map/messages/commands/remove-layer.command.d.ts +8 -8
  218. package/dist/map/messages/commands/remove-tile.command.d.ts +9 -9
  219. package/dist/map/messages/commands/set-map-center.command.d.ts +18 -18
  220. package/dist/map/messages/commands/start-drawing.command.d.ts +11 -11
  221. package/dist/map/messages/events/drawing-finished.event.d.ts +6 -6
  222. package/dist/map/messages/events/map-click.event.d.ts +20 -20
  223. package/dist/map/messages/events/map-move-end.event.d.ts +8 -8
  224. package/dist/map/messages/events/map-rendered.event.d.ts +8 -8
  225. package/dist/map/messages/executors/calculate-area.executor.d.ts +10 -10
  226. package/dist/map/messages/executors/filter-features-in-area.executor.d.ts +10 -10
  227. package/dist/map/messages/executors/generate-draw.executor.d.ts +14 -14
  228. package/dist/map/messages/executors/generate-zoom-control.executor.d.ts +9 -9
  229. package/dist/map/messages/index.d.ts +14 -14
  230. package/dist/map/messages/queries/get-features-in-area.query.d.ts +11 -11
  231. package/dist/map/messages/queries/get-layer.query.d.ts +10 -10
  232. package/dist/map/models/drawing-type.enum.d.ts +6 -6
  233. package/dist/map/models/feature-format.enum.d.ts +4 -4
  234. package/dist/map/models/i-identified.d.ts +3 -3
  235. package/dist/map/models/index.d.ts +7 -7
  236. package/dist/map/models/map-control.d.ts +13 -13
  237. package/dist/map/models/map-lyrs.enum.d.ts +10 -10
  238. package/dist/map/models/map-settings.d.ts +17 -17
  239. package/dist/map/models/map.constants.d.ts +4 -4
  240. package/dist/map/models/marker-model.d.ts +16 -16
  241. package/dist/map/models/polygon.model.d.ts +19 -19
  242. package/dist/map/public-api.d.ts +12 -12
  243. package/dist/map/services/controls/controls.service.d.ts +14 -14
  244. package/dist/map/services/drawing/drawing-generation.service.d.ts +6 -6
  245. package/dist/map/services/drawing/drawing.service.d.ts +19 -19
  246. package/dist/map/services/drawing/feature-modification.service.d.ts +22 -22
  247. package/dist/map/services/feature.service.d.ts +9 -9
  248. package/dist/map/services/map-click.service.d.ts +16 -16
  249. package/dist/map/services/map-feature.service.d.ts +16 -16
  250. package/dist/map/services/map-management.service.d.ts +20 -20
  251. package/dist/map/services/map-postboy.service.d.ts +7 -7
  252. package/dist/map/services/map-state.service.d.ts +13 -13
  253. package/dist/map/services/message-registrator.service.d.ts +17 -17
  254. package/dist/public-api.d.ts +1 -1
  255. package/dist/src/map/common/destructible.component.d.ts +10 -10
  256. package/dist/src/map/common/id.generator.d.ts +4 -4
  257. package/dist/src/map/helpers/index.d.ts +4 -4
  258. package/dist/src/map/helpers/marker-style.helper.d.ts +7 -7
  259. package/dist/src/map/helpers/polygon-style.helper.d.ts +5 -5
  260. package/dist/src/map/helpers/stringify-feature.helper.d.ts +8 -8
  261. package/dist/src/map/helpers/text-style.helper.d.ts +4 -4
  262. package/dist/src/map/index.d.ts +5 -5
  263. package/dist/src/map/map-plate/controls/index.d.ts +2 -2
  264. package/dist/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +19 -19
  265. package/dist/src/map/map-plate/controls/map-control-zoom/zoom-control.factory.d.ts +5 -5
  266. package/dist/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.d.ts +14 -14
  267. package/dist/src/map/map-plate/features/index.d.ts +2 -2
  268. package/dist/src/map/map-plate/features/markers/markers.component.d.ts +16 -16
  269. package/dist/src/map/map-plate/features/polygons/polygons.component.d.ts +16 -16
  270. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.d.ts +11 -11
  271. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +21 -21
  272. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.d.ts +13 -13
  273. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +22 -22
  274. package/dist/src/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +22 -22
  275. package/dist/src/map/map-plate/layers/feature-layer/feature-layer.factory.d.ts +9 -9
  276. package/dist/src/map/map-plate/layers/feature-layer/feature-layer.settings.d.ts +61 -61
  277. package/dist/src/map/map-plate/layers/index.d.ts +7 -7
  278. package/dist/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +19 -19
  279. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +21 -21
  280. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.factory.d.ts +11 -11
  281. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +14 -14
  282. package/dist/src/map/map-plate/map-plate.component.d.ts +27 -27
  283. package/dist/src/map/map-plate/map-plate.factory.service.d.ts +8 -8
  284. package/dist/src/map/map-plate/tooltips/index.d.ts +2 -2
  285. package/dist/src/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +26 -26
  286. package/dist/src/map/map-plate/tooltips/tooltip/tooltip.settings.d.ts +11 -11
  287. package/dist/src/map/map.module.d.ts +17 -17
  288. package/dist/src/map/messages/commands/add-control.command.d.ts +8 -8
  289. package/dist/src/map/messages/commands/add-layer.command.d.ts +10 -10
  290. package/dist/src/map/messages/commands/add-tile.command.d.ts +9 -9
  291. package/dist/src/map/messages/commands/cancel-drawing.command.d.ts +5 -5
  292. package/dist/src/map/messages/commands/cancel-feature-modification.command.d.ts +5 -5
  293. package/dist/src/map/messages/commands/close-tooltip.command.d.ts +7 -7
  294. package/dist/src/map/messages/commands/draw-selection-area.command.d.ts +13 -13
  295. package/dist/src/map/messages/commands/fit-to-features.command.d.ts +10 -10
  296. package/dist/src/map/messages/commands/fit-to-polygons.command.d.ts +9 -9
  297. package/dist/src/map/messages/commands/modify-feature.command.d.ts +11 -11
  298. package/dist/src/map/messages/commands/place-layer-features.command.d.ts +10 -10
  299. package/dist/src/map/messages/commands/remove-control.command.d.ts +8 -8
  300. package/dist/src/map/messages/commands/remove-layer.command.d.ts +8 -8
  301. package/dist/src/map/messages/commands/remove-tile.command.d.ts +9 -9
  302. package/dist/src/map/messages/commands/set-map-center.command.d.ts +18 -18
  303. package/dist/src/map/messages/commands/start-drawing.command.d.ts +11 -11
  304. package/dist/src/map/messages/events/drawing-finished.event.d.ts +6 -6
  305. package/dist/src/map/messages/events/map-click.event.d.ts +20 -20
  306. package/dist/src/map/messages/events/map-move-end.event.d.ts +8 -8
  307. package/dist/src/map/messages/events/map-rendered.event.d.ts +8 -8
  308. package/dist/src/map/messages/executors/calculate-area.executor.d.ts +10 -10
  309. package/dist/src/map/messages/executors/filter-features-in-area.executor.d.ts +10 -10
  310. package/dist/src/map/messages/executors/generate-draw.executor.d.ts +14 -14
  311. package/dist/src/map/messages/executors/generate-zoom-control.executor.d.ts +9 -9
  312. package/dist/src/map/messages/index.d.ts +14 -14
  313. package/dist/src/map/messages/queries/get-features-in-area.query.d.ts +11 -11
  314. package/dist/src/map/messages/queries/get-layer.query.d.ts +10 -10
  315. package/dist/src/map/models/drawing-type.enum.d.ts +6 -6
  316. package/dist/src/map/models/feature-format.enum.d.ts +4 -4
  317. package/dist/src/map/models/i-identified.d.ts +3 -3
  318. package/dist/src/map/models/index.d.ts +7 -7
  319. package/dist/src/map/models/map-control.d.ts +13 -13
  320. package/dist/src/map/models/map-lyrs.enum.d.ts +10 -10
  321. package/dist/src/map/models/map-settings.d.ts +17 -17
  322. package/dist/src/map/models/map.constants.d.ts +4 -4
  323. package/dist/src/map/models/marker-model.d.ts +16 -16
  324. package/dist/src/map/models/polygon.model.d.ts +19 -19
  325. package/dist/src/map/public-api.d.ts +12 -12
  326. package/dist/src/map/services/controls/controls.service.d.ts +14 -14
  327. package/dist/src/map/services/drawing/drawing-generation.service.d.ts +6 -6
  328. package/dist/src/map/services/drawing/drawing.service.d.ts +19 -19
  329. package/dist/src/map/services/drawing/feature-modification.service.d.ts +22 -22
  330. package/dist/src/map/services/feature.service.d.ts +9 -9
  331. package/dist/src/map/services/map-click.service.d.ts +16 -16
  332. package/dist/src/map/services/map-feature.service.d.ts +16 -16
  333. package/dist/src/map/services/map-management.service.d.ts +20 -20
  334. package/dist/src/map/services/map-postboy.service.d.ts +7 -7
  335. package/dist/src/map/services/map-state.service.d.ts +13 -13
  336. package/dist/src/map/services/message-registrator.service.d.ts +17 -17
  337. package/package.json +23 -24
  338. package/dist/package.json +0 -35
@@ -1,42 +1,42 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { DestructibleComponent } from '../../../common/destructible.component';
3
- import { MapRenderedEvent } from '../../../messages';
4
- import { filter, first } from 'rxjs/operators';
5
- import { PlaceLayerFeaturesCommand } from '../../../messages/commands/place-layer-features.command';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../../services/map-postboy.service";
8
- export class PolygonsComponent extends DestructibleComponent {
9
- postboy;
10
- layerName = '';
11
- constructor(postboy) {
12
- super();
13
- this.postboy = postboy;
14
- }
15
- _polygons = [];
16
- set polygons(value) {
17
- this._polygons = value ?? [];
18
- this.putPolygons();
19
- }
20
- ngOnInit() {
21
- this.postboy
22
- .subscribe(MapRenderedEvent.ID)
23
- .pipe(filter((m) => !!m), first())
24
- .subscribe(() => this.putPolygons());
25
- }
26
- putPolygons() {
27
- if (!this._polygons)
28
- return;
29
- this.postboy.fire(new PlaceLayerFeaturesCommand(this.layerName, this._polygons.map((m) => m.feature)));
30
- }
31
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PolygonsComponent, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
32
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PolygonsComponent, selector: "art-polygons", inputs: { layerName: "layerName", polygons: "polygons" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PolygonsComponent, decorators: [{
35
- type: Component,
36
- args: [{ selector: 'art-polygons', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
37
- }], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; }, propDecorators: { layerName: [{
38
- type: Input
39
- }], polygons: [{
40
- type: Input
41
- }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2ZlYXR1cmVzL3BvbHlnb25zL3BvbHlnb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDOzs7QUFTcEcsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHFCQUFxQjtJQUd0QztJQUZYLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFFeEIsWUFBb0IsT0FBMEI7UUFDNUMsS0FBSyxFQUFFLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFtQjtJQUU5QyxDQUFDO0lBRUQsU0FBUyxHQUFtQixFQUFFLENBQUM7SUFFL0IsSUFBYSxRQUFRLENBQUMsS0FBcUI7UUFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsU0FBUyxDQUFtQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7YUFDaEQsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNmLElBQUkseUJBQXlCLENBQzNCLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FDckMsQ0FDRixDQUFDO0lBQ0osQ0FBQzt3R0FoQ1UsaUJBQWlCOzRGQUFqQixpQkFBaUIscUlBSmxCLEVBQUU7OzRGQUlELGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxjQUFjLFlBQ2QsRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNO3dHQUd0QyxTQUFTO3NCQUFqQixLQUFLO2dCQVFPLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcGxhY2UtbGF5ZXItZmVhdHVyZXMuY29tbWFuZCc7XG5pbXBvcnQgeyBQb2x5Z29uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcG9seWdvbi5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FydC1wb2x5Z29ucycsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBvbHlnb25zQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbGF5ZXJOYW1lID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBfcG9seWdvbnM6IFBvbHlnb25Nb2RlbFtdID0gW107XG5cbiAgQElucHV0KCkgc2V0IHBvbHlnb25zKHZhbHVlOiBQb2x5Z29uTW9kZWxbXSkge1xuICAgIHRoaXMuX3BvbHlnb25zID0gdmFsdWUgPz8gW107XG4gICAgdGhpcy5wdXRQb2x5Z29ucygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95XG4gICAgICAuc3Vic2NyaWJlPE1hcFJlbmRlcmVkRXZlbnQ+KE1hcFJlbmRlcmVkRXZlbnQuSUQpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChtKSA9PiAhIW0pLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnB1dFBvbHlnb25zKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBwdXRQb2x5Z29ucygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3BvbHlnb25zKSByZXR1cm47XG4gICAgdGhpcy5wb3N0Ym95LmZpcmUoXG4gICAgICBuZXcgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZChcbiAgICAgICAgdGhpcy5sYXllck5hbWUsXG4gICAgICAgIHRoaXMuX3BvbHlnb25zLm1hcCgobSkgPT4gbS5mZWF0dXJlKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxufVxuIl19
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { DestructibleComponent } from '../../../common/destructible.component';
3
+ import { MapRenderedEvent } from '../../../messages';
4
+ import { filter, first } from 'rxjs/operators';
5
+ import { PlaceLayerFeaturesCommand } from '../../../messages/commands/place-layer-features.command';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../services/map-postboy.service";
8
+ export class PolygonsComponent extends DestructibleComponent {
9
+ postboy;
10
+ layerName = '';
11
+ constructor(postboy) {
12
+ super();
13
+ this.postboy = postboy;
14
+ }
15
+ _polygons = [];
16
+ set polygons(value) {
17
+ this._polygons = value ?? [];
18
+ this.putPolygons();
19
+ }
20
+ ngOnInit() {
21
+ this.postboy
22
+ .subscribe(MapRenderedEvent.ID)
23
+ .pipe(filter((m) => !!m), first())
24
+ .subscribe(() => this.putPolygons());
25
+ }
26
+ putPolygons() {
27
+ if (!this._polygons)
28
+ return;
29
+ this.postboy.fire(new PlaceLayerFeaturesCommand(this.layerName, this._polygons.map((m) => m.feature)));
30
+ }
31
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: PolygonsComponent, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
32
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: PolygonsComponent, selector: "art-polygons", inputs: { layerName: "layerName", polygons: "polygons" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: PolygonsComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'art-polygons', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
37
+ }], ctorParameters: () => [{ type: i1.MapPostboyService }], propDecorators: { layerName: [{
38
+ type: Input
39
+ }], polygons: [{
40
+ type: Input
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2ZlYXR1cmVzL3BvbHlnb25zL3BvbHlnb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDOzs7QUFTcEcsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHFCQUFxQjtJQUd0QztJQUZYLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFFeEIsWUFBb0IsT0FBMEI7UUFDNUMsS0FBSyxFQUFFLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFtQjtJQUU5QyxDQUFDO0lBRUQsU0FBUyxHQUFtQixFQUFFLENBQUM7SUFFL0IsSUFBYSxRQUFRLENBQUMsS0FBcUI7UUFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsU0FBUyxDQUFtQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7YUFDaEQsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNmLElBQUkseUJBQXlCLENBQzNCLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FDckMsQ0FDRixDQUFDO0lBQ0osQ0FBQzt1R0FoQ1UsaUJBQWlCOzJGQUFqQixpQkFBaUIscUlBSmxCLEVBQUU7OzJGQUlELGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxjQUFjLFlBQ2QsRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNO3NGQUd0QyxTQUFTO3NCQUFqQixLQUFLO2dCQVFPLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcGxhY2UtbGF5ZXItZmVhdHVyZXMuY29tbWFuZCc7XG5pbXBvcnQgeyBQb2x5Z29uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcG9seWdvbi5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FydC1wb2x5Z29ucycsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBvbHlnb25zQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbGF5ZXJOYW1lID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBfcG9seWdvbnM6IFBvbHlnb25Nb2RlbFtdID0gW107XG5cbiAgQElucHV0KCkgc2V0IHBvbHlnb25zKHZhbHVlOiBQb2x5Z29uTW9kZWxbXSkge1xuICAgIHRoaXMuX3BvbHlnb25zID0gdmFsdWUgPz8gW107XG4gICAgdGhpcy5wdXRQb2x5Z29ucygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95XG4gICAgICAuc3Vic2NyaWJlPE1hcFJlbmRlcmVkRXZlbnQ+KE1hcFJlbmRlcmVkRXZlbnQuSUQpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChtKSA9PiAhIW0pLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnB1dFBvbHlnb25zKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBwdXRQb2x5Z29ucygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3BvbHlnb25zKSByZXR1cm47XG4gICAgdGhpcy5wb3N0Ym95LmZpcmUoXG4gICAgICBuZXcgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZChcbiAgICAgICAgdGhpcy5sYXllck5hbWUsXG4gICAgICAgIHRoaXMuX3BvbHlnb25zLm1hcCgobSkgPT4gbS5mZWF0dXJlKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,59 +1,59 @@
1
- import { Injectable } from '@angular/core';
2
- import { Vector as Source } from 'ol/source';
3
- import { Vector as Layer } from 'ol/layer';
4
- import { bbox } from 'ol/loadingstrategy';
5
- import { fromExtent } from 'ol/geom/Polygon';
6
- import Cluster from 'ol/source/Cluster';
7
- import { ClusterLayerManager } from './cluster-layer.manager';
8
- import { MapConstants } from '../../../models/map.constants';
9
- import * as i0 from "@angular/core";
10
- export class ClusterLayerFactory {
11
- build(settings, postboy) {
12
- const source = new Source({
13
- strategy: settings.bbox ? bbox : undefined,
14
- });
15
- const cluster = new Cluster({
16
- distance: settings.distance,
17
- source: source,
18
- geometryFunction: (feature) => {
19
- const geom = feature.getGeometry();
20
- if (geom?.getType() == 'Point') {
21
- return geom;
22
- }
23
- else if (geom?.getType() == 'Polygon') {
24
- return geom?.getInteriorPoint();
25
- }
26
- else if (geom?.getType() == 'MultiPolygon') {
27
- return fromExtent(geom.getExtent())?.getInteriorPoint();
28
- }
29
- return undefined;
30
- },
31
- });
32
- const layer = new Layer({
33
- source: cluster,
34
- maxZoom: settings.maxZoom || undefined,
35
- minZoom: settings.minZoom || undefined,
36
- zIndex: settings.zIndex || 0,
37
- });
38
- layer.setStyle(this.styleFunc(settings));
39
- layer.set('name', settings.name);
40
- return new ClusterLayerManager(settings, layer, postboy);
41
- }
42
- styleFunc(settings) {
43
- return (feature) => {
44
- const features = feature.get('features');
45
- if (!settings.style)
46
- return undefined;
47
- return settings.style(features.map((f) => ({ id: f.getId(), ...f.get(MapConstants.FeatureInfo) })));
48
- };
49
- }
50
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClusterLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
51
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClusterLayerFactory, providedIn: 'root' });
52
- }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClusterLayerFactory, decorators: [{
54
- type: Injectable,
55
- args: [{
56
- providedIn: 'root',
57
- }]
58
- }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci1mYWN0b3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci1mYWN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxJQUFJLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUMsT0FBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQztBQUV4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUk5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBSzdELE1BQU0sT0FBTyxtQkFBbUI7SUFDdkIsS0FBSyxDQUFDLFFBQThCLEVBQUUsT0FBMEI7UUFDckUsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUM7WUFDeEIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUztTQUMzQyxDQUFDLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQztZQUMxQixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7WUFDM0IsTUFBTSxFQUFFLE1BQU07WUFDZCxnQkFBZ0IsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUM1QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25DLElBQUksSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLE9BQU8sRUFBRTtvQkFDOUIsT0FBTyxJQUFhLENBQUM7aUJBQ3RCO3FCQUFNLElBQUksSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLFNBQVMsRUFBRTtvQkFDdkMsT0FBUSxJQUFnQixFQUFFLGdCQUFnQixFQUFFLENBQUM7aUJBQzlDO3FCQUFNLElBQUksSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLGNBQWMsRUFBRTtvQkFDNUMsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztpQkFDekQ7Z0JBQ0QsT0FBTyxTQUFnQixDQUFDO1lBQzFCLENBQUM7U0FDRixDQUFDLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQztZQUN0QixNQUFNLEVBQUUsT0FBTztZQUNmLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxJQUFJLFNBQVM7WUFDdEMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLElBQUksU0FBUztZQUN0QyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDO1NBQzdCLENBQUMsQ0FBQztRQUNILEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxPQUFPLElBQUksbUJBQW1CLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsU0FBUyxDQUFDLFFBQThCO1FBQ3RDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNqQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBd0IsQ0FBQztZQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFDdEMsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RyxDQUFDLENBQUM7SUFDSixDQUFDO3dHQXJDVSxtQkFBbUI7NEdBQW5CLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2NsdXN0ZXItbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgVmVjdG9yIGFzIFNvdXJjZSB9IGZyb20gJ29sL3NvdXJjZSc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgeyBiYm94IH0gZnJvbSAnb2wvbG9hZGluZ3N0cmF0ZWd5JztcbmltcG9ydCBQb2x5Z29uLCB7IGZyb21FeHRlbnQgfSBmcm9tICdvbC9nZW9tL1BvbHlnb24nO1xuaW1wb3J0IENsdXN0ZXIgZnJvbSAnb2wvc291cmNlL0NsdXN0ZXInO1xuaW1wb3J0IHsgR2VvbWV0cnksIFBvaW50IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBDbHVzdGVyTGF5ZXJNYW5hZ2VyIH0gZnJvbSAnLi9jbHVzdGVyLWxheWVyLm1hbmFnZXInO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IFN0eWxlRnVuY3Rpb24gfSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL21hcC5jb25zdGFudHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2x1c3RlckxheWVyRmFjdG9yeSB7XG4gIHB1YmxpYyBidWlsZChzZXR0aW5nczogQ2x1c3RlckxheWVyU2V0dGluZ3MsIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKTogQ2x1c3RlckxheWVyTWFuYWdlciB7XG4gICAgY29uc3Qgc291cmNlID0gbmV3IFNvdXJjZSh7XG4gICAgICBzdHJhdGVneTogc2V0dGluZ3MuYmJveCA/IGJib3ggOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gICAgY29uc3QgY2x1c3RlciA9IG5ldyBDbHVzdGVyKHtcbiAgICAgIGRpc3RhbmNlOiBzZXR0aW5ncy5kaXN0YW5jZSxcbiAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgZ2VvbWV0cnlGdW5jdGlvbjogKGZlYXR1cmUpID0+IHtcbiAgICAgICAgY29uc3QgZ2VvbSA9IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKTtcbiAgICAgICAgaWYgKGdlb20/LmdldFR5cGUoKSA9PSAnUG9pbnQnKSB7XG4gICAgICAgICAgcmV0dXJuIGdlb20gYXMgUG9pbnQ7XG4gICAgICAgIH0gZWxzZSBpZiAoZ2VvbT8uZ2V0VHlwZSgpID09ICdQb2x5Z29uJykge1xuICAgICAgICAgIHJldHVybiAoZ2VvbSBhcyBQb2x5Z29uKT8uZ2V0SW50ZXJpb3JQb2ludCgpO1xuICAgICAgICB9IGVsc2UgaWYgKGdlb20/LmdldFR5cGUoKSA9PSAnTXVsdGlQb2x5Z29uJykge1xuICAgICAgICAgIHJldHVybiBmcm9tRXh0ZW50KGdlb20uZ2V0RXh0ZW50KCkpPy5nZXRJbnRlcmlvclBvaW50KCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZCBhcyBhbnk7XG4gICAgICB9LFxuICAgIH0pO1xuICAgIGNvbnN0IGxheWVyID0gbmV3IExheWVyKHtcbiAgICAgIHNvdXJjZTogY2x1c3RlcixcbiAgICAgIG1heFpvb206IHNldHRpbmdzLm1heFpvb20gfHwgdW5kZWZpbmVkLFxuICAgICAgbWluWm9vbTogc2V0dGluZ3MubWluWm9vbSB8fCB1bmRlZmluZWQsXG4gICAgICB6SW5kZXg6IHNldHRpbmdzLnpJbmRleCB8fCAwLFxuICAgIH0pO1xuICAgIGxheWVyLnNldFN0eWxlKHRoaXMuc3R5bGVGdW5jKHNldHRpbmdzKSk7XG4gICAgbGF5ZXIuc2V0KCduYW1lJywgc2V0dGluZ3MubmFtZSk7XG4gICAgcmV0dXJuIG5ldyBDbHVzdGVyTGF5ZXJNYW5hZ2VyKHNldHRpbmdzLCBsYXllciwgcG9zdGJveSk7XG4gIH1cblxuICBzdHlsZUZ1bmMoc2V0dGluZ3M6IENsdXN0ZXJMYXllclNldHRpbmdzKTogU3R5bGVGdW5jdGlvbiB7XG4gICAgcmV0dXJuIChmZWF0dXJlKSA9PiB7XG4gICAgICBjb25zdCBmZWF0dXJlcyA9IGZlYXR1cmUuZ2V0KCdmZWF0dXJlcycpIGFzIEZlYXR1cmU8R2VvbWV0cnk+W107XG4gICAgICBpZiAoIXNldHRpbmdzLnN0eWxlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIHNldHRpbmdzLnN0eWxlKGZlYXR1cmVzLm1hcCgoZikgPT4gKHsgaWQ6IGYuZ2V0SWQoKSEsIC4uLmYuZ2V0KE1hcENvbnN0YW50cy5GZWF0dXJlSW5mbykgfSkpKTtcbiAgICB9O1xuICB9XG59XG4iXX0=
1
+ import { Injectable } from '@angular/core';
2
+ import { Vector as Source } from 'ol/source';
3
+ import { Vector as Layer } from 'ol/layer';
4
+ import { bbox } from 'ol/loadingstrategy';
5
+ import { fromExtent } from 'ol/geom/Polygon';
6
+ import Cluster from 'ol/source/Cluster';
7
+ import { ClusterLayerManager } from './cluster-layer.manager';
8
+ import { MapConstants } from '../../../models/map.constants';
9
+ import * as i0 from "@angular/core";
10
+ export class ClusterLayerFactory {
11
+ build(settings, postboy) {
12
+ const source = new Source({
13
+ strategy: settings.bbox ? bbox : undefined,
14
+ });
15
+ const cluster = new Cluster({
16
+ distance: settings.distance,
17
+ source: source,
18
+ geometryFunction: (feature) => {
19
+ const geom = feature.getGeometry();
20
+ if (geom?.getType() == 'Point') {
21
+ return geom;
22
+ }
23
+ else if (geom?.getType() == 'Polygon') {
24
+ return geom?.getInteriorPoint();
25
+ }
26
+ else if (geom?.getType() == 'MultiPolygon') {
27
+ return fromExtent(geom.getExtent())?.getInteriorPoint();
28
+ }
29
+ return undefined;
30
+ },
31
+ });
32
+ const layer = new Layer({
33
+ source: cluster,
34
+ maxZoom: settings.maxZoom || undefined,
35
+ minZoom: settings.minZoom || undefined,
36
+ zIndex: settings.zIndex || 0,
37
+ });
38
+ layer.setStyle(this.styleFunc(settings));
39
+ layer.set('name', settings.name);
40
+ return new ClusterLayerManager(settings, layer, postboy);
41
+ }
42
+ styleFunc(settings) {
43
+ return (feature) => {
44
+ const features = feature.get('features');
45
+ if (!settings.style)
46
+ return undefined;
47
+ return settings.style(features.map((f) => ({ id: f.getId(), ...f.get(MapConstants.FeatureInfo) })));
48
+ };
49
+ }
50
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ClusterLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
51
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ClusterLayerFactory, providedIn: 'root' });
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ClusterLayerFactory, decorators: [{
54
+ type: Injectable,
55
+ args: [{
56
+ providedIn: 'root',
57
+ }]
58
+ }] });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci1mYWN0b3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci1mYWN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxJQUFJLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUMsT0FBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQztBQUV4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUk5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBSzdELE1BQU0sT0FBTyxtQkFBbUI7SUFDdkIsS0FBSyxDQUFDLFFBQThCLEVBQUUsT0FBMEI7UUFDckUsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUM7WUFDeEIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUztTQUMzQyxDQUFDLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQztZQUMxQixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7WUFDM0IsTUFBTSxFQUFFLE1BQU07WUFDZCxnQkFBZ0IsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUM1QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25DLElBQUksSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUMvQixPQUFPLElBQWEsQ0FBQztnQkFDdkIsQ0FBQztxQkFBTSxJQUFJLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQztvQkFDeEMsT0FBUSxJQUFnQixFQUFFLGdCQUFnQixFQUFFLENBQUM7Z0JBQy9DLENBQUM7cUJBQU0sSUFBSSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksY0FBYyxFQUFFLENBQUM7b0JBQzdDLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLENBQUM7Z0JBQzFELENBQUM7Z0JBQ0QsT0FBTyxTQUFnQixDQUFDO1lBQzFCLENBQUM7U0FDRixDQUFDLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQztZQUN0QixNQUFNLEVBQUUsT0FBTztZQUNmLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxJQUFJLFNBQVM7WUFDdEMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLElBQUksU0FBUztZQUN0QyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDO1NBQzdCLENBQUMsQ0FBQztRQUNILEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxPQUFPLElBQUksbUJBQW1CLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsU0FBUyxDQUFDLFFBQThCO1FBQ3RDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNqQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBd0IsQ0FBQztZQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFDdEMsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RyxDQUFDLENBQUM7SUFDSixDQUFDO3VHQXJDVSxtQkFBbUI7MkdBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2NsdXN0ZXItbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgVmVjdG9yIGFzIFNvdXJjZSB9IGZyb20gJ29sL3NvdXJjZSc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgeyBiYm94IH0gZnJvbSAnb2wvbG9hZGluZ3N0cmF0ZWd5JztcbmltcG9ydCBQb2x5Z29uLCB7IGZyb21FeHRlbnQgfSBmcm9tICdvbC9nZW9tL1BvbHlnb24nO1xuaW1wb3J0IENsdXN0ZXIgZnJvbSAnb2wvc291cmNlL0NsdXN0ZXInO1xuaW1wb3J0IHsgR2VvbWV0cnksIFBvaW50IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBDbHVzdGVyTGF5ZXJNYW5hZ2VyIH0gZnJvbSAnLi9jbHVzdGVyLWxheWVyLm1hbmFnZXInO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IFN0eWxlRnVuY3Rpb24gfSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL21hcC5jb25zdGFudHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2x1c3RlckxheWVyRmFjdG9yeSB7XG4gIHB1YmxpYyBidWlsZChzZXR0aW5nczogQ2x1c3RlckxheWVyU2V0dGluZ3MsIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKTogQ2x1c3RlckxheWVyTWFuYWdlciB7XG4gICAgY29uc3Qgc291cmNlID0gbmV3IFNvdXJjZSh7XG4gICAgICBzdHJhdGVneTogc2V0dGluZ3MuYmJveCA/IGJib3ggOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gICAgY29uc3QgY2x1c3RlciA9IG5ldyBDbHVzdGVyKHtcbiAgICAgIGRpc3RhbmNlOiBzZXR0aW5ncy5kaXN0YW5jZSxcbiAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgZ2VvbWV0cnlGdW5jdGlvbjogKGZlYXR1cmUpID0+IHtcbiAgICAgICAgY29uc3QgZ2VvbSA9IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKTtcbiAgICAgICAgaWYgKGdlb20/LmdldFR5cGUoKSA9PSAnUG9pbnQnKSB7XG4gICAgICAgICAgcmV0dXJuIGdlb20gYXMgUG9pbnQ7XG4gICAgICAgIH0gZWxzZSBpZiAoZ2VvbT8uZ2V0VHlwZSgpID09ICdQb2x5Z29uJykge1xuICAgICAgICAgIHJldHVybiAoZ2VvbSBhcyBQb2x5Z29uKT8uZ2V0SW50ZXJpb3JQb2ludCgpO1xuICAgICAgICB9IGVsc2UgaWYgKGdlb20/LmdldFR5cGUoKSA9PSAnTXVsdGlQb2x5Z29uJykge1xuICAgICAgICAgIHJldHVybiBmcm9tRXh0ZW50KGdlb20uZ2V0RXh0ZW50KCkpPy5nZXRJbnRlcmlvclBvaW50KCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZCBhcyBhbnk7XG4gICAgICB9LFxuICAgIH0pO1xuICAgIGNvbnN0IGxheWVyID0gbmV3IExheWVyKHtcbiAgICAgIHNvdXJjZTogY2x1c3RlcixcbiAgICAgIG1heFpvb206IHNldHRpbmdzLm1heFpvb20gfHwgdW5kZWZpbmVkLFxuICAgICAgbWluWm9vbTogc2V0dGluZ3MubWluWm9vbSB8fCB1bmRlZmluZWQsXG4gICAgICB6SW5kZXg6IHNldHRpbmdzLnpJbmRleCB8fCAwLFxuICAgIH0pO1xuICAgIGxheWVyLnNldFN0eWxlKHRoaXMuc3R5bGVGdW5jKHNldHRpbmdzKSk7XG4gICAgbGF5ZXIuc2V0KCduYW1lJywgc2V0dGluZ3MubmFtZSk7XG4gICAgcmV0dXJuIG5ldyBDbHVzdGVyTGF5ZXJNYW5hZ2VyKHNldHRpbmdzLCBsYXllciwgcG9zdGJveSk7XG4gIH1cblxuICBzdHlsZUZ1bmMoc2V0dGluZ3M6IENsdXN0ZXJMYXllclNldHRpbmdzKTogU3R5bGVGdW5jdGlvbiB7XG4gICAgcmV0dXJuIChmZWF0dXJlKSA9PiB7XG4gICAgICBjb25zdCBmZWF0dXJlcyA9IGZlYXR1cmUuZ2V0KCdmZWF0dXJlcycpIGFzIEZlYXR1cmU8R2VvbWV0cnk+W107XG4gICAgICBpZiAoIXNldHRpbmdzLnN0eWxlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIHNldHRpbmdzLnN0eWxlKGZlYXR1cmVzLm1hcCgoZikgPT4gKHsgaWQ6IGYuZ2V0SWQoKSEsIC4uLmYuZ2V0KE1hcENvbnN0YW50cy5GZWF0dXJlSW5mbykgfSkpKTtcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -1,52 +1,52 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { DestructibleComponent } from '../../../common/destructible.component';
3
- import { MapRenderedEvent } from '../../../messages';
4
- import { filter, first } from 'rxjs/operators';
5
- import { AddLayerCommand } from '../../../messages/commands/add-layer.command';
6
- import { RemoveLayerCommand } from '../../../messages/commands/remove-layer.command';
7
- import { ClusterLayerSettings } from './cluster-layer.settings';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../../../services/map-postboy.service";
10
- import * as i2 from "./cluster-layer-factory.service";
11
- export class ClusterLayerComponent extends DestructibleComponent {
12
- postboy;
13
- factory;
14
- manager = null;
15
- _settings = new ClusterLayerSettings();
16
- constructor(postboy, factory) {
17
- super();
18
- this.postboy = postboy;
19
- this.factory = factory;
20
- }
21
- ngOnInit() {
22
- this.postboy
23
- .subscribe(MapRenderedEvent.ID)
24
- .pipe(filter((m) => !!m), first())
25
- .subscribe((m) => this.initLayer());
26
- }
27
- set settings(value) {
28
- if (!value || this._settings.isSame(value))
29
- return;
30
- this._settings = value;
31
- this.initLayer();
32
- }
33
- onDestroy = () => this.removeLayer();
34
- initLayer() {
35
- this.removeLayer();
36
- this.manager = this.factory.build(this._settings, this.postboy);
37
- this.postboy.fire(new AddLayerCommand(this.manager.layer));
38
- }
39
- removeLayer() {
40
- if (this.manager?.layer)
41
- this.postboy.fire(new RemoveLayerCommand(this.manager.layer));
42
- }
43
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClusterLayerComponent, deps: [{ token: i1.MapPostboyService }, { token: i2.ClusterLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
44
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ClusterLayerComponent, selector: "art-cluster-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
- }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClusterLayerComponent, decorators: [{
47
- type: Component,
48
- args: [{ selector: 'art-cluster-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
49
- }], ctorParameters: function () { return [{ type: i1.MapPostboyService }, { type: i2.ClusterLayerFactory }]; }, propDecorators: { settings: [{
50
- type: Input
51
- }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFckYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFTaEUsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHFCQUFxQjtJQUkxQztJQUFvQztJQUhqRCxPQUFPLEdBQStCLElBQUksQ0FBQztJQUNsRCxTQUFTLEdBQXlCLElBQUksb0JBQW9CLEVBQUUsQ0FBQztJQUU3RCxZQUFvQixPQUEwQixFQUFVLE9BQTRCO1FBQ2xGLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFxQjtJQUVwRixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsU0FBUyxDQUFtQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7YUFDaEQsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQWEsUUFBUSxDQUFDLEtBQXVDO1FBQzNELElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFN0IsU0FBUztRQUNmLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSztZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7d0dBbENVLHFCQUFxQjs0RkFBckIscUJBQXFCLGtIQUp0QixFQUFFOzs0RkFJRCxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsbUJBQW1CLFlBQ25CLEVBQUUsbUJBRUssdUJBQXVCLENBQUMsTUFBTTswSUFvQmxDLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBZGRMYXllckNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVMYXllckNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBDbHVzdGVyTGF5ZXJNYW5hZ2VyIH0gZnJvbSAnLi9jbHVzdGVyLWxheWVyLm1hbmFnZXInO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2NsdXN0ZXItbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyRmFjdG9yeSB9IGZyb20gJy4vY2x1c3Rlci1sYXllci1mYWN0b3J5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcnQtY2x1c3Rlci1sYXllcicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENsdXN0ZXJMYXllckNvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBtYW5hZ2VyOiBDbHVzdGVyTGF5ZXJNYW5hZ2VyIHwgbnVsbCA9IG51bGw7XG4gIF9zZXR0aW5nczogQ2x1c3RlckxheWVyU2V0dGluZ3MgPSBuZXcgQ2x1c3RlckxheWVyU2V0dGluZ3MoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlLCBwcml2YXRlIGZhY3Rvcnk6IENsdXN0ZXJMYXllckZhY3RvcnkpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95XG4gICAgICAuc3Vic2NyaWJlPE1hcFJlbmRlcmVkRXZlbnQ+KE1hcFJlbmRlcmVkRXZlbnQuSUQpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChtKSA9PiAhIW0pLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgobSkgPT4gdGhpcy5pbml0TGF5ZXIoKSk7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgc2V0dGluZ3ModmFsdWU6IENsdXN0ZXJMYXllclNldHRpbmdzIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSB8fCB0aGlzLl9zZXR0aW5ncy5pc1NhbWUodmFsdWUpKSByZXR1cm47XG4gICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcbiAgICB0aGlzLmluaXRMYXllcigpO1xuICB9XG5cbiAgb25EZXN0cm95ID0gKCkgPT4gdGhpcy5yZW1vdmVMYXllcigpO1xuXG4gIHByaXZhdGUgaW5pdExheWVyKCkge1xuICAgIHRoaXMucmVtb3ZlTGF5ZXIoKTtcbiAgICB0aGlzLm1hbmFnZXIgPSB0aGlzLmZhY3RvcnkuYnVpbGQodGhpcy5fc2V0dGluZ3MsIHRoaXMucG9zdGJveSk7XG4gICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IEFkZExheWVyQ29tbWFuZCh0aGlzLm1hbmFnZXIubGF5ZXIpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTGF5ZXIoKSB7XG4gICAgaWYgKHRoaXMubWFuYWdlcj8ubGF5ZXIpIHRoaXMucG9zdGJveS5maXJlKG5ldyBSZW1vdmVMYXllckNvbW1hbmQodGhpcy5tYW5hZ2VyLmxheWVyKSk7XG4gIH1cbn1cbiJdfQ==
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { DestructibleComponent } from '../../../common/destructible.component';
3
+ import { MapRenderedEvent } from '../../../messages';
4
+ import { filter, first } from 'rxjs/operators';
5
+ import { AddLayerCommand } from '../../../messages/commands/add-layer.command';
6
+ import { RemoveLayerCommand } from '../../../messages/commands/remove-layer.command';
7
+ import { ClusterLayerSettings } from './cluster-layer.settings';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../../services/map-postboy.service";
10
+ import * as i2 from "./cluster-layer-factory.service";
11
+ export class ClusterLayerComponent extends DestructibleComponent {
12
+ postboy;
13
+ factory;
14
+ manager = null;
15
+ _settings = new ClusterLayerSettings();
16
+ constructor(postboy, factory) {
17
+ super();
18
+ this.postboy = postboy;
19
+ this.factory = factory;
20
+ }
21
+ ngOnInit() {
22
+ this.postboy
23
+ .subscribe(MapRenderedEvent.ID)
24
+ .pipe(filter((m) => !!m), first())
25
+ .subscribe((m) => this.initLayer());
26
+ }
27
+ set settings(value) {
28
+ if (!value || this._settings.isSame(value))
29
+ return;
30
+ this._settings = value;
31
+ this.initLayer();
32
+ }
33
+ onDestroy = () => this.removeLayer();
34
+ initLayer() {
35
+ this.removeLayer();
36
+ this.manager = this.factory.build(this._settings, this.postboy);
37
+ this.postboy.fire(new AddLayerCommand(this.manager.layer));
38
+ }
39
+ removeLayer() {
40
+ if (this.manager?.layer)
41
+ this.postboy.fire(new RemoveLayerCommand(this.manager.layer));
42
+ }
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ClusterLayerComponent, deps: [{ token: i1.MapPostboyService }, { token: i2.ClusterLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
44
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: ClusterLayerComponent, selector: "art-cluster-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ClusterLayerComponent, decorators: [{
47
+ type: Component,
48
+ args: [{ selector: 'art-cluster-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
49
+ }], ctorParameters: () => [{ type: i1.MapPostboyService }, { type: i2.ClusterLayerFactory }], propDecorators: { settings: [{
50
+ type: Input
51
+ }] } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFckYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFTaEUsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHFCQUFxQjtJQUkxQztJQUFvQztJQUhqRCxPQUFPLEdBQStCLElBQUksQ0FBQztJQUNsRCxTQUFTLEdBQXlCLElBQUksb0JBQW9CLEVBQUUsQ0FBQztJQUU3RCxZQUFvQixPQUEwQixFQUFVLE9BQTRCO1FBQ2xGLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFxQjtJQUVwRixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsU0FBUyxDQUFtQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7YUFDaEQsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQWEsUUFBUSxDQUFDLEtBQXVDO1FBQzNELElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFN0IsU0FBUztRQUNmLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSztZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7dUdBbENVLHFCQUFxQjsyRkFBckIscUJBQXFCLGtIQUp0QixFQUFFOzsyRkFJRCxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsbUJBQW1CLFlBQ25CLEVBQUUsbUJBRUssdUJBQXVCLENBQUMsTUFBTTt3SEFvQmxDLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBZGRMYXllckNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVMYXllckNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBDbHVzdGVyTGF5ZXJNYW5hZ2VyIH0gZnJvbSAnLi9jbHVzdGVyLWxheWVyLm1hbmFnZXInO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2NsdXN0ZXItbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyRmFjdG9yeSB9IGZyb20gJy4vY2x1c3Rlci1sYXllci1mYWN0b3J5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcnQtY2x1c3Rlci1sYXllcicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENsdXN0ZXJMYXllckNvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBtYW5hZ2VyOiBDbHVzdGVyTGF5ZXJNYW5hZ2VyIHwgbnVsbCA9IG51bGw7XG4gIF9zZXR0aW5nczogQ2x1c3RlckxheWVyU2V0dGluZ3MgPSBuZXcgQ2x1c3RlckxheWVyU2V0dGluZ3MoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlLCBwcml2YXRlIGZhY3Rvcnk6IENsdXN0ZXJMYXllckZhY3RvcnkpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95XG4gICAgICAuc3Vic2NyaWJlPE1hcFJlbmRlcmVkRXZlbnQ+KE1hcFJlbmRlcmVkRXZlbnQuSUQpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChtKSA9PiAhIW0pLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgobSkgPT4gdGhpcy5pbml0TGF5ZXIoKSk7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgc2V0dGluZ3ModmFsdWU6IENsdXN0ZXJMYXllclNldHRpbmdzIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSB8fCB0aGlzLl9zZXR0aW5ncy5pc1NhbWUodmFsdWUpKSByZXR1cm47XG4gICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcbiAgICB0aGlzLmluaXRMYXllcigpO1xuICB9XG5cbiAgb25EZXN0cm95ID0gKCkgPT4gdGhpcy5yZW1vdmVMYXllcigpO1xuXG4gIHByaXZhdGUgaW5pdExheWVyKCkge1xuICAgIHRoaXMucmVtb3ZlTGF5ZXIoKTtcbiAgICB0aGlzLm1hbmFnZXIgPSB0aGlzLmZhY3RvcnkuYnVpbGQodGhpcy5fc2V0dGluZ3MsIHRoaXMucG9zdGJveSk7XG4gICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IEFkZExheWVyQ29tbWFuZCh0aGlzLm1hbmFnZXIubGF5ZXIpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTGF5ZXIoKSB7XG4gICAgaWYgKHRoaXMubWFuYWdlcj8ubGF5ZXIpIHRoaXMucG9zdGJveS5maXJlKG5ldyBSZW1vdmVMYXllckNvbW1hbmQodGhpcy5tYW5hZ2VyLmxheWVyKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,38 +1,38 @@
1
- import { MapClickEvent, MapRenderedEvent } from '../../../messages';
2
- import { FitToFeaturesCommand } from '../../../messages/commands/fit-to-features.command';
3
- import { MapMoveEndEvent } from '../../../messages/events/map-move-end.event';
4
- import { auditTime } from 'rxjs/operators';
5
- import { combineLatest } from 'rxjs';
6
- export class ClusterLayerManager {
7
- settings;
8
- layer;
9
- postboy;
10
- constructor(settings, layer, postboy) {
11
- this.settings = settings;
12
- this.layer = layer;
13
- this.postboy = postboy;
14
- this.observeClick();
15
- this.observeMapMovement();
16
- }
17
- observeMapMovement() {
18
- combineLatest([
19
- this.postboy.subscribe(MapMoveEndEvent.ID).pipe(auditTime(250)),
20
- this.postboy.subscribe(MapRenderedEvent.ID),
21
- ]).subscribe(([movement, renderEvent]) => {
22
- this.checkClusterNecessity(renderEvent.map);
23
- });
24
- }
25
- observeClick() {
26
- this.postboy.subscribe(MapClickEvent.ID).subscribe((m) => {
27
- if ((m.features[this.settings.name]?.length ?? 0) > 1) {
28
- this.postboy.fire(new FitToFeaturesCommand(m.features[this.settings.name], -1));
29
- }
30
- });
31
- }
32
- checkClusterNecessity(map) {
33
- let zoom = map.getView().getZoom() ?? 0;
34
- const distance = zoom > this.settings.clusterCancel ? 0 : this.settings.distance;
35
- this.layer?.getSource()?.setDistance(distance);
36
- }
37
- }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci5tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy9jbHVzdGVyLWxheWVyL2NsdXN0ZXItbGF5ZXIubWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3JDLE1BQU0sT0FBTyxtQkFBbUI7SUFFcEI7SUFDUTtJQUNSO0lBSFYsWUFDVSxRQUE4QixFQUN0QixLQUFxQixFQUM3QixPQUEwQjtRQUYxQixhQUFRLEdBQVIsUUFBUSxDQUFzQjtRQUN0QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUM3QixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUVsQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixhQUFhLENBQUM7WUFDWixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBa0IsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztTQUM5RCxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQWdCLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN0RSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3JELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksb0JBQW9CLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNqRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLHFCQUFxQixDQUFDLEdBQVE7UUFDcEMsSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4QyxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDakYsSUFBSSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcENsaWNrRXZlbnQsIE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgQ2x1c3RlciBmcm9tICdvbC9zb3VyY2UvQ2x1c3Rlcic7XG5pbXBvcnQgeyBDbHVzdGVyTGF5ZXJTZXR0aW5ncyB9IGZyb20gJy4vY2x1c3Rlci1sYXllci5zZXR0aW5ncyc7XG5pbXBvcnQgeyBGaXRUb0ZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzL2NvbW1hbmRzL2ZpdC10by1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IE1hcE1vdmVFbmRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzL2V2ZW50cy9tYXAtbW92ZS1lbmQuZXZlbnQnO1xuaW1wb3J0IHsgYXVkaXRUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnb2wnO1xuXG5leHBvcnQgY2xhc3MgQ2x1c3RlckxheWVyTWFuYWdlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IENsdXN0ZXJMYXllclNldHRpbmdzLFxuICAgIHB1YmxpYyByZWFkb25seSBsYXllcjogTGF5ZXI8Q2x1c3Rlcj4sXG4gICAgcHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5vYnNlcnZlQ2xpY2soKTtcbiAgICB0aGlzLm9ic2VydmVNYXBNb3ZlbWVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTWFwTW92ZW1lbnQoKSB7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPE1hcE1vdmVFbmRFdmVudD4oTWFwTW92ZUVuZEV2ZW50LklEKS5waXBlKGF1ZGl0VGltZSgyNTApKSxcbiAgICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRCksXG4gICAgXSkuc3Vic2NyaWJlKChbbW92ZW1lbnQsIHJlbmRlckV2ZW50XSkgPT4ge1xuICAgICAgdGhpcy5jaGVja0NsdXN0ZXJOZWNlc3NpdHkocmVuZGVyRXZlbnQubWFwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUNsaWNrKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8TWFwQ2xpY2tFdmVudD4oTWFwQ2xpY2tFdmVudC5JRCkuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICBpZiAoKG0uZmVhdHVyZXNbdGhpcy5zZXR0aW5ncy5uYW1lXT8ubGVuZ3RoID8/IDApID4gMSkge1xuICAgICAgICB0aGlzLnBvc3Rib3kuZmlyZShuZXcgRml0VG9GZWF0dXJlc0NvbW1hbmQobS5mZWF0dXJlc1t0aGlzLnNldHRpbmdzLm5hbWVdLCAtMSkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0NsdXN0ZXJOZWNlc3NpdHkobWFwOiBNYXApOiB2b2lkIHtcbiAgICBsZXQgem9vbSA9IG1hcC5nZXRWaWV3KCkuZ2V0Wm9vbSgpID8/IDA7XG4gICAgY29uc3QgZGlzdGFuY2UgPSB6b29tID4gdGhpcy5zZXR0aW5ncy5jbHVzdGVyQ2FuY2VsID8gMCA6IHRoaXMuc2V0dGluZ3MuZGlzdGFuY2U7XG4gICAgdGhpcy5sYXllcj8uZ2V0U291cmNlKCk/LnNldERpc3RhbmNlKGRpc3RhbmNlKTtcbiAgfVxufVxuIl19
1
+ import { MapClickEvent, MapRenderedEvent } from '../../../messages';
2
+ import { FitToFeaturesCommand } from '../../../messages/commands/fit-to-features.command';
3
+ import { MapMoveEndEvent } from '../../../messages/events/map-move-end.event';
4
+ import { auditTime } from 'rxjs/operators';
5
+ import { combineLatest } from 'rxjs';
6
+ export class ClusterLayerManager {
7
+ settings;
8
+ layer;
9
+ postboy;
10
+ constructor(settings, layer, postboy) {
11
+ this.settings = settings;
12
+ this.layer = layer;
13
+ this.postboy = postboy;
14
+ this.observeClick();
15
+ this.observeMapMovement();
16
+ }
17
+ observeMapMovement() {
18
+ combineLatest([
19
+ this.postboy.subscribe(MapMoveEndEvent.ID).pipe(auditTime(250)),
20
+ this.postboy.subscribe(MapRenderedEvent.ID),
21
+ ]).subscribe(([movement, renderEvent]) => {
22
+ this.checkClusterNecessity(renderEvent.map);
23
+ });
24
+ }
25
+ observeClick() {
26
+ this.postboy.subscribe(MapClickEvent.ID).subscribe((m) => {
27
+ if ((m.features[this.settings.name]?.length ?? 0) > 1) {
28
+ this.postboy.fire(new FitToFeaturesCommand(m.features[this.settings.name], -1));
29
+ }
30
+ });
31
+ }
32
+ checkClusterNecessity(map) {
33
+ let zoom = map.getView().getZoom() ?? 0;
34
+ const distance = zoom > this.settings.clusterCancel ? 0 : this.settings.distance;
35
+ this.layer?.getSource()?.setDistance(distance);
36
+ }
37
+ }
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci5tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy9jbHVzdGVyLWxheWVyL2NsdXN0ZXItbGF5ZXIubWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3JDLE1BQU0sT0FBTyxtQkFBbUI7SUFFcEI7SUFDUTtJQUNSO0lBSFYsWUFDVSxRQUE4QixFQUN0QixLQUFxQixFQUM3QixPQUEwQjtRQUYxQixhQUFRLEdBQVIsUUFBUSxDQUFzQjtRQUN0QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUM3QixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUVsQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixhQUFhLENBQUM7WUFDWixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBa0IsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztTQUM5RCxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQWdCLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN0RSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xGLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxHQUFRO1FBQ3BDLElBQUksSUFBSSxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQ2pGLElBQUksQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBDbGlja0V2ZW50LCBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgVmVjdG9yIGFzIExheWVyIH0gZnJvbSAnb2wvbGF5ZXInO1xuaW1wb3J0IENsdXN0ZXIgZnJvbSAnb2wvc291cmNlL0NsdXN0ZXInO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2NsdXN0ZXItbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgRml0VG9GZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9maXQtdG8tZmVhdHVyZXMuY29tbWFuZCc7XG5pbXBvcnQgeyBNYXBNb3ZlRW5kRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9ldmVudHMvbWFwLW1vdmUtZW5kLmV2ZW50JztcbmltcG9ydCB7IGF1ZGl0VGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1hcCB9IGZyb20gJ29sJztcblxuZXhwb3J0IGNsYXNzIENsdXN0ZXJMYXllck1hbmFnZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNldHRpbmdzOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGF5ZXI6IExheWVyPENsdXN0ZXI+LFxuICAgIHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMub2JzZXJ2ZUNsaWNrKCk7XG4gICAgdGhpcy5vYnNlcnZlTWFwTW92ZW1lbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZU1hcE1vdmVtZW50KCkge1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxNYXBNb3ZlRW5kRXZlbnQ+KE1hcE1vdmVFbmRFdmVudC5JRCkucGlwZShhdWRpdFRpbWUoMjUwKSksXG4gICAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPE1hcFJlbmRlcmVkRXZlbnQ+KE1hcFJlbmRlcmVkRXZlbnQuSUQpLFxuICAgIF0pLnN1YnNjcmliZSgoW21vdmVtZW50LCByZW5kZXJFdmVudF0pID0+IHtcbiAgICAgIHRoaXMuY2hlY2tDbHVzdGVyTmVjZXNzaXR5KHJlbmRlckV2ZW50Lm1hcCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVDbGljaygpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPE1hcENsaWNrRXZlbnQ+KE1hcENsaWNrRXZlbnQuSUQpLnN1YnNjcmliZSgobSkgPT4ge1xuICAgICAgaWYgKChtLmZlYXR1cmVzW3RoaXMuc2V0dGluZ3MubmFtZV0/Lmxlbmd0aCA/PyAwKSA+IDEpIHtcbiAgICAgICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IEZpdFRvRmVhdHVyZXNDb21tYW5kKG0uZmVhdHVyZXNbdGhpcy5zZXR0aW5ncy5uYW1lXSwgLTEpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tDbHVzdGVyTmVjZXNzaXR5KG1hcDogTWFwKTogdm9pZCB7XG4gICAgbGV0IHpvb20gPSBtYXAuZ2V0VmlldygpLmdldFpvb20oKSA/PyAwO1xuICAgIGNvbnN0IGRpc3RhbmNlID0gem9vbSA+IHRoaXMuc2V0dGluZ3MuY2x1c3RlckNhbmNlbCA/IDAgOiB0aGlzLnNldHRpbmdzLmRpc3RhbmNlO1xuICAgIHRoaXMubGF5ZXI/LmdldFNvdXJjZSgpPy5zZXREaXN0YW5jZShkaXN0YW5jZSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,67 +1,67 @@
1
- import { IdGenerator } from '../../../common/id.generator';
2
- export class ClusterLayerSettings {
3
- name = IdGenerator.get();
4
- zIndex = 1;
5
- maxZoom = 19;
6
- minZoom = 0;
7
- distance = 20;
8
- bbox = false;
9
- clusterCancel = 14;
10
- style;
11
- static copy(model) {
12
- const result = new ClusterLayerSettings();
13
- result.name = model.name;
14
- result.maxZoom = model.maxZoom;
15
- result.minZoom = model.minZoom;
16
- result.zIndex = model.zIndex;
17
- result.bbox = model.bbox;
18
- result.clusterCancel = model.clusterCancel;
19
- result.distance = model.distance;
20
- result.style = model.style;
21
- return result;
22
- }
23
- setZIndex(zIndex) {
24
- return ClusterLayerSettings.copy({ ...this, zIndex });
25
- }
26
- setDistance(distance) {
27
- return ClusterLayerSettings.copy({ ...this, distance });
28
- }
29
- setName(name) {
30
- return ClusterLayerSettings.copy({ ...this, name });
31
- }
32
- setMaxZoom(maxZoom) {
33
- return ClusterLayerSettings.copy({ ...this, maxZoom });
34
- }
35
- setMinZoom(minZoom) {
36
- return ClusterLayerSettings.copy({ ...this, minZoom });
37
- }
38
- setClusterCancel(clusterCancel) {
39
- return ClusterLayerSettings.copy({ ...this, clusterCancel });
40
- }
41
- setBbox(bbox) {
42
- return ClusterLayerSettings.copy({ ...this, bbox });
43
- }
44
- setStyle(style) {
45
- return ClusterLayerSettings.copy({ ...this, style });
46
- }
47
- isSame(model) {
48
- if (this.maxZoom !== model.maxZoom)
49
- return false;
50
- if (this.minZoom !== model.minZoom)
51
- return false;
52
- if (this.zIndex !== model.zIndex)
53
- return false;
54
- if (this.name !== model.name)
55
- return false;
56
- if (this.distance !== model.distance)
57
- return false;
58
- if (this.clusterCancel !== model.clusterCancel)
59
- return false;
60
- if (this.bbox !== model.bbox)
61
- return false;
62
- if (this.style !== model.style)
63
- return false;
64
- return true;
65
- }
66
- }
1
+ import { IdGenerator } from '../../../common/id.generator';
2
+ export class ClusterLayerSettings {
3
+ name = IdGenerator.get();
4
+ zIndex = 1;
5
+ maxZoom = 19;
6
+ minZoom = 0;
7
+ distance = 20;
8
+ bbox = false;
9
+ clusterCancel = 14;
10
+ style;
11
+ static copy(model) {
12
+ const result = new ClusterLayerSettings();
13
+ result.name = model.name;
14
+ result.maxZoom = model.maxZoom;
15
+ result.minZoom = model.minZoom;
16
+ result.zIndex = model.zIndex;
17
+ result.bbox = model.bbox;
18
+ result.clusterCancel = model.clusterCancel;
19
+ result.distance = model.distance;
20
+ result.style = model.style;
21
+ return result;
22
+ }
23
+ setZIndex(zIndex) {
24
+ return ClusterLayerSettings.copy({ ...this, zIndex });
25
+ }
26
+ setDistance(distance) {
27
+ return ClusterLayerSettings.copy({ ...this, distance });
28
+ }
29
+ setName(name) {
30
+ return ClusterLayerSettings.copy({ ...this, name });
31
+ }
32
+ setMaxZoom(maxZoom) {
33
+ return ClusterLayerSettings.copy({ ...this, maxZoom });
34
+ }
35
+ setMinZoom(minZoom) {
36
+ return ClusterLayerSettings.copy({ ...this, minZoom });
37
+ }
38
+ setClusterCancel(clusterCancel) {
39
+ return ClusterLayerSettings.copy({ ...this, clusterCancel });
40
+ }
41
+ setBbox(bbox) {
42
+ return ClusterLayerSettings.copy({ ...this, bbox });
43
+ }
44
+ setStyle(style) {
45
+ return ClusterLayerSettings.copy({ ...this, style });
46
+ }
47
+ isSame(model) {
48
+ if (this.maxZoom !== model.maxZoom)
49
+ return false;
50
+ if (this.minZoom !== model.minZoom)
51
+ return false;
52
+ if (this.zIndex !== model.zIndex)
53
+ return false;
54
+ if (this.name !== model.name)
55
+ return false;
56
+ if (this.distance !== model.distance)
57
+ return false;
58
+ if (this.clusterCancel !== model.clusterCancel)
59
+ return false;
60
+ if (this.bbox !== model.bbox)
61
+ return false;
62
+ if (this.style !== model.style)
63
+ return false;
64
+ return true;
65
+ }
66
+ }
67
67
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvY2x1c3Rlci1sYXllci9jbHVzdGVyLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUkzRCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLElBQUksR0FBVyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDakMsTUFBTSxHQUFXLENBQUMsQ0FBQztJQUNuQixPQUFPLEdBQVcsRUFBRSxDQUFDO0lBQ3JCLE9BQU8sR0FBVyxDQUFDLENBQUM7SUFDcEIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixJQUFJLEdBQVksS0FBSyxDQUFDO0lBQ3RCLGFBQWEsR0FBVyxFQUFFLENBQUM7SUFDM0IsS0FBSyxDQUFzQztJQUVwQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQTJCO1FBQzVDLE1BQU0sTUFBTSxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUMxQyxNQUFNLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDekIsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDN0IsTUFBTSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUMzQyxNQUFNLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDakMsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzNCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUN0QixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFnQjtRQUMxQixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN4QixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELGdCQUFnQixDQUFDLGFBQXFCO1FBQ3BDLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQWE7UUFDbkIsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxRQUFRLENBQUMsS0FBeUQ7UUFDaEUsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTSxNQUFNLENBQUMsS0FBMkI7UUFDdkMsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxNQUFNO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDL0MsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDM0MsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxRQUFRO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDbkQsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLEtBQUssQ0FBQyxhQUFhO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDN0QsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDM0MsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxLQUFLO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9pZC5nZW5lcmF0b3InO1xuaW1wb3J0IFN0eWxlLCB7IFN0eWxlRnVuY3Rpb24gfSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XG5pbXBvcnQgeyBJSWRlbnRpZmllZCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pLWlkZW50aWZpZWQnO1xuXG5leHBvcnQgY2xhc3MgQ2x1c3RlckxheWVyU2V0dGluZ3Mge1xuICBuYW1lOiBzdHJpbmcgPSBJZEdlbmVyYXRvci5nZXQoKTtcbiAgekluZGV4OiBudW1iZXIgPSAxO1xuICBtYXhab29tOiBudW1iZXIgPSAxOTtcbiAgbWluWm9vbTogbnVtYmVyID0gMDtcbiAgZGlzdGFuY2U6IG51bWJlciA9IDIwO1xuICBiYm94OiBib29sZWFuID0gZmFsc2U7XG4gIGNsdXN0ZXJDYW5jZWw6IG51bWJlciA9IDE0O1xuICBzdHlsZT86IChmZWF0dXJlczogSUlkZW50aWZpZWRbXSkgPT4gU3R5bGU7XG5cbiAgcHVibGljIHN0YXRpYyBjb3B5KG1vZGVsOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyk6IENsdXN0ZXJMYXllclNldHRpbmdzIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgQ2x1c3RlckxheWVyU2V0dGluZ3MoKTtcbiAgICByZXN1bHQubmFtZSA9IG1vZGVsLm5hbWU7XG4gICAgcmVzdWx0Lm1heFpvb20gPSBtb2RlbC5tYXhab29tO1xuICAgIHJlc3VsdC5taW5ab29tID0gbW9kZWwubWluWm9vbTtcbiAgICByZXN1bHQuekluZGV4ID0gbW9kZWwuekluZGV4O1xuICAgIHJlc3VsdC5iYm94ID0gbW9kZWwuYmJveDtcbiAgICByZXN1bHQuY2x1c3RlckNhbmNlbCA9IG1vZGVsLmNsdXN0ZXJDYW5jZWw7XG4gICAgcmVzdWx0LmRpc3RhbmNlID0gbW9kZWwuZGlzdGFuY2U7XG4gICAgcmVzdWx0LnN0eWxlID0gbW9kZWwuc3R5bGU7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHNldFpJbmRleCh6SW5kZXg6IG51bWJlcik6IENsdXN0ZXJMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gQ2x1c3RlckxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIHpJbmRleCB9KTtcbiAgfVxuXG4gIHNldERpc3RhbmNlKGRpc3RhbmNlOiBudW1iZXIpOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIENsdXN0ZXJMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBkaXN0YW5jZSB9KTtcbiAgfVxuXG4gIHNldE5hbWUobmFtZTogc3RyaW5nKTogQ2x1c3RlckxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBDbHVzdGVyTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbmFtZSB9KTtcbiAgfVxuXG4gIHNldE1heFpvb20obWF4Wm9vbTogbnVtYmVyKTogQ2x1c3RlckxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBDbHVzdGVyTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbWF4Wm9vbSB9KTtcbiAgfVxuXG4gIHNldE1pblpvb20obWluWm9vbTogbnVtYmVyKTogQ2x1c3RlckxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBDbHVzdGVyTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbWluWm9vbSB9KTtcbiAgfVxuXG4gIHNldENsdXN0ZXJDYW5jZWwoY2x1c3RlckNhbmNlbDogbnVtYmVyKTogQ2x1c3RlckxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBDbHVzdGVyTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgY2x1c3RlckNhbmNlbCB9KTtcbiAgfVxuXG4gIHNldEJib3goYmJveDogYm9vbGVhbik6IENsdXN0ZXJMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gQ2x1c3RlckxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIGJib3ggfSk7XG4gIH1cblxuICBzZXRTdHlsZShzdHlsZTogKGZlYXR1cmVzOiBJSWRlbnRpZmllZFtdKSA9PiBTdHlsZSB8IFN0eWxlRnVuY3Rpb24pOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIENsdXN0ZXJMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBzdHlsZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NhbWUobW9kZWw6IENsdXN0ZXJMYXllclNldHRpbmdzKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubWF4Wm9vbSAhPT0gbW9kZWwubWF4Wm9vbSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLm1pblpvb20gIT09IG1vZGVsLm1pblpvb20pIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy56SW5kZXggIT09IG1vZGVsLnpJbmRleCkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLm5hbWUgIT09IG1vZGVsLm5hbWUpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5kaXN0YW5jZSAhPT0gbW9kZWwuZGlzdGFuY2UpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5jbHVzdGVyQ2FuY2VsICE9PSBtb2RlbC5jbHVzdGVyQ2FuY2VsKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuYmJveCAhPT0gbW9kZWwuYmJveCkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnN0eWxlICE9PSBtb2RlbC5zdHlsZSkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=