@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,38 +0,0 @@
1
- import { MapClickEvent, MapRenderedEvent } from '../../../messages';
2
- import { FitToFeaturesCommand } from '../../../messages/commands/fit-to-features.command';
3
- import { MapMoveEndEvent } from '../../../messages/events/map-move-end.event';
4
- import { auditTime } from 'rxjs/operators';
5
- import { combineLatest } from 'rxjs';
6
- export class ClusterLayerManager {
7
- settings;
8
- layer;
9
- postboy;
10
- constructor(settings, layer, postboy) {
11
- this.settings = settings;
12
- this.layer = layer;
13
- this.postboy = postboy;
14
- this.observeClick();
15
- this.observeMapMovement();
16
- }
17
- observeMapMovement() {
18
- combineLatest([
19
- this.postboy.sub(MapMoveEndEvent).pipe(auditTime(250)),
20
- this.postboy.sub(MapRenderedEvent),
21
- ]).subscribe(([movement, renderEvent]) => {
22
- this.checkClusterNecessity(renderEvent.map);
23
- });
24
- }
25
- observeClick() {
26
- this.postboy.sub(MapClickEvent).subscribe((m) => {
27
- if ((m.features[this.settings.name]?.length ?? 0) > 1) {
28
- this.postboy.fire(new FitToFeaturesCommand(m.features[this.settings.name], -1));
29
- }
30
- });
31
- }
32
- checkClusterNecessity(map) {
33
- let zoom = map.getView().getZoom() ?? 0;
34
- const distance = zoom > this.settings.clusterCancel ? 0 : this.settings.distance;
35
- this.layer?.getSource()?.setDistance(distance);
36
- }
37
- }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci5tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy9jbHVzdGVyLWxheWVyL2NsdXN0ZXItbGF5ZXIubWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3JDLE1BQU0sT0FBTyxtQkFBbUI7SUFFcEI7SUFDUTtJQUNSO0lBSFYsWUFDVSxRQUE4QixFQUN0QixLQUFxQixFQUM3QixPQUEwQjtRQUYxQixhQUFRLEdBQVIsUUFBUSxDQUFzQjtRQUN0QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUM3QixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUVsQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixhQUFhLENBQUM7WUFDWixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDO1NBQ25DLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM5QyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xGLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxHQUFRO1FBQ3BDLElBQUksSUFBSSxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQ2pGLElBQUksQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBDbGlja0V2ZW50LCBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgVmVjdG9yIGFzIExheWVyIH0gZnJvbSAnb2wvbGF5ZXInO1xuaW1wb3J0IENsdXN0ZXIgZnJvbSAnb2wvc291cmNlL0NsdXN0ZXInO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2NsdXN0ZXItbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgRml0VG9GZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9maXQtdG8tZmVhdHVyZXMuY29tbWFuZCc7XG5pbXBvcnQgeyBNYXBNb3ZlRW5kRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9ldmVudHMvbWFwLW1vdmUtZW5kLmV2ZW50JztcbmltcG9ydCB7IGF1ZGl0VGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1hcCB9IGZyb20gJ29sJztcblxuZXhwb3J0IGNsYXNzIENsdXN0ZXJMYXllck1hbmFnZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNldHRpbmdzOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGF5ZXI6IExheWVyPENsdXN0ZXI+LFxuICAgIHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMub2JzZXJ2ZUNsaWNrKCk7XG4gICAgdGhpcy5vYnNlcnZlTWFwTW92ZW1lbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZU1hcE1vdmVtZW50KCkge1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5wb3N0Ym95LnN1YihNYXBNb3ZlRW5kRXZlbnQpLnBpcGUoYXVkaXRUaW1lKDI1MCkpLFxuICAgICAgdGhpcy5wb3N0Ym95LnN1YihNYXBSZW5kZXJlZEV2ZW50KSxcbiAgICBdKS5zdWJzY3JpYmUoKFttb3ZlbWVudCwgcmVuZGVyRXZlbnRdKSA9PiB7XG4gICAgICB0aGlzLmNoZWNrQ2x1c3Rlck5lY2Vzc2l0eShyZW5kZXJFdmVudC5tYXApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlQ2xpY2soKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YihNYXBDbGlja0V2ZW50KS5zdWJzY3JpYmUoKG0pID0+IHtcbiAgICAgIGlmICgobS5mZWF0dXJlc1t0aGlzLnNldHRpbmdzLm5hbWVdPy5sZW5ndGggPz8gMCkgPiAxKSB7XG4gICAgICAgIHRoaXMucG9zdGJveS5maXJlKG5ldyBGaXRUb0ZlYXR1cmVzQ29tbWFuZChtLmZlYXR1cmVzW3RoaXMuc2V0dGluZ3MubmFtZV0sIC0xKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrQ2x1c3Rlck5lY2Vzc2l0eShtYXA6IE1hcCk6IHZvaWQge1xuICAgIGxldCB6b29tID0gbWFwLmdldFZpZXcoKS5nZXRab29tKCkgPz8gMDtcbiAgICBjb25zdCBkaXN0YW5jZSA9IHpvb20gPiB0aGlzLnNldHRpbmdzLmNsdXN0ZXJDYW5jZWwgPyAwIDogdGhpcy5zZXR0aW5ncy5kaXN0YW5jZTtcbiAgICB0aGlzLmxheWVyPy5nZXRTb3VyY2UoKT8uc2V0RGlzdGFuY2UoZGlzdGFuY2UpO1xuICB9XG59XG4iXX0=
@@ -1,145 +0,0 @@
1
- import { IdGenerator } from '../../../common/id.generator';
2
- export class ClusterLayerSettings {
3
- name = IdGenerator.get();
4
- zIndex = 1;
5
- /**
6
- * The maximum view zoom level (inclusive) at which this layer will be visible.
7
- *
8
- * @type {number}
9
- * @default 19
10
- */
11
- maxZoom = 19;
12
- /**
13
- * The minimum view zoom level (exclusive) at which this layer will be visible.
14
- *
15
- * @type {number}
16
- */
17
- minZoom = 0;
18
- /**
19
- * Distance in pixels within which features will be clustered together.
20
- *
21
- * @type {number}
22
- */
23
- distance = 20;
24
- bbox = false;
25
- clusterCancel = 14;
26
- style;
27
- /**
28
- * Creates a copy of the given ClusterLayerSettings object.
29
- *
30
- * @param {ClusterLayerSettings} model - The ClusterLayerSettings object to be copied.
31
- * @returns {ClusterLayerSettings} - A new ClusterLayerSettings object that is a copy of the original object.
32
- */
33
- static copy(model) {
34
- const result = new ClusterLayerSettings();
35
- result.name = model.name;
36
- result.maxZoom = model.maxZoom;
37
- result.minZoom = model.minZoom;
38
- result.zIndex = model.zIndex;
39
- result.bbox = model.bbox;
40
- result.clusterCancel = model.clusterCancel;
41
- result.distance = model.distance;
42
- result.style = model.style;
43
- return result;
44
- }
45
- /**
46
- * Set the z-index for the ClusterLayer.
47
- *
48
- * @param {number} zIndex - The new z-index for the ClusterLayer.
49
- * @return {ClusterLayerSettings} - The updated ClusterLayerSettings object.
50
- */
51
- setZIndex(zIndex) {
52
- return ClusterLayerSettings.copy({ ...this, zIndex });
53
- }
54
- /**
55
- * Sets the distance value for ClusterLayerSettings.
56
- *
57
- * @param {number} distance - The distance value to be set.
58
- * @return {ClusterLayerSettings} - The modified ClusterLayerSettings object.
59
- */
60
- setDistance(distance) {
61
- return ClusterLayerSettings.copy({ ...this, distance });
62
- }
63
- /**
64
- * Sets the name of the ClusterLayerSettings object.
65
- *
66
- * @param {string} name - The name to set for the ClusterLayerSettings.
67
- * @return {ClusterLayerSettings} - A new ClusterLayerSettings object with the updated name.
68
- */
69
- setName(name) {
70
- return ClusterLayerSettings.copy({ ...this, name });
71
- }
72
- /**
73
- * Sets the maximum zoom level for the Cluster Layer.
74
- *
75
- * @param {number} maxZoom - The maximum zoom level to be set.
76
- * @return {ClusterLayerSettings} - The updated ClusterLayerSettings object.
77
- */
78
- setMaxZoom(maxZoom) {
79
- return ClusterLayerSettings.copy({ ...this, maxZoom });
80
- }
81
- /**
82
- * Sets the minimum zoom level for the ClusterLayerSettings.
83
- *
84
- * @param {number} minZoom - The minimum zoom level to set.
85
- * @return {ClusterLayerSettings} - The updated ClusterLayerSettings object.
86
- */
87
- setMinZoom(minZoom) {
88
- return ClusterLayerSettings.copy({ ...this, minZoom });
89
- }
90
- /**
91
- * Sets the cluster cancel number for the ClusterLayerSettings.
92
- *
93
- * @param {number} clusterCancel - The new cluster cancel number.
94
- * @returns {ClusterLayerSettings} - The updated ClusterLayerSettings object.
95
- */
96
- setClusterCancel(clusterCancel) {
97
- return ClusterLayerSettings.copy({ ...this, clusterCancel });
98
- }
99
- /**
100
- * Sets the value of 'bbox' property in the ClusterLayerSettings object.
101
- *
102
- * @param {boolean} bbox - A boolean value indicating whether to include bounding box calculation in the cluster layer settings.
103
- * @returns {ClusterLayerSettings} - The updated ClusterLayerSettings object with the newly set 'bbox' value.
104
- */
105
- setBbox(bbox) {
106
- return ClusterLayerSettings.copy({ ...this, bbox });
107
- }
108
- /**
109
- * Sets the style for the ClusterLayerSettings.
110
- *
111
- * @param {function} style - A function that takes an array of identified features as input and returns a Style or StyleFunction.
112
- *
113
- * @return {ClusterLayerSettings} - The updated ClusterLayerSettings object with the new style applied.
114
- */
115
- setStyle(style) {
116
- return ClusterLayerSettings.copy({ ...this, style });
117
- }
118
- /**
119
- * Checks if the current ClusterLayerSettings object is the same as the specified model.
120
- *
121
- * @param {ClusterLayerSettings} model - The model to compare with the current object.
122
- *
123
- * @return {boolean} - Returns true if the current ClusterLayerSettings object is the same as the specified model, otherwise false.
124
- */
125
- isSame(model) {
126
- if (this.maxZoom !== model.maxZoom)
127
- return false;
128
- if (this.minZoom !== model.minZoom)
129
- return false;
130
- if (this.zIndex !== model.zIndex)
131
- return false;
132
- if (this.name !== model.name)
133
- return false;
134
- if (this.distance !== model.distance)
135
- return false;
136
- if (this.clusterCancel !== model.clusterCancel)
137
- return false;
138
- if (this.bbox !== model.bbox)
139
- return false;
140
- if (this.style !== model.style)
141
- return false;
142
- return true;
143
- }
144
- }
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvY2x1c3Rlci1sYXllci9jbHVzdGVyLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUkzRCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLElBQUksR0FBVyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDakMsTUFBTSxHQUFXLENBQUMsQ0FBQztJQUNuQjs7Ozs7T0FLRztJQUNILE9BQU8sR0FBVyxFQUFFLENBQUM7SUFDckI7Ozs7T0FJRztJQUNILE9BQU8sR0FBVyxDQUFDLENBQUM7SUFDcEI7Ozs7T0FJRztJQUNILFFBQVEsR0FBVyxFQUFFLENBQUM7SUFDdEIsSUFBSSxHQUFZLEtBQUssQ0FBQztJQUN0QixhQUFhLEdBQVcsRUFBRSxDQUFDO0lBQzNCLEtBQUssQ0FBc0M7SUFFM0M7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQTJCO1FBQzVDLE1BQU0sTUFBTSxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUMxQyxNQUFNLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDekIsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDN0IsTUFBTSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUMzQyxNQUFNLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDakMsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzNCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFNBQVMsQ0FBQyxNQUFjO1FBQ3RCLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxXQUFXLENBQUMsUUFBZ0I7UUFDMUIsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsT0FBZTtRQUN4QixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGdCQUFnQixDQUFDLGFBQXFCO1FBQ3BDLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsSUFBYTtRQUNuQixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFFBQVEsQ0FBQyxLQUF5RDtRQUNoRSxPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxLQUEyQjtRQUN2QyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLE1BQU07WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMvQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMzQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLFFBQVE7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNuRCxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssS0FBSyxDQUFDLGFBQWE7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUM3RCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMzQyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLEtBQUs7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUM3QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElkR2VuZXJhdG9yIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2lkLmdlbmVyYXRvcic7XG5pbXBvcnQgU3R5bGUsIHsgU3R5bGVGdW5jdGlvbiB9IGZyb20gJ29sL3N0eWxlL1N0eWxlJztcbmltcG9ydCB7IElJZGVudGlmaWVkIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ktaWRlbnRpZmllZCc7XG5cbmV4cG9ydCBjbGFzcyBDbHVzdGVyTGF5ZXJTZXR0aW5ncyB7XG4gIG5hbWU6IHN0cmluZyA9IElkR2VuZXJhdG9yLmdldCgpO1xuICB6SW5kZXg6IG51bWJlciA9IDE7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSB2aWV3IHpvb20gbGV2ZWwgKGluY2x1c2l2ZSkgYXQgd2hpY2ggdGhpcyBsYXllciB3aWxsIGJlIHZpc2libGUuXG4gICAqXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqIEBkZWZhdWx0IDE5XG4gICAqL1xuICBtYXhab29tOiBudW1iZXIgPSAxOTtcbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHZpZXcgem9vbSBsZXZlbCAoZXhjbHVzaXZlKSBhdCB3aGljaCB0aGlzIGxheWVyIHdpbGwgYmUgdmlzaWJsZS5cbiAgICpcbiAgICogQHR5cGUge251bWJlcn1cbiAgICovXG4gIG1pblpvb206IG51bWJlciA9IDA7XG4gIC8qKlxuICAgKiBEaXN0YW5jZSBpbiBwaXhlbHMgd2l0aGluIHdoaWNoIGZlYXR1cmVzIHdpbGwgYmUgY2x1c3RlcmVkIHRvZ2V0aGVyLlxuICAgKlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKi9cbiAgZGlzdGFuY2U6IG51bWJlciA9IDIwO1xuICBiYm94OiBib29sZWFuID0gZmFsc2U7XG4gIGNsdXN0ZXJDYW5jZWw6IG51bWJlciA9IDE0O1xuICBzdHlsZT86IChmZWF0dXJlczogSUlkZW50aWZpZWRbXSkgPT4gU3R5bGU7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBjb3B5IG9mIHRoZSBnaXZlbiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyBvYmplY3QuXG4gICAqXG4gICAqIEBwYXJhbSB7Q2x1c3RlckxheWVyU2V0dGluZ3N9IG1vZGVsIC0gVGhlIENsdXN0ZXJMYXllclNldHRpbmdzIG9iamVjdCB0byBiZSBjb3BpZWQuXG4gICAqIEByZXR1cm5zIHtDbHVzdGVyTGF5ZXJTZXR0aW5nc30gLSBBIG5ldyBDbHVzdGVyTGF5ZXJTZXR0aW5ncyBvYmplY3QgdGhhdCBpcyBhIGNvcHkgb2YgdGhlIG9yaWdpbmFsIG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY29weShtb2RlbDogQ2x1c3RlckxheWVyU2V0dGluZ3MpOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IENsdXN0ZXJMYXllclNldHRpbmdzKCk7XG4gICAgcmVzdWx0Lm5hbWUgPSBtb2RlbC5uYW1lO1xuICAgIHJlc3VsdC5tYXhab29tID0gbW9kZWwubWF4Wm9vbTtcbiAgICByZXN1bHQubWluWm9vbSA9IG1vZGVsLm1pblpvb207XG4gICAgcmVzdWx0LnpJbmRleCA9IG1vZGVsLnpJbmRleDtcbiAgICByZXN1bHQuYmJveCA9IG1vZGVsLmJib3g7XG4gICAgcmVzdWx0LmNsdXN0ZXJDYW5jZWwgPSBtb2RlbC5jbHVzdGVyQ2FuY2VsO1xuICAgIHJlc3VsdC5kaXN0YW5jZSA9IG1vZGVsLmRpc3RhbmNlO1xuICAgIHJlc3VsdC5zdHlsZSA9IG1vZGVsLnN0eWxlO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB6LWluZGV4IGZvciB0aGUgQ2x1c3RlckxheWVyLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gekluZGV4IC0gVGhlIG5ldyB6LWluZGV4IGZvciB0aGUgQ2x1c3RlckxheWVyLlxuICAgKiBAcmV0dXJuIHtDbHVzdGVyTGF5ZXJTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCBDbHVzdGVyTGF5ZXJTZXR0aW5ncyBvYmplY3QuXG4gICAqL1xuICBzZXRaSW5kZXgoekluZGV4OiBudW1iZXIpOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIENsdXN0ZXJMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCB6SW5kZXggfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZGlzdGFuY2UgdmFsdWUgZm9yIENsdXN0ZXJMYXllclNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gZGlzdGFuY2UgLSBUaGUgZGlzdGFuY2UgdmFsdWUgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJuIHtDbHVzdGVyTGF5ZXJTZXR0aW5nc30gLSBUaGUgbW9kaWZpZWQgQ2x1c3RlckxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0RGlzdGFuY2UoZGlzdGFuY2U6IG51bWJlcik6IENsdXN0ZXJMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gQ2x1c3RlckxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIGRpc3RhbmNlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG5hbWUgb2YgdGhlIENsdXN0ZXJMYXllclNldHRpbmdzIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBUaGUgbmFtZSB0byBzZXQgZm9yIHRoZSBDbHVzdGVyTGF5ZXJTZXR0aW5ncy5cbiAgICogQHJldHVybiB7Q2x1c3RlckxheWVyU2V0dGluZ3N9IC0gQSBuZXcgQ2x1c3RlckxheWVyU2V0dGluZ3Mgb2JqZWN0IHdpdGggdGhlIHVwZGF0ZWQgbmFtZS5cbiAgICovXG4gIHNldE5hbWUobmFtZTogc3RyaW5nKTogQ2x1c3RlckxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBDbHVzdGVyTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbmFtZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtYXhpbXVtIHpvb20gbGV2ZWwgZm9yIHRoZSBDbHVzdGVyIExheWVyLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Wm9vbSAtIFRoZSBtYXhpbXVtIHpvb20gbGV2ZWwgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJuIHtDbHVzdGVyTGF5ZXJTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCBDbHVzdGVyTGF5ZXJTZXR0aW5ncyBvYmplY3QuXG4gICAqL1xuICBzZXRNYXhab29tKG1heFpvb206IG51bWJlcik6IENsdXN0ZXJMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gQ2x1c3RlckxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG1heFpvb20gfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbWluaW11bSB6b29tIGxldmVsIGZvciB0aGUgQ2x1c3RlckxheWVyU2V0dGluZ3MuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtaW5ab29tIC0gVGhlIG1pbmltdW0gem9vbSBsZXZlbCB0byBzZXQuXG4gICAqIEByZXR1cm4ge0NsdXN0ZXJMYXllclNldHRpbmdzfSAtIFRoZSB1cGRhdGVkIENsdXN0ZXJMYXllclNldHRpbmdzIG9iamVjdC5cbiAgICovXG4gIHNldE1pblpvb20obWluWm9vbTogbnVtYmVyKTogQ2x1c3RlckxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBDbHVzdGVyTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbWluWm9vbSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjbHVzdGVyIGNhbmNlbCBudW1iZXIgZm9yIHRoZSBDbHVzdGVyTGF5ZXJTZXR0aW5ncy5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IGNsdXN0ZXJDYW5jZWwgLSBUaGUgbmV3IGNsdXN0ZXIgY2FuY2VsIG51bWJlci5cbiAgICogQHJldHVybnMge0NsdXN0ZXJMYXllclNldHRpbmdzfSAtIFRoZSB1cGRhdGVkIENsdXN0ZXJMYXllclNldHRpbmdzIG9iamVjdC5cbiAgICovXG4gIHNldENsdXN0ZXJDYW5jZWwoY2x1c3RlckNhbmNlbDogbnVtYmVyKTogQ2x1c3RlckxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBDbHVzdGVyTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgY2x1c3RlckNhbmNlbCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWx1ZSBvZiAnYmJveCcgcHJvcGVydHkgaW4gdGhlIENsdXN0ZXJMYXllclNldHRpbmdzIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtib29sZWFufSBiYm94IC0gQSBib29sZWFuIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0byBpbmNsdWRlIGJvdW5kaW5nIGJveCBjYWxjdWxhdGlvbiBpbiB0aGUgY2x1c3RlciBsYXllciBzZXR0aW5ncy5cbiAgICogQHJldHVybnMge0NsdXN0ZXJMYXllclNldHRpbmdzfSAtIFRoZSB1cGRhdGVkIENsdXN0ZXJMYXllclNldHRpbmdzIG9iamVjdCB3aXRoIHRoZSBuZXdseSBzZXQgJ2Jib3gnIHZhbHVlLlxuICAgKi9cbiAgc2V0QmJveChiYm94OiBib29sZWFuKTogQ2x1c3RlckxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBDbHVzdGVyTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgYmJveCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzdHlsZSBmb3IgdGhlIENsdXN0ZXJMYXllclNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBzdHlsZSAtIEEgZnVuY3Rpb24gdGhhdCB0YWtlcyBhbiBhcnJheSBvZiBpZGVudGlmaWVkIGZlYXR1cmVzIGFzIGlucHV0IGFuZCByZXR1cm5zIGEgU3R5bGUgb3IgU3R5bGVGdW5jdGlvbi5cbiAgICpcbiAgICogQHJldHVybiB7Q2x1c3RlckxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgQ2x1c3RlckxheWVyU2V0dGluZ3Mgb2JqZWN0IHdpdGggdGhlIG5ldyBzdHlsZSBhcHBsaWVkLlxuICAgKi9cbiAgc2V0U3R5bGUoc3R5bGU6IChmZWF0dXJlczogSUlkZW50aWZpZWRbXSkgPT4gU3R5bGUgfCBTdHlsZUZ1bmN0aW9uKTogQ2x1c3RlckxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBDbHVzdGVyTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgc3R5bGUgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjdXJyZW50IENsdXN0ZXJMYXllclNldHRpbmdzIG9iamVjdCBpcyB0aGUgc2FtZSBhcyB0aGUgc3BlY2lmaWVkIG1vZGVsLlxuICAgKlxuICAgKiBAcGFyYW0ge0NsdXN0ZXJMYXllclNldHRpbmdzfSBtb2RlbCAtIFRoZSBtb2RlbCB0byBjb21wYXJlIHdpdGggdGhlIGN1cnJlbnQgb2JqZWN0LlxuICAgKlxuICAgKiBAcmV0dXJuIHtib29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY3VycmVudCBDbHVzdGVyTGF5ZXJTZXR0aW5ncyBvYmplY3QgaXMgdGhlIHNhbWUgYXMgdGhlIHNwZWNpZmllZCBtb2RlbCwgb3RoZXJ3aXNlIGZhbHNlLlxuICAgKi9cbiAgcHVibGljIGlzU2FtZShtb2RlbDogQ2x1c3RlckxheWVyU2V0dGluZ3MpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5tYXhab29tICE9PSBtb2RlbC5tYXhab29tKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubWluWm9vbSAhPT0gbW9kZWwubWluWm9vbSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnpJbmRleCAhPT0gbW9kZWwuekluZGV4KSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubmFtZSAhPT0gbW9kZWwubmFtZSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLmRpc3RhbmNlICE9PSBtb2RlbC5kaXN0YW5jZSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLmNsdXN0ZXJDYW5jZWwgIT09IG1vZGVsLmNsdXN0ZXJDYW5jZWwpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5iYm94ICE9PSBtb2RlbC5iYm94KSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuc3R5bGUgIT09IG1vZGVsLnN0eWxlKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
@@ -1,52 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { MapRenderedEvent } from '../../../messages';
3
- import { FeatureLayerSettings } from './feature-layer.settings';
4
- import { DestructibleComponent } from '../../../common/destructible.component';
5
- import { AddLayerCommand } from '../../../messages/commands/add-layer.command';
6
- import { filter, first } from 'rxjs/operators';
7
- import { RemoveLayerCommand } from '../../../messages/commands/remove-layer.command';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../../../services/map-postboy.service";
10
- import * as i2 from "./feature-layer.factory";
11
- export class FeatureLayerComponent extends DestructibleComponent {
12
- postboy;
13
- factory;
14
- layer = null;
15
- constructor(postboy, factory) {
16
- super();
17
- this.postboy = postboy;
18
- this.factory = factory;
19
- }
20
- _settings = new FeatureLayerSettings();
21
- set settings(value) {
22
- if (!value || this._settings.isSame(value))
23
- return;
24
- this._settings = value;
25
- this.initLayer();
26
- }
27
- ngOnInit() {
28
- this.postboy
29
- .sub(MapRenderedEvent)
30
- .pipe(filter((m) => !!m), first())
31
- .subscribe((m) => this.initLayer());
32
- }
33
- onDestroy = () => this.removeLayer();
34
- initLayer() {
35
- this.removeLayer();
36
- this.layer = this.factory.build(this._settings);
37
- this.postboy.fire(new AddLayerCommand(this.layer));
38
- }
39
- removeLayer() {
40
- if (this.layer)
41
- this.postboy.fire(new RemoveLayerCommand(this.layer));
42
- }
43
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FeatureLayerComponent, deps: [{ token: i1.MapPostboyService }, { token: i2.FeatureLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
44
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: FeatureLayerComponent, selector: "art-feature-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
- }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FeatureLayerComponent, decorators: [{
47
- type: Component,
48
- args: [{ selector: 'art-feature-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
49
- }], ctorParameters: () => [{ type: i1.MapPostboyService }, { type: i2.FeatureLayerFactory }], propDecorators: { settings: [{
50
- type: Input
51
- }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1sYXllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2ZlYXR1cmUtbGF5ZXIvZmVhdHVyZS1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7QUFTckYsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHFCQUFxQjtJQUcxQztJQUFvQztJQUZqRCxLQUFLLEdBQW9DLElBQUksQ0FBQztJQUVyRCxZQUFvQixPQUEwQixFQUFVLE9BQTRCO1FBQ2xGLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFxQjtJQUVwRixDQUFDO0lBRUQsU0FBUyxHQUF5QixJQUFJLG9CQUFvQixFQUFFLENBQUM7SUFFN0QsSUFBYSxRQUFRLENBQUMsS0FBdUM7UUFDM0QsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPO1FBQ25ELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsR0FBRyxDQUFDLGdCQUFnQixDQUFDO2FBQ3JCLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDbEIsS0FBSyxFQUFFLENBQ1I7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxTQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRTdCLFNBQVM7UUFDZixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQzt1R0FuQ1UscUJBQXFCOzJGQUFyQixxQkFBcUIsa0hBSnRCLEVBQUU7OzJGQUlELHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDRSxtQkFBbUIsWUFDbkIsRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNO3dIQVdsQyxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgVmVjdG9yU291cmNlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xuaW1wb3J0IHsgVmVjdG9yIGFzIExheWVyIH0gZnJvbSAnb2wvbGF5ZXInO1xuaW1wb3J0IHsgRmVhdHVyZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2ZlYXR1cmUtbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWRkTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFJlbW92ZUxheWVyQ29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS1sYXllci5jb21tYW5kJztcbmltcG9ydCB7IEZlYXR1cmVMYXllckZhY3RvcnkgfSBmcm9tICcuL2ZlYXR1cmUtbGF5ZXIuZmFjdG9yeSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FydC1mZWF0dXJlLWxheWVyJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZVVybHM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRmVhdHVyZUxheWVyQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGxheWVyOiBMYXllcjxWZWN0b3JTb3VyY2U8YW55Pj4gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlLCBwcml2YXRlIGZhY3Rvcnk6IEZlYXR1cmVMYXllckZhY3RvcnkpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgX3NldHRpbmdzOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyA9IG5ldyBGZWF0dXJlTGF5ZXJTZXR0aW5ncygpO1xuXG4gIEBJbnB1dCgpIHNldCBzZXR0aW5ncyh2YWx1ZTogRmVhdHVyZUxheWVyU2V0dGluZ3MgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlIHx8IHRoaXMuX3NldHRpbmdzLmlzU2FtZSh2YWx1ZSkpIHJldHVybjtcbiAgICB0aGlzLl9zZXR0aW5ncyA9IHZhbHVlO1xuICAgIHRoaXMuaW5pdExheWVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBvc3Rib3lcbiAgICAgIC5zdWIoTWFwUmVuZGVyZWRFdmVudClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKG0pID0+ICEhbSksXG4gICAgICAgIGZpcnN0KCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChtKSA9PiB0aGlzLmluaXRMYXllcigpKTtcbiAgfVxuXG4gIG9uRGVzdHJveSA9ICgpID0+IHRoaXMucmVtb3ZlTGF5ZXIoKTtcblxuICBwcml2YXRlIGluaXRMYXllcigpIHtcbiAgICB0aGlzLnJlbW92ZUxheWVyKCk7XG4gICAgdGhpcy5sYXllciA9IHRoaXMuZmFjdG9yeS5idWlsZCh0aGlzLl9zZXR0aW5ncyk7XG4gICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IEFkZExheWVyQ29tbWFuZCh0aGlzLmxheWVyKSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUxheWVyKCkge1xuICAgIGlmICh0aGlzLmxheWVyKSB0aGlzLnBvc3Rib3kuZmlyZShuZXcgUmVtb3ZlTGF5ZXJDb21tYW5kKHRoaXMubGF5ZXIpKTtcbiAgfVxufVxuIl19
@@ -1,28 +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 * as i0 from "@angular/core";
5
- export class FeatureLayerFactory {
6
- build(settings) {
7
- const source = new Source({});
8
- const layer = new Layer({
9
- source: source,
10
- maxZoom: settings.maxZoom,
11
- minZoom: settings.minZoom,
12
- zIndex: settings.zIndex,
13
- });
14
- if (settings.style)
15
- layer.setStyle(settings.style);
16
- layer.set('name', settings.name);
17
- return layer;
18
- }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FeatureLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
20
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FeatureLayerFactory, providedIn: 'root' });
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FeatureLayerFactory, decorators: [{
23
- type: Injectable,
24
- args: [{
25
- providedIn: 'root',
26
- }]
27
- }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1sYXllci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy9mZWF0dXJlLWxheWVyL2ZlYXR1cmUtbGF5ZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxNQUFNLElBQUksTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxNQUFNLElBQUksS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQU0zQyxNQUFNLE9BQU8sbUJBQW1CO0lBQ3ZCLEtBQUssQ0FBQyxRQUE4QjtRQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5QixNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQztZQUN0QixNQUFNLEVBQUUsTUFBTTtZQUNkLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTztZQUN6QixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU87WUFDekIsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNO1NBQ3hCLENBQUMsQ0FBQztRQUNILElBQUksUUFBUSxDQUFDLEtBQUs7WUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO3VHQVpVLG1CQUFtQjsyR0FBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGZWF0dXJlTGF5ZXJTZXR0aW5ncyB9IGZyb20gJy4vZmVhdHVyZS1sYXllci5zZXR0aW5ncyc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgU291cmNlIH0gZnJvbSAnb2wvc291cmNlJztcbmltcG9ydCB7IFZlY3RvciBhcyBMYXllciB9IGZyb20gJ29sL2xheWVyJztcbmltcG9ydCBWZWN0b3JTb3VyY2UgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlTGF5ZXJGYWN0b3J5IHtcbiAgcHVibGljIGJ1aWxkKHNldHRpbmdzOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyk6IExheWVyPFZlY3RvclNvdXJjZTxhbnk+PiB7XG4gICAgY29uc3Qgc291cmNlID0gbmV3IFNvdXJjZSh7fSk7XG4gICAgY29uc3QgbGF5ZXIgPSBuZXcgTGF5ZXIoe1xuICAgICAgc291cmNlOiBzb3VyY2UsXG4gICAgICBtYXhab29tOiBzZXR0aW5ncy5tYXhab29tLFxuICAgICAgbWluWm9vbTogc2V0dGluZ3MubWluWm9vbSxcbiAgICAgIHpJbmRleDogc2V0dGluZ3MuekluZGV4LFxuICAgIH0pO1xuICAgIGlmIChzZXR0aW5ncy5zdHlsZSkgbGF5ZXIuc2V0U3R5bGUoc2V0dGluZ3Muc3R5bGUpO1xuICAgIGxheWVyLnNldCgnbmFtZScsIHNldHRpbmdzLm5hbWUpO1xuICAgIHJldHVybiBsYXllcjtcbiAgfVxufVxuIl19
@@ -1,139 +0,0 @@
1
- import { IdGenerator } from '../../../common/id.generator';
2
- /**
3
- * A layer that is responsible for showing and styling main features on the map, such as markers and polygons
4
- */
5
- export class FeatureLayerSettings {
6
- /**
7
- * The identifier of the field, it is autogenerated by default, but can be set manually
8
- */
9
- name = IdGenerator.get();
10
- /**
11
- * The priority of showing - layers with higher zIndex cover others in case of collisions
12
- */
13
- zIndex = 1;
14
- /**
15
- The maximum view zoom level (inclusive) at which this layer will be visible.
16
-
17
- @type {number}
18
- @default 19
19
- */
20
- maxZoom = 19;
21
- /**
22
- The minimum view zoom level (exclusive) at which this layer will be visible.
23
-
24
- @type {number}
25
- */
26
- minZoom = 0;
27
- /**
28
- * The styling definition of layer's features. The easiest way is to use {@link PolygonStyleHelper},{@link MarkerStyleHelper}
29
- */
30
- style;
31
- /**
32
- * Defines the style applied to a feature when it is hovered over.
33
- *
34
- * This property can accept either a static style object or a dynamic style function.
35
- * When a `StyleFunction` is provided, it will determine the style dynamically
36
- * based on the feature being hovered.
37
- *
38
- * The style is applied temporarily, specifically for the hovered feature,
39
- * and overrides any default or predefined styles for that feature.
40
- *
41
- * Optional property.
42
- *
43
- * @type {(Style | StyleFunction)}
44
- */
45
- featureHoverStyle;
46
- /**
47
- * Copies the given FeatureLayerSettings object
48
- *
49
- * @param {FeatureLayerSettings} model - The FeatureLayerSettings object to be copied
50
- * @returns {FeatureLayerSettings} - A copy of the FeatureLayerSettings object
51
- */
52
- static copy(model) {
53
- const result = new FeatureLayerSettings();
54
- result.name = model.name;
55
- result.maxZoom = model.maxZoom;
56
- result.minZoom = model.minZoom;
57
- result.zIndex = model.zIndex;
58
- result.style = model.style;
59
- result.featureHoverStyle = model.featureHoverStyle;
60
- return result;
61
- }
62
- /**
63
- * Sets the z-index value for the FeatureLayerSettings object.
64
- *
65
- * @param {number} zIndex - The new z-index value.
66
- * @return {FeatureLayerSettings} - The updated FeatureLayerSettings object.
67
- */
68
- setZIndex(zIndex) {
69
- return FeatureLayerSettings.copy({ ...this, zIndex });
70
- }
71
- /**
72
- * Sets the name of the FeatureLayerSettings.
73
- *
74
- * @param {string} name - The name to set for the FeatureLayerSettings.
75
- *
76
- * @return {FeatureLayerSettings} - The updated FeatureLayerSettings object with the new name.
77
- */
78
- setName(name) {
79
- return FeatureLayerSettings.copy({ ...this, name });
80
- }
81
- /**
82
- * Sets the maximum zoom level for the FeatureLayerSettings.
83
- *
84
- * @param {number} maxZoom - The maximum zoom level.
85
- * @return {FeatureLayerSettings} - The updated FeatureLayerSettings object.
86
- */
87
- setMaxZoom(maxZoom) {
88
- return FeatureLayerSettings.copy({ ...this, maxZoom });
89
- }
90
- /**
91
- * Sets the minimum zoom level for the feature layer.
92
- *
93
- * @param {number} minZoom The minimum zoom level to be set.
94
- * @returns {FeatureLayerSettings} The updated feature layer settings object.
95
- */
96
- setMinZoom(minZoom) {
97
- return FeatureLayerSettings.copy({ ...this, minZoom });
98
- }
99
- /**
100
- * Sets the style for the FeatureLayerSettings object.
101
- *
102
- * @param {Style | StyleFunction} style - The new style to set. It can be either a Style object or a StyleFunction.
103
- * @return {FeatureLayerSettings} - The updated FeatureLayerSettings object with the new style.
104
- */
105
- setStyle(style) {
106
- return FeatureLayerSettings.copy({ ...this, style });
107
- }
108
- /**
109
- * Sets the style to apply to features when they are hovered over.
110
- *
111
- * @param {Style | StyleFunction} featureHoverStyle - The style or style function to use for hovered features.
112
- * @return {FeatureLayerSettings} A new instance of FeatureLayerSettings with the updated hover style.
113
- */
114
- setFeatureHoverStyle(featureHoverStyle) {
115
- return FeatureLayerSettings.copy({ ...this, featureHoverStyle });
116
- }
117
- /**
118
- * Checks if the given FeatureLayerSettings object is identical to the current object.
119
- *
120
- * @param {FeatureLayerSettings} model - The FeatureLayerSettings object to compare with.
121
- * @return {boolean} - Returns true if the given object is identical to the current object, otherwise false.
122
- */
123
- isSame(model) {
124
- if (this.maxZoom !== model.maxZoom)
125
- return false;
126
- if (this.minZoom !== model.minZoom)
127
- return false;
128
- if (this.zIndex !== model.zIndex)
129
- return false;
130
- if (this.name !== model.name)
131
- return false;
132
- if (this.style !== model.style)
133
- return false;
134
- if (this.featureHoverStyle !== model.featureHoverStyle)
135
- return false;
136
- return true;
137
- }
138
- }
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvZmVhdHVyZS1sYXllci9mZWF0dXJlLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUzRDs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBb0I7SUFDL0I7O09BRUc7SUFDSCxJQUFJLEdBQVcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2pDOztPQUVHO0lBQ0gsTUFBTSxHQUFXLENBQUMsQ0FBQztJQUNuQjs7Ozs7T0FLRztJQUNILE9BQU8sR0FBVyxFQUFFLENBQUM7SUFDckI7Ozs7T0FJRztJQUNILE9BQU8sR0FBVyxDQUFDLENBQUM7SUFDcEI7O09BRUc7SUFDSCxLQUFLLENBQXlCO0lBQzlCOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxpQkFBaUIsQ0FBeUI7SUFFMUM7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQTJCO1FBQzVDLE1BQU0sTUFBTSxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUMxQyxNQUFNLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDekIsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDN0IsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7UUFDbkQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLE1BQWM7UUFDdEIsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxPQUFPLENBQUMsSUFBWTtRQUNsQixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FBQyxPQUFlO1FBQ3hCLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxRQUFRLENBQUMsS0FBNEI7UUFDbkMsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRDs7Ozs7T0FLRztJQUNILG9CQUFvQixDQUFDLGlCQUF3QztRQUMzRCxPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsS0FBMkI7UUFDdkMsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxNQUFNO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDL0MsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDM0MsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxLQUFLO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDN0MsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssS0FBSyxDQUFDLGlCQUFpQjtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0eWxlLCB7IFN0eWxlRnVuY3Rpb24gfSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XG5pbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9pZC5nZW5lcmF0b3InO1xuXG4vKipcbiAqIEEgbGF5ZXIgdGhhdCBpcyByZXNwb25zaWJsZSBmb3Igc2hvd2luZyBhbmQgc3R5bGluZyBtYWluIGZlYXR1cmVzIG9uIHRoZSBtYXAsIHN1Y2ggYXMgbWFya2VycyBhbmQgcG9seWdvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIEZlYXR1cmVMYXllclNldHRpbmdzIHtcbiAgLyoqXG4gICAqIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBmaWVsZCwgaXQgaXMgYXV0b2dlbmVyYXRlZCBieSBkZWZhdWx0LCBidXQgY2FuIGJlIHNldCBtYW51YWxseVxuICAgKi9cbiAgbmFtZTogc3RyaW5nID0gSWRHZW5lcmF0b3IuZ2V0KCk7XG4gIC8qKlxuICAgKiBUaGUgcHJpb3JpdHkgb2Ygc2hvd2luZyAtIGxheWVycyB3aXRoIGhpZ2hlciB6SW5kZXggY292ZXIgb3RoZXJzIGluIGNhc2Ugb2YgY29sbGlzaW9uc1xuICAgKi9cbiAgekluZGV4OiBudW1iZXIgPSAxO1xuICAvKipcbiAgIFRoZSBtYXhpbXVtIHZpZXcgem9vbSBsZXZlbCAoaW5jbHVzaXZlKSBhdCB3aGljaCB0aGlzIGxheWVyIHdpbGwgYmUgdmlzaWJsZS5cblxuICAgQHR5cGUge251bWJlcn1cbiAgIEBkZWZhdWx0IDE5XG4gICAqL1xuICBtYXhab29tOiBudW1iZXIgPSAxOTtcbiAgLyoqXG4gICBUaGUgbWluaW11bSB2aWV3IHpvb20gbGV2ZWwgKGV4Y2x1c2l2ZSkgYXQgd2hpY2ggdGhpcyBsYXllciB3aWxsIGJlIHZpc2libGUuXG5cbiAgIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBtaW5ab29tOiBudW1iZXIgPSAwO1xuICAvKipcbiAgICogVGhlIHN0eWxpbmcgZGVmaW5pdGlvbiBvZiBsYXllcidzIGZlYXR1cmVzLiBUaGUgZWFzaWVzdCB3YXkgaXMgdG8gdXNlIHtAbGluayBQb2x5Z29uU3R5bGVIZWxwZXJ9LHtAbGluayBNYXJrZXJTdHlsZUhlbHBlcn1cbiAgICovXG4gIHN0eWxlPzogU3R5bGUgfCBTdHlsZUZ1bmN0aW9uO1xuICAvKipcbiAgICogRGVmaW5lcyB0aGUgc3R5bGUgYXBwbGllZCB0byBhIGZlYXR1cmUgd2hlbiBpdCBpcyBob3ZlcmVkIG92ZXIuXG4gICAqXG4gICAqIFRoaXMgcHJvcGVydHkgY2FuIGFjY2VwdCBlaXRoZXIgYSBzdGF0aWMgc3R5bGUgb2JqZWN0IG9yIGEgZHluYW1pYyBzdHlsZSBmdW5jdGlvbi5cbiAgICogV2hlbiBhIGBTdHlsZUZ1bmN0aW9uYCBpcyBwcm92aWRlZCwgaXQgd2lsbCBkZXRlcm1pbmUgdGhlIHN0eWxlIGR5bmFtaWNhbGx5XG4gICAqIGJhc2VkIG9uIHRoZSBmZWF0dXJlIGJlaW5nIGhvdmVyZWQuXG4gICAqXG4gICAqIFRoZSBzdHlsZSBpcyBhcHBsaWVkIHRlbXBvcmFyaWx5LCBzcGVjaWZpY2FsbHkgZm9yIHRoZSBob3ZlcmVkIGZlYXR1cmUsXG4gICAqIGFuZCBvdmVycmlkZXMgYW55IGRlZmF1bHQgb3IgcHJlZGVmaW5lZCBzdHlsZXMgZm9yIHRoYXQgZmVhdHVyZS5cbiAgICpcbiAgICogT3B0aW9uYWwgcHJvcGVydHkuXG4gICAqXG4gICAqIEB0eXBlIHsoU3R5bGUgfCBTdHlsZUZ1bmN0aW9uKX1cbiAgICovXG4gIGZlYXR1cmVIb3ZlclN0eWxlPzogU3R5bGUgfCBTdHlsZUZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBDb3BpZXMgdGhlIGdpdmVuIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdFxuICAgKlxuICAgKiBAcGFyYW0ge0ZlYXR1cmVMYXllclNldHRpbmdzfSBtb2RlbCAtIFRoZSBGZWF0dXJlTGF5ZXJTZXR0aW5ncyBvYmplY3QgdG8gYmUgY29waWVkXG4gICAqIEByZXR1cm5zIHtGZWF0dXJlTGF5ZXJTZXR0aW5nc30gLSBBIGNvcHkgb2YgdGhlIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjb3B5KG1vZGVsOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyk6IEZlYXR1cmVMYXllclNldHRpbmdzIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgRmVhdHVyZUxheWVyU2V0dGluZ3MoKTtcbiAgICByZXN1bHQubmFtZSA9IG1vZGVsLm5hbWU7XG4gICAgcmVzdWx0Lm1heFpvb20gPSBtb2RlbC5tYXhab29tO1xuICAgIHJlc3VsdC5taW5ab29tID0gbW9kZWwubWluWm9vbTtcbiAgICByZXN1bHQuekluZGV4ID0gbW9kZWwuekluZGV4O1xuICAgIHJlc3VsdC5zdHlsZSA9IG1vZGVsLnN0eWxlO1xuICAgIHJlc3VsdC5mZWF0dXJlSG92ZXJTdHlsZSA9IG1vZGVsLmZlYXR1cmVIb3ZlclN0eWxlO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgei1pbmRleCB2YWx1ZSBmb3IgdGhlIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHpJbmRleCAtIFRoZSBuZXcgei1pbmRleCB2YWx1ZS5cbiAgICogQHJldHVybiB7RmVhdHVyZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgRmVhdHVyZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0WkluZGV4KHpJbmRleDogbnVtYmVyKTogRmVhdHVyZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBGZWF0dXJlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgekluZGV4IH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG5hbWUgb2YgdGhlIEZlYXR1cmVMYXllclNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIFRoZSBuYW1lIHRvIHNldCBmb3IgdGhlIEZlYXR1cmVMYXllclNldHRpbmdzLlxuICAgKlxuICAgKiBAcmV0dXJuIHtGZWF0dXJlTGF5ZXJTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCBGZWF0dXJlTGF5ZXJTZXR0aW5ncyBvYmplY3Qgd2l0aCB0aGUgbmV3IG5hbWUuXG4gICAqL1xuICBzZXROYW1lKG5hbWU6IHN0cmluZyk6IEZlYXR1cmVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gRmVhdHVyZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG5hbWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbWF4aW11bSB6b29tIGxldmVsIGZvciB0aGUgRmVhdHVyZUxheWVyU2V0dGluZ3MuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtYXhab29tIC0gVGhlIG1heGltdW0gem9vbSBsZXZlbC5cbiAgICogQHJldHVybiB7RmVhdHVyZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgRmVhdHVyZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0TWF4Wm9vbShtYXhab29tOiBudW1iZXIpOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIEZlYXR1cmVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtYXhab29tIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG1pbmltdW0gem9vbSBsZXZlbCBmb3IgdGhlIGZlYXR1cmUgbGF5ZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtaW5ab29tIFRoZSBtaW5pbXVtIHpvb20gbGV2ZWwgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJucyB7RmVhdHVyZUxheWVyU2V0dGluZ3N9IFRoZSB1cGRhdGVkIGZlYXR1cmUgbGF5ZXIgc2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0TWluWm9vbShtaW5ab29tOiBudW1iZXIpOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIEZlYXR1cmVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtaW5ab29tIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHN0eWxlIGZvciB0aGUgRmVhdHVyZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge1N0eWxlIHwgU3R5bGVGdW5jdGlvbn0gc3R5bGUgLSBUaGUgbmV3IHN0eWxlIHRvIHNldC4gSXQgY2FuIGJlIGVpdGhlciBhIFN0eWxlIG9iamVjdCBvciBhIFN0eWxlRnVuY3Rpb24uXG4gICAqIEByZXR1cm4ge0ZlYXR1cmVMYXllclNldHRpbmdzfSAtIFRoZSB1cGRhdGVkIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdCB3aXRoIHRoZSBuZXcgc3R5bGUuXG4gICAqL1xuICBzZXRTdHlsZShzdHlsZTogU3R5bGUgfCBTdHlsZUZ1bmN0aW9uKTogRmVhdHVyZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBGZWF0dXJlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgc3R5bGUgfSk7XG4gIH1cbiAgLyoqXG4gICAqIFNldHMgdGhlIHN0eWxlIHRvIGFwcGx5IHRvIGZlYXR1cmVzIHdoZW4gdGhleSBhcmUgaG92ZXJlZCBvdmVyLlxuICAgKlxuICAgKiBAcGFyYW0ge1N0eWxlIHwgU3R5bGVGdW5jdGlvbn0gZmVhdHVyZUhvdmVyU3R5bGUgLSBUaGUgc3R5bGUgb3Igc3R5bGUgZnVuY3Rpb24gdG8gdXNlIGZvciBob3ZlcmVkIGZlYXR1cmVzLlxuICAgKiBAcmV0dXJuIHtGZWF0dXJlTGF5ZXJTZXR0aW5nc30gQSBuZXcgaW5zdGFuY2Ugb2YgRmVhdHVyZUxheWVyU2V0dGluZ3Mgd2l0aCB0aGUgdXBkYXRlZCBob3ZlciBzdHlsZS5cbiAgICovXG4gIHNldEZlYXR1cmVIb3ZlclN0eWxlKGZlYXR1cmVIb3ZlclN0eWxlOiBTdHlsZSB8IFN0eWxlRnVuY3Rpb24pOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIEZlYXR1cmVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBmZWF0dXJlSG92ZXJTdHlsZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGdpdmVuIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdCBpcyBpZGVudGljYWwgdG8gdGhlIGN1cnJlbnQgb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge0ZlYXR1cmVMYXllclNldHRpbmdzfSBtb2RlbCAtIFRoZSBGZWF0dXJlTGF5ZXJTZXR0aW5ncyBvYmplY3QgdG8gY29tcGFyZSB3aXRoLlxuICAgKiBAcmV0dXJuIHtib29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgZ2l2ZW4gb2JqZWN0IGlzIGlkZW50aWNhbCB0byB0aGUgY3VycmVudCBvYmplY3QsIG90aGVyd2lzZSBmYWxzZS5cbiAgICovXG4gIHB1YmxpYyBpc1NhbWUobW9kZWw6IEZlYXR1cmVMYXllclNldHRpbmdzKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubWF4Wm9vbSAhPT0gbW9kZWwubWF4Wm9vbSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLm1pblpvb20gIT09IG1vZGVsLm1pblpvb20pIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy56SW5kZXggIT09IG1vZGVsLnpJbmRleCkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLm5hbWUgIT09IG1vZGVsLm5hbWUpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5zdHlsZSAhPT0gbW9kZWwuc3R5bGUpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5mZWF0dXJlSG92ZXJTdHlsZSAhPT0gbW9kZWwuZmVhdHVyZUhvdmVyU3R5bGUpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
@@ -1,26 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import Static from 'ol/source/ImageStatic';
3
- import ImageLayer from 'ol/layer/Image';
4
- import { get } from 'ol/proj';
5
- import * as i0 from "@angular/core";
6
- export class ImageLayerFactory {
7
- build(settings) {
8
- const source = new Static({
9
- url: settings.url,
10
- interpolate: settings.interpolate,
11
- crossOrigin: 'Anonymous',
12
- projection: get(settings.projection),
13
- imageExtent: settings.extent,
14
- });
15
- return new ImageLayer({ source });
16
- }
17
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ImageLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ImageLayerFactory, providedIn: 'root' });
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ImageLayerFactory, decorators: [{
21
- type: Injectable,
22
- args: [{
23
- providedIn: 'root',
24
- }]
25
- }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtbGF5ZXItZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvaW1hZ2UtbGF5ZXIvaW1hZ2UtbGF5ZXItZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sTUFBTSxNQUFNLHVCQUF1QixDQUFDO0FBRTNDLE9BQU8sVUFBVSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxTQUFTLENBQUM7O0FBSzFDLE1BQU0sT0FBTyxpQkFBaUI7SUFDckIsS0FBSyxDQUFDLFFBQTRCO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDO1lBQ3hCLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRztZQUNqQixXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVc7WUFDakMsV0FBVyxFQUFFLFdBQVc7WUFDeEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFFO1lBQ3JDLFdBQVcsRUFBRSxRQUFRLENBQUMsTUFBTTtTQUM3QixDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksVUFBVSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO3VHQVZVLGlCQUFpQjsyR0FBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgU3RhdGljIGZyb20gJ29sL3NvdXJjZS9JbWFnZVN0YXRpYyc7XG5pbXBvcnQgeyBJbWFnZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2ltYWdlLWxheWVyLnNldHRpbmdzJztcbmltcG9ydCBJbWFnZUxheWVyIGZyb20gJ29sL2xheWVyL0ltYWdlJztcbmltcG9ydCB7IGdldCwgUHJvamVjdGlvbiB9IGZyb20gJ29sL3Byb2onO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VMYXllckZhY3Rvcnkge1xuICBwdWJsaWMgYnVpbGQoc2V0dGluZ3M6IEltYWdlTGF5ZXJTZXR0aW5ncyk6IEltYWdlTGF5ZXI8U3RhdGljPiB7XG4gICAgY29uc3Qgc291cmNlID0gbmV3IFN0YXRpYyh7XG4gICAgICB1cmw6IHNldHRpbmdzLnVybCxcbiAgICAgIGludGVycG9sYXRlOiBzZXR0aW5ncy5pbnRlcnBvbGF0ZSxcbiAgICAgIGNyb3NzT3JpZ2luOiAnQW5vbnltb3VzJyxcbiAgICAgIHByb2plY3Rpb246IGdldChzZXR0aW5ncy5wcm9qZWN0aW9uKSEsXG4gICAgICBpbWFnZUV4dGVudDogc2V0dGluZ3MuZXh0ZW50LFxuICAgIH0pO1xuICAgIHJldHVybiBuZXcgSW1hZ2VMYXllcih7IHNvdXJjZSB9KTtcbiAgfVxufVxuIl19
@@ -1,52 +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 { ImageLayerSettings } from './image-layer.settings';
6
- import { AddImageLayerCommand } from '../../../messages/commands/add-image-layer.command';
7
- import { RemoveImageLayerCommand } from '../../../messages/commands/remove-image-layer.command';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../../../services/map-postboy.service";
10
- import * as i2 from "./image-layer-factory";
11
- export class ImageLayerComponent extends DestructibleComponent {
12
- postboy;
13
- factory;
14
- layer;
15
- constructor(postboy, factory) {
16
- super();
17
- this.postboy = postboy;
18
- this.factory = factory;
19
- }
20
- _settings = new ImageLayerSettings();
21
- set settings(value) {
22
- if (!value || this._settings.isSame(value))
23
- return;
24
- this._settings = value;
25
- this.initLayer();
26
- }
27
- ngOnInit() {
28
- this.postboy
29
- .sub(MapRenderedEvent)
30
- .pipe(filter((m) => !!m), first())
31
- .subscribe((m) => this.initLayer());
32
- }
33
- onDestroy = () => this.removeLayer();
34
- initLayer() {
35
- this.removeLayer();
36
- this.layer = this.factory.build(this._settings);
37
- this.postboy.fire(new AddImageLayerCommand(this.layer));
38
- }
39
- removeLayer() {
40
- if (this.layer)
41
- this.postboy.fire(new RemoveImageLayerCommand(this.layer));
42
- }
43
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ImageLayerComponent, deps: [{ token: i1.MapPostboyService }, { token: i2.ImageLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
44
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: ImageLayerComponent, selector: "art-image-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
- }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ImageLayerComponent, decorators: [{
47
- type: Component,
48
- args: [{ selector: 'art-image-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
49
- }], ctorParameters: () => [{ type: i1.MapPostboyService }, { type: i2.ImageLayerFactory }], propDecorators: { settings: [{
50
- type: Input
51
- }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy9pbWFnZS1sYXllci9pbWFnZS1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFNL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU0vQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7OztBQVFoRyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEscUJBQXFCO0lBR3hDO0lBQW9DO0lBRmpELEtBQUssQ0FBc0I7SUFFbEMsWUFBb0IsT0FBMEIsRUFBVSxPQUEwQjtRQUNoRixLQUFLLEVBQUUsQ0FBQztRQURVLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFFbEYsQ0FBQztJQUVELFNBQVMsR0FBdUIsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBRXpELElBQWEsUUFBUSxDQUFDLEtBQXFDO1FBQ3pELElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTzthQUNULEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQzthQUNyQixJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xCLEtBQUssRUFBRSxDQUNSO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUU3QixTQUFTO1FBQ2YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQzt1R0FuQ1UsbUJBQW1COzJGQUFuQixtQkFBbUIsZ0hBSnBCLEVBQUU7OzJGQUlELG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxpQkFBaUIsWUFDakIsRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNO3NIQVdsQyxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJztcbmltcG9ydCB7IFhZWiB9IGZyb20gJ29sL3NvdXJjZSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgVGlsZUxheWVyRmFjdG9yeSB9IGZyb20gJy4uL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5mYWN0b3J5JztcbmltcG9ydCB7IFRpbGVMYXllclNldHRpbmdzIH0gZnJvbSAnLi4vdGlsZS1sYXllci90aWxlLWxheWVyLnNldHRpbmdzJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWRkVGlsZUNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtdGlsZS5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZVRpbGVDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBJbWFnZUxheWVyRmFjdG9yeSB9IGZyb20gJy4vaW1hZ2UtbGF5ZXItZmFjdG9yeSc7XG5pbXBvcnQgSW1hZ2VMYXllciBmcm9tICdvbC9sYXllci9JbWFnZSc7XG5pbXBvcnQgU3RhdGljIGZyb20gJ29sL3NvdXJjZS9JbWFnZVN0YXRpYyc7XG5pbXBvcnQgeyBJbWFnZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2ltYWdlLWxheWVyLnNldHRpbmdzJztcbmltcG9ydCB7IEFkZEltYWdlTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWltYWdlLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlSW1hZ2VMYXllckNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtaW1hZ2UtbGF5ZXIuY29tbWFuZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FydC1pbWFnZS1sYXllcicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlTGF5ZXJDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgbGF5ZXI/OiBJbWFnZUxheWVyPFN0YXRpYz47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSwgcHJpdmF0ZSBmYWN0b3J5OiBJbWFnZUxheWVyRmFjdG9yeSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBfc2V0dGluZ3M6IEltYWdlTGF5ZXJTZXR0aW5ncyA9IG5ldyBJbWFnZUxheWVyU2V0dGluZ3MoKTtcblxuICBASW5wdXQoKSBzZXQgc2V0dGluZ3ModmFsdWU6IEltYWdlTGF5ZXJTZXR0aW5ncyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUgfHwgdGhpcy5fc2V0dGluZ3MuaXNTYW1lKHZhbHVlKSkgcmV0dXJuO1xuICAgIHRoaXMuX3NldHRpbmdzID0gdmFsdWU7XG4gICAgdGhpcy5pbml0TGF5ZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucG9zdGJveVxuICAgICAgLnN1YihNYXBSZW5kZXJlZEV2ZW50KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigobSkgPT4gISFtKSxcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKG0pID0+IHRoaXMuaW5pdExheWVyKCkpO1xuICB9XG5cbiAgb25EZXN0cm95ID0gKCkgPT4gdGhpcy5yZW1vdmVMYXllcigpO1xuXG4gIHByaXZhdGUgaW5pdExheWVyKCkge1xuICAgIHRoaXMucmVtb3ZlTGF5ZXIoKTtcbiAgICB0aGlzLmxheWVyID0gdGhpcy5mYWN0b3J5LmJ1aWxkKHRoaXMuX3NldHRpbmdzKTtcbiAgICB0aGlzLnBvc3Rib3kuZmlyZShuZXcgQWRkSW1hZ2VMYXllckNvbW1hbmQodGhpcy5sYXllcikpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVMYXllcigpIHtcbiAgICBpZiAodGhpcy5sYXllcikgdGhpcy5wb3N0Ym95LmZpcmUobmV3IFJlbW92ZUltYWdlTGF5ZXJDb21tYW5kKHRoaXMubGF5ZXIpKTtcbiAgfVxufVxuIl19