@artstesh/maps 7.2.0 → 8.1.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 (208) hide show
  1. package/dist/fesm2022/maps-components-src-map.mjs +83 -83
  2. package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
  3. package/dist/fesm2022/maps-components.mjs +83 -83
  4. package/dist/fesm2022/maps-components.mjs.map +1 -1
  5. package/dist/map/common/destructible.component.d.ts +1 -1
  6. package/dist/src/map/common/destructible.component.d.ts +1 -1
  7. package/package.json +21 -21
  8. package/dist/esm2022/map/common/destructible.component.mjs +0 -18
  9. package/dist/esm2022/map/common/id.generator.mjs +0 -14
  10. package/dist/esm2022/map/helpers/index.mjs +0 -5
  11. package/dist/esm2022/map/helpers/marker-style.helper.mjs +0 -55
  12. package/dist/esm2022/map/helpers/polygon-style.helper.mjs +0 -54
  13. package/dist/esm2022/map/helpers/stringify-feature.helper.mjs +0 -61
  14. package/dist/esm2022/map/helpers/text-style.helper.mjs +0 -33
  15. package/dist/esm2022/map/map-plate/controls/index.mjs +0 -3
  16. package/dist/esm2022/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +0 -69
  17. package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +0 -13
  18. package/dist/esm2022/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +0 -116
  19. package/dist/esm2022/map/map-plate/features/index.mjs +0 -3
  20. package/dist/esm2022/map/map-plate/features/markers/markers.component.mjs +0 -52
  21. package/dist/esm2022/map/map-plate/features/polygons/polygons.component.mjs +0 -56
  22. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +0 -59
  23. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +0 -60
  24. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +0 -38
  25. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +0 -145
  26. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.component.mjs +0 -52
  27. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.factory.mjs +0 -28
  28. package/dist/esm2022/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +0 -139
  29. package/dist/esm2022/map/map-plate/layers/image-layer/image-layer-factory.mjs +0 -26
  30. package/dist/esm2022/map/map-plate/layers/image-layer/image-layer.component.mjs +0 -52
  31. package/dist/esm2022/map/map-plate/layers/image-layer/image-layer.settings.mjs +0 -134
  32. package/dist/esm2022/map/map-plate/layers/index.mjs +0 -12
  33. package/dist/esm2022/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +0 -67
  34. package/dist/esm2022/map/map-plate/layers/raster-tile/raster-tile-layer.component.mjs +0 -52
  35. package/dist/esm2022/map/map-plate/layers/raster-tile/raster-tile-layer.factory.mjs +0 -74
  36. package/dist/esm2022/map/map-plate/layers/raster-tile/raster-tile-layer.settings.mjs +0 -165
  37. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.component.mjs +0 -52
  38. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +0 -68
  39. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +0 -139
  40. package/dist/esm2022/map/map-plate/map-plate.component.mjs +0 -120
  41. package/dist/esm2022/map/map-plate/map-plate.factory.service.mjs +0 -29
  42. package/dist/esm2022/map/map-plate/tooltips/index.mjs +0 -3
  43. package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.component.mjs +0 -82
  44. package/dist/esm2022/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +0 -31
  45. package/dist/esm2022/map/messages/commands/add-control.command.mjs +0 -18
  46. package/dist/esm2022/map/messages/commands/add-image-layer.command.mjs +0 -10
  47. package/dist/esm2022/map/messages/commands/add-layer.command.mjs +0 -10
  48. package/dist/esm2022/map/messages/commands/add-raster-tile-command.mjs +0 -10
  49. package/dist/esm2022/map/messages/commands/add-tile.command.mjs +0 -10
  50. package/dist/esm2022/map/messages/commands/cancel-drawing.command.mjs +0 -8
  51. package/dist/esm2022/map/messages/commands/cancel-feature-modification.command.mjs +0 -8
  52. package/dist/esm2022/map/messages/commands/close-tooltip.command.mjs +0 -18
  53. package/dist/esm2022/map/messages/commands/draw-selection-area.command.mjs +0 -26
  54. package/dist/esm2022/map/messages/commands/fit-to-features.command.mjs +0 -12
  55. package/dist/esm2022/map/messages/commands/fit-to-polygons.command.mjs +0 -22
  56. package/dist/esm2022/map/messages/commands/modify-feature.command.mjs +0 -31
  57. package/dist/esm2022/map/messages/commands/place-layer-features.command.mjs +0 -12
  58. package/dist/esm2022/map/messages/commands/remove-control.command.mjs +0 -23
  59. package/dist/esm2022/map/messages/commands/remove-image-layer.command.mjs +0 -10
  60. package/dist/esm2022/map/messages/commands/remove-layer.command.mjs +0 -10
  61. package/dist/esm2022/map/messages/commands/remove-raster-tile.command.mjs +0 -10
  62. package/dist/esm2022/map/messages/commands/remove-tile.command.mjs +0 -10
  63. package/dist/esm2022/map/messages/commands/set-map-center.command.mjs +0 -23
  64. package/dist/esm2022/map/messages/commands/start-drawing.command.mjs +0 -25
  65. package/dist/esm2022/map/messages/events/drawing-finished.event.mjs +0 -5
  66. package/dist/esm2022/map/messages/events/map-click.event.mjs +0 -27
  67. package/dist/esm2022/map/messages/events/map-feature-hovered.event.mjs +0 -23
  68. package/dist/esm2022/map/messages/events/map-move-end.event.mjs +0 -16
  69. package/dist/esm2022/map/messages/events/map-pointer-move.event.mjs +0 -21
  70. package/dist/esm2022/map/messages/events/map-rendered.event.mjs +0 -18
  71. package/dist/esm2022/map/messages/executors/calculate-area.executor.mjs +0 -17
  72. package/dist/esm2022/map/messages/executors/filter-features-in-area.executor.mjs +0 -20
  73. package/dist/esm2022/map/messages/executors/filter-features-in-point.executor.mjs +0 -28
  74. package/dist/esm2022/map/messages/executors/generate-draw.executor.mjs +0 -14
  75. package/dist/esm2022/map/messages/executors/generate-zoom-control.executor.mjs +0 -10
  76. package/dist/esm2022/map/messages/executors/get-geometry-length.executor.mjs +0 -18
  77. package/dist/esm2022/map/messages/executors/get-map-position.executor.mjs +0 -13
  78. package/dist/esm2022/map/messages/executors/polygon-self-intersection.executor.mjs +0 -10
  79. package/dist/esm2022/map/messages/index.mjs +0 -25
  80. package/dist/esm2022/map/messages/queries/get-features-in-area.query.mjs +0 -22
  81. package/dist/esm2022/map/messages/queries/get-features-in-point.query.mjs +0 -25
  82. package/dist/esm2022/map/messages/queries/get-layer.query.mjs +0 -10
  83. package/dist/esm2022/map/models/drawing-type.enum.mjs +0 -22
  84. package/dist/esm2022/map/models/feature-format.enum.mjs +0 -15
  85. package/dist/esm2022/map/models/i-identified.mjs +0 -2
  86. package/dist/esm2022/map/models/index.mjs +0 -10
  87. package/dist/esm2022/map/models/map-control.mjs +0 -15
  88. package/dist/esm2022/map/models/map-lyrs.enum.mjs +0 -19
  89. package/dist/esm2022/map/models/map-position.model.mjs +0 -2
  90. package/dist/esm2022/map/models/map-settings.mjs +0 -124
  91. package/dist/esm2022/map/models/map.constants.mjs +0 -6
  92. package/dist/esm2022/map/models/marker-model.mjs +0 -29
  93. package/dist/esm2022/map/models/polygon.model.mjs +0 -40
  94. package/dist/esm2022/map/ol-proxy.mjs +0 -6
  95. package/dist/esm2022/map/public-api.mjs +0 -16
  96. package/dist/esm2022/map/services/controls/controls.service.mjs +0 -37
  97. package/dist/esm2022/map/services/drawing/drawing-generation.service.mjs +0 -25
  98. package/dist/esm2022/map/services/drawing/drawing.service.mjs +0 -99
  99. package/dist/esm2022/map/services/drawing/feature-modification.service.mjs +0 -105
  100. package/dist/esm2022/map/services/feature.service.mjs +0 -77
  101. package/dist/esm2022/map/services/map-click.service.mjs +0 -55
  102. package/dist/esm2022/map/services/map-feature.service.mjs +0 -75
  103. package/dist/esm2022/map/services/map-management.service.mjs +0 -143
  104. package/dist/esm2022/map/services/map-postboy.service.mjs +0 -14
  105. package/dist/esm2022/map/services/map-state.service.mjs +0 -48
  106. package/dist/esm2022/map/services/message-registrator.service.mjs +0 -105
  107. package/dist/esm2022/maps-components.mjs +0 -5
  108. package/dist/esm2022/public-api.mjs +0 -5
  109. package/dist/esm2022/src/map/common/destructible.component.mjs +0 -18
  110. package/dist/esm2022/src/map/common/id.generator.mjs +0 -14
  111. package/dist/esm2022/src/map/helpers/index.mjs +0 -5
  112. package/dist/esm2022/src/map/helpers/marker-style.helper.mjs +0 -55
  113. package/dist/esm2022/src/map/helpers/polygon-style.helper.mjs +0 -54
  114. package/dist/esm2022/src/map/helpers/stringify-feature.helper.mjs +0 -61
  115. package/dist/esm2022/src/map/helpers/text-style.helper.mjs +0 -33
  116. package/dist/esm2022/src/map/map-plate/controls/index.mjs +0 -3
  117. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/map-control-zoom.component.mjs +0 -69
  118. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.factory.mjs +0 -13
  119. package/dist/esm2022/src/map/map-plate/controls/map-control-zoom/zoom-control.settings.mjs +0 -116
  120. package/dist/esm2022/src/map/map-plate/features/index.mjs +0 -3
  121. package/dist/esm2022/src/map/map-plate/features/markers/markers.component.mjs +0 -52
  122. package/dist/esm2022/src/map/map-plate/features/polygons/polygons.component.mjs +0 -56
  123. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +0 -59
  124. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +0 -60
  125. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +0 -38
  126. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +0 -145
  127. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.component.mjs +0 -52
  128. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.factory.mjs +0 -28
  129. package/dist/esm2022/src/map/map-plate/layers/feature-layer/feature-layer.settings.mjs +0 -139
  130. package/dist/esm2022/src/map/map-plate/layers/image-layer/image-layer-factory.mjs +0 -26
  131. package/dist/esm2022/src/map/map-plate/layers/image-layer/image-layer.component.mjs +0 -52
  132. package/dist/esm2022/src/map/map-plate/layers/image-layer/image-layer.settings.mjs +0 -134
  133. package/dist/esm2022/src/map/map-plate/layers/index.mjs +0 -12
  134. package/dist/esm2022/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +0 -67
  135. package/dist/esm2022/src/map/map-plate/layers/raster-tile/raster-tile-layer.component.mjs +0 -52
  136. package/dist/esm2022/src/map/map-plate/layers/raster-tile/raster-tile-layer.factory.mjs +0 -74
  137. package/dist/esm2022/src/map/map-plate/layers/raster-tile/raster-tile-layer.settings.mjs +0 -165
  138. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.component.mjs +0 -52
  139. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +0 -68
  140. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +0 -139
  141. package/dist/esm2022/src/map/map-plate/map-plate.component.mjs +0 -120
  142. package/dist/esm2022/src/map/map-plate/map-plate.factory.service.mjs +0 -29
  143. package/dist/esm2022/src/map/map-plate/tooltips/index.mjs +0 -3
  144. package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.component.mjs +0 -82
  145. package/dist/esm2022/src/map/map-plate/tooltips/tooltip/tooltip.settings.mjs +0 -31
  146. package/dist/esm2022/src/map/maps-components-src-map.mjs +0 -5
  147. package/dist/esm2022/src/map/messages/commands/add-control.command.mjs +0 -18
  148. package/dist/esm2022/src/map/messages/commands/add-image-layer.command.mjs +0 -10
  149. package/dist/esm2022/src/map/messages/commands/add-layer.command.mjs +0 -10
  150. package/dist/esm2022/src/map/messages/commands/add-raster-tile-command.mjs +0 -10
  151. package/dist/esm2022/src/map/messages/commands/add-tile.command.mjs +0 -10
  152. package/dist/esm2022/src/map/messages/commands/cancel-drawing.command.mjs +0 -8
  153. package/dist/esm2022/src/map/messages/commands/cancel-feature-modification.command.mjs +0 -8
  154. package/dist/esm2022/src/map/messages/commands/close-tooltip.command.mjs +0 -18
  155. package/dist/esm2022/src/map/messages/commands/draw-selection-area.command.mjs +0 -26
  156. package/dist/esm2022/src/map/messages/commands/fit-to-features.command.mjs +0 -12
  157. package/dist/esm2022/src/map/messages/commands/fit-to-polygons.command.mjs +0 -22
  158. package/dist/esm2022/src/map/messages/commands/modify-feature.command.mjs +0 -31
  159. package/dist/esm2022/src/map/messages/commands/place-layer-features.command.mjs +0 -12
  160. package/dist/esm2022/src/map/messages/commands/remove-control.command.mjs +0 -23
  161. package/dist/esm2022/src/map/messages/commands/remove-image-layer.command.mjs +0 -10
  162. package/dist/esm2022/src/map/messages/commands/remove-layer.command.mjs +0 -10
  163. package/dist/esm2022/src/map/messages/commands/remove-raster-tile.command.mjs +0 -10
  164. package/dist/esm2022/src/map/messages/commands/remove-tile.command.mjs +0 -10
  165. package/dist/esm2022/src/map/messages/commands/set-map-center.command.mjs +0 -23
  166. package/dist/esm2022/src/map/messages/commands/start-drawing.command.mjs +0 -25
  167. package/dist/esm2022/src/map/messages/events/drawing-finished.event.mjs +0 -5
  168. package/dist/esm2022/src/map/messages/events/map-click.event.mjs +0 -27
  169. package/dist/esm2022/src/map/messages/events/map-feature-hovered.event.mjs +0 -23
  170. package/dist/esm2022/src/map/messages/events/map-move-end.event.mjs +0 -16
  171. package/dist/esm2022/src/map/messages/events/map-pointer-move.event.mjs +0 -21
  172. package/dist/esm2022/src/map/messages/events/map-rendered.event.mjs +0 -18
  173. package/dist/esm2022/src/map/messages/executors/calculate-area.executor.mjs +0 -17
  174. package/dist/esm2022/src/map/messages/executors/filter-features-in-area.executor.mjs +0 -20
  175. package/dist/esm2022/src/map/messages/executors/filter-features-in-point.executor.mjs +0 -28
  176. package/dist/esm2022/src/map/messages/executors/generate-draw.executor.mjs +0 -14
  177. package/dist/esm2022/src/map/messages/executors/generate-zoom-control.executor.mjs +0 -10
  178. package/dist/esm2022/src/map/messages/executors/get-geometry-length.executor.mjs +0 -18
  179. package/dist/esm2022/src/map/messages/executors/get-map-position.executor.mjs +0 -13
  180. package/dist/esm2022/src/map/messages/executors/polygon-self-intersection.executor.mjs +0 -10
  181. package/dist/esm2022/src/map/messages/index.mjs +0 -25
  182. package/dist/esm2022/src/map/messages/queries/get-features-in-area.query.mjs +0 -22
  183. package/dist/esm2022/src/map/messages/queries/get-features-in-point.query.mjs +0 -25
  184. package/dist/esm2022/src/map/messages/queries/get-layer.query.mjs +0 -10
  185. package/dist/esm2022/src/map/models/drawing-type.enum.mjs +0 -22
  186. package/dist/esm2022/src/map/models/feature-format.enum.mjs +0 -15
  187. package/dist/esm2022/src/map/models/i-identified.mjs +0 -2
  188. package/dist/esm2022/src/map/models/index.mjs +0 -10
  189. package/dist/esm2022/src/map/models/map-control.mjs +0 -15
  190. package/dist/esm2022/src/map/models/map-lyrs.enum.mjs +0 -19
  191. package/dist/esm2022/src/map/models/map-position.model.mjs +0 -2
  192. package/dist/esm2022/src/map/models/map-settings.mjs +0 -124
  193. package/dist/esm2022/src/map/models/map.constants.mjs +0 -6
  194. package/dist/esm2022/src/map/models/marker-model.mjs +0 -29
  195. package/dist/esm2022/src/map/models/polygon.model.mjs +0 -40
  196. package/dist/esm2022/src/map/ol-proxy.mjs +0 -6
  197. package/dist/esm2022/src/map/public-api.mjs +0 -16
  198. package/dist/esm2022/src/map/services/controls/controls.service.mjs +0 -37
  199. package/dist/esm2022/src/map/services/drawing/drawing-generation.service.mjs +0 -25
  200. package/dist/esm2022/src/map/services/drawing/drawing.service.mjs +0 -99
  201. package/dist/esm2022/src/map/services/drawing/feature-modification.service.mjs +0 -105
  202. package/dist/esm2022/src/map/services/feature.service.mjs +0 -77
  203. package/dist/esm2022/src/map/services/map-click.service.mjs +0 -55
  204. package/dist/esm2022/src/map/services/map-feature.service.mjs +0 -75
  205. package/dist/esm2022/src/map/services/map-management.service.mjs +0 -143
  206. package/dist/esm2022/src/map/services/map-postboy.service.mjs +0 -14
  207. package/dist/esm2022/src/map/services/map-state.service.mjs +0 -48
  208. package/dist/esm2022/src/map/services/message-registrator.service.mjs +0 -105
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvZmVhdHVyZS1sYXllci9mZWF0dXJlLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUzRDs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBb0I7SUFDL0I7O09BRUc7SUFDSCxJQUFJLEdBQVcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2pDOztPQUVHO0lBQ0gsTUFBTSxHQUFXLENBQUMsQ0FBQztJQUNuQjs7Ozs7T0FLRztJQUNILE9BQU8sR0FBVyxFQUFFLENBQUM7SUFDckI7Ozs7T0FJRztJQUNILE9BQU8sR0FBVyxDQUFDLENBQUM7SUFDcEI7O09BRUc7SUFDSCxLQUFLLENBQXlCO0lBQzlCOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxpQkFBaUIsQ0FBeUI7SUFFMUM7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQTJCO1FBQzVDLE1BQU0sTUFBTSxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUMxQyxNQUFNLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDekIsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDN0IsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7UUFDbkQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLE1BQWM7UUFDdEIsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxPQUFPLENBQUMsSUFBWTtRQUNsQixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FBQyxPQUFlO1FBQ3hCLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxRQUFRLENBQUMsS0FBNEI7UUFDbkMsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRDs7Ozs7T0FLRztJQUNILG9CQUFvQixDQUFDLGlCQUF3QztRQUMzRCxPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsS0FBMkI7UUFDdkMsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxNQUFNO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDL0MsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxJQUFJO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDM0MsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxLQUFLO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDN0MsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssS0FBSyxDQUFDLGlCQUFpQjtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0eWxlLCB7IFN0eWxlRnVuY3Rpb24gfSBmcm9tICdvbC9zdHlsZS9TdHlsZSc7XG5pbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9pZC5nZW5lcmF0b3InO1xuXG4vKipcbiAqIEEgbGF5ZXIgdGhhdCBpcyByZXNwb25zaWJsZSBmb3Igc2hvd2luZyBhbmQgc3R5bGluZyBtYWluIGZlYXR1cmVzIG9uIHRoZSBtYXAsIHN1Y2ggYXMgbWFya2VycyBhbmQgcG9seWdvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIEZlYXR1cmVMYXllclNldHRpbmdzIHtcbiAgLyoqXG4gICAqIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBmaWVsZCwgaXQgaXMgYXV0b2dlbmVyYXRlZCBieSBkZWZhdWx0LCBidXQgY2FuIGJlIHNldCBtYW51YWxseVxuICAgKi9cbiAgbmFtZTogc3RyaW5nID0gSWRHZW5lcmF0b3IuZ2V0KCk7XG4gIC8qKlxuICAgKiBUaGUgcHJpb3JpdHkgb2Ygc2hvd2luZyAtIGxheWVycyB3aXRoIGhpZ2hlciB6SW5kZXggY292ZXIgb3RoZXJzIGluIGNhc2Ugb2YgY29sbGlzaW9uc1xuICAgKi9cbiAgekluZGV4OiBudW1iZXIgPSAxO1xuICAvKipcbiAgIFRoZSBtYXhpbXVtIHZpZXcgem9vbSBsZXZlbCAoaW5jbHVzaXZlKSBhdCB3aGljaCB0aGlzIGxheWVyIHdpbGwgYmUgdmlzaWJsZS5cblxuICAgQHR5cGUge251bWJlcn1cbiAgIEBkZWZhdWx0IDE5XG4gICAqL1xuICBtYXhab29tOiBudW1iZXIgPSAxOTtcbiAgLyoqXG4gICBUaGUgbWluaW11bSB2aWV3IHpvb20gbGV2ZWwgKGV4Y2x1c2l2ZSkgYXQgd2hpY2ggdGhpcyBsYXllciB3aWxsIGJlIHZpc2libGUuXG5cbiAgIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBtaW5ab29tOiBudW1iZXIgPSAwO1xuICAvKipcbiAgICogVGhlIHN0eWxpbmcgZGVmaW5pdGlvbiBvZiBsYXllcidzIGZlYXR1cmVzLiBUaGUgZWFzaWVzdCB3YXkgaXMgdG8gdXNlIHtAbGluayBQb2x5Z29uU3R5bGVIZWxwZXJ9LHtAbGluayBNYXJrZXJTdHlsZUhlbHBlcn1cbiAgICovXG4gIHN0eWxlPzogU3R5bGUgfCBTdHlsZUZ1bmN0aW9uO1xuICAvKipcbiAgICogRGVmaW5lcyB0aGUgc3R5bGUgYXBwbGllZCB0byBhIGZlYXR1cmUgd2hlbiBpdCBpcyBob3ZlcmVkIG92ZXIuXG4gICAqXG4gICAqIFRoaXMgcHJvcGVydHkgY2FuIGFjY2VwdCBlaXRoZXIgYSBzdGF0aWMgc3R5bGUgb2JqZWN0IG9yIGEgZHluYW1pYyBzdHlsZSBmdW5jdGlvbi5cbiAgICogV2hlbiBhIGBTdHlsZUZ1bmN0aW9uYCBpcyBwcm92aWRlZCwgaXQgd2lsbCBkZXRlcm1pbmUgdGhlIHN0eWxlIGR5bmFtaWNhbGx5XG4gICAqIGJhc2VkIG9uIHRoZSBmZWF0dXJlIGJlaW5nIGhvdmVyZWQuXG4gICAqXG4gICAqIFRoZSBzdHlsZSBpcyBhcHBsaWVkIHRlbXBvcmFyaWx5LCBzcGVjaWZpY2FsbHkgZm9yIHRoZSBob3ZlcmVkIGZlYXR1cmUsXG4gICAqIGFuZCBvdmVycmlkZXMgYW55IGRlZmF1bHQgb3IgcHJlZGVmaW5lZCBzdHlsZXMgZm9yIHRoYXQgZmVhdHVyZS5cbiAgICpcbiAgICogT3B0aW9uYWwgcHJvcGVydHkuXG4gICAqXG4gICAqIEB0eXBlIHsoU3R5bGUgfCBTdHlsZUZ1bmN0aW9uKX1cbiAgICovXG4gIGZlYXR1cmVIb3ZlclN0eWxlPzogU3R5bGUgfCBTdHlsZUZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBDb3BpZXMgdGhlIGdpdmVuIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdFxuICAgKlxuICAgKiBAcGFyYW0ge0ZlYXR1cmVMYXllclNldHRpbmdzfSBtb2RlbCAtIFRoZSBGZWF0dXJlTGF5ZXJTZXR0aW5ncyBvYmplY3QgdG8gYmUgY29waWVkXG4gICAqIEByZXR1cm5zIHtGZWF0dXJlTGF5ZXJTZXR0aW5nc30gLSBBIGNvcHkgb2YgdGhlIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjb3B5KG1vZGVsOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyk6IEZlYXR1cmVMYXllclNldHRpbmdzIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgRmVhdHVyZUxheWVyU2V0dGluZ3MoKTtcbiAgICByZXN1bHQubmFtZSA9IG1vZGVsLm5hbWU7XG4gICAgcmVzdWx0Lm1heFpvb20gPSBtb2RlbC5tYXhab29tO1xuICAgIHJlc3VsdC5taW5ab29tID0gbW9kZWwubWluWm9vbTtcbiAgICByZXN1bHQuekluZGV4ID0gbW9kZWwuekluZGV4O1xuICAgIHJlc3VsdC5zdHlsZSA9IG1vZGVsLnN0eWxlO1xuICAgIHJlc3VsdC5mZWF0dXJlSG92ZXJTdHlsZSA9IG1vZGVsLmZlYXR1cmVIb3ZlclN0eWxlO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgei1pbmRleCB2YWx1ZSBmb3IgdGhlIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHpJbmRleCAtIFRoZSBuZXcgei1pbmRleCB2YWx1ZS5cbiAgICogQHJldHVybiB7RmVhdHVyZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgRmVhdHVyZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0WkluZGV4KHpJbmRleDogbnVtYmVyKTogRmVhdHVyZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBGZWF0dXJlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgekluZGV4IH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG5hbWUgb2YgdGhlIEZlYXR1cmVMYXllclNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIFRoZSBuYW1lIHRvIHNldCBmb3IgdGhlIEZlYXR1cmVMYXllclNldHRpbmdzLlxuICAgKlxuICAgKiBAcmV0dXJuIHtGZWF0dXJlTGF5ZXJTZXR0aW5nc30gLSBUaGUgdXBkYXRlZCBGZWF0dXJlTGF5ZXJTZXR0aW5ncyBvYmplY3Qgd2l0aCB0aGUgbmV3IG5hbWUuXG4gICAqL1xuICBzZXROYW1lKG5hbWU6IHN0cmluZyk6IEZlYXR1cmVMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gRmVhdHVyZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG5hbWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgbWF4aW11bSB6b29tIGxldmVsIGZvciB0aGUgRmVhdHVyZUxheWVyU2V0dGluZ3MuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtYXhab29tIC0gVGhlIG1heGltdW0gem9vbSBsZXZlbC5cbiAgICogQHJldHVybiB7RmVhdHVyZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgRmVhdHVyZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0TWF4Wm9vbShtYXhab29tOiBudW1iZXIpOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIEZlYXR1cmVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtYXhab29tIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG1pbmltdW0gem9vbSBsZXZlbCBmb3IgdGhlIGZlYXR1cmUgbGF5ZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBtaW5ab29tIFRoZSBtaW5pbXVtIHpvb20gbGV2ZWwgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJucyB7RmVhdHVyZUxheWVyU2V0dGluZ3N9IFRoZSB1cGRhdGVkIGZlYXR1cmUgbGF5ZXIgc2V0dGluZ3Mgb2JqZWN0LlxuICAgKi9cbiAgc2V0TWluWm9vbShtaW5ab29tOiBudW1iZXIpOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIEZlYXR1cmVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtaW5ab29tIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHN0eWxlIGZvciB0aGUgRmVhdHVyZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge1N0eWxlIHwgU3R5bGVGdW5jdGlvbn0gc3R5bGUgLSBUaGUgbmV3IHN0eWxlIHRvIHNldC4gSXQgY2FuIGJlIGVpdGhlciBhIFN0eWxlIG9iamVjdCBvciBhIFN0eWxlRnVuY3Rpb24uXG4gICAqIEByZXR1cm4ge0ZlYXR1cmVMYXllclNldHRpbmdzfSAtIFRoZSB1cGRhdGVkIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdCB3aXRoIHRoZSBuZXcgc3R5bGUuXG4gICAqL1xuICBzZXRTdHlsZShzdHlsZTogU3R5bGUgfCBTdHlsZUZ1bmN0aW9uKTogRmVhdHVyZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBGZWF0dXJlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgc3R5bGUgfSk7XG4gIH1cbiAgLyoqXG4gICAqIFNldHMgdGhlIHN0eWxlIHRvIGFwcGx5IHRvIGZlYXR1cmVzIHdoZW4gdGhleSBhcmUgaG92ZXJlZCBvdmVyLlxuICAgKlxuICAgKiBAcGFyYW0ge1N0eWxlIHwgU3R5bGVGdW5jdGlvbn0gZmVhdHVyZUhvdmVyU3R5bGUgLSBUaGUgc3R5bGUgb3Igc3R5bGUgZnVuY3Rpb24gdG8gdXNlIGZvciBob3ZlcmVkIGZlYXR1cmVzLlxuICAgKiBAcmV0dXJuIHtGZWF0dXJlTGF5ZXJTZXR0aW5nc30gQSBuZXcgaW5zdGFuY2Ugb2YgRmVhdHVyZUxheWVyU2V0dGluZ3Mgd2l0aCB0aGUgdXBkYXRlZCBob3ZlciBzdHlsZS5cbiAgICovXG4gIHNldEZlYXR1cmVIb3ZlclN0eWxlKGZlYXR1cmVIb3ZlclN0eWxlOiBTdHlsZSB8IFN0eWxlRnVuY3Rpb24pOiBGZWF0dXJlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIEZlYXR1cmVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBmZWF0dXJlSG92ZXJTdHlsZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGdpdmVuIEZlYXR1cmVMYXllclNldHRpbmdzIG9iamVjdCBpcyBpZGVudGljYWwgdG8gdGhlIGN1cnJlbnQgb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge0ZlYXR1cmVMYXllclNldHRpbmdzfSBtb2RlbCAtIFRoZSBGZWF0dXJlTGF5ZXJTZXR0aW5ncyBvYmplY3QgdG8gY29tcGFyZSB3aXRoLlxuICAgKiBAcmV0dXJuIHtib29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgZ2l2ZW4gb2JqZWN0IGlzIGlkZW50aWNhbCB0byB0aGUgY3VycmVudCBvYmplY3QsIG90aGVyd2lzZSBmYWxzZS5cbiAgICovXG4gIHB1YmxpYyBpc1NhbWUobW9kZWw6IEZlYXR1cmVMYXllclNldHRpbmdzKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubWF4Wm9vbSAhPT0gbW9kZWwubWF4Wm9vbSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLm1pblpvb20gIT09IG1vZGVsLm1pblpvb20pIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy56SW5kZXggIT09IG1vZGVsLnpJbmRleCkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLm5hbWUgIT09IG1vZGVsLm5hbWUpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5zdHlsZSAhPT0gbW9kZWwuc3R5bGUpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5mZWF0dXJlSG92ZXJTdHlsZSAhPT0gbW9kZWwuZmVhdHVyZUhvdmVyU3R5bGUpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
@@ -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: "18.2.14", ngImport: i0, type: ImageLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
18
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ImageLayerFactory, providedIn: 'root' });
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ImageLayerFactory, decorators: [{
21
- type: Injectable,
22
- args: [{
23
- providedIn: 'root',
24
- }]
25
- }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtbGF5ZXItZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvaW1hZ2UtbGF5ZXIvaW1hZ2UtbGF5ZXItZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sTUFBTSxNQUFNLHVCQUF1QixDQUFDO0FBRTNDLE9BQU8sVUFBVSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxTQUFTLENBQUM7O0FBSzFDLE1BQU0sT0FBTyxpQkFBaUI7SUFDckIsS0FBSyxDQUFDLFFBQTRCO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDO1lBQ3hCLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRztZQUNqQixXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVc7WUFDakMsV0FBVyxFQUFFLFdBQVc7WUFDeEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFFO1lBQ3JDLFdBQVcsRUFBRSxRQUFRLENBQUMsTUFBTTtTQUM3QixDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksVUFBVSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO3dHQVZVLGlCQUFpQjs0R0FBakIsaUJBQWlCLGNBRmhCLE1BQU07OzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgU3RhdGljIGZyb20gJ29sL3NvdXJjZS9JbWFnZVN0YXRpYyc7XG5pbXBvcnQgeyBJbWFnZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2ltYWdlLWxheWVyLnNldHRpbmdzJztcbmltcG9ydCBJbWFnZUxheWVyIGZyb20gJ29sL2xheWVyL0ltYWdlJztcbmltcG9ydCB7IGdldCwgUHJvamVjdGlvbiB9IGZyb20gJ29sL3Byb2onO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VMYXllckZhY3Rvcnkge1xuICBwdWJsaWMgYnVpbGQoc2V0dGluZ3M6IEltYWdlTGF5ZXJTZXR0aW5ncyk6IEltYWdlTGF5ZXI8U3RhdGljPiB7XG4gICAgY29uc3Qgc291cmNlID0gbmV3IFN0YXRpYyh7XG4gICAgICB1cmw6IHNldHRpbmdzLnVybCxcbiAgICAgIGludGVycG9sYXRlOiBzZXR0aW5ncy5pbnRlcnBvbGF0ZSxcbiAgICAgIGNyb3NzT3JpZ2luOiAnQW5vbnltb3VzJyxcbiAgICAgIHByb2plY3Rpb246IGdldChzZXR0aW5ncy5wcm9qZWN0aW9uKSEsXG4gICAgICBpbWFnZUV4dGVudDogc2V0dGluZ3MuZXh0ZW50LFxuICAgIH0pO1xuICAgIHJldHVybiBuZXcgSW1hZ2VMYXllcih7IHNvdXJjZSB9KTtcbiAgfVxufVxuIl19
@@ -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: "18.2.14", 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: "18.2.14", type: ImageLayerComponent, isStandalone: true, 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: "18.2.14", ngImport: i0, type: ImageLayerComponent, decorators: [{
47
- type: Component,
48
- args: [{ selector: 'art-image-layer', standalone: true, template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
49
- }], ctorParameters: () => [{ type: i1.MapPostboyService }, { type: i2.ImageLayerFactory }], propDecorators: { settings: [{
50
- type: Input
51
- }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy9pbWFnZS1sYXllci9pbWFnZS1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFNL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU0vQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7OztBQVNoRyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEscUJBQXFCO0lBR3hDO0lBQW9DO0lBRmpELEtBQUssQ0FBc0I7SUFFbEMsWUFBb0IsT0FBMEIsRUFBVSxPQUEwQjtRQUNoRixLQUFLLEVBQUUsQ0FBQztRQURVLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFFbEYsQ0FBQztJQUVELFNBQVMsR0FBdUIsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBRXpELElBQWEsUUFBUSxDQUFDLEtBQXFDO1FBQ3pELElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTzthQUNULEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQzthQUNyQixJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xCLEtBQUssRUFBRSxDQUNSO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUU3QixTQUFTO1FBQ2YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQzt3R0FuQ1UsbUJBQW1COzRGQUFuQixtQkFBbUIsb0lBSnBCLEVBQUU7OzRGQUlELG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFlBQ04sRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNO3NIQVdsQyxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJztcbmltcG9ydCB7IFhZWiB9IGZyb20gJ29sL3NvdXJjZSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgVGlsZUxheWVyRmFjdG9yeSB9IGZyb20gJy4uL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5mYWN0b3J5JztcbmltcG9ydCB7IFRpbGVMYXllclNldHRpbmdzIH0gZnJvbSAnLi4vdGlsZS1sYXllci90aWxlLWxheWVyLnNldHRpbmdzJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWRkVGlsZUNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtdGlsZS5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZVRpbGVDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBJbWFnZUxheWVyRmFjdG9yeSB9IGZyb20gJy4vaW1hZ2UtbGF5ZXItZmFjdG9yeSc7XG5pbXBvcnQgSW1hZ2VMYXllciBmcm9tICdvbC9sYXllci9JbWFnZSc7XG5pbXBvcnQgU3RhdGljIGZyb20gJ29sL3NvdXJjZS9JbWFnZVN0YXRpYyc7XG5pbXBvcnQgeyBJbWFnZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2ltYWdlLWxheWVyLnNldHRpbmdzJztcbmltcG9ydCB7IEFkZEltYWdlTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWltYWdlLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlSW1hZ2VMYXllckNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtaW1hZ2UtbGF5ZXIuY29tbWFuZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FydC1pbWFnZS1sYXllcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlTGF5ZXJDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgbGF5ZXI/OiBJbWFnZUxheWVyPFN0YXRpYz47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSwgcHJpdmF0ZSBmYWN0b3J5OiBJbWFnZUxheWVyRmFjdG9yeSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBfc2V0dGluZ3M6IEltYWdlTGF5ZXJTZXR0aW5ncyA9IG5ldyBJbWFnZUxheWVyU2V0dGluZ3MoKTtcblxuICBASW5wdXQoKSBzZXQgc2V0dGluZ3ModmFsdWU6IEltYWdlTGF5ZXJTZXR0aW5ncyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUgfHwgdGhpcy5fc2V0dGluZ3MuaXNTYW1lKHZhbHVlKSkgcmV0dXJuO1xuICAgIHRoaXMuX3NldHRpbmdzID0gdmFsdWU7XG4gICAgdGhpcy5pbml0TGF5ZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucG9zdGJveVxuICAgICAgLnN1YihNYXBSZW5kZXJlZEV2ZW50KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigobSkgPT4gISFtKSxcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKG0pID0+IHRoaXMuaW5pdExheWVyKCkpO1xuICB9XG5cbiAgb25EZXN0cm95ID0gKCkgPT4gdGhpcy5yZW1vdmVMYXllcigpO1xuXG4gIHByaXZhdGUgaW5pdExheWVyKCkge1xuICAgIHRoaXMucmVtb3ZlTGF5ZXIoKTtcbiAgICB0aGlzLmxheWVyID0gdGhpcy5mYWN0b3J5LmJ1aWxkKHRoaXMuX3NldHRpbmdzKTtcbiAgICB0aGlzLnBvc3Rib3kuZmlyZShuZXcgQWRkSW1hZ2VMYXllckNvbW1hbmQodGhpcy5sYXllcikpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVMYXllcigpIHtcbiAgICBpZiAodGhpcy5sYXllcikgdGhpcy5wb3N0Ym95LmZpcmUobmV3IFJlbW92ZUltYWdlTGF5ZXJDb21tYW5kKHRoaXMubGF5ZXIpKTtcbiAgfVxufVxuIl19
@@ -1,134 +0,0 @@
1
- export class ImageLayerSettings {
2
- /**
3
- * Represents the tiles URL.
4
- * @typedef {string} url
5
- *
6
- * @example
7
- * 'https://example.ex/{z}/{x}/{y}.png'
8
- */
9
- url = '';
10
- /**
11
- * Use interpolated values when resampling.
12
- * By default, linear interpolation is used when resampling.
13
- * Set to false to use the nearest neighbor instead.
14
- */
15
- interpolate = undefined;
16
- /**
17
- * The projection of the coordinate system.
18
- *
19
- * @type {string}
20
- * @default 'EPSG:3857'
21
- */
22
- projection = 'EPSG:3857';
23
- extent = [0, 0, 0, 0];
24
- /**
25
- * Additional headers that should be added to each tile request
26
- *
27
- * @type {Record<string, string>}
28
- * @default An empty array
29
- */
30
- requestHeaders = null;
31
- /**
32
- * Creates a copy of the given tile layer settings.
33
- *
34
- * @param {ImageLayerSettings} model - The tile layer settings to be copied.
35
- * @return {ImageLayerSettings} - A new instance of ImageLayerSettings with the same properties as the model.
36
- */
37
- static copy(model) {
38
- const result = new ImageLayerSettings();
39
- result.interpolate = model.interpolate;
40
- result.projection = model.projection;
41
- result.extent = model.extent;
42
- result.url = model.url;
43
- result.requestHeaders = model.requestHeaders;
44
- return result;
45
- }
46
- /**
47
- * Sets the URL of the ImageLayerSettings object.
48
- *
49
- * @param {string} url - The URL to be set.
50
- * @return {ImageLayerSettings} - The updated ImageLayerSettings object.
51
- */
52
- setUrl(url) {
53
- return ImageLayerSettings.copy({ ...this, url });
54
- }
55
- /**
56
- * Sets the interpolation state for the image layer settings.
57
- *
58
- * @param {boolean} [interpolate] - Use interpolated values when resampling.
59
- * By default, linear interpolation is used when resampling.
60
- * Set to false to use the nearest neighbor instead.
61
- * @return {ImageLayerSettings} A new instance of ImageLayerSettings with the updated interpolation setting.
62
- */
63
- setInterpolate(interpolate) {
64
- return ImageLayerSettings.copy({ ...this, interpolate });
65
- }
66
- setExtent(extent) {
67
- return ImageLayerSettings.copy({ ...this, extent });
68
- }
69
- /**
70
- * Sets the requestHeaders of the ImageLayerSettings object.
71
- *
72
- * @param {Record<string, string>} requestHeaders - The headers which should be provided.
73
- * @return {ImageLayerSettings} - The updated ImageLayerSettings object.
74
- */
75
- setRequestHeaders(requestHeaders) {
76
- return ImageLayerSettings.copy({ ...this, requestHeaders });
77
- }
78
- /**
79
- * Sets the maximum zoom level for the tile layer.
80
- *
81
- * @param {number} maxZoom - The maximum zoom level.
82
- * @returns {ImageLayerSettings} - The updated tile layer settings object.
83
- */
84
- setMaxZoom(maxZoom) {
85
- return ImageLayerSettings.copy({ ...this, maxZoom });
86
- }
87
- /**
88
- * Sets the minimum zoom level for the Tile Layer.
89
- *
90
- * @param {number} minZoom - The minimum zoom level to be set.
91
- * @return {ImageLayerSettings} The modified ImageLayerSettings object with the updated minimum zoom level.
92
- */
93
- setMinZoom(minZoom) {
94
- return ImageLayerSettings.copy({ ...this, minZoom });
95
- }
96
- /**
97
- * Sets the opacity of the ImageLayerSettings.
98
- *
99
- * @param {number} opacity - The opacity value to set. Must be a number between 0 and 1.
100
- * @return {ImageLayerSettings} - A new instance of ImageLayerSettings with the opacity set.
101
- */
102
- setOpacity(opacity) {
103
- return ImageLayerSettings.copy({ ...this, opacity });
104
- }
105
- /**
106
- * Sets the projection for the tile layer settings.
107
- *
108
- * @param {string} projection - The desired projection for the tile layer settings.
109
- * @return {ImageLayerSettings} - The updated tile layer settings with the new projection.
110
- */
111
- setProjection(projection) {
112
- return ImageLayerSettings.copy({ ...this, projection });
113
- }
114
- /**
115
- * Checks if the current instance of ImageLayerSettings is equal to the given model.
116
- * @param {ImageLayerSettings} model - The model to compare against.
117
- * @return {boolean} - True if all properties of the current instance matches the properties of the model;
118
- * otherwise, false.
119
- */
120
- isSame(model) {
121
- if (this.url !== model.url)
122
- return false;
123
- if (this.projection !== model.projection)
124
- return false;
125
- if (this.extent !== model.extent)
126
- return false;
127
- if (this.interpolate !== model.interpolate)
128
- return false;
129
- if (this.requestHeaders !== model.requestHeaders)
130
- return false;
131
- return true;
132
- }
133
- }
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtbGF5ZXIuc2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2ltYWdlLWxheWVyL2ltYWdlLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0I7Ozs7OztPQU1HO0lBQ0gsR0FBRyxHQUFXLEVBQUUsQ0FBQztJQUNqQjs7OztPQUlHO0lBQ0gsV0FBVyxHQUFhLFNBQVMsQ0FBQztJQUNsQzs7Ozs7T0FLRztJQUNILFVBQVUsR0FBVyxXQUFXLENBQUM7SUFDakMsTUFBTSxHQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEM7Ozs7O09BS0c7SUFDSCxjQUFjLEdBQWtDLElBQUksQ0FBQztJQUNyRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBeUI7UUFDMUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUN2QyxNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDckMsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUN2QixNQUFNLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFDN0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLEdBQVc7UUFDaEIsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsY0FBYyxDQUFDLFdBQXFCO1FBQ2xDLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQWdCO1FBQ3hCLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxpQkFBaUIsQ0FBQyxjQUFzQztRQUN0RCxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FBQyxPQUFlO1FBQ3hCLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxVQUFVLENBQUMsT0FBZTtRQUN4QixPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsYUFBYSxDQUFDLFVBQWtCO1FBQzlCLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsS0FBeUI7UUFDckMsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxHQUFHO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDekMsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FBQyxVQUFVO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDdkQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxNQUFNO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDL0MsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLEtBQUssQ0FBQyxXQUFXO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDekQsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLEtBQUssQ0FBQyxjQUFjO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDL0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgSW1hZ2VMYXllclNldHRpbmdzIHtcbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIHRpbGVzIFVSTC5cbiAgICogQHR5cGVkZWYge3N0cmluZ30gdXJsXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqICdodHRwczovL2V4YW1wbGUuZXgve3p9L3t4fS97eX0ucG5nJ1xuICAgKi9cbiAgdXJsOiBzdHJpbmcgPSAnJztcbiAgLyoqXG4gICAqIFVzZSBpbnRlcnBvbGF0ZWQgdmFsdWVzIHdoZW4gcmVzYW1wbGluZy5cbiAgICogQnkgZGVmYXVsdCwgbGluZWFyIGludGVycG9sYXRpb24gaXMgdXNlZCB3aGVuIHJlc2FtcGxpbmcuXG4gICAqIFNldCB0byBmYWxzZSB0byB1c2UgdGhlIG5lYXJlc3QgbmVpZ2hib3IgaW5zdGVhZC5cbiAgICovXG4gIGludGVycG9sYXRlPzogYm9vbGVhbiA9IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIFRoZSBwcm9qZWN0aW9uIG9mIHRoZSBjb29yZGluYXRlIHN5c3RlbS5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQGRlZmF1bHQgJ0VQU0c6Mzg1NydcbiAgICovXG4gIHByb2plY3Rpb246IHN0cmluZyA9ICdFUFNHOjM4NTcnO1xuICBleHRlbnQ6IG51bWJlcltdID0gWzAsIDAsIDAsIDBdO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBoZWFkZXJzIHRoYXQgc2hvdWxkIGJlIGFkZGVkIHRvIGVhY2ggdGlsZSByZXF1ZXN0XG4gICAqXG4gICAqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fVxuICAgKiBAZGVmYXVsdCBBbiBlbXB0eSBhcnJheVxuICAgKi9cbiAgcmVxdWVzdEhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBudWxsID0gbnVsbDtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBjb3B5IG9mIHRoZSBnaXZlbiB0aWxlIGxheWVyIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge0ltYWdlTGF5ZXJTZXR0aW5nc30gbW9kZWwgLSBUaGUgdGlsZSBsYXllciBzZXR0aW5ncyB0byBiZSBjb3BpZWQuXG4gICAqIEByZXR1cm4ge0ltYWdlTGF5ZXJTZXR0aW5nc30gLSBBIG5ldyBpbnN0YW5jZSBvZiBJbWFnZUxheWVyU2V0dGluZ3Mgd2l0aCB0aGUgc2FtZSBwcm9wZXJ0aWVzIGFzIHRoZSBtb2RlbC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY29weShtb2RlbDogSW1hZ2VMYXllclNldHRpbmdzKTogSW1hZ2VMYXllclNldHRpbmdzIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgSW1hZ2VMYXllclNldHRpbmdzKCk7XG4gICAgcmVzdWx0LmludGVycG9sYXRlID0gbW9kZWwuaW50ZXJwb2xhdGU7XG4gICAgcmVzdWx0LnByb2plY3Rpb24gPSBtb2RlbC5wcm9qZWN0aW9uO1xuICAgIHJlc3VsdC5leHRlbnQgPSBtb2RlbC5leHRlbnQ7XG4gICAgcmVzdWx0LnVybCA9IG1vZGVsLnVybDtcbiAgICByZXN1bHQucmVxdWVzdEhlYWRlcnMgPSBtb2RlbC5yZXF1ZXN0SGVhZGVycztcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIFVSTCBvZiB0aGUgSW1hZ2VMYXllclNldHRpbmdzIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybCAtIFRoZSBVUkwgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJuIHtJbWFnZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgSW1hZ2VMYXllclNldHRpbmdzIG9iamVjdC5cbiAgICovXG4gIHNldFVybCh1cmw6IHN0cmluZyk6IEltYWdlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIEltYWdlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgdXJsIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGludGVycG9sYXRpb24gc3RhdGUgZm9yIHRoZSBpbWFnZSBsYXllciBzZXR0aW5ncy5cbiAgICpcbiAgICogQHBhcmFtIHtib29sZWFufSBbaW50ZXJwb2xhdGVdIC0gVXNlIGludGVycG9sYXRlZCB2YWx1ZXMgd2hlbiByZXNhbXBsaW5nLlxuICAgKiBCeSBkZWZhdWx0LCBsaW5lYXIgaW50ZXJwb2xhdGlvbiBpcyB1c2VkIHdoZW4gcmVzYW1wbGluZy5cbiAgICogU2V0IHRvIGZhbHNlIHRvIHVzZSB0aGUgbmVhcmVzdCBuZWlnaGJvciBpbnN0ZWFkLlxuICAgKiBAcmV0dXJuIHtJbWFnZUxheWVyU2V0dGluZ3N9IEEgbmV3IGluc3RhbmNlIG9mIEltYWdlTGF5ZXJTZXR0aW5ncyB3aXRoIHRoZSB1cGRhdGVkIGludGVycG9sYXRpb24gc2V0dGluZy5cbiAgICovXG4gIHNldEludGVycG9sYXRlKGludGVycG9sYXRlPzogYm9vbGVhbik6IEltYWdlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIEltYWdlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgaW50ZXJwb2xhdGUgfSk7XG4gIH1cblxuICBzZXRFeHRlbnQoZXh0ZW50OiBudW1iZXJbXSk6IEltYWdlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIEltYWdlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgZXh0ZW50IH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHJlcXVlc3RIZWFkZXJzIG9mIHRoZSBJbWFnZUxheWVyU2V0dGluZ3Mgb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIHN0cmluZz59IHJlcXVlc3RIZWFkZXJzIC0gVGhlIGhlYWRlcnMgd2hpY2ggc2hvdWxkIGJlIHByb3ZpZGVkLlxuICAgKiBAcmV0dXJuIHtJbWFnZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgSW1hZ2VMYXllclNldHRpbmdzIG9iamVjdC5cbiAgICovXG4gIHNldFJlcXVlc3RIZWFkZXJzKHJlcXVlc3RIZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogSW1hZ2VMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gSW1hZ2VMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCByZXF1ZXN0SGVhZGVycyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtYXhpbXVtIHpvb20gbGV2ZWwgZm9yIHRoZSB0aWxlIGxheWVyLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gbWF4Wm9vbSAtIFRoZSBtYXhpbXVtIHpvb20gbGV2ZWwuXG4gICAqIEByZXR1cm5zIHtJbWFnZUxheWVyU2V0dGluZ3N9IC0gVGhlIHVwZGF0ZWQgdGlsZSBsYXllciBzZXR0aW5ncyBvYmplY3QuXG4gICAqL1xuICBzZXRNYXhab29tKG1heFpvb206IG51bWJlcik6IEltYWdlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIEltYWdlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgbWF4Wm9vbSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBtaW5pbXVtIHpvb20gbGV2ZWwgZm9yIHRoZSBUaWxlIExheWVyLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gbWluWm9vbSAtIFRoZSBtaW5pbXVtIHpvb20gbGV2ZWwgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJuIHtJbWFnZUxheWVyU2V0dGluZ3N9IFRoZSBtb2RpZmllZCBJbWFnZUxheWVyU2V0dGluZ3Mgb2JqZWN0IHdpdGggdGhlIHVwZGF0ZWQgbWluaW11bSB6b29tIGxldmVsLlxuICAgKi9cbiAgc2V0TWluWm9vbShtaW5ab29tOiBudW1iZXIpOiBJbWFnZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBJbWFnZUxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIG1pblpvb20gfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgb3BhY2l0eSBvZiB0aGUgSW1hZ2VMYXllclNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gb3BhY2l0eSAtIFRoZSBvcGFjaXR5IHZhbHVlIHRvIHNldC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4gICAqIEByZXR1cm4ge0ltYWdlTGF5ZXJTZXR0aW5nc30gLSBBIG5ldyBpbnN0YW5jZSBvZiBJbWFnZUxheWVyU2V0dGluZ3Mgd2l0aCB0aGUgb3BhY2l0eSBzZXQuXG4gICAqL1xuICBzZXRPcGFjaXR5KG9wYWNpdHk6IG51bWJlcik6IEltYWdlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIEltYWdlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgb3BhY2l0eSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwcm9qZWN0aW9uIGZvciB0aGUgdGlsZSBsYXllciBzZXR0aW5ncy5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHByb2plY3Rpb24gLSBUaGUgZGVzaXJlZCBwcm9qZWN0aW9uIGZvciB0aGUgdGlsZSBsYXllciBzZXR0aW5ncy5cbiAgICogQHJldHVybiB7SW1hZ2VMYXllclNldHRpbmdzfSAtIFRoZSB1cGRhdGVkIHRpbGUgbGF5ZXIgc2V0dGluZ3Mgd2l0aCB0aGUgbmV3IHByb2plY3Rpb24uXG4gICAqL1xuICBzZXRQcm9qZWN0aW9uKHByb2plY3Rpb246IHN0cmluZyk6IEltYWdlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIEltYWdlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgcHJvamVjdGlvbiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgaW5zdGFuY2Ugb2YgSW1hZ2VMYXllclNldHRpbmdzIGlzIGVxdWFsIHRvIHRoZSBnaXZlbiBtb2RlbC5cbiAgICogQHBhcmFtIHtJbWFnZUxheWVyU2V0dGluZ3N9IG1vZGVsIC0gVGhlIG1vZGVsIHRvIGNvbXBhcmUgYWdhaW5zdC5cbiAgICogQHJldHVybiB7Ym9vbGVhbn0gLSBUcnVlIGlmIGFsbCBwcm9wZXJ0aWVzIG9mIHRoZSBjdXJyZW50IGluc3RhbmNlIG1hdGNoZXMgdGhlIHByb3BlcnRpZXMgb2YgdGhlIG1vZGVsO1xuICAgKiAgICAgICAgICAgICAgICAgICAgb3RoZXJ3aXNlLCBmYWxzZS5cbiAgICovXG4gIHB1YmxpYyBpc1NhbWUobW9kZWw6IEltYWdlTGF5ZXJTZXR0aW5ncyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnVybCAhPT0gbW9kZWwudXJsKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMucHJvamVjdGlvbiAhPT0gbW9kZWwucHJvamVjdGlvbikgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLmV4dGVudCAhPT0gbW9kZWwuZXh0ZW50KSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuaW50ZXJwb2xhdGUgIT09IG1vZGVsLmludGVycG9sYXRlKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMucmVxdWVzdEhlYWRlcnMgIT09IG1vZGVsLnJlcXVlc3RIZWFkZXJzKSByZXR1cm4gZmFsc2U7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
@@ -1,12 +0,0 @@
1
- export * from './tile-layer/tile-layer.component';
2
- export * from './tile-layer/tile-layer.settings';
3
- export * from './osm-tile-layer/osm-tile-layer.component';
4
- export * from './feature-layer/feature-layer.settings';
5
- export * from './feature-layer/feature-layer.component';
6
- export * from './cluster-layer/cluster-layer.component';
7
- export * from './cluster-layer/cluster-layer.settings';
8
- export * from './image-layer/image-layer.component';
9
- export * from './image-layer/image-layer.settings';
10
- export * from './raster-tile/raster-tile-layer.component';
11
- export * from './raster-tile/raster-tile-layer.settings';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywwQ0FBMEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGlsZS1sYXllci90aWxlLWxheWVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5zZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL29zbS10aWxlLWxheWVyL29zbS10aWxlLWxheWVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtbGF5ZXIvZmVhdHVyZS1sYXllci5zZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtbGF5ZXIvZmVhdHVyZS1sYXllci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jbHVzdGVyLWxheWVyL2NsdXN0ZXItbGF5ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2x1c3Rlci1sYXllci9jbHVzdGVyLWxheWVyLnNldHRpbmdzJztcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2UtbGF5ZXIvaW1hZ2UtbGF5ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2UtbGF5ZXIvaW1hZ2UtbGF5ZXIuc2V0dGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9yYXN0ZXItdGlsZS9yYXN0ZXItdGlsZS1sYXllci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9yYXN0ZXItdGlsZS9yYXN0ZXItdGlsZS1sYXllci5zZXR0aW5ncyc7XG4iXX0=
@@ -1,67 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { DestructibleComponent } from '../../../common/destructible.component';
3
- import TileLayer from 'ol/layer/Tile';
4
- import OSM from 'ol/source/OSM';
5
- import * as i0 from "@angular/core";
6
- export class OsmTileLayerComponent extends DestructibleComponent {
7
- layer;
8
- constructor() {
9
- super();
10
- }
11
- _url = '';
12
- _map;
13
- _opacity = 1;
14
- set url(value) {
15
- if (!value || this._url === value)
16
- return;
17
- this._url = value;
18
- this.initLayer();
19
- }
20
- set opacity(value) {
21
- if (!value || this._opacity === value)
22
- return;
23
- this._opacity = value;
24
- this.initLayer();
25
- }
26
- set map(value) {
27
- if (!value || this._map === value)
28
- return;
29
- this._map = value;
30
- this.initLayer();
31
- }
32
- ngOnInit() { }
33
- ngOnDestroy() {
34
- if (this.layer) {
35
- this._map?.removeLayer(this.layer);
36
- }
37
- // @ts-ignore
38
- this.layer?.setMap(null);
39
- }
40
- initLayer() {
41
- if (!this._url || !this._map)
42
- return;
43
- if (this.layer)
44
- this._map.removeLayer(this.layer);
45
- this.layer = new TileLayer({
46
- source: new OSM({
47
- url: this._url,
48
- }),
49
- opacity: this._opacity,
50
- });
51
- this.layer.set('name', 'osm-tile-layer');
52
- this._map.addLayer(this.layer);
53
- }
54
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OsmTileLayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
55
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: OsmTileLayerComponent, isStandalone: true, selector: "art-osm-tile-layer", inputs: { url: "url", opacity: "opacity", map: "map" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
56
- }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OsmTileLayerComponent, decorators: [{
58
- type: Component,
59
- args: [{ selector: 'art-osm-tile-layer', standalone: true, template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
60
- }], ctorParameters: () => [], propDecorators: { url: [{
61
- type: Input
62
- }], opacity: [{
63
- type: Input
64
- }], map: [{
65
- type: Input
66
- }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3NtLXRpbGUtbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy9vc20tdGlsZS1sYXllci9vc20tdGlsZS1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxTQUFTLE1BQU0sZUFBZSxDQUFDO0FBRXRDLE9BQU8sR0FBRyxNQUFNLGVBQWUsQ0FBQzs7QUFXaEMsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHFCQUFxQjtJQUN2RCxLQUFLLENBQXlCO0lBRXJDO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRU8sSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUNsQixJQUFJLENBQU87SUFDWCxRQUFRLEdBQVcsQ0FBQyxDQUFDO0lBRTdCLElBQWEsR0FBRyxDQUFDLEtBQXlCO1FBQ3hDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLO1lBQUUsT0FBTztRQUMxQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQWEsT0FBTyxDQUFDLEtBQWE7UUFDaEMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUs7WUFBRSxPQUFPO1FBQzlDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBYSxHQUFHLENBQUMsS0FBc0I7UUFDckMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUs7WUFBRSxPQUFPO1FBQzFDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUSxLQUFVLENBQUM7SUFFbkIsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxhQUFhO1FBQ2IsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUNyQyxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDekIsTUFBTSxFQUFFLElBQUksR0FBRyxDQUFDO2dCQUNkLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSTthQUNmLENBQUM7WUFDRixPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDdkIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7d0dBbERVLHFCQUFxQjs0RkFBckIscUJBQXFCLDZKQUp0QixFQUFFOzs0RkFJRCxxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksWUFDTixFQUFFLG1CQUVLLHVCQUF1QixDQUFDLE1BQU07d0RBYWxDLEdBQUc7c0JBQWYsS0FBSztnQkFNTyxPQUFPO3NCQUFuQixLQUFLO2dCQU1PLEdBQUc7c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3RydWN0aWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kZXN0cnVjdGlibGUuY29tcG9uZW50JztcbmltcG9ydCBUaWxlTGF5ZXIgZnJvbSAnb2wvbGF5ZXIvVGlsZSc7XG5pbXBvcnQgVGlsZVNvdXJjZSBmcm9tICdvbC9zb3VyY2UvVGlsZSc7XG5pbXBvcnQgT1NNIGZyb20gJ29sL3NvdXJjZS9PU00nO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwU2V0dGluZ3MgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcnQtb3NtLXRpbGUtbGF5ZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBPc21UaWxlTGF5ZXJDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgbGF5ZXI/OiBUaWxlTGF5ZXI8VGlsZVNvdXJjZT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VybDogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgX21hcD86IE1hcDtcbiAgcHJpdmF0ZSBfb3BhY2l0eTogbnVtYmVyID0gMTtcblxuICBASW5wdXQoKSBzZXQgdXJsKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlIHx8IHRoaXMuX3VybCA9PT0gdmFsdWUpIHJldHVybjtcbiAgICB0aGlzLl91cmwgPSB2YWx1ZTtcbiAgICB0aGlzLmluaXRMYXllcigpO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IG9wYWNpdHkodmFsdWU6IG51bWJlcikge1xuICAgIGlmICghdmFsdWUgfHwgdGhpcy5fb3BhY2l0eSA9PT0gdmFsdWUpIHJldHVybjtcbiAgICB0aGlzLl9vcGFjaXR5ID0gdmFsdWU7XG4gICAgdGhpcy5pbml0TGF5ZXIoKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBtYXAodmFsdWU6IE1hcCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUgfHwgdGhpcy5fbWFwID09PSB2YWx1ZSkgcmV0dXJuO1xuICAgIHRoaXMuX21hcCA9IHZhbHVlO1xuICAgIHRoaXMuaW5pdExheWVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGF5ZXIpIHtcbiAgICAgIHRoaXMuX21hcD8ucmVtb3ZlTGF5ZXIodGhpcy5sYXllcik7XG4gICAgfVxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICB0aGlzLmxheWVyPy5zZXRNYXAobnVsbCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRMYXllcigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3VybCB8fCAhdGhpcy5fbWFwKSByZXR1cm47XG4gICAgaWYgKHRoaXMubGF5ZXIpIHRoaXMuX21hcC5yZW1vdmVMYXllcih0aGlzLmxheWVyKTtcbiAgICB0aGlzLmxheWVyID0gbmV3IFRpbGVMYXllcih7XG4gICAgICBzb3VyY2U6IG5ldyBPU00oe1xuICAgICAgICB1cmw6IHRoaXMuX3VybCxcbiAgICAgIH0pLFxuICAgICAgb3BhY2l0eTogdGhpcy5fb3BhY2l0eSxcbiAgICB9KTtcbiAgICB0aGlzLmxheWVyLnNldCgnbmFtZScsICdvc20tdGlsZS1sYXllcicpO1xuICAgIHRoaXMuX21hcC5hZGRMYXllcih0aGlzLmxheWVyKTtcbiAgfVxufVxuIl19
@@ -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 { RasterTileLayerSettings } from './raster-tile-layer.settings';
6
- import { AddRasterTileCommand } from '../../../messages/commands/add-raster-tile-command';
7
- import { RemoveRasterTileCommand } from '../../../messages/commands/remove-raster-tile.command';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../../../services/map-postboy.service";
10
- import * as i2 from "./raster-tile-layer.factory";
11
- export class RasterTileLayerComponent 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 RasterTileLayerSettings();
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 AddRasterTileCommand(this.layer));
38
- }
39
- removeLayer() {
40
- if (this.layer)
41
- this.postboy.fire(new RemoveRasterTileCommand(this.layer));
42
- }
43
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RasterTileLayerComponent, deps: [{ token: i1.MapPostboyService }, { token: i2.RasterTileLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
44
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RasterTileLayerComponent, isStandalone: true, selector: "art-raster-tile-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
- }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RasterTileLayerComponent, decorators: [{
47
- type: Component,
48
- args: [{ selector: 'art-raster-tile-layer', standalone: true, template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
49
- }], ctorParameters: () => [{ type: i1.MapPostboyService }, { type: i2.RasterTileLayerFactory }], propDecorators: { settings: [{
50
- type: Input
51
- }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFzdGVyLXRpbGUtbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy9yYXN0ZXItdGlsZS9yYXN0ZXItdGlsZS1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFNL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUsvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7OztBQVNoRyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEscUJBQXFCO0lBRzdDO0lBQW9DO0lBRmpELEtBQUssQ0FBc0I7SUFFbEMsWUFBb0IsT0FBMEIsRUFBVSxPQUErQjtRQUNyRixLQUFLLEVBQUUsQ0FBQztRQURVLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBd0I7SUFFdkYsQ0FBQztJQUVELFNBQVMsR0FBNEIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO0lBRW5FLElBQWEsUUFBUSxDQUFDLEtBQTBDO1FBQzlELElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTzthQUNULEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQzthQUNyQixJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xCLEtBQUssRUFBRSxDQUNSO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUU3QixTQUFTO1FBQ2YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQzt3R0FuQ1Usd0JBQXdCOzRGQUF4Qix3QkFBd0IsMElBSnpCLEVBQUU7OzRGQUlELHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxZQUNOLEVBQUUsbUJBRUssdUJBQXVCLENBQUMsTUFBTTsySEFXbEMsUUFBUTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3RydWN0aWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kZXN0cnVjdGlibGUuY29tcG9uZW50JztcbmltcG9ydCBUaWxlTGF5ZXIgZnJvbSAnb2wvbGF5ZXIvVGlsZSc7XG5pbXBvcnQgeyBSYXN0ZXIsIFhZWiB9IGZyb20gJ29sL3NvdXJjZSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgVGlsZUxheWVyRmFjdG9yeSB9IGZyb20gJy4uL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5mYWN0b3J5JztcbmltcG9ydCB7IFRpbGVMYXllclNldHRpbmdzIH0gZnJvbSAnLi4vdGlsZS1sYXllci90aWxlLWxheWVyLnNldHRpbmdzJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWRkVGlsZUNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtdGlsZS5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZVRpbGVDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgSW1hZ2VMYXllciBmcm9tICdvbC9sYXllci9JbWFnZSc7XG5pbXBvcnQgeyBSYXN0ZXJUaWxlTGF5ZXJGYWN0b3J5IH0gZnJvbSAnLi9yYXN0ZXItdGlsZS1sYXllci5mYWN0b3J5JztcbmltcG9ydCB7IFJhc3RlclRpbGVMYXllclNldHRpbmdzIH0gZnJvbSAnLi9yYXN0ZXItdGlsZS1sYXllci5zZXR0aW5ncyc7XG5pbXBvcnQgeyBBZGRSYXN0ZXJUaWxlQ29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC1yYXN0ZXItdGlsZS1jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZVJhc3RlclRpbGVDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLXJhc3Rlci10aWxlLmNvbW1hbmQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcnQtcmFzdGVyLXRpbGUtbGF5ZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSYXN0ZXJUaWxlTGF5ZXJDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQge1xuICBwdWJsaWMgbGF5ZXI/OiBJbWFnZUxheWVyPFJhc3Rlcj47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSwgcHJpdmF0ZSBmYWN0b3J5OiBSYXN0ZXJUaWxlTGF5ZXJGYWN0b3J5KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIF9zZXR0aW5nczogUmFzdGVyVGlsZUxheWVyU2V0dGluZ3MgPSBuZXcgUmFzdGVyVGlsZUxheWVyU2V0dGluZ3MoKTtcblxuICBASW5wdXQoKSBzZXQgc2V0dGluZ3ModmFsdWU6IFJhc3RlclRpbGVMYXllclNldHRpbmdzIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSB8fCB0aGlzLl9zZXR0aW5ncy5pc1NhbWUodmFsdWUpKSByZXR1cm47XG4gICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcbiAgICB0aGlzLmluaXRMYXllcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95XG4gICAgICAuc3ViKE1hcFJlbmRlcmVkRXZlbnQpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChtKSA9PiAhIW0pLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgobSkgPT4gdGhpcy5pbml0TGF5ZXIoKSk7XG4gIH1cblxuICBvbkRlc3Ryb3kgPSAoKSA9PiB0aGlzLnJlbW92ZUxheWVyKCk7XG5cbiAgcHJpdmF0ZSBpbml0TGF5ZXIoKSB7XG4gICAgdGhpcy5yZW1vdmVMYXllcigpO1xuICAgIHRoaXMubGF5ZXIgPSB0aGlzLmZhY3RvcnkuYnVpbGQodGhpcy5fc2V0dGluZ3MpO1xuICAgIHRoaXMucG9zdGJveS5maXJlKG5ldyBBZGRSYXN0ZXJUaWxlQ29tbWFuZCh0aGlzLmxheWVyKSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUxheWVyKCkge1xuICAgIGlmICh0aGlzLmxheWVyKSB0aGlzLnBvc3Rib3kuZmlyZShuZXcgUmVtb3ZlUmFzdGVyVGlsZUNvbW1hbmQodGhpcy5sYXllcikpO1xuICB9XG59XG4iXX0=
@@ -1,74 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { XYZ } from 'ol/source';
3
- import { get } from 'ol/proj';
4
- import ImageLayer from 'ol/layer/Image';
5
- import RasterSource from 'ol/source/Raster';
6
- import * as i0 from "@angular/core";
7
- export class RasterTileLayerFactory {
8
- build(settings) {
9
- const source = new XYZ({
10
- tileSize: 256,
11
- maxZoom: settings.maxZoom || 14,
12
- minZoom: settings.minZoom || 1,
13
- projection: get(settings.projection),
14
- tileUrlFunction: this.getTileFunc(settings),
15
- crossOrigin: 'Anonymous',
16
- tileLoadFunction: !!settings.requestHeaders
17
- ? (tile, src) => this.tileLoader(tile, src, settings.requestHeaders)
18
- : undefined,
19
- });
20
- const raster = new RasterSource({
21
- sources: [source],
22
- operationType: 'image',
23
- operation: settings.operation,
24
- });
25
- return new ImageLayer({ source: raster, opacity: settings.opacity, zIndex: settings.zIndex });
26
- }
27
- getTileFunc(settings) {
28
- return (tileCoord) => {
29
- const zoom = tileCoord[0];
30
- const x = tileCoord[1];
31
- const y = tileCoord[2];
32
- const normalizedCoord = this.getNormalizedCoord({ x: x, y: y }, zoom);
33
- const bound = 1 << zoom;
34
- return settings.url
35
- .replace('{x}', String(normalizedCoord?.x || x))
36
- .replace('{z}', String(zoom))
37
- .replace('{y}', String(bound - (normalizedCoord?.y || y) - 1));
38
- };
39
- }
40
- tileLoader(tile, src, headers) {
41
- const client = new XMLHttpRequest();
42
- client.open('GET', src);
43
- client.responseType = 'arraybuffer';
44
- Object.keys(headers).forEach((k) => client.setRequestHeader(k, headers[k]));
45
- client.onload = function () {
46
- if (this.response !== undefined) {
47
- const arrayBufferView = new Uint8Array(this.response);
48
- const blob = new Blob([arrayBufferView], { type: 'image/png' });
49
- const urlCreator = window.URL || window.webkitURL;
50
- tile.getImage().src = urlCreator.createObjectURL(blob);
51
- }
52
- };
53
- client.send();
54
- }
55
- getNormalizedCoord(coord, zoom) {
56
- const y = coord.y;
57
- let x = coord.x;
58
- const tileRange = 1 << zoom;
59
- if (y < 0 || y >= tileRange)
60
- return null;
61
- if (x < 0 || x >= tileRange)
62
- x = ((x % tileRange) + tileRange) % tileRange;
63
- return { x: x, y: y };
64
- }
65
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RasterTileLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
66
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RasterTileLayerFactory, providedIn: 'root' });
67
- }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RasterTileLayerFactory, decorators: [{
69
- type: Injectable,
70
- args: [{
71
- providedIn: 'root',
72
- }]
73
- }] });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFzdGVyLXRpbGUtbGF5ZXIuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvcmFzdGVyLXRpbGUvcmFzdGVyLXRpbGUtbGF5ZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBVSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUc5QixPQUFPLFVBQVUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLFlBQVksTUFBTSxrQkFBa0IsQ0FBQzs7QUFLNUMsTUFBTSxPQUFPLHNCQUFzQjtJQUMxQixLQUFLLENBQUMsUUFBaUM7UUFDNUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDckIsUUFBUSxFQUFFLEdBQUc7WUFDYixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sSUFBSSxFQUFFO1lBQy9CLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxJQUFJLENBQUM7WUFDOUIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFFO1lBQ3JDLGVBQWUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztZQUMzQyxXQUFXLEVBQUUsV0FBVztZQUN4QixnQkFBZ0IsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLGNBQWM7Z0JBQ3pDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFXLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsY0FBZSxDQUFDO2dCQUM3RSxDQUFDLENBQUMsU0FBUztTQUNkLENBQUMsQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLElBQUksWUFBWSxDQUFDO1lBQzlCLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqQixhQUFhLEVBQUUsT0FBTztZQUN0QixTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVM7U0FDOUIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLFVBQVUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFTyxXQUFXLENBQUMsUUFBaUM7UUFDbkQsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ25CLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQixNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUM7WUFDeEIsT0FBTyxRQUFRLENBQUMsR0FBRztpQkFDaEIsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztpQkFDL0MsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzVCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRSxDQUFDLENBQUM7SUFDSixDQUFDO0lBRU8sVUFBVSxDQUFDLElBQVUsRUFBRSxHQUFXLEVBQUUsT0FBK0I7UUFDekUsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN4QixNQUFNLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQztRQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BGLE1BQU0sQ0FBQyxNQUFNLEdBQUc7WUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ2hDLE1BQU0sZUFBZSxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDdEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO2dCQUNoRSxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxJQUFLLE1BQWMsQ0FBQyxTQUFTLENBQUM7Z0JBQzFELElBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsRSxDQUFDO1FBQ0gsQ0FBQyxDQUFDO1FBQ0YsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUErQixFQUFFLElBQVk7UUFDdEUsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hCLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTO1lBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQzNFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN4QixDQUFDO3dHQTFEVSxzQkFBc0I7NEdBQXRCLHNCQUFzQixjQUZyQixNQUFNOzs0RkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmFzdGVyLCBYWVogfSBmcm9tICdvbC9zb3VyY2UnO1xuaW1wb3J0IHsgVGlsZUNvb3JkIH0gZnJvbSAnb2wvdGlsZWNvb3JkJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IHsgVGlsZSB9IGZyb20gJ29sJztcbmltcG9ydCB7IFJhc3RlclRpbGVMYXllclNldHRpbmdzIH0gZnJvbSAnLi9yYXN0ZXItdGlsZS1sYXllci5zZXR0aW5ncyc7XG5pbXBvcnQgSW1hZ2VMYXllciBmcm9tICdvbC9sYXllci9JbWFnZSc7XG5pbXBvcnQgUmFzdGVyU291cmNlIGZyb20gJ29sL3NvdXJjZS9SYXN0ZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUmFzdGVyVGlsZUxheWVyRmFjdG9yeSB7XG4gIHB1YmxpYyBidWlsZChzZXR0aW5nczogUmFzdGVyVGlsZUxheWVyU2V0dGluZ3MpOiBJbWFnZUxheWVyPFJhc3Rlcj4ge1xuICAgIGNvbnN0IHNvdXJjZSA9IG5ldyBYWVooe1xuICAgICAgdGlsZVNpemU6IDI1NixcbiAgICAgIG1heFpvb206IHNldHRpbmdzLm1heFpvb20gfHwgMTQsXG4gICAgICBtaW5ab29tOiBzZXR0aW5ncy5taW5ab29tIHx8IDEsXG4gICAgICBwcm9qZWN0aW9uOiBnZXQoc2V0dGluZ3MucHJvamVjdGlvbikhLFxuICAgICAgdGlsZVVybEZ1bmN0aW9uOiB0aGlzLmdldFRpbGVGdW5jKHNldHRpbmdzKSxcbiAgICAgIGNyb3NzT3JpZ2luOiAnQW5vbnltb3VzJyxcbiAgICAgIHRpbGVMb2FkRnVuY3Rpb246ICEhc2V0dGluZ3MucmVxdWVzdEhlYWRlcnNcbiAgICAgICAgPyAodGlsZSwgc3JjOiBzdHJpbmcpID0+IHRoaXMudGlsZUxvYWRlcih0aWxlLCBzcmMsIHNldHRpbmdzLnJlcXVlc3RIZWFkZXJzISlcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gICAgY29uc3QgcmFzdGVyID0gbmV3IFJhc3RlclNvdXJjZSh7XG4gICAgICBzb3VyY2VzOiBbc291cmNlXSxcbiAgICAgIG9wZXJhdGlvblR5cGU6ICdpbWFnZScsXG4gICAgICBvcGVyYXRpb246IHNldHRpbmdzLm9wZXJhdGlvbixcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IEltYWdlTGF5ZXIoeyBzb3VyY2U6IHJhc3Rlciwgb3BhY2l0eTogc2V0dGluZ3Mub3BhY2l0eSwgekluZGV4OiBzZXR0aW5ncy56SW5kZXggfSk7XG4gIH1cblxuICBwcml2YXRlIGdldFRpbGVGdW5jKHNldHRpbmdzOiBSYXN0ZXJUaWxlTGF5ZXJTZXR0aW5ncyk6ICh0aWxlQ29vcmQ6IFRpbGVDb29yZCkgPT4gc3RyaW5nIHtcbiAgICByZXR1cm4gKHRpbGVDb29yZCkgPT4ge1xuICAgICAgY29uc3Qgem9vbSA9IHRpbGVDb29yZFswXTtcbiAgICAgIGNvbnN0IHggPSB0aWxlQ29vcmRbMV07XG4gICAgICBjb25zdCB5ID0gdGlsZUNvb3JkWzJdO1xuICAgICAgY29uc3Qgbm9ybWFsaXplZENvb3JkID0gdGhpcy5nZXROb3JtYWxpemVkQ29vcmQoeyB4OiB4LCB5OiB5IH0sIHpvb20pO1xuICAgICAgY29uc3QgYm91bmQgPSAxIDw8IHpvb207XG4gICAgICByZXR1cm4gc2V0dGluZ3MudXJsXG4gICAgICAgIC5yZXBsYWNlKCd7eH0nLCBTdHJpbmcobm9ybWFsaXplZENvb3JkPy54IHx8IHgpKVxuICAgICAgICAucmVwbGFjZSgne3p9JywgU3RyaW5nKHpvb20pKVxuICAgICAgICAucmVwbGFjZSgne3l9JywgU3RyaW5nKGJvdW5kIC0gKG5vcm1hbGl6ZWRDb29yZD8ueSB8fCB5KSAtIDEpKTtcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSB0aWxlTG9hZGVyKHRpbGU6IFRpbGUsIHNyYzogc3RyaW5nLCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG4gICAgY2xpZW50Lm9wZW4oJ0dFVCcsIHNyYyk7XG4gICAgY2xpZW50LnJlc3BvbnNlVHlwZSA9ICdhcnJheWJ1ZmZlcic7XG4gICAgT2JqZWN0LmtleXMoaGVhZGVycykuZm9yRWFjaCgoazogc3RyaW5nKSA9PiBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcihrLCBoZWFkZXJzW2tdKSk7XG4gICAgY2xpZW50Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICh0aGlzLnJlc3BvbnNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgYXJyYXlCdWZmZXJWaWV3ID0gbmV3IFVpbnQ4QXJyYXkodGhpcy5yZXNwb25zZSk7XG4gICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYXJyYXlCdWZmZXJWaWV3XSwgeyB0eXBlOiAnaW1hZ2UvcG5nJyB9KTtcbiAgICAgICAgY29uc3QgdXJsQ3JlYXRvciA9IHdpbmRvdy5VUkwgfHwgKHdpbmRvdyBhcyBhbnkpLndlYmtpdFVSTDtcbiAgICAgICAgKHRpbGUgYXMgYW55KS5nZXRJbWFnZSgpLnNyYyA9IHVybENyZWF0b3IuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgfVxuICAgIH07XG4gICAgY2xpZW50LnNlbmQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Tm9ybWFsaXplZENvb3JkKGNvb3JkOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0sIHpvb206IG51bWJlcikge1xuICAgIGNvbnN0IHkgPSBjb29yZC55O1xuICAgIGxldCB4ID0gY29vcmQueDtcbiAgICBjb25zdCB0aWxlUmFuZ2UgPSAxIDw8IHpvb207XG4gICAgaWYgKHkgPCAwIHx8IHkgPj0gdGlsZVJhbmdlKSByZXR1cm4gbnVsbDtcbiAgICBpZiAoeCA8IDAgfHwgeCA+PSB0aWxlUmFuZ2UpIHggPSAoKHggJSB0aWxlUmFuZ2UpICsgdGlsZVJhbmdlKSAlIHRpbGVSYW5nZTtcbiAgICByZXR1cm4geyB4OiB4LCB5OiB5IH07XG4gIH1cbn1cbiJdfQ==