@artstesh/maps 5.1.8 → 6.0.2

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 +54 -54
  7. package/dist/esm2022/map/helpers/polygon-style.helper.mjs +53 -53
  8. package/dist/esm2022/map/helpers/stringify-feature.helper.mjs +61 -61
  9. package/dist/esm2022/map/helpers/text-style.helper.mjs +24 -24
  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 +69 -69
  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 +115 -115
  14. package/dist/esm2022/map/map-plate/features/index.mjs +2 -2
  15. package/dist/esm2022/map/map-plate/features/markers/markers.component.mjs +52 -52
  16. package/dist/esm2022/map/map-plate/features/polygons/polygons.component.mjs +52 -52
  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 +60 -60
  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 +144 -144
  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 +111 -111
  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 +119 -119
  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 +42 -42
  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 +54 -54
  90. package/dist/esm2022/src/map/helpers/polygon-style.helper.mjs +53 -53
  91. package/dist/esm2022/src/map/helpers/stringify-feature.helper.mjs +61 -61
  92. package/dist/esm2022/src/map/helpers/text-style.helper.mjs +24 -24
  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 +69 -69
  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 +115 -115
  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 +52 -52
  99. package/dist/esm2022/src/map/map-plate/features/polygons/polygons.component.mjs +52 -52
  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 +60 -60
  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 +144 -144
  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 +111 -111
  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 +119 -119
  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 +42 -42
  167. package/dist/esm2022/src/map/services/message-registrator.service.mjs +82 -82
  168. package/dist/fesm2022/maps-components-src-map.mjs +2460 -2460
  169. package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
  170. package/dist/fesm2022/maps-components.mjs +2462 -2462
  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 +33 -33
  177. package/dist/map/helpers/polygon-style.helper.d.ts +26 -26
  178. package/dist/map/helpers/stringify-feature.helper.d.ts +26 -26
  179. package/dist/map/helpers/text-style.helper.d.ts +15 -15
  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 +36 -36
  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 +85 -85
  184. package/dist/map/map-plate/features/index.d.ts +2 -2
  185. package/dist/map/map-plate/features/markers/markers.component.d.ts +26 -26
  186. package/dist/map/map-plate/features/polygons/polygons.component.d.ts +26 -26
  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 +29 -29
  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 +100 -100
  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 +81 -81
  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 +89 -89
  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 +33 -33
  259. package/dist/src/map/helpers/polygon-style.helper.d.ts +26 -26
  260. package/dist/src/map/helpers/stringify-feature.helper.d.ts +26 -26
  261. package/dist/src/map/helpers/text-style.helper.d.ts +15 -15
  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 +36 -36
  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 +85 -85
  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 +26 -26
  269. package/dist/src/map/map-plate/features/polygons/polygons.component.d.ts +26 -26
  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 +29 -29
  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 +100 -100
  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 +81 -81
  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 +89 -89
  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,54 +1,54 @@
