@artstesh/maps 6.1.16 → 8.0.0

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 (244) hide show
  1. package/dist/fesm2022/maps-components-src-map.mjs +433 -484
  2. package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
  3. package/dist/fesm2022/maps-components.mjs +433 -484
  4. package/dist/fesm2022/maps-components.mjs.map +1 -1
  5. package/dist/map/common/destructible.component.d.ts +1 -1
  6. package/dist/map/helpers/text-style.helper.d.ts +1 -1
  7. package/dist/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +1 -1
  8. package/dist/map/map-plate/features/markers/markers.component.d.ts +1 -1
  9. package/dist/map/map-plate/features/polygons/polygons.component.d.ts +1 -1
  10. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +1 -1
  11. package/dist/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +1 -1
  12. package/dist/map/map-plate/layers/image-layer/image-layer.component.d.ts +1 -1
  13. package/dist/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +1 -1
  14. package/dist/map/map-plate/layers/raster-tile/raster-tile-layer.component.d.ts +1 -1
  15. package/dist/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +1 -1
  16. package/dist/map/map-plate/map-plate.component.d.ts +3 -2
  17. package/dist/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +3 -2
  18. package/dist/map/messages/executors/generate-zoom-control.executor.d.ts +2 -2
  19. package/dist/map/models/map-settings.d.ts +1 -1
  20. package/dist/map/public-api.d.ts +0 -1
  21. package/dist/map/services/map-click.service.d.ts +1 -1
  22. package/dist/src/map/common/destructible.component.d.ts +1 -1
  23. package/dist/src/map/helpers/text-style.helper.d.ts +1 -1
  24. package/dist/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.d.ts +1 -1
  25. package/dist/src/map/map-plate/features/markers/markers.component.d.ts +1 -1
  26. package/dist/src/map/map-plate/features/polygons/polygons.component.d.ts +1 -1
  27. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +1 -1
  28. package/dist/src/map/map-plate/layers/feature-layer/feature-layer.component.d.ts +1 -1
  29. package/dist/src/map/map-plate/layers/image-layer/image-layer.component.d.ts +1 -1
  30. package/dist/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +1 -1
  31. package/dist/src/map/map-plate/layers/raster-tile/raster-tile-layer.component.d.ts +1 -1
  32. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +1 -1
  33. package/dist/src/map/map-plate/map-plate.component.d.ts +3 -2
  34. package/dist/src/map/map-plate/tooltips/tooltip/tooltip.component.d.ts +3 -2
  35. package/dist/src/map/messages/executors/generate-zoom-control.executor.d.ts +2 -2
  36. package/dist/src/map/models/map-settings.d.ts +1 -1
  37. package/dist/src/map/public-api.d.ts +0 -1
  38. package/dist/src/map/services/map-click.service.d.ts +1 -1
  39. package/package.json +26 -26
  40. package/dist/esm2022/map/common/destructible.component.mjs +0 -18
  41. package/dist/esm2022/map/common/id.generator.mjs +0 -14
  42. package/dist/esm2022/map/helpers/index.mjs +0 -5
  43. package/dist/esm2022/map/helpers/marker-style.helper.mjs +0 -55
  44. package/dist/esm2022/map/helpers/polygon-style.helper.mjs +0 -54
  45. package/dist/esm2022/map/helpers/stringify-feature.helper.mjs +0 -61
  46. package/dist/esm2022/map/helpers/text-style.helper.mjs +0 -33
  47. package/dist/esm2022/map/map-plate/controls/index.mjs +0 -3
  48. package/dist/esm2022/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +0 -69
  49. package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +0 -13
  50. package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +0 -116
  51. package/dist/esm2022/map/map-plate/features/index.mjs +0 -3
  52. package/dist/esm2022/map/map-plate/features/markers/markers.component.mjs +0 -52
  53. package/dist/esm2022/map/map-plate/features/polygons/polygons.component.mjs +0 -56
  54. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +0 -59
  55. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +0 -60
  56. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +0 -38
  57. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +0 -145
  58. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.component.mjs +0 -52
  59. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.factory.mjs +0 -28
  60. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +0 -139
  61. package/dist/esm2022/map/map-plate/layers/image-layer/image-layer-factory.mjs +0 -26
  62. package/dist/esm2022/map/map-plate/layers/image-layer/image-layer.component.mjs +0 -52
  63. package/dist/esm2022/map/map-plate/layers/image-layer/image-layer.settings.mjs +0 -134
  64. package/dist/esm2022/map/map-plate/layers/index.mjs +0 -12
  65. package/dist/esm2022/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +0 -67
  66. package/dist/esm2022/map/map-plate/layers/raster-tile/raster-tile-layer.component.mjs +0 -52
  67. package/dist/esm2022/map/map-plate/layers/raster-tile/raster-tile-layer.factory.mjs +0 -74
  68. package/dist/esm2022/map/map-plate/layers/raster-tile/raster-tile-layer.settings.mjs +0 -165
  69. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.component.mjs +0 -52
  70. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +0 -68
  71. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +0 -139
  72. package/dist/esm2022/map/map-plate/map-plate.component.mjs +0 -121
  73. package/dist/esm2022/map/map-plate/map-plate.factory.service.mjs +0 -29
  74. package/dist/esm2022/map/map-plate/tooltips/index.mjs +0 -3
  75. package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.component.mjs +0 -81
  76. package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +0 -31
  77. package/dist/esm2022/map/map.module.mjs +0 -73
  78. package/dist/esm2022/map/messages/commands/add-control.command.mjs +0 -18
  79. package/dist/esm2022/map/messages/commands/add-image-layer.command.mjs +0 -10
  80. package/dist/esm2022/map/messages/commands/add-layer.command.mjs +0 -10
  81. package/dist/esm2022/map/messages/commands/add-raster-tile-command.mjs +0 -10
  82. package/dist/esm2022/map/messages/commands/add-tile.command.mjs +0 -10
  83. package/dist/esm2022/map/messages/commands/cancel-drawing.command.mjs +0 -8
  84. package/dist/esm2022/map/messages/commands/cancel-feature-modification.command.mjs +0 -8
  85. package/dist/esm2022/map/messages/commands/close-tooltip.command.mjs +0 -18
  86. package/dist/esm2022/map/messages/commands/draw-selection-area.command.mjs +0 -26
  87. package/dist/esm2022/map/messages/commands/fit-to-features.command.mjs +0 -12
  88. package/dist/esm2022/map/messages/commands/fit-to-polygons.command.mjs +0 -22
  89. package/dist/esm2022/map/messages/commands/modify-feature.command.mjs +0 -31
  90. package/dist/esm2022/map/messages/commands/place-layer-features.command.mjs +0 -12
  91. package/dist/esm2022/map/messages/commands/remove-control.command.mjs +0 -23
  92. package/dist/esm2022/map/messages/commands/remove-image-layer.command.mjs +0 -10
  93. package/dist/esm2022/map/messages/commands/remove-layer.command.mjs +0 -10
  94. package/dist/esm2022/map/messages/commands/remove-raster-tile.command.mjs +0 -10
  95. package/dist/esm2022/map/messages/commands/remove-tile.command.mjs +0 -10
  96. package/dist/esm2022/map/messages/commands/set-map-center.command.mjs +0 -23
  97. package/dist/esm2022/map/messages/commands/start-drawing.command.mjs +0 -25
  98. package/dist/esm2022/map/messages/events/drawing-finished.event.mjs +0 -5
  99. package/dist/esm2022/map/messages/events/map-click.event.mjs +0 -27
  100. package/dist/esm2022/map/messages/events/map-feature-hovered.event.mjs +0 -23
  101. package/dist/esm2022/map/messages/events/map-move-end.event.mjs +0 -16
  102. package/dist/esm2022/map/messages/events/map-pointer-move.event.mjs +0 -21
  103. package/dist/esm2022/map/messages/events/map-rendered.event.mjs +0 -18
  104. package/dist/esm2022/map/messages/executors/calculate-area.executor.mjs +0 -17
  105. package/dist/esm2022/map/messages/executors/filter-features-in-area.executor.mjs +0 -20
  106. package/dist/esm2022/map/messages/executors/filter-features-in-point.executor.mjs +0 -28
  107. package/dist/esm2022/map/messages/executors/generate-draw.executor.mjs +0 -14
  108. package/dist/esm2022/map/messages/executors/generate-zoom-control.executor.mjs +0 -10
  109. package/dist/esm2022/map/messages/executors/get-geometry-length.executor.mjs +0 -18
  110. package/dist/esm2022/map/messages/executors/get-map-position.executor.mjs +0 -13
  111. package/dist/esm2022/map/messages/executors/polygon-self-intersection.executor.mjs +0 -10
  112. package/dist/esm2022/map/messages/index.mjs +0 -25
  113. package/dist/esm2022/map/messages/queries/get-features-in-area.query.mjs +0 -22
  114. package/dist/esm2022/map/messages/queries/get-features-in-point.query.mjs +0 -25
  115. package/dist/esm2022/map/messages/queries/get-layer.query.mjs +0 -10
  116. package/dist/esm2022/map/models/drawing-type.enum.mjs +0 -22
  117. package/dist/esm2022/map/models/feature-format.enum.mjs +0 -15
  118. package/dist/esm2022/map/models/i-identified.mjs +0 -2
  119. package/dist/esm2022/map/models/index.mjs +0 -10
  120. package/dist/esm2022/map/models/map-control.mjs +0 -15
  121. package/dist/esm2022/map/models/map-lyrs.enum.mjs +0 -19
  122. package/dist/esm2022/map/models/map-position.model.mjs +0 -2
  123. package/dist/esm2022/map/models/map-settings.mjs +0 -124
  124. package/dist/esm2022/map/models/map.constants.mjs +0 -6
  125. package/dist/esm2022/map/models/marker-model.mjs +0 -29
  126. package/dist/esm2022/map/models/polygon.model.mjs +0 -40
  127. package/dist/esm2022/map/ol-proxy.mjs +0 -6
  128. package/dist/esm2022/map/public-api.mjs +0 -17
  129. package/dist/esm2022/map/services/controls/controls.service.mjs +0 -37
  130. package/dist/esm2022/map/services/drawing/drawing-generation.service.mjs +0 -25
  131. package/dist/esm2022/map/services/drawing/drawing.service.mjs +0 -99
  132. package/dist/esm2022/map/services/drawing/feature-modification.service.mjs +0 -105
  133. package/dist/esm2022/map/services/feature.service.mjs +0 -77
  134. package/dist/esm2022/map/services/map-click.service.mjs +0 -55
  135. package/dist/esm2022/map/services/map-feature.service.mjs +0 -75
  136. package/dist/esm2022/map/services/map-management.service.mjs +0 -143
  137. package/dist/esm2022/map/services/map-postboy.service.mjs +0 -14
  138. package/dist/esm2022/map/services/map-state.service.mjs +0 -48
  139. package/dist/esm2022/map/services/message-registrator.service.mjs +0 -105
  140. package/dist/esm2022/maps-components.mjs +0 -5
  141. package/dist/esm2022/public-api.mjs +0 -5
  142. package/dist/esm2022/src/map/common/destructible.component.mjs +0 -18
  143. package/dist/esm2022/src/map/common/id.generator.mjs +0 -14
  144. package/dist/esm2022/src/map/helpers/index.mjs +0 -5
  145. package/dist/esm2022/src/map/helpers/marker-style.helper.mjs +0 -55
  146. package/dist/esm2022/src/map/helpers/polygon-style.helper.mjs +0 -54
  147. package/dist/esm2022/src/map/helpers/stringify-feature.helper.mjs +0 -61
  148. package/dist/esm2022/src/map/helpers/text-style.helper.mjs +0 -33
  149. package/dist/esm2022/src/map/map-plate/controls/index.mjs +0 -3
  150. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +0 -69
  151. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +0 -13
  152. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +0 -116
  153. package/dist/esm2022/src/map/map-plate/features/index.mjs +0 -3
  154. package/dist/esm2022/src/map/map-plate/features/markers/markers.component.mjs +0 -52
  155. package/dist/esm2022/src/map/map-plate/features/polygons/polygons.component.mjs +0 -56
  156. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +0 -59
  157. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +0 -60
  158. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +0 -38
  159. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +0 -145
  160. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.component.mjs +0 -52
  161. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.factory.mjs +0 -28
  162. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +0 -139
  163. package/dist/esm2022/src/map/map-plate/layers/image-layer/image-layer-factory.mjs +0 -26
  164. package/dist/esm2022/src/map/map-plate/layers/image-layer/image-layer.component.mjs +0 -52
  165. package/dist/esm2022/src/map/map-plate/layers/image-layer/image-layer.settings.mjs +0 -134
  166. package/dist/esm2022/src/map/map-plate/layers/index.mjs +0 -12
  167. package/dist/esm2022/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +0 -67
  168. package/dist/esm2022/src/map/map-plate/layers/raster-tile/raster-tile-layer.component.mjs +0 -52
  169. package/dist/esm2022/src/map/map-plate/layers/raster-tile/raster-tile-layer.factory.mjs +0 -74
  170. package/dist/esm2022/src/map/map-plate/layers/raster-tile/raster-tile-layer.settings.mjs +0 -165
  171. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.component.mjs +0 -52
  172. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +0 -68
  173. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +0 -139
  174. package/dist/esm2022/src/map/map-plate/map-plate.component.mjs +0 -121
  175. package/dist/esm2022/src/map/map-plate/map-plate.factory.service.mjs +0 -29
  176. package/dist/esm2022/src/map/map-plate/tooltips/index.mjs +0 -3
  177. package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.component.mjs +0 -81
  178. package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +0 -31
  179. package/dist/esm2022/src/map/map.module.mjs +0 -73
  180. package/dist/esm2022/src/map/maps-components-src-map.mjs +0 -5
  181. package/dist/esm2022/src/map/messages/commands/add-control.command.mjs +0 -18
  182. package/dist/esm2022/src/map/messages/commands/add-image-layer.command.mjs +0 -10
  183. package/dist/esm2022/src/map/messages/commands/add-layer.command.mjs +0 -10
  184. package/dist/esm2022/src/map/messages/commands/add-raster-tile-command.mjs +0 -10
  185. package/dist/esm2022/src/map/messages/commands/add-tile.command.mjs +0 -10
  186. package/dist/esm2022/src/map/messages/commands/cancel-drawing.command.mjs +0 -8
  187. package/dist/esm2022/src/map/messages/commands/cancel-feature-modification.command.mjs +0 -8
  188. package/dist/esm2022/src/map/messages/commands/close-tooltip.command.mjs +0 -18
  189. package/dist/esm2022/src/map/messages/commands/draw-selection-area.command.mjs +0 -26
  190. package/dist/esm2022/src/map/messages/commands/fit-to-features.command.mjs +0 -12
  191. package/dist/esm2022/src/map/messages/commands/fit-to-polygons.command.mjs +0 -22
  192. package/dist/esm2022/src/map/messages/commands/modify-feature.command.mjs +0 -31
  193. package/dist/esm2022/src/map/messages/commands/place-layer-features.command.mjs +0 -12
  194. package/dist/esm2022/src/map/messages/commands/remove-control.command.mjs +0 -23
  195. package/dist/esm2022/src/map/messages/commands/remove-image-layer.command.mjs +0 -10
  196. package/dist/esm2022/src/map/messages/commands/remove-layer.command.mjs +0 -10
  197. package/dist/esm2022/src/map/messages/commands/remove-raster-tile.command.mjs +0 -10
  198. package/dist/esm2022/src/map/messages/commands/remove-tile.command.mjs +0 -10
  199. package/dist/esm2022/src/map/messages/commands/set-map-center.command.mjs +0 -23
  200. package/dist/esm2022/src/map/messages/commands/start-drawing.command.mjs +0 -25
  201. package/dist/esm2022/src/map/messages/events/drawing-finished.event.mjs +0 -5
  202. package/dist/esm2022/src/map/messages/events/map-click.event.mjs +0 -27
  203. package/dist/esm2022/src/map/messages/events/map-feature-hovered.event.mjs +0 -23
  204. package/dist/esm2022/src/map/messages/events/map-move-end.event.mjs +0 -16
  205. package/dist/esm2022/src/map/messages/events/map-pointer-move.event.mjs +0 -21
  206. package/dist/esm2022/src/map/messages/events/map-rendered.event.mjs +0 -18
  207. package/dist/esm2022/src/map/messages/executors/calculate-area.executor.mjs +0 -17
  208. package/dist/esm2022/src/map/messages/executors/filter-features-in-area.executor.mjs +0 -20
  209. package/dist/esm2022/src/map/messages/executors/filter-features-in-point.executor.mjs +0 -28
  210. package/dist/esm2022/src/map/messages/executors/generate-draw.executor.mjs +0 -14
  211. package/dist/esm2022/src/map/messages/executors/generate-zoom-control.executor.mjs +0 -10
  212. package/dist/esm2022/src/map/messages/executors/get-geometry-length.executor.mjs +0 -18
  213. package/dist/esm2022/src/map/messages/executors/get-map-position.executor.mjs +0 -13
  214. package/dist/esm2022/src/map/messages/executors/polygon-self-intersection.executor.mjs +0 -10
  215. package/dist/esm2022/src/map/messages/index.mjs +0 -25
  216. package/dist/esm2022/src/map/messages/queries/get-features-in-area.query.mjs +0 -22
  217. package/dist/esm2022/src/map/messages/queries/get-features-in-point.query.mjs +0 -25
  218. package/dist/esm2022/src/map/messages/queries/get-layer.query.mjs +0 -10
  219. package/dist/esm2022/src/map/models/drawing-type.enum.mjs +0 -22
  220. package/dist/esm2022/src/map/models/feature-format.enum.mjs +0 -15
  221. package/dist/esm2022/src/map/models/i-identified.mjs +0 -2
  222. package/dist/esm2022/src/map/models/index.mjs +0 -10
  223. package/dist/esm2022/src/map/models/map-control.mjs +0 -15
  224. package/dist/esm2022/src/map/models/map-lyrs.enum.mjs +0 -19
  225. package/dist/esm2022/src/map/models/map-position.model.mjs +0 -2
  226. package/dist/esm2022/src/map/models/map-settings.mjs +0 -124
  227. package/dist/esm2022/src/map/models/map.constants.mjs +0 -6
  228. package/dist/esm2022/src/map/models/marker-model.mjs +0 -29
  229. package/dist/esm2022/src/map/models/polygon.model.mjs +0 -40
  230. package/dist/esm2022/src/map/ol-proxy.mjs +0 -6
  231. package/dist/esm2022/src/map/public-api.mjs +0 -17
  232. package/dist/esm2022/src/map/services/controls/controls.service.mjs +0 -37
  233. package/dist/esm2022/src/map/services/drawing/drawing-generation.service.mjs +0 -25
  234. package/dist/esm2022/src/map/services/drawing/drawing.service.mjs +0 -99
  235. package/dist/esm2022/src/map/services/drawing/feature-modification.service.mjs +0 -105
  236. package/dist/esm2022/src/map/services/feature.service.mjs +0 -77
  237. package/dist/esm2022/src/map/services/map-click.service.mjs +0 -55
  238. package/dist/esm2022/src/map/services/map-feature.service.mjs +0 -75
  239. package/dist/esm2022/src/map/services/map-management.service.mjs +0 -143
  240. package/dist/esm2022/src/map/services/map-postboy.service.mjs +0 -14
  241. package/dist/esm2022/src/map/services/map-state.service.mjs +0 -48
  242. package/dist/esm2022/src/map/services/message-registrator.service.mjs +0 -105
  243. package/dist/map/map.module.d.ts +0 -19
  244. package/dist/src/map/map.module.d.ts +0 -19