1
- import Style from 'ol/style/Style';
2
- import { Circle, Fill, Stroke } from 'ol/style';
3
- /**
4
- * A helper class for creating polygon styles.
5
- * @class
6
- */
7
- export class PolygonStyleHelper {
8
- /**
9
- * Creates a Style object with the given fill color, stroke color, and stroke width.
10
- *
11
- * @param {string} fill - The fill color in hexadecimal or RGB format.
12
- * @param {string} stroke - The stroke color in hexadecimal or RGB format.
13
- * @param {number} [strokeWidth=1] - The width of the stroke. Defaults to 1.
14
- * @return {Style} The created Style object.
15
- */
16
- static simple(fill, stroke, strokeWidth = 1) {
17
- return new Style({
18
- fill: new Fill({
19
- color: fill,
20
- }),
21
- stroke: new Stroke({
22
- color: stroke,
23
- width: strokeWidth,
24
- }),
25
- });
26
- }
27
- /**
28
- * Creates a new Style object with the given fill, stroke, stroke width, and pin radius.
29
- *
30
- * @param {string} fill - The color to use for the fill of the style.
31
- * @param {string} stroke - The color to use for the stroke of the style.
32
- * @param {number} [strokeWidth=1] - The width of the stroke. Defaults to 1.
33
- * @param {number} [pinRadius=5] - The radius of the circle used as the image for the style. Defaults to 5.
34
- * @returns {Style} - The newly created Style object.
35
- */
36
- static edit(fill, stroke, strokeWidth = 1, pinRadius = 5) {
37
- return new Style({
38
- image: new Circle({
39
- fill: new Fill({
40
- color: stroke,
41
- }),
42
- radius: pinRadius,
43
- }),
44
- fill: new Fill({
45
- color: fill,
46
- }),
47
- stroke: new Stroke({
48
- color: stroke,
49
- width: strokeWidth,
50
- }),
51
- });
52
- }
53
- }
1
+ import Style from 'ol/style/Style';
2
+ import { Circle, Fill, Stroke } from 'ol/style';
3
+ /**
4
+ * A helper class for creating polygon styles.
5
+ * @class
6
+ */
7
+ export class PolygonStyleHelper {
8
+ /**
9
+ * Creates a Style object with the given fill color, stroke color, and stroke width.
10
+ *
11
+ * @param {string} fill - The fill color in hexadecimal or RGB format.
12
+ * @param {string} stroke - The stroke color in hexadecimal or RGB format.
13
+ * @param {number} [strokeWidth=1] - The width of the stroke. Defaults to 1.
14
+ * @return {Style} The created Style object.
15
+ */
16
+ static simple(fill, stroke, strokeWidth = 1) {
17
+ return new Style({
18
+ fill: new Fill({
19
+ color: fill,
20
+ }),
21
+ stroke: new Stroke({
22
+ color: stroke,
23
+ width: strokeWidth,
24
+ }),
25
+ });
26
+ }
27
+ /**
28
+ * Creates a new Style object with the given fill, stroke, stroke width, and pin radius.
29
+ *
30
+ * @param {string} fill - The color to use for the fill of the style.
31
+ * @param {string} stroke - The color to use for the stroke of the style.
32
+ * @param {number} [strokeWidth=1] - The width of the stroke. Defaults to 1.
33
+ * @param {number} [pinRadius=5] - The radius of the circle used as the image for the style. Defaults to 5.
34
+ * @returns {Style} - The newly created Style object.
35
+ */
36
+ static edit(fill, stroke, strokeWidth = 1, pinRadius = 5) {
37
+ return new Style({
38
+ image: new Circle({
39
+ fill: new Fill({
40
+ color: stroke,
41
+ }),
42
+ radius: pinRadius,
43
+ }),
44
+ fill: new Fill({
45
+ color: fill,
46
+ }),
47
+ stroke: new Stroke({
48
+ color: stroke,
49
+ width: strokeWidth,
50
+ }),
51
+ });
52
+ }
53
+ }
54
54
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi1zdHlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL3BvbHlnb24tc3R5bGUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVoRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQVksRUFBRSxNQUFjLEVBQUUsY0FBc0IsQ0FBQztRQUN4RSxPQUFPLElBQUksS0FBSyxDQUFDO1lBQ2YsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUNiLEtBQUssRUFBRSxJQUFJO2FBQ1osQ0FBQztZQUNGLE1BQU0sRUFBRSxJQUFJLE1BQU0sQ0FBQztnQkFDakIsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsS0FBSyxFQUFFLFdBQVc7YUFDbkIsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBWSxFQUFFLE1BQWMsRUFBRSxjQUFzQixDQUFDLEVBQUUsU0FBUyxHQUFHLENBQUM7UUFDckYsT0FBTyxJQUFJLEtBQUssQ0FBQztZQUNmLEtBQUssRUFBRSxJQUFJLE1BQU0sQ0FBQztnQkFDaEIsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO29CQUNiLEtBQUssRUFBRSxNQUFNO2lCQUNkLENBQUM7Z0JBQ0YsTUFBTSxFQUFFLFNBQVM7YUFDbEIsQ0FBQztZQUNGLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQztnQkFDYixLQUFLLEVBQUUsSUFBSTthQUNaLENBQUM7WUFDRixNQUFNLEVBQUUsSUFBSSxNQUFNLENBQUM7Z0JBQ2pCLEtBQUssRUFBRSxNQUFNO2dCQUNiLEtBQUssRUFBRSxXQUFXO2FBQ25CLENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3R5bGUgZnJvbSAnb2wvc3R5bGUvU3R5bGUnO1xuaW1wb3J0IHsgQ2lyY2xlLCBGaWxsLCBTdHJva2UgfSBmcm9tICdvbC9zdHlsZSc7XG5cbi8qKlxuICogQSBoZWxwZXIgY2xhc3MgZm9yIGNyZWF0aW5nIHBvbHlnb24gc3R5bGVzLlxuICogQGNsYXNzXG4gKi9cbmV4cG9ydCBjbGFzcyBQb2x5Z29uU3R5bGVIZWxwZXIge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIFN0eWxlIG9iamVjdCB3aXRoIHRoZSBnaXZlbiBmaWxsIGNvbG9yLCBzdHJva2UgY29sb3IsIGFuZCBzdHJva2Ugd2lkdGguXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxsIC0gVGhlIGZpbGwgY29sb3IgaW4gaGV4YWRlY2ltYWwgb3IgUkdCIGZvcm1hdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0cm9rZSAtIFRoZSBzdHJva2UgY29sb3IgaW4gaGV4YWRlY2ltYWwgb3IgUkdCIGZvcm1hdC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFtzdHJva2VXaWR0aD0xXSAtIFRoZSB3aWR0aCBvZiB0aGUgc3Ryb2tlLiBEZWZhdWx0cyB0byAxLlxuICAgKiBAcmV0dXJuIHtTdHlsZX0gVGhlIGNyZWF0ZWQgU3R5bGUgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzaW1wbGUoZmlsbDogc3RyaW5nLCBzdHJva2U6IHN0cmluZywgc3Ryb2tlV2lkdGg6IG51bWJlciA9IDEpOiBTdHlsZSB7XG4gICAgcmV0dXJuIG5ldyBTdHlsZSh7XG4gICAgICBmaWxsOiBuZXcgRmlsbCh7XG4gICAgICAgIGNvbG9yOiBmaWxsLFxuICAgICAgfSksXG4gICAgICBzdHJva2U6IG5ldyBTdHJva2Uoe1xuICAgICAgICBjb2xvcjogc3Ryb2tlLFxuICAgICAgICB3aWR0aDogc3Ryb2tlV2lkdGgsXG4gICAgICB9KSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IFN0eWxlIG9iamVjdCB3aXRoIHRoZSBnaXZlbiBmaWxsLCBzdHJva2UsIHN0cm9rZSB3aWR0aCwgYW5kIHBpbiByYWRpdXMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxsIC0gVGhlIGNvbG9yIHRvIHVzZSBmb3IgdGhlIGZpbGwgb2YgdGhlIHN0eWxlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3Ryb2tlIC0gVGhlIGNvbG9yIHRvIHVzZSBmb3IgdGhlIHN0cm9rZSBvZiB0aGUgc3R5bGUuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbc3Ryb2tlV2lkdGg9MV0gLSBUaGUgd2lkdGggb2YgdGhlIHN0cm9rZS4gRGVmYXVsdHMgdG8gMS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFtwaW5SYWRpdXM9NV0gLSBUaGUgcmFkaXVzIG9mIHRoZSBjaXJjbGUgdXNlZCBhcyB0aGUgaW1hZ2UgZm9yIHRoZSBzdHlsZS4gRGVmYXVsdHMgdG8gNS5cbiAgICogQHJldHVybnMge1N0eWxlfSAtIFRoZSBuZXdseSBjcmVhdGVkIFN0eWxlIG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZWRpdChmaWxsOiBzdHJpbmcsIHN0cm9rZTogc3RyaW5nLCBzdHJva2VXaWR0aDogbnVtYmVyID0gMSwgcGluUmFkaXVzID0gNSk6IFN0eWxlIHtcbiAgICByZXR1cm4gbmV3IFN0eWxlKHtcbiAgICAgIGltYWdlOiBuZXcgQ2lyY2xlKHtcbiAgICAgICAgZmlsbDogbmV3IEZpbGwoe1xuICAgICAgICAgIGNvbG9yOiBzdHJva2UsXG4gICAgICAgIH0pLFxuICAgICAgICByYWRpdXM6IHBpblJhZGl1cyxcbiAgICAgIH0pLFxuICAgICAgZmlsbDogbmV3IEZpbGwoe1xuICAgICAgICBjb2xvcjogZmlsbCxcbiAgICAgIH0pLFxuICAgICAgc3Ryb2tlOiBuZXcgU3Ryb2tlKHtcbiAgICAgICAgY29sb3I6IHN0cm9rZSxcbiAgICAgICAgd2lkdGg6IHN0cm9rZVdpZHRoLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,61 +1,61 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LWZlYXR1cmUuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvaGVscGVycy9zdHJpbmdpZnktZmVhdHVyZS5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUU3QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxPQUFPLE1BQU0saUJBQWlCLENBQUM7QUFFdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBQzFCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBMEIsRUFBRSxTQUE4QixtQkFBbUIsQ0FBQyxPQUFPO1FBQ3pHLE9BQU8sTUFBTSxLQUFLLG1CQUFtQixDQUFDLE9BQU87WUFDM0MsQ0FBQyxDQUFDLElBQUksT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztZQUNyQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQTBCLEVBQUUsU0FBOEIsbUJBQW1CLENBQUMsT0FBTztRQUN4RyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFhLENBQUM7UUFDaEQsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRyxDQUFDLFNBQVMsRUFBRyxDQUFDO1FBQ2hELE1BQU0sTUFBTSxHQUFHO1lBQ2IsR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQztZQUN4RCxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDO1NBQ3pELENBQUM7UUFDRixNQUFNLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFM0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxPQUFPLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQy9GLE9BQU8sc0JBQXNCLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFXLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWUsRUFBRSxNQUFjO1FBQ3ZELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzVELDBCQUEwQjtRQUMxQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLHFCQUFxQjtRQUNwRCxNQUFNLE9BQU8sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLHFCQUFxQjtRQUNwRCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDL0IsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQy9DLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUNwRCxNQUFNLElBQUksR0FBZSxFQUFFLENBQUM7UUFDNUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ1IsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLGVBQWU7Z0JBQ3RELFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxlQUFlO2FBQ3ZELENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgQ2lyY2xlLCBHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IHsgRmVhdHVyZU91dHB1dEZvcm1hdCB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBHZW9KU09OLCBXS1QgfSBmcm9tICdvbC9mb3JtYXQnO1xuaW1wb3J0IFBvbHlnb24gZnJvbSAnb2wvZ2VvbS9Qb2x5Z29uJztcbmltcG9ydCB7IENvb3JkaW5hdGUgfSBmcm9tICdvbC9jb29yZGluYXRlJztcbmltcG9ydCB7IHRyYW5zZm9ybSB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IHsgTUVURVJTX1BFUl9VTklUIH0gZnJvbSAnb2wvcHJvai9lcHNnNDMyNic7XG5cbi8qKlxuICogQSBoZWxwZXIgY2xhc3MgZm9yIGNvbnZlcnRpbmcgYW5kIHN0cmluZ2lmeSBmZWF0dXJlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFN0cmluZ2lmeUZlYXR1cmVIZWxwZXIge1xuICBwdWJsaWMgc3RhdGljIHBvbHlnb24oZmVhdHVyZTogRmVhdHVyZTxHZW9tZXRyeT4sIGZvcm1hdDogRmVhdHVyZU91dHB1dEZvcm1hdCA9IEZlYXR1cmVPdXRwdXRGb3JtYXQuR2VvSnNvbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGZvcm1hdCA9PT0gRmVhdHVyZU91dHB1dEZvcm1hdC5HZW9Kc29uXG4gICAgICA/IG5ldyBHZW9KU09OKCkud3JpdGVGZWF0dXJlKGZlYXR1cmUpXG4gICAgICA6IG5ldyBXS1QoKS53cml0ZUZlYXR1cmUoZmVhdHVyZSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHBvbHlnb24gZmVhdHVyZSByZXByZXNlbnRpbmcgYSBjaXJjbGUgYmFzZWQgb24gYSBnaXZlbiBmZWF0dXJlIHdpdGggYSBjaXJjbGUgZ2VvbWV0cnkuXG4gICAqXG4gICAqIEBwYXJhbSB7RmVhdHVyZTxHZW9tZXRyeT59IGZlYXR1cmUgLSBUaGUgaW5wdXQgZmVhdHVyZSB3aXRoIGEgY2lyY2xlIGdlb21ldHJ5LlxuICAgKiBAcGFyYW0ge0ZlYXR1cmVPdXRwdXRGb3JtYXR9IGZvcm1hdCAtIFRoZSBmb3JtYXQgZm9yIG91dHB1dHRpbmcgdGhlIHBvbHlnb24gZmVhdHVyZS4gKGRlZmF1bHQ6IEZlYXR1cmVPdXRwdXRGb3JtYXQuR2VvSnNvbilcbiAgICpcbiAgICogQHJldHVybiB7c3RyaW5nfSAtIFRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHBvbHlnb24gZmVhdHVyZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY2lyY2xlKGZlYXR1cmU6IEZlYXR1cmU8R2VvbWV0cnk+LCBmb3JtYXQ6IEZlYXR1cmVPdXRwdXRGb3JtYXQgPSBGZWF0dXJlT3V0cHV0Rm9ybWF0Lkdlb0pzb24pOiBzdHJpbmcge1xuICAgIGNvbnN0IGNpcmNsZSA9IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKSEgYXMgQ2lyY2xlO1xuICAgIGNvbnN0IGV4dCA9IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKSEuZ2V0RXh0ZW50KCkhO1xuICAgIGNvbnN0IGNvb3JkcyA9IFtcbiAgICAgIC4uLnRyYW5zZm9ybShbZXh0WzBdLCBleHRbMV1dLCAnRVBTRzo0MzI2JywgJ0VQU0c6Mzg1NycpLFxuICAgICAgLi4udHJhbnNmb3JtKFtleHRbMl0sIGV4dFszXV0sICdFUFNHOjQzMjYnLCAnRVBTRzozODU3JyksXG4gICAgXTtcbiAgICBjb25zdCByYWRpdXMgPSAoY29vcmRzWzJdIC0gY29vcmRzWzBdKSAvIDI7XG5cbiAgICBjb25zdCBwb2x5Z29uR2VvbSA9IG5ldyBQb2x5Z29uKFN0cmluZ2lmeUZlYXR1cmVIZWxwZXIuZHJhd0NpcmNsZShjaXJjbGUuZ2V0Q2VudGVyKCksIHJhZGl1cykpO1xuICAgIHJldHVybiBTdHJpbmdpZnlGZWF0dXJlSGVscGVyLnBvbHlnb24obmV3IEZlYXR1cmU8R2VvbWV0cnk+KHBvbHlnb25HZW9tKSwgZm9ybWF0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEcmF3IGEgY2lyY2xlIGJhc2VkIG9uIGEgY2VudGVyIHBvaW50IGFuZCByYWRpdXMuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyW119IHBvaW50IC0gVGhlIGNlbnRlciBwb2ludCBjb29yZGluYXRlcyBpbiBFUFNHOjQzMjYgZm9ybWF0LlxuICAgKiBAcGFyYW0ge251bWJlcn0gcmFkaXVzIC0gVGhlIHJhZGl1cyBvZiB0aGUgY2lyY2xlIGluIG1ldGVycy5cbiAgICogQHJldHVybiB7Q29vcmRpbmF0ZVtdW119IC0gVGhlIGNvb3JkaW5hdGVzIG9mIHRoZSBjaXJjbGUgYm91bmRhcnkgaW4gRVBTRzo0MzI2IGZvcm1hdC5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGRyYXdDaXJjbGUocG9pbnQ6IG51bWJlcltdLCByYWRpdXM6IG51bWJlcik6IENvb3JkaW5hdGVbXVtdIHtcbiAgICBjb25zdCB0ZXRldGVtcCA9IHRyYW5zZm9ybShwb2ludCwgJ0VQU0c6NDMyNicsICdFUFNHOjM4NTcnKTtcbiAgICAvLyBjb25zdCB0ZXRldGVtcCA9IHBvaW50O1xuICAgIGNvbnN0IHJhZGlhbnMgPSBNYXRoLlBJIC8gMTgwOyAvLyBkZWdyZWVzIHRvIHJhZGlhbnNcbiAgICBjb25zdCBkZWdyZWVzID0gMTgwIC8gTWF0aC5QSTsgLy8gcmFkaWFucyB0byBkZWdyZWVzXG4gICAgY29uc3QgZWFydGhzcmFkaXVzID0gNjM3ODEzNy4wO1xuICAgIGNvbnN0IHJsYXQgPSAocmFkaXVzIC8gZWFydGhzcmFkaXVzKSAqIGRlZ3JlZXM7XG4gICAgY29uc3QgcmxuZyA9IHJsYXQgLyBNYXRoLmNvcyh0ZXRldGVtcFsxXSAqIHJhZGlhbnMpO1xuICAgIGNvbnN0IGV4dHA6IG51bWJlcltdW10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8PSAzMjsgaSsrKSB7XG4gICAgICBjb25zdCB0aGV0YSA9IE1hdGguUEkgKiAoaSAvIDE2KTtcbiAgICAgIGV4dHAucHVzaChbXG4gICAgICAgIHRldGV0ZW1wWzBdICsgcmxuZyAqIE1hdGguY29zKHRoZXRhKSAqIE1FVEVSU19QRVJfVU5JVCxcbiAgICAgICAgdGV0ZXRlbXBbMV0gKyBybGF0ICogTWF0aC5zaW4odGhldGEpICogTUVURVJTX1BFUl9VTklULFxuICAgICAgXSk7XG4gICAgfVxuICAgIHJldHVybiBbZXh0cC5tYXAoKGUpID0+IHRyYW5zZm9ybShlLCAnRVBTRzozODU3JywgJ0VQU0c6NDMyNicpKV07XG4gIH1cbn1cbiJdfQ==
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,25 +1,25 @@
1
- import { Fill, Text } from 'ol/style';
2
- /**
3
- * Helper class for creating text styles.
4
- */
5
- export class TextStyleHelper {
6
- /**
7
- * Creates a new instance of the Text class with the specified properties.
8
- *
9
- * @param {string} text - The text content of the Text object.
10
- * @param {string} font - The font style of the Text object.
11
- * @param {string} color - The color of the Text object.
12
- * @return {Text} A new instance of the Text class.
13
- */
14
- static get(text, font, color) {
15
- return new Text({
16
- text: text,
17
- font: font,
18
- textAlign: 'center',
19
- fill: new Fill({
20
- color: color,
21
- }),
22
- });
23
- }
24
- }
1
+ import { Fill, Text } from 'ol/style';
2
+ /**
3
+ * Helper class for creating text styles.
4
+ */
5
+ export class TextStyleHelper {
6
+ /**
7
+ * Creates a new instance of the Text class with the specified properties.
8
+ *
9
+ * @param {string} text - The text content of the Text object.
10
+ * @param {string} font - The font style of the Text object.
11
+ * @param {string} color - The color of the Text object.
12
+ * @return {Text} A new instance of the Text class.
13
+ */
14
+ static get(text, font, color) {
15
+ return new Text({
16
+ text: text,
17
+ font: font,
18
+ textAlign: 'center',
19
+ fill: new Fill({
20
+ color: color,
21
+ }),
22
+ });
23
+ }
24
+ }
25
25
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1zdHlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL3RleHQtc3R5bGUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXRDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFDMUI7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWSxFQUFFLElBQVksRUFBRSxLQUFhO1FBQ3pELE9BQU8sSUFBSSxJQUFJLENBQUM7WUFDZCxJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxJQUFJO1lBQ1YsU0FBUyxFQUFFLFFBQVE7WUFDbkIsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUNiLEtBQUssRUFBRSxLQUFLO2FBQ2IsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbGwsIFRleHQgfSBmcm9tICdvbC9zdHlsZSc7XG5cbi8qKlxuICogSGVscGVyIGNsYXNzIGZvciBjcmVhdGluZyB0ZXh0IHN0eWxlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFRleHRTdHlsZUhlbHBlciB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBUZXh0IGNsYXNzIHdpdGggdGhlIHNwZWNpZmllZCBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIFRoZSB0ZXh0IGNvbnRlbnQgb2YgdGhlIFRleHQgb2JqZWN0LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm9udCAtIFRoZSBmb250IHN0eWxlIG9mIHRoZSBUZXh0IG9iamVjdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbG9yIC0gVGhlIGNvbG9yIG9mIHRoZSBUZXh0IG9iamVjdC5cbiAgICogQHJldHVybiB7VGV4dH0gQSBuZXcgaW5zdGFuY2Ugb2YgdGhlIFRleHQgY2xhc3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldCh0ZXh0OiBzdHJpbmcsIGZvbnQ6IHN0cmluZywgY29sb3I6IHN0cmluZyk6IFRleHQge1xuICAgIHJldHVybiBuZXcgVGV4dCh7XG4gICAgICB0ZXh0OiB0ZXh0LFxuICAgICAgZm9udDogZm9udCxcbiAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgICBmaWxsOiBuZXcgRmlsbCh7XG4gICAgICAgIGNvbG9yOiBjb2xvcixcbiAgICAgIH0pLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
- export * from './map-control-zoom/zoom-control.settings';
2
- export * from './map-control-zoom/map-control-zoom.component';
1
+ export * from './map-control-zoom/zoom-control.settings';
2
+ export * from './map-control-zoom/map-control-zoom.component';
3
3
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvY29udHJvbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLCtDQUErQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYXAtY29udHJvbC16b29tL3pvb20tY29udHJvbC5zZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL21hcC1jb250cm9sLXpvb20vbWFwLWNvbnRyb2wtem9vbS5jb21wb25lbnQnO1xuIl19
@@ -1,69 +1,69 @@
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
- .subscribe(MapRenderedEvent.ID)
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.execute(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: "16.2.12", ngImport: i0, type: MapControlZoomComponent, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
61
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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: "16.2.12", ngImport: i0, type: MapControlZoomComponent, decorators: [{
64
- type: Component,
65
- args: [{ selector: 'art-map-control-zoom', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
66
- }], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; }, propDecorators: { settings: [{
67
- type: Input
68
- }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNvbnRyb2wtem9vbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvY29udHJvbHMvbWFwLWNvbnRyb2wtem9vbS9tYXAtY29udHJvbC16b29tLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDREQUE0RCxDQUFDOzs7QUFFekc7Ozs7O0dBS0c7QUFPSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEscUJBQXFCO0lBSTVDO0lBSFosR0FBRyxDQUFPO0lBQ1YsT0FBTyxDQUFRO0lBRXZCLFlBQW9CLE9BQTBCO1FBQzVDLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFFOUMsQ0FBQztJQUVPLFNBQVMsR0FBd0IsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO0lBRW5FOzs7Ozs7Ozs7O09BVUc7SUFDSCxJQUFhLFFBQVEsQ0FBQyxLQUFzQztRQUMxRCxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDbkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU87YUFDVCxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQzthQUNoRCxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xCLEtBQUssRUFBRSxDQUNSO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDZixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDakIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFNBQVMsR0FBRyxHQUFHLEVBQUU7UUFDZixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBRU0sVUFBVTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBUSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7d0dBbERwRix1QkFBdUI7NEZBQXZCLHVCQUF1QixxSEFKeEIsRUFBRTs7NEZBSUQsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLHNCQUFzQixZQUN0QixFQUFFLG1CQUVLLHVCQUF1QixDQUFDLE1BQU07d0dBdUJsQyxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IERlc3RydWN0aWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kZXN0cnVjdGlibGUuY29tcG9uZW50JztcbmltcG9ydCBNYXAgZnJvbSAnb2wvTWFwJztcbmltcG9ydCB7IFpvb21Db250cm9sU2V0dGluZ3MgfSBmcm9tICcuL3pvb20tY29udHJvbC5zZXR0aW5ncyc7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFpvb20gfSBmcm9tICdvbC9jb250cm9sJztcbmltcG9ydCB7IEdlbmVyYXRlWm9vbUNvbnRyb2xFeGVjdXRvciB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9nZW5lcmF0ZS16b29tLWNvbnRyb2wuZXhlY3V0b3InO1xuXG4vKipcbiAqIEBjbGFzc1xuICogQGNsYXNzZGVzYyBSZXByZXNlbnRzIGEgY29tcG9uZW50IGZvciB0aGUgWm9vbSBjb250cm9sIG9uIGEgbWFwLlxuICogQGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50XG4gKiBAaW1wbGVtZW50cyBPbkluaXRcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJ0LW1hcC1jb250cm9sLXpvb20nLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBDb250cm9sWm9vbUNvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuICBwcml2YXRlIGNvbnRyb2w/OiBab29tO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0dGluZ3M6IFpvb21Db250cm9sU2V0dGluZ3MgPSBuZXcgWm9vbUNvbnRyb2xTZXR0aW5ncygpO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzZXR0aW5ncyBmb3IgdGhlIFpvb20gQ29udHJvbC5cbiAgICpcbiAgICogQHBhcmFtIHtab29tQ29udHJvbFNldHRpbmdzIHwgdW5kZWZpbmVkfSB2YWx1ZSAtIFRoZSBuZXcgc2V0dGluZ3MgZm9yIHRoZSBab29tIENvbnRyb2wuXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGlzIG1ldGhvZCBzZXRzIHRoZSBzZXR0aW5ncyBmb3IgdGhlIFpvb20gQ29udHJvbC4gSXQgdGFrZXMgYSBwYXJhbWV0ZXIgYHZhbHVlYCB3aGljaCBzaG91bGQgYmUgYW4gb2JqZWN0IG9mIHR5cGUgYFpvb21Db250cm9sU2V0dGluZ3NgIG9yIGB1bmRlZmluZWRgLlxuICAgKlxuICAgKiBJZiB0aGUgYHZhbHVlYCBpcyBgdW5kZWZpbmVkYCBvciB0aGUgc2FtZSBhcyB0aGUgY3VycmVudCBzZXR0aW5ncywgdGhlIG1ldGhvZCB3aWxsIHJldHVybiB3aXRob3V0IG1ha2luZyBhbnkgY2hhbmdlcy5cbiAgICpcbiAgICovXG4gIEBJbnB1dCgpIHNldCBzZXR0aW5ncyh2YWx1ZTogWm9vbUNvbnRyb2xTZXR0aW5ncyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUgfHwgdGhpcy5fc2V0dGluZ3MuaXNTYW1lKHZhbHVlKSkgcmV0dXJuO1xuICAgIHRoaXMuX3NldHRpbmdzID0gdmFsdWU7XG4gICAgdGhpcy5zZXRDb250cm9sKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBvc3Rib3lcbiAgICAgIC5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKG0pID0+ICEhbSksXG4gICAgICAgIGZpcnN0KCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICAgIHRoaXMubWFwID0gbS5tYXA7XG4gICAgICAgIHRoaXMuc2V0Q29udHJvbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBvbkRlc3Ryb3kgPSAoKSA9PiB7XG4gICAgdGhpcy5lbGltaW5hdGUoKTtcbiAgfTtcblxuICBwcml2YXRlIHNldENvbnRyb2woKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgIHRoaXMuY29udHJvbCA9IHRoaXMucG9zdGJveS5leGVjdXRlKG5ldyBHZW5lcmF0ZVpvb21Db250cm9sRXhlY3V0b3IodGhpcy5fc2V0dGluZ3MpKTtcbiAgICB0aGlzLm1hcC5hZGRDb250cm9sKHRoaXMuY29udHJvbCEpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbGltaW5hdGUgPSAoKSA9PiAhIXRoaXMubWFwICYmICEhdGhpcy5jb250cm9sICYmIHRoaXMubWFwLnJlbW92ZUNvbnRyb2wodGhpcy5jb250cm9sKTtcbn1cbiJdfQ==
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
+ .subscribe(MapRenderedEvent.ID)
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.execute(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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNvbnRyb2wtem9vbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvY29udHJvbHMvbWFwLWNvbnRyb2wtem9vbS9tYXAtY29udHJvbC16b29tLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDREQUE0RCxDQUFDOzs7QUFFekc7Ozs7O0dBS0c7QUFPSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEscUJBQXFCO0lBSTVDO0lBSFosR0FBRyxDQUFPO0lBQ1YsT0FBTyxDQUFRO0lBRXZCLFlBQW9CLE9BQTBCO1FBQzVDLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFFOUMsQ0FBQztJQUVPLFNBQVMsR0FBd0IsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO0lBRW5FOzs7Ozs7Ozs7O09BVUc7SUFDSCxJQUFhLFFBQVEsQ0FBQyxLQUFzQztRQUMxRCxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDbkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU87YUFDVCxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQzthQUNoRCxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xCLEtBQUssRUFBRSxDQUNSO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDZixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDakIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFNBQVMsR0FBRyxHQUFHLEVBQUU7UUFDZixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBRU0sVUFBVTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBUSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7dUdBbERwRix1QkFBdUI7MkZBQXZCLHVCQUF1QixxSEFKeEIsRUFBRTs7MkZBSUQsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLHNCQUFzQixZQUN0QixFQUFFLG1CQUVLLHVCQUF1QixDQUFDLE1BQU07c0ZBdUJsQyxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IERlc3RydWN0aWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kZXN0cnVjdGlibGUuY29tcG9uZW50JztcbmltcG9ydCBNYXAgZnJvbSAnb2wvTWFwJztcbmltcG9ydCB7IFpvb21Db250cm9sU2V0dGluZ3MgfSBmcm9tICcuL3pvb20tY29udHJvbC5zZXR0aW5ncyc7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFpvb20gfSBmcm9tICdvbC9jb250cm9sJztcbmltcG9ydCB7IEdlbmVyYXRlWm9vbUNvbnRyb2xFeGVjdXRvciB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9nZW5lcmF0ZS16b29tLWNvbnRyb2wuZXhlY3V0b3InO1xuXG4vKipcbiAqIEBjbGFzc1xuICogQGNsYXNzZGVzYyBSZXByZXNlbnRzIGEgY29tcG9uZW50IGZvciB0aGUgWm9vbSBjb250cm9sIG9uIGEgbWFwLlxuICogQGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50XG4gKiBAaW1wbGVtZW50cyBPbkluaXRcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJ0LW1hcC1jb250cm9sLXpvb20nLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBDb250cm9sWm9vbUNvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuICBwcml2YXRlIGNvbnRyb2w/OiBab29tO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0dGluZ3M6IFpvb21Db250cm9sU2V0dGluZ3MgPSBuZXcgWm9vbUNvbnRyb2xTZXR0aW5ncygpO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzZXR0aW5ncyBmb3IgdGhlIFpvb20gQ29udHJvbC5cbiAgICpcbiAgICogQHBhcmFtIHtab29tQ29udHJvbFNldHRpbmdzIHwgdW5kZWZpbmVkfSB2YWx1ZSAtIFRoZSBuZXcgc2V0dGluZ3MgZm9yIHRoZSBab29tIENvbnRyb2wuXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGlzIG1ldGhvZCBzZXRzIHRoZSBzZXR0aW5ncyBmb3IgdGhlIFpvb20gQ29udHJvbC4gSXQgdGFrZXMgYSBwYXJhbWV0ZXIgYHZhbHVlYCB3aGljaCBzaG91bGQgYmUgYW4gb2JqZWN0IG9mIHR5cGUgYFpvb21Db250cm9sU2V0dGluZ3NgIG9yIGB1bmRlZmluZWRgLlxuICAgKlxuICAgKiBJZiB0aGUgYHZhbHVlYCBpcyBgdW5kZWZpbmVkYCBvciB0aGUgc2FtZSBhcyB0aGUgY3VycmVudCBzZXR0aW5ncywgdGhlIG1ldGhvZCB3aWxsIHJldHVybiB3aXRob3V0IG1ha2luZyBhbnkgY2hhbmdlcy5cbiAgICpcbiAgICovXG4gIEBJbnB1dCgpIHNldCBzZXR0aW5ncyh2YWx1ZTogWm9vbUNvbnRyb2xTZXR0aW5ncyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUgfHwgdGhpcy5fc2V0dGluZ3MuaXNTYW1lKHZhbHVlKSkgcmV0dXJuO1xuICAgIHRoaXMuX3NldHRpbmdzID0gdmFsdWU7XG4gICAgdGhpcy5zZXRDb250cm9sKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBvc3Rib3lcbiAgICAgIC5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKG0pID0+ICEhbSksXG4gICAgICAgIGZpcnN0KCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICAgIHRoaXMubWFwID0gbS5tYXA7XG4gICAgICAgIHRoaXMuc2V0Q29udHJvbCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBvbkRlc3Ryb3kgPSAoKSA9PiB7XG4gICAgdGhpcy5lbGltaW5hdGUoKTtcbiAgfTtcblxuICBwcml2YXRlIHNldENvbnRyb2woKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgIHRoaXMuY29udHJvbCA9IHRoaXMucG9zdGJveS5leGVjdXRlKG5ldyBHZW5lcmF0ZVpvb21Db250cm9sRXhlY3V0b3IodGhpcy5fc2V0dGluZ3MpKTtcbiAgICB0aGlzLm1hcC5hZGRDb250cm9sKHRoaXMuY29udHJvbCEpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbGltaW5hdGUgPSAoKSA9PiAhIXRoaXMubWFwICYmICEhdGhpcy5jb250cm9sICYmIHRoaXMubWFwLnJlbW92ZUNvbnRyb2wodGhpcy5jb250cm9sKTtcbn1cbiJdfQ==
@@ -1,13 +1,13 @@
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
- }
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
13
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS1jb250cm9sLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvY29udHJvbHMvbWFwLWNvbnRyb2wtem9vbS96b29tLWNvbnRyb2wuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWxDLE1BQU0sT0FBTyxrQkFBa0I7SUFDdEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUE2QjtRQUMvQyxPQUFPLElBQUksSUFBSSxDQUFDO1lBQ2QsY0FBYyxFQUFFLFFBQVEsQ0FBQyxXQUFXO1lBQ3BDLGVBQWUsRUFBRSxRQUFRLENBQUMsWUFBWTtZQUN0QyxlQUFlLEVBQUUsUUFBUSxDQUFDLFdBQVc7WUFDckMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLFlBQVk7WUFDdkMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxZQUFZO1NBQ2pDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFpvb21Db250cm9sU2V0dGluZ3MgfSBmcm9tICcuL3pvb20tY29udHJvbC5zZXR0aW5ncyc7XG5pbXBvcnQgeyBab29tIH0gZnJvbSAnb2wvY29udHJvbCc7XG5cbmV4cG9ydCBjbGFzcyBab29tQ29udHJvbEZhY3Rvcnkge1xuICBwdWJsaWMgc3RhdGljIGJ1aWxkKHNldHRpbmdzOiBab29tQ29udHJvbFNldHRpbmdzKTogWm9vbSB7XG4gICAgcmV0dXJuIG5ldyBab29tKHtcbiAgICAgIHpvb21JblRpcExhYmVsOiBzZXR0aW5ncy56b29tSW5MYWJlbCxcbiAgICAgIHpvb21PdXRUaXBMYWJlbDogc2V0dGluZ3Muem9vbU91dExhYmVsLFxuICAgICAgem9vbUluQ2xhc3NOYW1lOiBzZXR0aW5ncy56b29tSW5DbGFzcyxcbiAgICAgIHpvb21PdXRDbGFzc05hbWU6IHNldHRpbmdzLnpvb21PdXRDbGFzcyxcbiAgICAgIGNsYXNzTmFtZTogc2V0dGluZ3MuY29udHJvbENsYXNzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=