@@ -1,61 +0,0 @@
1
- import { Feature } from 'ol';
2
- import { FeatureOutputFormat } from '../models';
3
- import { GeoJSON, WKT } from 'ol/format';
4
- import Polygon from 'ol/geom/Polygon';
5
- import { transform } from 'ol/proj';
6
- import { METERS_PER_UNIT } from 'ol/proj/epsg4326';
7
- /**
8
- * A helper class for converting and stringify features.
9
- */
10
- export class StringifyFeatureHelper {
11
- static polygon(feature, format = FeatureOutputFormat.GeoJson) {
12
- return format === FeatureOutputFormat.GeoJson
13
- ? new GeoJSON().writeFeature(feature)
14
- : new WKT().writeFeature(feature);
15
- }
16
- /**
17
- * Creates a polygon feature representing a circle based on a given feature with a circle geometry.
18
- *
19
- * @param {Feature<Geometry>} feature - The input feature with a circle geometry.
20
- * @param {FeatureOutputFormat} format - The format for outputting the polygon feature. (default: FeatureOutputFormat.GeoJson)
21
- *
22
- * @return {string} - The string representation of the polygon feature.
23
- */
24
- static circle(feature, format = FeatureOutputFormat.GeoJson) {
25
- const circle = feature.getGeometry();
26
- const ext = feature.getGeometry().getExtent();
27
- const coords = [
28
- ...transform([ext[0], ext[1]], 'EPSG:4326', 'EPSG:3857'),
29
- ...transform([ext[2], ext[3]], 'EPSG:4326', 'EPSG:3857'),
30
- ];
31
- const radius = (coords[2] - coords[0]) / 2;
32
- const polygonGeom = new Polygon(StringifyFeatureHelper.drawCircle(circle.getCenter(), radius));
33
- return StringifyFeatureHelper.polygon(new Feature(polygonGeom), format);
34
- }
35
- /**
36
- * Draw a circle based on a center point and radius.
37
- *
38
- * @param {number[]} point - The center point coordinates in EPSG:4326 format.
39
- * @param {number} radius - The radius of the circle in meters.
40
- * @return {Coordinate[][]} - The coordinates of the circle boundary in EPSG:4326 format.
41
- */
42
- static drawCircle(point, radius) {
43
- const tetetemp = transform(point, 'EPSG:4326', 'EPSG:3857');
44
- // const tetetemp = point;
45
- const radians = Math.PI / 180; // degrees to radians
46
- const degrees = 180 / Math.PI; // radians to degrees
47
- const earthsradius = 6378137.0;
48
- const rlat = (radius / earthsradius) * degrees;
49
- const rlng = rlat / Math.cos(tetetemp[1] * radians);
50
- const extp = [];
51
- for (let i = 0; i <= 32; i++) {
52
- const theta = Math.PI * (i / 16);
53
- extp.push([
54
- tetetemp[0] + rlng * Math.cos(theta) * METERS_PER_UNIT,
55
- tetetemp[1] + rlat * Math.sin(theta) * METERS_PER_UNIT,
56
- ]);
57
- }
58
- return [extp.map((e) => transform(e, 'EPSG:3857', 'EPSG:4326'))];
59
- }
60
- }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LWZlYXR1cmUuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvaGVscGVycy9zdHJpbmdpZnktZmVhdHVyZS5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUU3QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxPQUFPLE1BQU0saUJBQWlCLENBQUM7QUFFdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBQzFCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBMEIsRUFBRSxTQUE4QixtQkFBbUIsQ0FBQyxPQUFPO1FBQ3pHLE9BQU8sTUFBTSxLQUFLLG1CQUFtQixDQUFDLE9BQU87WUFDM0MsQ0FBQyxDQUFDLElBQUksT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztZQUNyQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQTBCLEVBQUUsU0FBOEIsbUJBQW1CLENBQUMsT0FBTztRQUN4RyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFhLENBQUM7UUFDaEQsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRyxDQUFDLFNBQVMsRUFBRyxDQUFDO1FBQ2hELE1BQU0sTUFBTSxHQUFHO1lBQ2IsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQztZQUN4RCxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDO1NBQ3pELENBQUM7UUFDRixNQUFNLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFM0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxPQUFPLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQy9GLE9BQU8sc0JBQXNCLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFXLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWUsRUFBRSxNQUFjO1FBQ3ZELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzVELDBCQUEwQjtRQUMxQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLHFCQUFxQjtRQUNwRCxNQUFNLE9BQU8sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLHFCQUFxQjtRQUNwRCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDL0IsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQy9DLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUNwRCxNQUFNLElBQUksR0FBZSxFQUFFLENBQUM7UUFDNUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDUixRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsZUFBZTtnQkFDdEQsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLGVBQWU7YUFDdkQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ29sJztcbmltcG9ydCB7IENpcmNsZSwgR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCB7IEZlYXR1cmVPdXRwdXRGb3JtYXQgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgR2VvSlNPTiwgV0tUIH0gZnJvbSAnb2wvZm9ybWF0JztcbmltcG9ydCBQb2x5Z29uIGZyb20gJ29sL2dlb20vUG9seWdvbic7XG5pbXBvcnQgeyBDb29yZGluYXRlIH0gZnJvbSAnb2wvY29vcmRpbmF0ZSc7XG5pbXBvcnQgeyB0cmFuc2Zvcm0gfSBmcm9tICdvbC9wcm9qJztcbmltcG9ydCB7IE1FVEVSU19QRVJfVU5JVCB9IGZyb20gJ29sL3Byb2ovZXBzZzQzMjYnO1xuXG4vKipcbiAqIEEgaGVscGVyIGNsYXNzIGZvciBjb252ZXJ0aW5nIGFuZCBzdHJpbmdpZnkgZmVhdHVyZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdHJpbmdpZnlGZWF0dXJlSGVscGVyIHtcbiAgcHVibGljIHN0YXRpYyBwb2x5Z29uKGZlYXR1cmU6IEZlYXR1cmU8R2VvbWV0cnk+LCBmb3JtYXQ6IEZlYXR1cmVPdXRwdXRGb3JtYXQgPSBGZWF0dXJlT3V0cHV0Rm9ybWF0Lkdlb0pzb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBmb3JtYXQgPT09IEZlYXR1cmVPdXRwdXRGb3JtYXQuR2VvSnNvblxuICAgICAgPyBuZXcgR2VvSlNPTigpLndyaXRlRmVhdHVyZShmZWF0dXJlKVxuICAgICAgOiBuZXcgV0tUKCkud3JpdGVGZWF0dXJlKGZlYXR1cmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBwb2x5Z29uIGZlYXR1cmUgcmVwcmVzZW50aW5nIGEgY2lyY2xlIGJhc2VkIG9uIGEgZ2l2ZW4gZmVhdHVyZSB3aXRoIGEgY2lyY2xlIGdlb21ldHJ5LlxuICAgKlxuICAgKiBAcGFyYW0ge0ZlYXR1cmU8R2VvbWV0cnk+fSBmZWF0dXJlIC0gVGhlIGlucHV0IGZlYXR1cmUgd2l0aCBhIGNpcmNsZSBnZW9tZXRyeS5cbiAgICogQHBhcmFtIHtGZWF0dXJlT3V0cHV0Rm9ybWF0fSBmb3JtYXQgLSBUaGUgZm9ybWF0IGZvciBvdXRwdXR0aW5nIHRoZSBwb2x5Z29uIGZlYXR1cmUuIChkZWZhdWx0OiBGZWF0dXJlT3V0cHV0Rm9ybWF0Lkdlb0pzb24pXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZ30gLSBUaGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBwb2x5Z29uIGZlYXR1cmUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGNpcmNsZShmZWF0dXJlOiBGZWF0dXJlPEdlb21ldHJ5PiwgZm9ybWF0OiBGZWF0dXJlT3V0cHV0Rm9ybWF0ID0gRmVhdHVyZU91dHB1dEZvcm1hdC5HZW9Kc29uKTogc3RyaW5nIHtcbiAgICBjb25zdCBjaXJjbGUgPSBmZWF0dXJlLmdldEdlb21ldHJ5KCkhIGFzIENpcmNsZTtcbiAgICBjb25zdCBleHQgPSBmZWF0dXJlLmdldEdlb21ldHJ5KCkhLmdldEV4dGVudCgpITtcbiAgICBjb25zdCBjb29yZHMgPSBbXG4gICAgICAuLi50cmFuc2Zvcm0oW2V4dFswXSwgZXh0WzFdXSwgJ0VQU0c6NDMyNicsICdFUFNHOjM4NTcnKSxcbiAgICAgIC4uLnRyYW5zZm9ybShbZXh0WzJdLCBleHRbM11dLCAnRVBTRzo0MzI2JywgJ0VQU0c6Mzg1NycpLFxuICAgIF07XG4gICAgY29uc3QgcmFkaXVzID0gKGNvb3Jkc1syXSAtIGNvb3Jkc1swXSkgLyAyO1xuXG4gICAgY29uc3QgcG9seWdvbkdlb20gPSBuZXcgUG9seWdvbihTdHJpbmdpZnlGZWF0dXJlSGVscGVyLmRyYXdDaXJjbGUoY2lyY2xlLmdldENlbnRlcigpLCByYWRpdXMpKTtcbiAgICByZXR1cm4gU3RyaW5naWZ5RmVhdHVyZUhlbHBlci5wb2x5Z29uKG5ldyBGZWF0dXJlPEdlb21ldHJ5Pihwb2x5Z29uR2VvbSksIGZvcm1hdCk7XG4gIH1cblxuICAvKipcbiAgICogRHJhdyBhIGNpcmNsZSBiYXNlZCBvbiBhIGNlbnRlciBwb2ludCBhbmQgcmFkaXVzLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcltdfSBwb2ludCAtIFRoZSBjZW50ZXIgcG9pbnQgY29vcmRpbmF0ZXMgaW4gRVBTRzo0MzI2IGZvcm1hdC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IHJhZGl1cyAtIFRoZSByYWRpdXMgb2YgdGhlIGNpcmNsZSBpbiBtZXRlcnMuXG4gICAqIEByZXR1cm4ge0Nvb3JkaW5hdGVbXVtdfSAtIFRoZSBjb29yZGluYXRlcyBvZiB0aGUgY2lyY2xlIGJvdW5kYXJ5IGluIEVQU0c6NDMyNiBmb3JtYXQuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBkcmF3Q2lyY2xlKHBvaW50OiBudW1iZXJbXSwgcmFkaXVzOiBudW1iZXIpOiBDb29yZGluYXRlW11bXSB7XG4gICAgY29uc3QgdGV0ZXRlbXAgPSB0cmFuc2Zvcm0ocG9pbnQsICdFUFNHOjQzMjYnLCAnRVBTRzozODU3Jyk7XG4gICAgLy8gY29uc3QgdGV0ZXRlbXAgPSBwb2ludDtcbiAgICBjb25zdCByYWRpYW5zID0gTWF0aC5QSSAvIDE4MDsgLy8gZGVncmVlcyB0byByYWRpYW5zXG4gICAgY29uc3QgZGVncmVlcyA9IDE4MCAvIE1hdGguUEk7IC8vIHJhZGlhbnMgdG8gZGVncmVlc1xuICAgIGNvbnN0IGVhcnRoc3JhZGl1cyA9IDYzNzgxMzcuMDtcbiAgICBjb25zdCBybGF0ID0gKHJhZGl1cyAvIGVhcnRoc3JhZGl1cykgKiBkZWdyZWVzO1xuICAgIGNvbnN0IHJsbmcgPSBybGF0IC8gTWF0aC5jb3ModGV0ZXRlbXBbMV0gKiByYWRpYW5zKTtcbiAgICBjb25zdCBleHRwOiBudW1iZXJbXVtdID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPD0gMzI7IGkrKykge1xuICAgICAgY29uc3QgdGhldGEgPSBNYXRoLlBJICogKGkgLyAxNik7XG4gICAgICBleHRwLnB1c2goW1xuICAgICAgICB0ZXRldGVtcFswXSArIHJsbmcgKiBNYXRoLmNvcyh0aGV0YSkgKiBNRVRFUlNfUEVSX1VOSVQsXG4gICAgICAgIHRldGV0ZW1wWzFdICsgcmxhdCAqIE1hdGguc2luKHRoZXRhKSAqIE1FVEVSU19QRVJfVU5JVCxcbiAgICAgIF0pO1xuICAgIH1cbiAgICByZXR1cm4gW2V4dHAubWFwKChlKSA9PiB0cmFuc2Zvcm0oZSwgJ0VQU0c6Mzg1NycsICdFUFNHOjQzMjYnKSldO1xuICB9XG59XG4iXX0=
@@ -1,33 +0,0 @@
1
- import { Fill, Text } from 'ol/style';
2
- /**
3
- * Helper class for creating text styles.
4
- */
5
- export class TextStyleHelper {
6
- /**
7
- * Creates and returns a new Text instance with specified styling properties.
8
- *
9
- * @param {string} text - The text content to display.
10
- * @param {string} font - The font style to use for the text.
11
- * @param {string} color - The color of the text.
12
- * @param {string|null|undefined} [backColor] - The background color of the text. Optional.
13
- * @param {number[]|null|undefined} [padding] - The padding around the text in pixels. Optional.
14
- * @param {string|null|undefined} [textBaseline] - The text baseline alignment. Optional.
15
- * @param {number|null|undefined} [offsetY] - The vertical offset for the text. Optional.
16
- * @return {Text} A new Text instance configured with the specified properties.
17
- */
18
- static get(text, font, color, backColor, padding, textBaseline, offsetY) {
19
- return new Text({
20
- text: text,
21
- font: font,
22
- textAlign: 'center',
23
- fill: new Fill({
24
- color: color,
25
- }),
26
- backgroundFill: backColor ? new Fill({ color: backColor }) : undefined,
27
- padding: padding ?? undefined,
28
- textBaseline: textBaseline ?? undefined,
29
- offsetY: offsetY ?? undefined,
30
- });
31
- }
32
- }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1zdHlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL3RleHQtc3R5bGUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXRDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFDMUI7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUNmLElBQVksRUFDWixJQUFZLEVBQ1osS0FBYSxFQUNiLFNBQXlCLEVBQ3pCLE9BQXlCLEVBQ3pCLFlBQTRCLEVBQzVCLE9BQXVCO1FBRXZCLE9BQU8sSUFBSSxJQUFJLENBQUM7WUFDZCxJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxJQUFJO1lBQ1YsU0FBUyxFQUFFLFFBQVE7WUFDbkIsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUNiLEtBQUssRUFBRSxLQUFLO2FBQ2IsQ0FBQztZQUNGLGNBQWMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDdEUsT0FBTyxFQUFFLE9BQU8sSUFBSSxTQUFTO1lBQzdCLFlBQVksRUFBRSxZQUFZLElBQUksU0FBUztZQUN2QyxPQUFPLEVBQUUsT0FBTyxJQUFJLFNBQVM7U0FDOUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsbCwgVGV4dCB9IGZyb20gJ29sL3N0eWxlJztcblxuLyoqXG4gKiBIZWxwZXIgY2xhc3MgZm9yIGNyZWF0aW5nIHRleHQgc3R5bGVzLlxuICovXG5leHBvcnQgY2xhc3MgVGV4dFN0eWxlSGVscGVyIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYW5kIHJldHVybnMgYSBuZXcgVGV4dCBpbnN0YW5jZSB3aXRoIHNwZWNpZmllZCBzdHlsaW5nIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gVGhlIHRleHQgY29udGVudCB0byBkaXNwbGF5LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm9udCAtIFRoZSBmb250IHN0eWxlIHRvIHVzZSBmb3IgdGhlIHRleHQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb2xvciAtIFRoZSBjb2xvciBvZiB0aGUgdGV4dC5cbiAgICogQHBhcmFtIHtzdHJpbmd8bnVsbHx1bmRlZmluZWR9IFtiYWNrQ29sb3JdIC0gVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHRleHQuIE9wdGlvbmFsLlxuICAgKiBAcGFyYW0ge251bWJlcltdfG51bGx8dW5kZWZpbmVkfSBbcGFkZGluZ10gLSBUaGUgcGFkZGluZyBhcm91bmQgdGhlIHRleHQgaW4gcGl4ZWxzLiBPcHRpb25hbC5cbiAgICogQHBhcmFtIHtzdHJpbmd8bnVsbHx1bmRlZmluZWR9IFt0ZXh0QmFzZWxpbmVdIC0gVGhlIHRleHQgYmFzZWxpbmUgYWxpZ25tZW50LiBPcHRpb25hbC5cbiAgICogQHBhcmFtIHtudW1iZXJ8bnVsbHx1bmRlZmluZWR9IFtvZmZzZXRZXSAtIFRoZSB2ZXJ0aWNhbCBvZmZzZXQgZm9yIHRoZSB0ZXh0LiBPcHRpb25hbC5cbiAgICogQHJldHVybiB7VGV4dH0gQSBuZXcgVGV4dCBpbnN0YW5jZSBjb25maWd1cmVkIHdpdGggdGhlIHNwZWNpZmllZCBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXQoXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIGZvbnQ6IHN0cmluZyxcbiAgICBjb2xvcjogc3RyaW5nLFxuICAgIGJhY2tDb2xvcj86IHN0cmluZyB8IG51bGwsXG4gICAgcGFkZGluZz86IG51bWJlcltdIHwgbnVsbCxcbiAgICB0ZXh0QmFzZWxpbmU/OiBzdHJpbmcgfCBudWxsLFxuICAgIG9mZnNldFk/OiBudW1iZXIgfCBudWxsLFxuICApOiBUZXh0IHtcbiAgICByZXR1cm4gbmV3IFRleHQoe1xuICAgICAgdGV4dDogdGV4dCxcbiAgICAgIGZvbnQ6IGZvbnQsXG4gICAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgICAgZmlsbDogbmV3IEZpbGwoe1xuICAgICAgICBjb2xvcjogY29sb3IsXG4gICAgICB9KSxcbiAgICAgIGJhY2tncm91bmRGaWxsOiBiYWNrQ29sb3IgPyBuZXcgRmlsbCh7IGNvbG9yOiBiYWNrQ29sb3IgfSkgOiB1bmRlZmluZWQsXG4gICAgICBwYWRkaW5nOiBwYWRkaW5nID8/IHVuZGVmaW5lZCxcbiAgICAgIHRleHRCYXNlbGluZTogdGV4dEJhc2VsaW5lID8/IHVuZGVmaW5lZCxcbiAgICAgIG9mZnNldFk6IG9mZnNldFkgPz8gdW5kZWZpbmVkLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- export * from './map-control-zoom/zoom-control.settings';
2
- export * from './map-control-zoom/map-control-zoom.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvY29udHJvbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLCtDQUErQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYXAtY29udHJvbC16b29tL3pvb20tY29udHJvbC5zZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL21hcC1jb250cm9sLXpvb20vbWFwLWNvbnRyb2wtem9vbS5jb21wb25lbnQnO1xuIl19
@@ -1,69 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { DestructibleComponent } from '../../../common/destructible.component';
3
- import { ZoomControlSettings } from './zoom-control.settings';
4
- import { MapRenderedEvent } from '../../../messages';
5
- import { filter, first } from 'rxjs/operators';
6
- import { GenerateZoomControlExecutor } from '../../../messages/executors/generate-zoom-control.executor';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "../../../services/map-postboy.service";
9
- /**
10
- * @class
11
- * @classdesc Represents a component for the Zoom control on a map.
12
- * @extends DestructibleComponent
13
- * @implements OnInit
14
- */
15
- export class MapControlZoomComponent extends DestructibleComponent {
16
- postboy;
17
- map;
18
- control;
19
- constructor(postboy) {
20
- super();
21
- this.postboy = postboy;
22
- }
23
- _settings = new ZoomControlSettings();
24
- /**
25
- * Sets the settings for the Zoom Control.
26
- *
27
- * @param {ZoomControlSettings | undefined} value - The new settings for the Zoom Control.
28
- *
29
- * @description
30
- * This method sets the settings for the Zoom Control. It takes a parameter `value` which should be an object of type `ZoomControlSettings` or `undefined`.
31
- *
32
- * If the `value` is `undefined` or the same as the current settings, the method will return without making any changes.
33
- *
34
- */
35
- set settings(value) {
36
- if (!value || this._settings.isSame(value))
37
- return;
38
- this._settings = value;
39
- this.setControl();
40
- }
41
- ngOnInit() {
42
- this.postboy
43
- .sub(MapRenderedEvent)
44
- .pipe(filter((m) => !!m), first())
45
- .subscribe((m) => {
46
- this.map = m.map;
47
- this.setControl();
48
- });
49
- }
50
- onDestroy = () => {
51
- this.eliminate();
52
- };
53
- setControl() {
54
- if (!this.map)
55
- return;
56
- this.control = this.postboy.exec(new GenerateZoomControlExecutor(this._settings));
57
- this.map.addControl(this.control);
58
- }
59
- eliminate = () => !!this.map && !!this.control && this.map.removeControl(this.control);
60
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapControlZoomComponent, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
61
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: MapControlZoomComponent, selector: "art-map-control-zoom", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
62
- }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MapControlZoomComponent, decorators: [{
64
- type: Component,
65
- args: [{ selector: 'art-map-control-zoom', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
66
- }], ctorParameters: () => [{ type: i1.MapPostboyService }], propDecorators: { settings: [{
67
- type: Input
68
- }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNvbnRyb2wtem9vbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvY29udHJvbHMvbWFwLWNvbnRyb2wtem9vbS9tYXAtY29udHJvbC16b29tLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDREQUE0RCxDQUFDOzs7QUFFekc7Ozs7O0dBS0c7QUFPSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEscUJBQXFCO0lBSTVDO0lBSFosR0FBRyxDQUFPO0lBQ1YsT0FBTyxDQUFRO0lBRXZCLFlBQW9CLE9BQTBCO1FBQzVDLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFFOUMsQ0FBQztJQUVPLFNBQVMsR0FBd0IsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO0lBRW5FOzs7Ozs7Ozs7O09BVUc7SUFDSCxJQUFhLFFBQVEsQ0FBQyxLQUFzQztRQUMxRCxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDbkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU87YUFDVCxHQUFHLENBQUMsZ0JBQWdCLENBQUM7YUFDckIsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxTQUFTLEdBQUcsR0FBRyxFQUFFO1FBQ2YsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUVNLFVBQVU7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxTQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3VHQWxEcEYsdUJBQXVCOzJGQUF2Qix1QkFBdUIscUhBSnhCLEVBQUU7OzJGQUlELHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSxzQkFBc0IsWUFDdEIsRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNO3NGQXVCbEMsUUFBUTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgTWFwIGZyb20gJ29sL01hcCc7XG5pbXBvcnQgeyBab29tQ29udHJvbFNldHRpbmdzIH0gZnJvbSAnLi96b29tLWNvbnRyb2wuc2V0dGluZ3MnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBab29tIH0gZnJvbSAnb2wvY29udHJvbCc7XG5pbXBvcnQgeyBHZW5lcmF0ZVpvb21Db250cm9sRXhlY3V0b3IgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9leGVjdXRvcnMvZ2VuZXJhdGUtem9vbS1jb250cm9sLmV4ZWN1dG9yJztcblxuLyoqXG4gKiBAY2xhc3NcbiAqIEBjbGFzc2Rlc2MgUmVwcmVzZW50cyBhIGNvbXBvbmVudCBmb3IgdGhlIFpvb20gY29udHJvbCBvbiBhIG1hcC5cbiAqIEBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudFxuICogQGltcGxlbWVudHMgT25Jbml0XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FydC1tYXAtY29udHJvbC16b29tJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZVVybHM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTWFwQ29udHJvbFpvb21Db21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIG1hcD86IE1hcDtcbiAgcHJpdmF0ZSBjb250cm9sPzogWm9vbTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldHRpbmdzOiBab29tQ29udHJvbFNldHRpbmdzID0gbmV3IFpvb21Db250cm9sU2V0dGluZ3MoKTtcblxuICAvKipcbiAgICogU2V0cyB0aGUgc2V0dGluZ3MgZm9yIHRoZSBab29tIENvbnRyb2wuXG4gICAqXG4gICAqIEBwYXJhbSB7Wm9vbUNvbnRyb2xTZXR0aW5ncyB8IHVuZGVmaW5lZH0gdmFsdWUgLSBUaGUgbmV3IHNldHRpbmdzIGZvciB0aGUgWm9vbSBDb250cm9sLlxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhpcyBtZXRob2Qgc2V0cyB0aGUgc2V0dGluZ3MgZm9yIHRoZSBab29tIENvbnRyb2wuIEl0IHRha2VzIGEgcGFyYW1ldGVyIGB2YWx1ZWAgd2hpY2ggc2hvdWxkIGJlIGFuIG9iamVjdCBvZiB0eXBlIGBab29tQ29udHJvbFNldHRpbmdzYCBvciBgdW5kZWZpbmVkYC5cbiAgICpcbiAgICogSWYgdGhlIGB2YWx1ZWAgaXMgYHVuZGVmaW5lZGAgb3IgdGhlIHNhbWUgYXMgdGhlIGN1cnJlbnQgc2V0dGluZ3MsIHRoZSBtZXRob2Qgd2lsbCByZXR1cm4gd2l0aG91dCBtYWtpbmcgYW55IGNoYW5nZXMuXG4gICAqXG4gICAqL1xuICBASW5wdXQoKSBzZXQgc2V0dGluZ3ModmFsdWU6IFpvb21Db250cm9sU2V0dGluZ3MgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlIHx8IHRoaXMuX3NldHRpbmdzLmlzU2FtZSh2YWx1ZSkpIHJldHVybjtcbiAgICB0aGlzLl9zZXR0aW5ncyA9IHZhbHVlO1xuICAgIHRoaXMuc2V0Q29udHJvbCgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95XG4gICAgICAuc3ViKE1hcFJlbmRlcmVkRXZlbnQpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChtKSA9PiAhIW0pLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgobSkgPT4ge1xuICAgICAgICB0aGlzLm1hcCA9IG0ubWFwO1xuICAgICAgICB0aGlzLnNldENvbnRyb2woKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25EZXN0cm95ID0gKCkgPT4ge1xuICAgIHRoaXMuZWxpbWluYXRlKCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBzZXRDb250cm9sKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICB0aGlzLmNvbnRyb2wgPSB0aGlzLnBvc3Rib3kuZXhlYyhuZXcgR2VuZXJhdGVab29tQ29udHJvbEV4ZWN1dG9yKHRoaXMuX3NldHRpbmdzKSk7XG4gICAgdGhpcy5tYXAuYWRkQ29udHJvbCh0aGlzLmNvbnRyb2whKTtcbiAgfVxuXG4gIHByaXZhdGUgZWxpbWluYXRlID0gKCkgPT4gISF0aGlzLm1hcCAmJiAhIXRoaXMuY29udHJvbCAmJiB0aGlzLm1hcC5yZW1vdmVDb250cm9sKHRoaXMuY29udHJvbCk7XG59XG4iXX0=
@@ -1,13 +0,0 @@
1
- import { Zoom } from 'ol/control';
2
- export class ZoomControlFactory {
3
- static build(settings) {
4
- return new Zoom({
5
- zoomInTipLabel: settings.zoomInLabel,
6
- zoomOutTipLabel: settings.zoomOutLabel,
7
- zoomInClassName: settings.zoomInClass,
8
- zoomOutClassName: settings.zoomOutClass,
9
- className: settings.controlClass,
10
- });
11
- }
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS1jb250cm9sLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvY29udHJvbHMvbWFwLWNvbnRyb2wtem9vbS96b29tLWNvbnRyb2wuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWxDLE1BQU0sT0FBTyxrQkFBa0I7SUFDdEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUE2QjtRQUMvQyxPQUFPLElBQUksSUFBSSxDQUFDO1lBQ2QsY0FBYyxFQUFFLFFBQVEsQ0FBQyxXQUFXO1lBQ3BDLGVBQWUsRUFBRSxRQUFRLENBQUMsWUFBWTtZQUN0QyxlQUFlLEVBQUUsUUFBUSxDQUFDLFdBQVc7WUFDckMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLFlBQVk7WUFDdkMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxZQUFZO1NBQ2pDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFpvb21Db250cm9sU2V0dGluZ3MgfSBmcm9tICcuL3pvb20tY29udHJvbC5zZXR0aW5ncyc7XG5pbXBvcnQgeyBab29tIH0gZnJvbSAnb2wvY29udHJvbCc7XG5cbmV4cG9ydCBjbGFzcyBab29tQ29udHJvbEZhY3Rvcnkge1xuICBwdWJsaWMgc3RhdGljIGJ1aWxkKHNldHRpbmdzOiBab29tQ29udHJvbFNldHRpbmdzKTogWm9vbSB7XG4gICAgcmV0dXJuIG5ldyBab29tKHtcbiAgICAgIHpvb21JblRpcExhYmVsOiBzZXR0aW5ncy56b29tSW5MYWJlbCxcbiAgICAgIHpvb21PdXRUaXBMYWJlbDogc2V0dGluZ3Muem9vbU91dExhYmVsLFxuICAgICAgem9vbUluQ2xhc3NOYW1lOiBzZXR0aW5ncy56b29tSW5DbGFzcyxcbiAgICAgIHpvb21PdXRDbGFzc05hbWU6IHNldHRpbmdzLnpvb21PdXRDbGFzcyxcbiAgICAgIGNsYXNzTmFtZTogc2V0dGluZ3MuY29udHJvbENsYXNzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,116 +0,0 @@
1
- /**
2
- * Represents the settings for a zoom control.
3
- */
4
- export class ZoomControlSettings {
5
- /**
6
- * The CSS class name of the control element.
7
- *
8
- * @type {string}
9
- */
10
- controlClass = 'ol-zoom';
11
- /**
12
- * The CSS class name for zoom in button.
13
- * @type {string}
14
- */
15
- zoomInClass = 'ol-zoom-in';
16
- /**
17
- * The CSS class name for the zoom out button element.
18
- *
19
- * @type {string}
20
- */
21
- zoomOutClass = 'ol-zoom-out';
22
- /**
23
- * The label for the zoom in action.
24
- *
25
- * @type {string}
26
- */
27
- zoomInLabel = 'Zoom In';
28
- /**
29
- * The label for the zoom out control.
30
- *
31
- * @type {string}
32
- */
33
- zoomOutLabel = 'Zoom Out';
34
- /**
35
- * Copies the provided ZoomControlSettings object.
36
- *
37
- * @param {ZoomControlSettings} model - The ZoomControlSettings object to be copied.
38
- * @return {ZoomControlSettings} - The copied ZoomControlSettings object.
39
- */
40
- static copy(model) {
41
- const result = new ZoomControlSettings();
42
- result.controlClass = model.controlClass;
43
- result.zoomInClass = model.zoomInClass;
44
- result.zoomOutClass = model.zoomOutClass;
45
- result.zoomInLabel = model.zoomInLabel;
46
- result.zoomOutLabel = model.zoomOutLabel;
47
- return result;
48
- }
49
- /**
50
- * Checks if the current ZoomControlSettings object is equal to the given model.
51
- *
52
- * @param {ZoomControlSettings} model - The ZoomControlSettings object to compare with.
53
- *
54
- * @return {boolean} - true if the current object is equal to the given model, false otherwise.
55
- */
56
- isSame(model) {
57
- if (this.zoomInClass !== model.zoomInClass)
58
- return false;
59
- if (this.zoomOutClass !== model.zoomOutClass)
60
- return false;
61
- if (this.zoomInLabel !== model.zoomInLabel)
62
- return false;
63
- if (this.controlClass !== model.controlClass)
64
- return false;
65
- if (this.zoomOutLabel !== model.zoomOutLabel)
66
- return false;
67
- return true;
68
- }
69
- /**
70
- * Sets the zoom in label of the Zoom Control Settings.
71
- *
72
- * @param {string} zoomInLabel - The label for the zoom in button.
73
- * @return {ZoomControlSettings} - The new Zoom Control Settings object with the updated zoom in label.
74
- */
75
- setZoomInLabel(zoomInLabel) {
76
- return ZoomControlSettings.copy({ ...this, zoomInLabel });
77
- }
78
- /**
79
- * Sets the zoomOutClass property of the ZoomControlSettings object.
80
- *
81
- * @param {string} zoomOutClass - The CSS class to be assigned to the zoom out button.
82
- * @return {ZoomControlSettings} - The updated ZoomControlSettings object with the new zoomOutClass value.
83
- */
84
- setZoomOutClass(zoomOutClass) {
85
- return ZoomControlSettings.copy({ ...this, zoomOutClass });
86
- }
87
- /**
88
- * Sets the zoom in class for the zoom control settings.
89
- *
90
- * @param {string} zoomInClass - The new zoom in class to be set.
91
- * @return {ZoomControlSettings} - The updated zoom control settings.
92
- */
93
- setZoomInClass(zoomInClass) {
94
- return ZoomControlSettings.copy({ ...this, zoomInClass });
95
- }
96
- /**
97
- * Set the label for the zoom out control.
98
- *
99
- * @param {string} zoomOutLabel - The label for the zoom out control.
100
- * @returns {ZoomControlSettings} - The updated zoom control settings.
101
- */
102
- setZoomOutLabel(zoomOutLabel) {
103
- return ZoomControlSettings.copy({ ...this, zoomOutLabel });
104
- }
105
- /**
106
- * Sets the control class for the ZoomControlSettings.
107
- *
108
- * @param {string} controlClass - The class name of the control to be set.
109
- *
110
- * @return {ZoomControlSettings} - The modified ZoomControlSettings object.
111
- */
112
- setControlClass(controlClass) {
113
- return ZoomControlSettings.copy({ ...this, controlClass });
114
- }
115
- }
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS1jb250cm9sLnNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2NvbnRyb2xzL21hcC1jb250cm9sLXpvb20vem9vbS1jb250cm9sLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQUM5Qjs7OztPQUlHO0lBQ0gsWUFBWSxHQUFXLFNBQVMsQ0FBQztJQUNqQzs7O09BR0c7SUFDSCxXQUFXLEdBQVcsWUFBWSxDQUFDO0lBQ25DOzs7O09BSUc7SUFDSCxZQUFZLEdBQVcsYUFBYSxDQUFDO0lBQ3JDOzs7O09BSUc7SUFDSCxXQUFXLEdBQVcsU0FBUyxDQUFDO0lBQ2hDOzs7O09BSUc7SUFDSCxZQUFZLEdBQVcsVUFBVSxDQUFDO0lBRWxDOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUEwQjtRQUMzQyxNQUFNLE1BQU0sR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFDekMsTUFBTSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQ3pDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUN2QyxNQUFNLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDekMsTUFBTSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUN6QyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLEtBQTBCO1FBQ3RDLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUMsV0FBVztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3pELElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLENBQUMsWUFBWTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNELElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUMsV0FBVztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3pELElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLENBQUMsWUFBWTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNELElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLENBQUMsWUFBWTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsY0FBYyxDQUFDLFdBQW1CO1FBQ2hDLE9BQU8sbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxlQUFlLENBQUMsWUFBb0I7UUFDbEMsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGNBQWMsQ0FBQyxXQUFtQjtRQUNoQyxPQUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZUFBZSxDQUFDLFlBQW9CO1FBQ2xDLE9BQU8sbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsZUFBZSxDQUFDLFlBQW9CO1FBQ2xDLE9BQU8sbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlcHJlc2VudHMgdGhlIHNldHRpbmdzIGZvciBhIHpvb20gY29udHJvbC5cbiAqL1xuZXhwb3J0IGNsYXNzIFpvb21Db250cm9sU2V0dGluZ3Mge1xuICAvKipcbiAgICogVGhlIENTUyBjbGFzcyBuYW1lIG9mIHRoZSBjb250cm9sIGVsZW1lbnQuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBjb250cm9sQ2xhc3M6IHN0cmluZyA9ICdvbC16b29tJztcbiAgLyoqXG4gICAqIFRoZSBDU1MgY2xhc3MgbmFtZSBmb3Igem9vbSBpbiBidXR0b24uXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICB6b29tSW5DbGFzczogc3RyaW5nID0gJ29sLXpvb20taW4nO1xuICAvKipcbiAgICogVGhlIENTUyBjbGFzcyBuYW1lIGZvciB0aGUgem9vbSBvdXQgYnV0dG9uIGVsZW1lbnQuXG4gICAqXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICB6b29tT3V0Q2xhc3M6IHN0cmluZyA9ICdvbC16b29tLW91dCc7XG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgZm9yIHRoZSB6b29tIGluIGFjdGlvbi5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHpvb21JbkxhYmVsOiBzdHJpbmcgPSAnWm9vbSBJbic7XG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgZm9yIHRoZSB6b29tIG91dCBjb250cm9sLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgem9vbU91dExhYmVsOiBzdHJpbmcgPSAnWm9vbSBPdXQnO1xuXG4gIC8qKlxuICAgKiBDb3BpZXMgdGhlIHByb3ZpZGVkIFpvb21Db250cm9sU2V0dGluZ3Mgb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge1pvb21Db250cm9sU2V0dGluZ3N9IG1vZGVsIC0gVGhlIFpvb21Db250cm9sU2V0dGluZ3Mgb2JqZWN0IHRvIGJlIGNvcGllZC5cbiAgICogQHJldHVybiB7Wm9vbUNvbnRyb2xTZXR0aW5nc30gLSBUaGUgY29waWVkIFpvb21Db250cm9sU2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjb3B5KG1vZGVsOiBab29tQ29udHJvbFNldHRpbmdzKTogWm9vbUNvbnRyb2xTZXR0aW5ncyB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFpvb21Db250cm9sU2V0dGluZ3MoKTtcbiAgICByZXN1bHQuY29udHJvbENsYXNzID0gbW9kZWwuY29udHJvbENsYXNzO1xuICAgIHJlc3VsdC56b29tSW5DbGFzcyA9IG1vZGVsLnpvb21JbkNsYXNzO1xuICAgIHJlc3VsdC56b29tT3V0Q2xhc3MgPSBtb2RlbC56b29tT3V0Q2xhc3M7XG4gICAgcmVzdWx0Lnpvb21JbkxhYmVsID0gbW9kZWwuem9vbUluTGFiZWw7XG4gICAgcmVzdWx0Lnpvb21PdXRMYWJlbCA9IG1vZGVsLnpvb21PdXRMYWJlbDtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBab29tQ29udHJvbFNldHRpbmdzIG9iamVjdCBpcyBlcXVhbCB0byB0aGUgZ2l2ZW4gbW9kZWwuXG4gICAqXG4gICAqIEBwYXJhbSB7Wm9vbUNvbnRyb2xTZXR0aW5nc30gbW9kZWwgLSBUaGUgWm9vbUNvbnRyb2xTZXR0aW5ncyBvYmplY3QgdG8gY29tcGFyZSB3aXRoLlxuICAgKlxuICAgKiBAcmV0dXJuIHtib29sZWFufSAtIHRydWUgaWYgdGhlIGN1cnJlbnQgb2JqZWN0IGlzIGVxdWFsIHRvIHRoZSBnaXZlbiBtb2RlbCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHVibGljIGlzU2FtZShtb2RlbDogWm9vbUNvbnRyb2xTZXR0aW5ncyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnpvb21JbkNsYXNzICE9PSBtb2RlbC56b29tSW5DbGFzcykgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnpvb21PdXRDbGFzcyAhPT0gbW9kZWwuem9vbU91dENsYXNzKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuem9vbUluTGFiZWwgIT09IG1vZGVsLnpvb21JbkxhYmVsKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuY29udHJvbENsYXNzICE9PSBtb2RlbC5jb250cm9sQ2xhc3MpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy56b29tT3V0TGFiZWwgIT09IG1vZGVsLnpvb21PdXRMYWJlbCkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHpvb20gaW4gbGFiZWwgb2YgdGhlIFpvb20gQ29udHJvbCBTZXR0aW5ncy5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHpvb21JbkxhYmVsIC0gVGhlIGxhYmVsIGZvciB0aGUgem9vbSBpbiBidXR0b24uXG4gICAqIEByZXR1cm4ge1pvb21Db250cm9sU2V0dGluZ3N9IC0gVGhlIG5ldyBab29tIENvbnRyb2wgU2V0dGluZ3Mgb2JqZWN0IHdpdGggdGhlIHVwZGF0ZWQgem9vbSBpbiBsYWJlbC5cbiAgICovXG4gIHNldFpvb21JbkxhYmVsKHpvb21JbkxhYmVsOiBzdHJpbmcpOiBab29tQ29udHJvbFNldHRpbmdzIHtcbiAgICByZXR1cm4gWm9vbUNvbnRyb2xTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgem9vbUluTGFiZWwgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgem9vbU91dENsYXNzIHByb3BlcnR5IG9mIHRoZSBab29tQ29udHJvbFNldHRpbmdzIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHpvb21PdXRDbGFzcyAtIFRoZSBDU1MgY2xhc3MgdG8gYmUgYXNzaWduZWQgdG8gdGhlIHpvb20gb3V0IGJ1dHRvbi5cbiAgICogQHJldHVybiB7Wm9vbUNvbnRyb2xTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCBab29tQ29udHJvbFNldHRpbmdzIG9iamVjdCB3aXRoIHRoZSBuZXcgem9vbU91dENsYXNzIHZhbHVlLlxuICAgKi9cbiAgc2V0Wm9vbU91dENsYXNzKHpvb21PdXRDbGFzczogc3RyaW5nKTogWm9vbUNvbnRyb2xTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFpvb21Db250cm9sU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIHpvb21PdXRDbGFzcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB6b29tIGluIGNsYXNzIGZvciB0aGUgem9vbSBjb250cm9sIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gem9vbUluQ2xhc3MgLSBUaGUgbmV3IHpvb20gaW4gY2xhc3MgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJuIHtab29tQ29udHJvbFNldHRpbmdzfSAtIFRoZSB1cGRhdGVkIHpvb20gY29udHJvbCBzZXR0aW5ncy5cbiAgICovXG4gIHNldFpvb21JbkNsYXNzKHpvb21JbkNsYXNzOiBzdHJpbmcpOiBab29tQ29udHJvbFNldHRpbmdzIHtcbiAgICByZXR1cm4gWm9vbUNvbnRyb2xTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgem9vbUluQ2xhc3MgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBsYWJlbCBmb3IgdGhlIHpvb20gb3V0IGNvbnRyb2wuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB6b29tT3V0TGFiZWwgLSBUaGUgbGFiZWwgZm9yIHRoZSB6b29tIG91dCBjb250cm9sLlxuICAgKiBAcmV0dXJucyB7Wm9vbUNvbnRyb2xTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCB6b29tIGNvbnRyb2wgc2V0dGluZ3MuXG4gICAqL1xuICBzZXRab29tT3V0TGFiZWwoem9vbU91dExhYmVsOiBzdHJpbmcpOiBab29tQ29udHJvbFNldHRpbmdzIHtcbiAgICByZXR1cm4gWm9vbUNvbnRyb2xTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgem9vbU91dExhYmVsIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvbnRyb2wgY2xhc3MgZm9yIHRoZSBab29tQ29udHJvbFNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29udHJvbENsYXNzIC0gVGhlIGNsYXNzIG5hbWUgb2YgdGhlIGNvbnRyb2wgdG8gYmUgc2V0LlxuICAgKlxuICAgKiBAcmV0dXJuIHtab29tQ29udHJvbFNldHRpbmdzfSAtIFRoZSBtb2RpZmllZCBab29tQ29udHJvbFNldHRpbmdzIG9iamVjdC5cbiAgICovXG4gIHNldENvbnRyb2xDbGFzcyhjb250cm9sQ2xhc3M6IHN0cmluZyk6IFpvb21Db250cm9sU2V0dGluZ3Mge1xuICAgIHJldHVybiBab29tQ29udHJvbFNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBjb250cm9sQ2xhc3MgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './markers/markers.component';
2
- export * from './polygons/polygons.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvZmVhdHVyZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYXJrZXJzL21hcmtlcnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcG9seWdvbnMvcG9seWdvbnMuY29tcG9uZW50JztcbiJdfQ==
@@ -1,52 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { DestructibleComponent } from '../../../common/destructible.component';
3
- import { PlaceLayerFeaturesCommand } from '../../../messages/commands/place-layer-features.command';
4
- import { MapRenderedEvent } from '../../../messages';
5
- import { filter, first } from 'rxjs/operators';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../../services/map-postboy.service";
8
- /**
9
- * MarkersComponent is a component that displays markers on a map.
10
- * It listens for changes in the `markers` input property and
11
- * automatically puts the markers on the map using the MapPostboyService.
12
- */
13
- export class MarkersComponent extends DestructibleComponent {
14
- postboy;
15
- layerName = '';
16
- constructor(postboy) {
17
- super();
18
- this.postboy = postboy;
19
- }
20
- _markers = [];
21
- /**
22
- * Sets the markers property.
23
- *
24
- * @param {MarkerModel[]} value - The array of MarkerModel objects to set as markers.
25
- */
26
- set markers(value) {
27
- this._markers = value ?? [];
28
- this.putMarkers();
29
- }
30
- ngOnInit() {
31
- this.postboy
32
- .sub(MapRenderedEvent)
33
- .pipe(filter((m) => !!m), first())
34
- .subscribe(() => this.putMarkers());
35
- }
36
- putMarkers() {
37
- if (!this._markers)
38
- return;
39
- this.postboy.fire(new PlaceLayerFeaturesCommand(this.layerName, this._markers.map((m) => m.feature)));
40
- }
41
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MarkersComponent, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
42
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: MarkersComponent, selector: "art-markers", inputs: { layerName: "layerName", markers: "markers" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
43
- }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: MarkersComponent, decorators: [{
45
- type: Component,
46
- args: [{ selector: 'art-markers', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
47
- }], ctorParameters: () => [{ type: i1.MapPostboyService }], propDecorators: { layerName: [{
48
- type: Input
49
- }], markers: [{
50
- type: Input
51
- }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Vycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvZmVhdHVyZXMvbWFya2Vycy9tYXJrZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUcvRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFL0M7Ozs7R0FJRztBQU9ILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxxQkFBcUI7SUFHckM7SUFGWCxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBRXhCLFlBQW9CLE9BQTBCO1FBQzVDLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFFOUMsQ0FBQztJQUVELFFBQVEsR0FBa0IsRUFBRSxDQUFDO0lBRTdCOzs7O09BSUc7SUFDSCxJQUFhLE9BQU8sQ0FBQyxLQUFvQjtRQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU87YUFDVCxHQUFHLENBQUMsZ0JBQWdCLENBQUM7YUFDckIsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNmLElBQUkseUJBQXlCLENBQzNCLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FDcEMsQ0FDRixDQUFDO0lBQ0osQ0FBQzt1R0FyQ1UsZ0JBQWdCOzJGQUFoQixnQkFBZ0Isa0lBSmpCLEVBQUU7OzJGQUlELGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxhQUFhLFlBQ2IsRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNO3NGQUd0QyxTQUFTO3NCQUFqQixLQUFLO2dCQWFPLE9BQU87c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFya2VyTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvbWFya2VyLW1vZGVsJztcbmltcG9ydCB7IFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9wbGFjZS1sYXllci1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIE1hcmtlcnNDb21wb25lbnQgaXMgYSBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyBtYXJrZXJzIG9uIGEgbWFwLlxuICogSXQgbGlzdGVucyBmb3IgY2hhbmdlcyBpbiB0aGUgYG1hcmtlcnNgIGlucHV0IHByb3BlcnR5IGFuZFxuICogYXV0b21hdGljYWxseSBwdXRzIHRoZSBtYXJrZXJzIG9uIHRoZSBtYXAgdXNpbmcgdGhlIE1hcFBvc3Rib3lTZXJ2aWNlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcnQtbWFya2VycycsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1hcmtlcnNDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBsYXllck5hbWUgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIF9tYXJrZXJzOiBNYXJrZXJNb2RlbFtdID0gW107XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG1hcmtlcnMgcHJvcGVydHkuXG4gICAqXG4gICAqIEBwYXJhbSB7TWFya2VyTW9kZWxbXX0gdmFsdWUgLSBUaGUgYXJyYXkgb2YgTWFya2VyTW9kZWwgb2JqZWN0cyB0byBzZXQgYXMgbWFya2Vycy5cbiAgICovXG4gIEBJbnB1dCgpIHNldCBtYXJrZXJzKHZhbHVlOiBNYXJrZXJNb2RlbFtdKSB7XG4gICAgdGhpcy5fbWFya2VycyA9IHZhbHVlID8/IFtdO1xuICAgIHRoaXMucHV0TWFya2VycygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95XG4gICAgICAuc3ViKE1hcFJlbmRlcmVkRXZlbnQpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChtKSA9PiAhIW0pLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnB1dE1hcmtlcnMoKSk7XG4gIH1cblxuICBwcml2YXRlIHB1dE1hcmtlcnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9tYXJrZXJzKSByZXR1cm47XG4gICAgdGhpcy5wb3N0Ym95LmZpcmUoXG4gICAgICBuZXcgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZChcbiAgICAgICAgdGhpcy5sYXllck5hbWUsXG4gICAgICAgIHRoaXMuX21hcmtlcnMubWFwKChtKSA9PiBtLmZlYXR1cmUpLFxuICAgICAgKSxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1,56 +0,0 @@
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 { MapConstants } from '../../../models';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "../../../services/map-postboy.service";
9
- /**
10
- * Component for rendering polygons on a map.
11
- * It listens for changes in the `polygons` input property and
12
- * automatically puts the polygons on the map using the MapPostboyService.
13
- */
14
- export class PolygonsComponent extends DestructibleComponent {
15
- postboy;
16
- layerName = '';
17
- constructor(postboy) {
18
- super();
19
- this.postboy = postboy;
20
- }
21
- _polygons = [];
22
- /**
23
- * Sets the value of polygons.
24
- *
25
- * @param {PolygonModel[]} value - The new value for polygons.
26
- */
27
- set polygons(value) {
28
- this._polygons = value ?? [];
29
- this.putPolygons();
30
- }
31
- ngOnInit() {
32
- this.postboy
33
- .sub(MapRenderedEvent)
34
- .pipe(filter((m) => !!m), first())
35
- .subscribe(() => this.putPolygons());
36
- }
37
- putPolygons() {
38
- if (!this._polygons)
39
- return;
40
- this.postboy.fire(new PlaceLayerFeaturesCommand(this.layerName, this._polygons.map((m) => {
41
- m.feature.set(MapConstants.FeatureLayerName, this.layerName);
42
- return m.feature;
43
- })));
44
- }
45
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: PolygonsComponent, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
46
- 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 });
47
- }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: PolygonsComponent, decorators: [{
49
- type: Component,
50
- args: [{ selector: 'art-polygons', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
51
- }], ctorParameters: () => [{ type: i1.MapPostboyService }], propDecorators: { layerName: [{
52
- type: Input
53
- }], polygons: [{
54
- type: Input
55
- }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2ZlYXR1cmVzL3BvbHlnb25zL3BvbHlnb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBRXBHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRS9DOzs7O0dBSUc7QUFPSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEscUJBQXFCO0lBR3RDO0lBRlgsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUV4QixZQUFvQixPQUEwQjtRQUM1QyxLQUFLLEVBQUUsQ0FBQztRQURVLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBRTlDLENBQUM7SUFFRCxTQUFTLEdBQW1CLEVBQUUsQ0FBQztJQUUvQjs7OztPQUlHO0lBQ0gsSUFBYSxRQUFRLENBQUMsS0FBcUI7UUFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsR0FBRyxDQUFDLGdCQUFnQixDQUFDO2FBQ3JCLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDbEIsS0FBSyxFQUFFLENBQ1I7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDZixJQUFJLHlCQUF5QixDQUMzQixJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDdkIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM3RCxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQzt1R0F4Q1UsaUJBQWlCOzJGQUFqQixpQkFBaUIscUlBSmxCLEVBQUU7OzJGQUlELGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxjQUFjLFlBQ2QsRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNO3NGQUd0QyxTQUFTO3NCQUFqQixLQUFLO2dCQWFPLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcGxhY2UtbGF5ZXItZmVhdHVyZXMuY29tbWFuZCc7XG5pbXBvcnQgeyBQb2x5Z29uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcG9seWdvbi5tb2RlbCc7XG5pbXBvcnQgeyBNYXBDb25zdGFudHMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3IgcmVuZGVyaW5nIHBvbHlnb25zIG9uIGEgbWFwLlxuICogSXQgbGlzdGVucyBmb3IgY2hhbmdlcyBpbiB0aGUgYHBvbHlnb25zYCBpbnB1dCBwcm9wZXJ0eSBhbmRcbiAqIGF1dG9tYXRpY2FsbHkgcHV0cyB0aGUgcG9seWdvbnMgb24gdGhlIG1hcCB1c2luZyB0aGUgTWFwUG9zdGJveVNlcnZpY2UuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FydC1wb2x5Z29ucycsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBvbHlnb25zQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbGF5ZXJOYW1lID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBfcG9seWdvbnM6IFBvbHlnb25Nb2RlbFtdID0gW107XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHZhbHVlIG9mIHBvbHlnb25zLlxuICAgKlxuICAgKiBAcGFyYW0ge1BvbHlnb25Nb2RlbFtdfSB2YWx1ZSAtIFRoZSBuZXcgdmFsdWUgZm9yIHBvbHlnb25zLlxuICAgKi9cbiAgQElucHV0KCkgc2V0IHBvbHlnb25zKHZhbHVlOiBQb2x5Z29uTW9kZWxbXSkge1xuICAgIHRoaXMuX3BvbHlnb25zID0gdmFsdWUgPz8gW107XG4gICAgdGhpcy5wdXRQb2x5Z29ucygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95XG4gICAgICAuc3ViKE1hcFJlbmRlcmVkRXZlbnQpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChtKSA9PiAhIW0pLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnB1dFBvbHlnb25zKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBwdXRQb2x5Z29ucygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3BvbHlnb25zKSByZXR1cm47XG4gICAgdGhpcy5wb3N0Ym95LmZpcmUoXG4gICAgICBuZXcgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZChcbiAgICAgICAgdGhpcy5sYXllck5hbWUsXG4gICAgICAgIHRoaXMuX3BvbHlnb25zLm1hcCgobSkgPT4ge1xuICAgICAgICAgIG0uZmVhdHVyZS5zZXQoTWFwQ29uc3RhbnRzLkZlYXR1cmVMYXllck5hbWUsIHRoaXMubGF5ZXJOYW1lKTtcbiAgICAgICAgICByZXR1cm4gbS5mZWF0dXJlO1xuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,59 +0,0 @@
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,60 +0,0 @@
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
- /**
12
- * Represents a cluster layer component.
13
- */
14
- export class ClusterLayerComponent extends DestructibleComponent {
15
- postboy;
16
- factory;
17
- manager = null;
18
- constructor(postboy, factory) {
19
- super();
20
- this.postboy = postboy;
21
- this.factory = factory;
22
- }
23
- _settings = new ClusterLayerSettings();
24
- /**
25
- * Sets the settings for the cluster layer.
26
- *
27
- * @param {ClusterLayerSettings | undefined} value - The settings for the cluster layer.
28
- */
29
- set settings(value) {
30
- if (!value || this._settings.isSame(value))
31
- return;
32
- this._settings = value;
33
- this.initLayer();
34
- }
35
- ngOnInit() {
36
- this.postboy
37
- .sub(MapRenderedEvent)
38
- .pipe(filter((m) => !!m), first())
39
- .subscribe((m) => this.initLayer());
40
- }
41
- onDestroy = () => this.removeLayer();
42
- initLayer() {
43
- this.removeLayer();
44
- this.manager = this.factory.build(this._settings, this.postboy);
45
- this.postboy.fire(new AddLayerCommand(this.manager.layer));
46
- }
47
- removeLayer() {
48
- if (this.manager?.layer)
49
- this.postboy.fire(new RemoveLayerCommand(this.manager.layer));
50
- }
51
- 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 });
52
- 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 });
53
- }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ClusterLayerComponent, decorators: [{
55
- type: Component,
56
- args: [{ selector: 'art-cluster-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
57
- }], ctorParameters: () => [{ type: i1.MapPostboyService }, { type: i2.ClusterLayerFactory }], propDecorators: { settings: [{
58
- type: Input
59
- }] } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFckYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFHaEU7O0dBRUc7QUFPSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEscUJBQXFCO0lBRzFDO0lBQW9DO0lBRmpELE9BQU8sR0FBK0IsSUFBSSxDQUFDO0lBRWxELFlBQW9CLE9BQTBCLEVBQVUsT0FBNEI7UUFDbEYsS0FBSyxFQUFFLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQXFCO0lBRXBGLENBQUM7SUFFRCxTQUFTLEdBQXlCLElBQUksb0JBQW9CLEVBQUUsQ0FBQztJQUU3RDs7OztPQUlHO0lBQ0gsSUFBYSxRQUFRLENBQUMsS0FBdUM7UUFDM0QsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPO1FBQ25ELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsR0FBRyxDQUFDLGdCQUFnQixDQUFDO2FBQ3JCLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDbEIsS0FBSyxFQUFFLENBQ1I7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxTQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRTdCLFNBQVM7UUFDZixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUs7WUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN6RixDQUFDO3VHQXhDVSxxQkFBcUI7MkZBQXJCLHFCQUFxQixrSEFKdEIsRUFBRTs7MkZBSUQscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLG1CQUFtQixZQUNuQixFQUFFLG1CQUVLLHVCQUF1QixDQUFDLE1BQU07d0hBZ0JsQyxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWRkTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyTWFuYWdlciB9IGZyb20gJy4vY2x1c3Rlci1sYXllci5tYW5hZ2VyJztcbmltcG9ydCB7IENsdXN0ZXJMYXllclNldHRpbmdzIH0gZnJvbSAnLi9jbHVzdGVyLWxheWVyLnNldHRpbmdzJztcbmltcG9ydCB7IENsdXN0ZXJMYXllckZhY3RvcnkgfSBmcm9tICcuL2NsdXN0ZXItbGF5ZXItZmFjdG9yeS5zZXJ2aWNlJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgY2x1c3RlciBsYXllciBjb21wb25lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FydC1jbHVzdGVyLWxheWVyJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZVVybHM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2x1c3RlckxheWVyQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIG1hbmFnZXI6IENsdXN0ZXJMYXllck1hbmFnZXIgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlLCBwcml2YXRlIGZhY3Rvcnk6IENsdXN0ZXJMYXllckZhY3RvcnkpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgX3NldHRpbmdzOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyA9IG5ldyBDbHVzdGVyTGF5ZXJTZXR0aW5ncygpO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzZXR0aW5ncyBmb3IgdGhlIGNsdXN0ZXIgbGF5ZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7Q2x1c3RlckxheWVyU2V0dGluZ3MgfCB1bmRlZmluZWR9IHZhbHVlIC0gVGhlIHNldHRpbmdzIGZvciB0aGUgY2x1c3RlciBsYXllci5cbiAgICovXG4gIEBJbnB1dCgpIHNldCBzZXR0aW5ncyh2YWx1ZTogQ2x1c3RlckxheWVyU2V0dGluZ3MgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlIHx8IHRoaXMuX3NldHRpbmdzLmlzU2FtZSh2YWx1ZSkpIHJldHVybjtcbiAgICB0aGlzLl9zZXR0aW5ncyA9IHZhbHVlO1xuICAgIHRoaXMuaW5pdExheWVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBvc3Rib3lcbiAgICAgIC5zdWIoTWFwUmVuZGVyZWRFdmVudClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKG0pID0+ICEhbSksXG4gICAgICAgIGZpcnN0KCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChtKSA9PiB0aGlzLmluaXRMYXllcigpKTtcbiAgfVxuXG4gIG9uRGVzdHJveSA9ICgpID0+IHRoaXMucmVtb3ZlTGF5ZXIoKTtcblxuICBwcml2YXRlIGluaXRMYXllcigpIHtcbiAgICB0aGlzLnJlbW92ZUxheWVyKCk7XG4gICAgdGhpcy5tYW5hZ2VyID0gdGhpcy5mYWN0b3J5LmJ1aWxkKHRoaXMuX3NldHRpbmdzLCB0aGlzLnBvc3Rib3kpO1xuICAgIHRoaXMucG9zdGJveS5maXJlKG5ldyBBZGRMYXllckNvbW1hbmQodGhpcy5tYW5hZ2VyLmxheWVyKSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUxheWVyKCkge1xuICAgIGlmICh0aGlzLm1hbmFnZXI/LmxheWVyKSB0aGlzLnBvc3Rib3kuZmlyZShuZXcgUmVtb3ZlTGF5ZXJDb21tYW5kKHRoaXMubWFuYWdlci5sYXllcikpO1xuICB9XG59XG4iXX0=