@artstesh/maps 5.0.5 → 5.0.7

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 (97) hide show
  1. package/dist/esm2022/map/helpers/index.mjs +3 -1
  2. package/dist/esm2022/map/helpers/marker-style.helper.mjs +5 -1
  3. package/dist/esm2022/map/helpers/polygon-style.helper.mjs +16 -0
  4. package/dist/esm2022/map/helpers/text-style.helper.mjs +14 -0
  5. package/dist/esm2022/map/map-plate/features/index.mjs +2 -1
  6. package/dist/esm2022/map/map-plate/features/polygons/polygons.component.mjs +42 -0
  7. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +59 -0
  8. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +52 -0
  9. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +21 -0
  10. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +60 -0
  11. package/dist/esm2022/map/map-plate/layers/index.mjs +3 -1
  12. package/dist/esm2022/map/map-plate/map-plate.component.mjs +4 -3
  13. package/dist/esm2022/map/map.module.mjs +23 -3
  14. package/dist/esm2022/map/messages/commands/add-layer.command.mjs +1 -1
  15. package/dist/esm2022/map/messages/commands/fit-to-features.command.mjs +15 -0
  16. package/dist/esm2022/map/messages/events/map-click.event.mjs +4 -2
  17. package/dist/esm2022/map/models/i-identified.mjs +2 -0
  18. package/dist/esm2022/map/models/index.mjs +2 -1
  19. package/dist/esm2022/map/models/map.constants.mjs +4 -0
  20. package/dist/esm2022/map/models/marker-model.mjs +3 -2
  21. package/dist/esm2022/map/models/polygon.model.mjs +30 -0
  22. package/dist/esm2022/map/services/map-click.service.mjs +7 -3
  23. package/dist/esm2022/map/services/map-feature.service.mjs +41 -0
  24. package/dist/esm2022/map/services/map-management.service.mjs +6 -3
  25. package/dist/esm2022/map/services/message-registrator.service.mjs +9 -6
  26. package/dist/esm2022/src/map/helpers/index.mjs +3 -1
  27. package/dist/esm2022/src/map/helpers/marker-style.helper.mjs +5 -1
  28. package/dist/esm2022/src/map/helpers/polygon-style.helper.mjs +16 -0
  29. package/dist/esm2022/src/map/helpers/text-style.helper.mjs +14 -0
  30. package/dist/esm2022/src/map/map-plate/features/index.mjs +2 -1
  31. package/dist/esm2022/src/map/map-plate/features/polygons/polygons.component.mjs +42 -0
  32. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +59 -0
  33. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +52 -0
  34. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +21 -0
  35. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +60 -0
  36. package/dist/esm2022/src/map/map-plate/layers/index.mjs +3 -1
  37. package/dist/esm2022/src/map/map-plate/map-plate.component.mjs +4 -3
  38. package/dist/esm2022/src/map/map.module.mjs +23 -3
  39. package/dist/esm2022/src/map/messages/commands/add-layer.command.mjs +1 -1
  40. package/dist/esm2022/src/map/messages/commands/fit-to-features.command.mjs +15 -0
  41. package/dist/esm2022/src/map/messages/events/map-click.event.mjs +4 -2
  42. package/dist/esm2022/src/map/models/i-identified.mjs +2 -0
  43. package/dist/esm2022/src/map/models/index.mjs +2 -1
  44. package/dist/esm2022/src/map/models/map.constants.mjs +4 -0
  45. package/dist/esm2022/src/map/models/marker-model.mjs +3 -2
  46. package/dist/esm2022/src/map/models/polygon.model.mjs +30 -0
  47. package/dist/esm2022/src/map/services/map-click.service.mjs +7 -3
  48. package/dist/esm2022/src/map/services/map-feature.service.mjs +41 -0
  49. package/dist/esm2022/src/map/services/map-management.service.mjs +6 -3
  50. package/dist/esm2022/src/map/services/message-registrator.service.mjs +9 -6
  51. package/dist/fesm2022/maps-components-src-map.mjs +364 -16
  52. package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
  53. package/dist/fesm2022/maps-components.mjs +364 -16
  54. package/dist/fesm2022/maps-components.mjs.map +1 -1
  55. package/dist/map/helpers/index.d.ts +2 -0
  56. package/dist/map/helpers/marker-style.helper.d.ts +2 -0
  57. package/dist/map/helpers/polygon-style.helper.d.ts +4 -0
  58. package/dist/map/helpers/text-style.helper.d.ts +4 -0
  59. package/dist/map/map-plate/features/index.d.ts +1 -0
  60. package/dist/map/map-plate/features/polygons/polygons.component.d.ts +16 -0
  61. package/dist/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.d.ts +11 -0
  62. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +21 -0
  63. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.manager.d.ts +11 -0
  64. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +20 -0
  65. package/dist/map/map-plate/layers/index.d.ts +2 -0
  66. package/dist/map/map.module.d.ts +4 -2
  67. package/dist/map/messages/commands/add-layer.command.d.ts +3 -2
  68. package/dist/map/messages/commands/fit-to-features.command.d.ts +10 -0
  69. package/dist/map/messages/events/map-click.event.d.ts +10 -2
  70. package/dist/map/models/i-identified.d.ts +3 -0
  71. package/dist/map/models/index.d.ts +1 -0
  72. package/dist/map/models/map.constants.d.ts +3 -0
  73. package/dist/map/models/polygon.model.d.ts +19 -0
  74. package/dist/map/services/map-feature.service.d.ts +14 -0
  75. package/dist/map/services/message-registrator.service.d.ts +2 -1
  76. package/dist/src/map/helpers/index.d.ts +2 -0
  77. package/dist/src/map/helpers/marker-style.helper.d.ts +2 -0
  78. package/dist/src/map/helpers/polygon-style.helper.d.ts +4 -0
  79. package/dist/src/map/helpers/text-style.helper.d.ts +4 -0
  80. package/dist/src/map/map-plate/features/index.d.ts +1 -0
  81. package/dist/src/map/map-plate/features/polygons/polygons.component.d.ts +16 -0
  82. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.d.ts +11 -0
  83. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +21 -0
  84. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.d.ts +11 -0
  85. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +20 -0
  86. package/dist/src/map/map-plate/layers/index.d.ts +2 -0
  87. package/dist/src/map/map.module.d.ts +4 -2
  88. package/dist/src/map/messages/commands/add-layer.command.d.ts +3 -2
  89. package/dist/src/map/messages/commands/fit-to-features.command.d.ts +10 -0
  90. package/dist/src/map/messages/events/map-click.event.d.ts +10 -2
  91. package/dist/src/map/models/i-identified.d.ts +3 -0
  92. package/dist/src/map/models/index.d.ts +1 -0
  93. package/dist/src/map/models/map.constants.d.ts +3 -0
  94. package/dist/src/map/models/polygon.model.d.ts +19 -0
  95. package/dist/src/map/services/map-feature.service.d.ts +14 -0
  96. package/dist/src/map/services/message-registrator.service.d.ts +2 -1
  97. package/package.json +1 -1
@@ -0,0 +1,30 @@
1
+ import { IdGenerator } from '../common/id.generator';
2
+ import { GeoJSON, WKT } from 'ol/format';
3
+ import { getCenter } from 'ol/extent';
4
+ export class PolygonModel {
5
+ info;
6
+ id;
7
+ lat;
8
+ lng;
9
+ _feature;
10
+ static fromGeoJson(id, json, info) {
11
+ let feature = new GeoJSON().readFeature(json);
12
+ feature.setId(id);
13
+ return new PolygonModel(feature, id, info);
14
+ }
15
+ static fromWKT(id, wkt, info) {
16
+ let feature = new WKT().readFeature(wkt);
17
+ feature.setId(id);
18
+ return new PolygonModel(feature, id, info);
19
+ }
20
+ constructor(feature, id, info) {
21
+ this.info = info;
22
+ this.id = id == null ? IdGenerator.get() : id;
23
+ this._feature = feature;
24
+ [this.lng, this.lat] = getCenter(this._feature.getGeometry()?.getExtent());
25
+ }
26
+ get feature() {
27
+ return this._feature;
28
+ }
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21vZGVscy9wb2x5Z29uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUdyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRDLE1BQU0sT0FBTyxZQUFZO0lBa0JzRDtJQWpCN0QsRUFBRSxDQUFrQjtJQUNwQixHQUFHLENBQVM7SUFDWixHQUFHLENBQVM7SUFDcEIsUUFBUSxDQUFvQjtJQUU3QixNQUFNLENBQUMsV0FBVyxDQUFDLEVBQW1CLEVBQUUsSUFBWSxFQUFFLElBQTRCO1FBQ3ZGLElBQUksT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEIsT0FBTyxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQW1CLEVBQUUsR0FBVyxFQUFFLElBQTRCO1FBQ2xGLElBQUksT0FBTyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEIsT0FBTyxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxZQUFvQixPQUEwQixFQUFFLEVBQW9CLEVBQVMsSUFBNEI7UUFBNUIsU0FBSSxHQUFKLElBQUksQ0FBd0I7UUFDdkcsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxFQUFFLFNBQVMsRUFBRyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWRHZW5lcmF0b3IgfSBmcm9tICcuLi9jb21tb24vaWQuZ2VuZXJhdG9yJztcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IHsgR2VvSlNPTiwgV0tUIH0gZnJvbSAnb2wvZm9ybWF0JztcbmltcG9ydCB7IGdldENlbnRlciB9IGZyb20gJ29sL2V4dGVudCc7XG5cbmV4cG9ydCBjbGFzcyBQb2x5Z29uTW9kZWwge1xuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgcHVibGljIHJlYWRvbmx5IGxhdDogbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgbG5nOiBudW1iZXI7XG4gIHByaXZhdGUgX2ZlYXR1cmU6IEZlYXR1cmU8R2VvbWV0cnk+O1xuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUdlb0pzb24oaWQ6IHN0cmluZyB8IG51bWJlciwganNvbjogc3RyaW5nLCBpbmZvPzogeyBbaWQ6IHN0cmluZ106IGFueSB9KTogUG9seWdvbk1vZGVsIHtcbiAgICBsZXQgZmVhdHVyZSA9IG5ldyBHZW9KU09OKCkucmVhZEZlYXR1cmUoanNvbik7XG4gICAgZmVhdHVyZS5zZXRJZChpZCk7XG4gICAgcmV0dXJuIG5ldyBQb2x5Z29uTW9kZWwoZmVhdHVyZSwgaWQsIGluZm8pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tV0tUKGlkOiBzdHJpbmcgfCBudW1iZXIsIHdrdDogc3RyaW5nLCBpbmZvPzogeyBbaWQ6IHN0cmluZ106IGFueSB9KTogUG9seWdvbk1vZGVsIHtcbiAgICBsZXQgZmVhdHVyZSA9IG5ldyBXS1QoKS5yZWFkRmVhdHVyZSh3a3QpO1xuICAgIGZlYXR1cmUuc2V0SWQoaWQpO1xuICAgIHJldHVybiBuZXcgUG9seWdvbk1vZGVsKGZlYXR1cmUsIGlkLCBpbmZvKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoZmVhdHVyZTogRmVhdHVyZTxHZW9tZXRyeT4sIGlkPzogc3RyaW5nIHwgbnVtYmVyLCBwdWJsaWMgaW5mbz86IHsgW2lkOiBzdHJpbmddOiBhbnkgfSkge1xuICAgIHRoaXMuaWQgPSBpZCA9PSBudWxsID8gSWRHZW5lcmF0b3IuZ2V0KCkgOiBpZDtcbiAgICB0aGlzLl9mZWF0dXJlID0gZmVhdHVyZTtcbiAgICBbdGhpcy5sbmcsIHRoaXMubGF0XSA9IGdldENlbnRlcih0aGlzLl9mZWF0dXJlLmdldEdlb21ldHJ5KCk/LmdldEV4dGVudCgpISk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZlYXR1cmUoKTogRmVhdHVyZTxHZW9tZXRyeT4ge1xuICAgIHJldHVybiB0aGlzLl9mZWF0dXJlO1xuICB9XG59XG4iXX0=
@@ -1,6 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { MapRenderedEvent } from '../messages';
3
3
  import { MapClickEvent } from '../messages/events/map-click.event';
4
+ import { MapConstants } from '../models/map.constants';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "./map-postboy.service";
6
7
  export class MapClickService {
@@ -21,7 +22,7 @@ export class MapClickService {
21
22
  });
22
23
  }
23
24
  onClick(ev) {
24
- const model = new MapClickEvent(ev.coordinate, {});
25
+ const model = new MapClickEvent(ev.coordinate, {}, {});
25
26
  this.map?.forEachFeatureAtPixel(ev.pixel, (f, l) => {
26
27
  this.getFeatureCollectionWithInner([f])
27
28
  .filter((f) => f.getId() != null)
@@ -29,7 +30,10 @@ export class MapClickService {
29
30
  let layerName = l.get('name');
30
31
  if (!model.entities[layerName])
31
32
  model.entities[layerName] = [];
32
- model.entities[layerName].push(f.getId());
33
+ if (!model.features[layerName])
34
+ model.features[layerName] = [];
35
+ model.entities[layerName].push({ id: fs.getId(), ...fs.get(MapConstants.FeatureInfo) });
36
+ model.features[layerName].push(fs);
33
37
  });
34
38
  });
35
39
  return model;
@@ -48,4 +52,4 @@ export class MapClickService {
48
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapClickService, decorators: [{
49
53
  type: Injectable
50
54
  }], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNsaWNrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9zZXJ2aWNlcy9tYXAtY2xpY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQUluRSxNQUFNLE9BQU8sZUFBZTtJQUdOO0lBRlosR0FBRyxDQUFPO0lBRWxCLFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcsQ0FBQztJQUVsRCxFQUFFO1FBQ0EsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBbUIsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDNUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsRUFBNEI7UUFDbEMsTUFBTSxLQUFLLEdBQWtCLElBQUksYUFBYSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQXNCLENBQUMsQ0FBQztpQkFDekQsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDO2lCQUNoQyxPQUFPLENBQUMsQ0FBQyxFQUFxQixFQUFFLEVBQUU7Z0JBQ2pDLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztvQkFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDL0QsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRyxDQUFDLENBQUM7WUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLDZCQUE2QixDQUFDLFFBQTZCO1FBQ2pFLE1BQU0sTUFBTSxHQUF3QixFQUFFLENBQUM7UUFDdkMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3RCLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUF3QixDQUFDO1lBQy9ELGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RSxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7d0dBdkNVLGVBQWU7NEdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IEZlYXR1cmUsIE1hcCwgTWFwQnJvd3NlckV2ZW50IH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IE1hcENsaWNrRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcy9ldmVudHMvbWFwLWNsaWNrLmV2ZW50JztcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXBDbGlja1NlcnZpY2UgaW1wbGVtZW50cyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2Uge1xuICBwcml2YXRlIG1hcD86IE1hcDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7fVxuXG4gIHVwKCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZU1hcFJlbmRlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTWFwUmVuZGVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRCkuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICB0aGlzLm1hcCA9IG0ubWFwO1xuICAgICAgdGhpcy5tYXA/Lm9uKCdzaW5nbGVjbGljaycsIChlKSA9PiB7XG4gICAgICAgIHRoaXMucG9zdGJveS5maXJlKHRoaXMub25DbGljayhlKSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uQ2xpY2soZXY6IE1hcEJyb3dzZXJFdmVudDxVSUV2ZW50Pik6IE1hcENsaWNrRXZlbnQge1xuICAgIGNvbnN0IG1vZGVsOiBNYXBDbGlja0V2ZW50ID0gbmV3IE1hcENsaWNrRXZlbnQoZXYuY29vcmRpbmF0ZSwge30pO1xuICAgIHRoaXMubWFwPy5mb3JFYWNoRmVhdHVyZUF0UGl4ZWwoZXYucGl4ZWwsIChmLCBsKSA9PiB7XG4gICAgICB0aGlzLmdldEZlYXR1cmVDb2xsZWN0aW9uV2l0aElubmVyKFtmIGFzIEZlYXR1cmU8R2VvbWV0cnk+XSlcbiAgICAgICAgLmZpbHRlcigoZikgPT4gZi5nZXRJZCgpICE9IG51bGwpXG4gICAgICAgIC5mb3JFYWNoKChmczogRmVhdHVyZTxHZW9tZXRyeT4pID0+IHtcbiAgICAgICAgICBsZXQgbGF5ZXJOYW1lID0gbC5nZXQoJ25hbWUnKTtcbiAgICAgICAgICBpZiAoIW1vZGVsLmVudGl0aWVzW2xheWVyTmFtZV0pIG1vZGVsLmVudGl0aWVzW2xheWVyTmFtZV0gPSBbXTtcbiAgICAgICAgICBtb2RlbC5lbnRpdGllc1tsYXllck5hbWVdLnB1c2goZi5nZXRJZCgpISk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmVhdHVyZUNvbGxlY3Rpb25XaXRoSW5uZXIoZmVhdHVyZXM6IEZlYXR1cmU8R2VvbWV0cnk+W10pOiBGZWF0dXJlPEdlb21ldHJ5PltdIHtcbiAgICBjb25zdCByZXN1bHQ6IEZlYXR1cmU8R2VvbWV0cnk+W10gPSBbXTtcbiAgICBmZWF0dXJlcz8uZm9yRWFjaCgoZikgPT4ge1xuICAgICAgY29uc3QgaW5uZXJGZWF0dXJlcyA9IGYuZ2V0KCdmZWF0dXJlcycpIGFzIEZlYXR1cmU8R2VvbWV0cnk+W107XG4gICAgICBpbm5lckZlYXR1cmVzPy5sZW5ndGggPyByZXN1bHQucHVzaCguLi5pbm5lckZlYXR1cmVzKSA6IHJlc3VsdC5wdXNoKGYpO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNsaWNrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9zZXJ2aWNlcy9tYXAtY2xpY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFHdkQsTUFBTSxPQUFPLGVBQWU7SUFHTjtJQUZaLEdBQUcsQ0FBTztJQUVsQixZQUFvQixPQUEwQjtRQUExQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtJQUFHLENBQUM7SUFFbEQsRUFBRTtRQUNBLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzVFLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNqQixJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLEVBQTRCO1FBQ2xDLE1BQU0sS0FBSyxHQUFrQixJQUFJLGFBQWEsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDakQsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBc0IsQ0FBQyxDQUFDO2lCQUN6RCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUM7aUJBQ2hDLE9BQU8sQ0FBQyxDQUFDLEVBQXFCLEVBQUUsRUFBRTtnQkFDakMsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO29CQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUMvRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7b0JBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQy9ELEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDekYsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLDZCQUE2QixDQUFDLFFBQTZCO1FBQ2pFLE1BQU0sTUFBTSxHQUF3QixFQUFFLENBQUM7UUFDdkMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3RCLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUF3QixDQUFDO1lBQy9ELGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RSxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7d0dBekNVLGVBQWU7NEdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IEZlYXR1cmUsIE1hcCwgTWFwQnJvd3NlckV2ZW50IH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IE1hcENsaWNrRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcy9ldmVudHMvbWFwLWNsaWNrLmV2ZW50JztcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBNYXBDb25zdGFudHMgfSBmcm9tICcuLi9tb2RlbHMvbWFwLmNvbnN0YW50cyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXBDbGlja1NlcnZpY2UgaW1wbGVtZW50cyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2Uge1xuICBwcml2YXRlIG1hcD86IE1hcDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7fVxuXG4gIHVwKCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZU1hcFJlbmRlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTWFwUmVuZGVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRCkuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICB0aGlzLm1hcCA9IG0ubWFwO1xuICAgICAgdGhpcy5tYXA/Lm9uKCdzaW5nbGVjbGljaycsIChlKSA9PiB7XG4gICAgICAgIHRoaXMucG9zdGJveS5maXJlKHRoaXMub25DbGljayhlKSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uQ2xpY2soZXY6IE1hcEJyb3dzZXJFdmVudDxVSUV2ZW50Pik6IE1hcENsaWNrRXZlbnQge1xuICAgIGNvbnN0IG1vZGVsOiBNYXBDbGlja0V2ZW50ID0gbmV3IE1hcENsaWNrRXZlbnQoZXYuY29vcmRpbmF0ZSwge30sIHt9KTtcbiAgICB0aGlzLm1hcD8uZm9yRWFjaEZlYXR1cmVBdFBpeGVsKGV2LnBpeGVsLCAoZiwgbCkgPT4ge1xuICAgICAgdGhpcy5nZXRGZWF0dXJlQ29sbGVjdGlvbldpdGhJbm5lcihbZiBhcyBGZWF0dXJlPEdlb21ldHJ5Pl0pXG4gICAgICAgIC5maWx0ZXIoKGYpID0+IGYuZ2V0SWQoKSAhPSBudWxsKVxuICAgICAgICAuZm9yRWFjaCgoZnM6IEZlYXR1cmU8R2VvbWV0cnk+KSA9PiB7XG4gICAgICAgICAgbGV0IGxheWVyTmFtZSA9IGwuZ2V0KCduYW1lJyk7XG4gICAgICAgICAgaWYgKCFtb2RlbC5lbnRpdGllc1tsYXllck5hbWVdKSBtb2RlbC5lbnRpdGllc1tsYXllck5hbWVdID0gW107XG4gICAgICAgICAgaWYgKCFtb2RlbC5mZWF0dXJlc1tsYXllck5hbWVdKSBtb2RlbC5mZWF0dXJlc1tsYXllck5hbWVdID0gW107XG4gICAgICAgICAgbW9kZWwuZW50aXRpZXNbbGF5ZXJOYW1lXS5wdXNoKHsgaWQ6IGZzLmdldElkKCkhLCAuLi5mcy5nZXQoTWFwQ29uc3RhbnRzLkZlYXR1cmVJbmZvKSB9KTtcbiAgICAgICAgICBtb2RlbC5mZWF0dXJlc1tsYXllck5hbWVdLnB1c2goZnMpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuICBwcml2YXRlIGdldEZlYXR1cmVDb2xsZWN0aW9uV2l0aElubmVyKGZlYXR1cmVzOiBGZWF0dXJlPEdlb21ldHJ5PltdKTogRmVhdHVyZTxHZW9tZXRyeT5bXSB7XG4gICAgY29uc3QgcmVzdWx0OiBGZWF0dXJlPEdlb21ldHJ5PltdID0gW107XG4gICAgZmVhdHVyZXM/LmZvckVhY2goKGYpID0+IHtcbiAgICAgIGNvbnN0IGlubmVyRmVhdHVyZXMgPSBmLmdldCgnZmVhdHVyZXMnKSBhcyBGZWF0dXJlPEdlb21ldHJ5PltdO1xuICAgICAgaW5uZXJGZWF0dXJlcz8ubGVuZ3RoID8gcmVzdWx0LnB1c2goLi4uaW5uZXJGZWF0dXJlcykgOiByZXN1bHQucHVzaChmKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,41 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { MapRenderedEvent } from '../messages';
3
+ import { FitToFeaturesCommand } from '../messages/commands/fit-to-features.command';
4
+ import { createEmpty, extend } from 'ol/extent';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./map-postboy.service";
7
+ export class MapFeatureService {
8
+ postboy;
9
+ map;
10
+ constructor(postboy) {
11
+ this.postboy = postboy;
12
+ }
13
+ up() {
14
+ this.observeMapRender();
15
+ this.observeFitToFeatures();
16
+ }
17
+ observeMapRender() {
18
+ this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
19
+ this.map = m.map;
20
+ });
21
+ }
22
+ observeFitToFeatures() {
23
+ this.postboy.subscribe(FitToFeaturesCommand.ID).subscribe((m) => {
24
+ this.fitToGeometries(m.features.map((f) => f.getGeometry()), m.zoomAfter);
25
+ });
26
+ }
27
+ fitToGeometries(geometries, zoomAfter) {
28
+ if (!geometries?.length || !this.map)
29
+ return;
30
+ const extent = createEmpty();
31
+ geometries.forEach((g) => extend(extent, g.getExtent()));
32
+ this.map.getView().fit(extent);
33
+ this.map.getView().setZoom(this.map.getView().getZoom() + zoomAfter);
34
+ }
35
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapFeatureService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
36
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapFeatureService });
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapFeatureService, decorators: [{
39
+ type: Injectable
40
+ }], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWZlYXR1cmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL21hcC1mZWF0dXJlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUdoRCxNQUFNLE9BQU8saUJBQWlCO0lBR1I7SUFGWixHQUFHLENBQU87SUFFbEIsWUFBb0IsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFBRyxDQUFDO0lBRWxELEVBQUU7UUFDQSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFtQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM1RSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUF1QixvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNwRixJQUFJLENBQUMsZUFBZSxDQUNsQixDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRyxDQUFDLEVBQ3ZDLENBQUMsQ0FBQyxTQUFTLENBQ1osQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGVBQWUsQ0FBQyxVQUFzQixFQUFFLFNBQWlCO1FBQy9ELElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPO1FBQzdDLE1BQU0sTUFBTSxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQzdCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7d0dBL0JVLGlCQUFpQjs0R0FBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIH0gZnJvbSAnQGFydHN0ZXNoL3Bvc3Rib3knO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IEZpdFRvRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvZml0LXRvLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCB7IGNyZWF0ZUVtcHR5LCBleHRlbmQgfSBmcm9tICdvbC9leHRlbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWFwRmVhdHVyZVNlcnZpY2UgaW1wbGVtZW50cyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2Uge1xuICBwcml2YXRlIG1hcD86IE1hcDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7fVxuXG4gIHVwKCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZU1hcFJlbmRlcigpO1xuICAgIHRoaXMub2JzZXJ2ZUZpdFRvRmVhdHVyZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZU1hcFJlbmRlcigpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPE1hcFJlbmRlcmVkRXZlbnQ+KE1hcFJlbmRlcmVkRXZlbnQuSUQpLnN1YnNjcmliZSgobSkgPT4ge1xuICAgICAgdGhpcy5tYXAgPSBtLm1hcDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUZpdFRvRmVhdHVyZXMoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxGaXRUb0ZlYXR1cmVzQ29tbWFuZD4oRml0VG9GZWF0dXJlc0NvbW1hbmQuSUQpLnN1YnNjcmliZSgobSkgPT4ge1xuICAgICAgdGhpcy5maXRUb0dlb21ldHJpZXMoXG4gICAgICAgIG0uZmVhdHVyZXMubWFwKChmKSA9PiBmLmdldEdlb21ldHJ5KCkhKSxcbiAgICAgICAgbS56b29tQWZ0ZXIsXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmaXRUb0dlb21ldHJpZXMoZ2VvbWV0cmllczogR2VvbWV0cnlbXSwgem9vbUFmdGVyOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoIWdlb21ldHJpZXM/Lmxlbmd0aCB8fCAhdGhpcy5tYXApIHJldHVybjtcbiAgICBjb25zdCBleHRlbnQgPSBjcmVhdGVFbXB0eSgpO1xuICAgIGdlb21ldHJpZXMuZm9yRWFjaCgoZykgPT4gZXh0ZW5kKGV4dGVudCwgZy5nZXRFeHRlbnQoKSkpO1xuICAgIHRoaXMubWFwLmdldFZpZXcoKS5maXQoZXh0ZW50KTtcbiAgICB0aGlzLm1hcC5nZXRWaWV3KCkuc2V0Wm9vbSh0aGlzLm1hcC5nZXRWaWV3KCkuZ2V0Wm9vbSgpISArIHpvb21BZnRlcik7XG4gIH1cbn1cbiJdfQ==
@@ -53,8 +53,11 @@ export class MapManagementService {
53
53
  this.postboy.subscribe(PlaceLayerFeaturesCommand.ID).subscribe((c) => {
54
54
  if (!this.layers[c.layer])
55
55
  return;
56
- this.layers[c.layer]?.getSource()?.clear();
57
- this.layers[c.layer].getSource()?.addFeatures(c.features);
56
+ let source = this.layers[c.layer]?.getSource();
57
+ if (!!source['getSource'])
58
+ source = source?.getSource();
59
+ source?.clear();
60
+ source?.addFeatures(c.features);
58
61
  });
59
62
  }
60
63
  observeRemoveLayer() {
@@ -71,4 +74,4 @@ export class MapManagementService {
71
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapManagementService, decorators: [{
72
75
  type: Injectable
73
76
  }], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL21hcC1tYW5hZ2VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7O0FBSTdFLE1BQU0sT0FBTyxvQkFBb0I7SUFJWDtJQUhaLEdBQUcsQ0FBTztJQUNWLE1BQU0sR0FBaUQsRUFBRSxDQUFDO0lBRWxFLFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcsQ0FBQztJQUVsRCxFQUFFO1FBQ0EsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFvQixpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM5RSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQUUsT0FBTztZQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBaUIsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3hFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztnQkFBRSxPQUFPO1lBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzVFLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFrQixlQUFlLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDMUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUFFLE9BQU87WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDM0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBNEIseUJBQXlCLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDOUYsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFBRSxPQUFPO1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFxQixrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNoRixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQUUsT0FBTztZQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQXpEVSxvQkFBb0I7NEdBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcCB9IGZyb20gJ29sJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IEFkZExheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC1sYXllci5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZUxheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS1sYXllci5jb21tYW5kJztcbmltcG9ydCB7IFZlY3RvciBhcyBMYXllciB9IGZyb20gJ29sL2xheWVyJztcbmltcG9ydCBWZWN0b3JTb3VyY2UgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3BsYWNlLWxheWVyLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgQWRkVGlsZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtdGlsZS5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZVRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2UgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXBNYW5hZ2VtZW50U2VydmljZSBpbXBsZW1lbnRzIElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuICBwcml2YXRlIGxheWVyczogeyBbbmFtZTogc3RyaW5nXTogTGF5ZXI8VmVjdG9yU291cmNlPGFueT4+IH0gPSB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7fVxuXG4gIHVwKCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZU1hcFJlbmRlcigpO1xuICAgIHRoaXMub2JzZXJ2ZUFkZExheWVyKCk7XG4gICAgdGhpcy5vYnNlcnZlUmVtb3ZlTGF5ZXIoKTtcbiAgICB0aGlzLm9ic2VydmVQbGFjZUZlYXR1cmVzKCk7XG4gICAgdGhpcy5vYnNlcnZlQWRkVGlsZSgpO1xuICAgIHRoaXMub2JzZXJ2ZVJlbW92ZVRpbGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZVJlbW92ZVRpbGUoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxSZW1vdmVUaWxlQ29tbWFuZD4oUmVtb3ZlVGlsZUNvbW1hbmQuSUQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIoYy5sYXllcik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVBZGRUaWxlKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8QWRkVGlsZUNvbW1hbmQ+KEFkZFRpbGVDb21tYW5kLklEKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICAgIHRoaXMubWFwLmFkZExheWVyKGMubGF5ZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTWFwUmVuZGVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRCkuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICB0aGlzLm1hcCA9IG0ubWFwO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlQWRkTGF5ZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxBZGRMYXllckNvbW1hbmQ+KEFkZExheWVyQ29tbWFuZC5JRCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgICB0aGlzLmxheWVyc1tjLmxheWVyLmdldCgnbmFtZScpXSA9IGMubGF5ZXI7XG4gICAgICB0aGlzLm1hcC5hZGRMYXllcihjLmxheWVyKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZVBsYWNlRmVhdHVyZXMoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kPihQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kLklEKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5sYXllcnNbYy5sYXllcl0pIHJldHVybjtcbiAgICAgIHRoaXMubGF5ZXJzW2MubGF5ZXJdPy5nZXRTb3VyY2UoKT8uY2xlYXIoKTtcbiAgICAgIHRoaXMubGF5ZXJzW2MubGF5ZXJdLmdldFNvdXJjZSgpPy5hZGRGZWF0dXJlcyhjLmZlYXR1cmVzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZVJlbW92ZUxheWVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8UmVtb3ZlTGF5ZXJDb21tYW5kPihSZW1vdmVMYXllckNvbW1hbmQuSUQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgICAgZGVsZXRlIHRoaXMubGF5ZXJzW2MubGF5ZXIuZ2V0KCduYW1lJyldO1xuICAgICAgdGhpcy5tYXAucmVtb3ZlTGF5ZXIoYy5sYXllcik7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL21hcC1tYW5hZ2VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7O0FBSzdFLE1BQU0sT0FBTyxvQkFBb0I7SUFJWDtJQUhaLEdBQUcsQ0FBTztJQUNWLE1BQU0sR0FBMkQsRUFBRSxDQUFDO0lBRTVFLFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcsQ0FBQztJQUVsRCxFQUFFO1FBQ0EsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFvQixpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM5RSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQUUsT0FBTztZQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBaUIsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3hFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRztnQkFBRSxPQUFPO1lBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzVFLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFrQixlQUFlLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDMUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUFFLE9BQU87WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDM0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBNEIseUJBQXlCLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDOUYsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFBRSxPQUFPO1lBQ2xDLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxDQUFFLE1BQWMsQ0FBQyxXQUFXLENBQUM7Z0JBQUUsTUFBTSxHQUFJLE1BQWMsRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUMxRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDaEIsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFxQixrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNoRixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQUUsT0FBTztZQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQTNEVSxvQkFBb0I7NEdBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcCB9IGZyb20gJ29sJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IEFkZExheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC1sYXllci5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZUxheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS1sYXllci5jb21tYW5kJztcbmltcG9ydCB7IFZlY3RvciBhcyBMYXllciB9IGZyb20gJ29sL2xheWVyJztcbmltcG9ydCBWZWN0b3JTb3VyY2UgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3BsYWNlLWxheWVyLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgQWRkVGlsZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtdGlsZS5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZVRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2UgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5pbXBvcnQgQ2x1c3RlciBmcm9tICdvbC9zb3VyY2UvQ2x1c3Rlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXBNYW5hZ2VtZW50U2VydmljZSBpbXBsZW1lbnRzIElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuICBwcml2YXRlIGxheWVyczogeyBbbmFtZTogc3RyaW5nXTogTGF5ZXI8VmVjdG9yU291cmNlPGFueT4gfCBDbHVzdGVyPiB9ID0ge307XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge31cblxuICB1cCgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVNYXBSZW5kZXIoKTtcbiAgICB0aGlzLm9ic2VydmVBZGRMYXllcigpO1xuICAgIHRoaXMub2JzZXJ2ZVJlbW92ZUxheWVyKCk7XG4gICAgdGhpcy5vYnNlcnZlUGxhY2VGZWF0dXJlcygpO1xuICAgIHRoaXMub2JzZXJ2ZUFkZFRpbGUoKTtcbiAgICB0aGlzLm9ic2VydmVSZW1vdmVUaWxlKCk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVSZW1vdmVUaWxlKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8UmVtb3ZlVGlsZUNvbW1hbmQ+KFJlbW92ZVRpbGVDb21tYW5kLklEKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKGMubGF5ZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlQWRkVGlsZSgpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPEFkZFRpbGVDb21tYW5kPihBZGRUaWxlQ29tbWFuZC5JRCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgICB0aGlzLm1hcC5hZGRMYXllcihjLmxheWVyKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZU1hcFJlbmRlcigpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPE1hcFJlbmRlcmVkRXZlbnQ+KE1hcFJlbmRlcmVkRXZlbnQuSUQpLnN1YnNjcmliZSgobSkgPT4ge1xuICAgICAgdGhpcy5tYXAgPSBtLm1hcDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUFkZExheWVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8QWRkTGF5ZXJDb21tYW5kPihBZGRMYXllckNvbW1hbmQuSUQpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgICAgdGhpcy5sYXllcnNbYy5sYXllci5nZXQoJ25hbWUnKV0gPSBjLmxheWVyO1xuICAgICAgdGhpcy5tYXAuYWRkTGF5ZXIoYy5sYXllcik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVQbGFjZUZlYXR1cmVzKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8UGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZD4oUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZC5JRCkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICBpZiAoIXRoaXMubGF5ZXJzW2MubGF5ZXJdKSByZXR1cm47XG4gICAgICBsZXQgc291cmNlID0gdGhpcy5sYXllcnNbYy5sYXllcl0/LmdldFNvdXJjZSgpO1xuICAgICAgaWYgKCEhKHNvdXJjZSBhcyBhbnkpWydnZXRTb3VyY2UnXSkgc291cmNlID0gKHNvdXJjZSBhcyBhbnkpPy5nZXRTb3VyY2UoKTtcbiAgICAgIHNvdXJjZT8uY2xlYXIoKTtcbiAgICAgIHNvdXJjZT8uYWRkRmVhdHVyZXMoYy5mZWF0dXJlcyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVSZW1vdmVMYXllcigpIHtcbiAgICB0aGlzLnBvc3Rib3kuc3Vic2NyaWJlPFJlbW92ZUxheWVyQ29tbWFuZD4oUmVtb3ZlTGF5ZXJDb21tYW5kLklEKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICAgIGRlbGV0ZSB0aGlzLmxheWVyc1tjLmxheWVyLmdldCgnbmFtZScpXTtcbiAgICAgIHRoaXMubWFwLnJlbW92ZUxheWVyKGMubGF5ZXIpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -8,15 +8,17 @@ import { RemoveTileCommand } from '../messages/commands/remove-tile.command';
8
8
  import { PostboyAbstractRegistrator } from '@artstesh/postboy';
9
9
  import { MapClickEvent } from '../messages/events/map-click.event';
10
10
  import { CloseTooltipCommand } from '../messages/commands/close-tooltip.command';
11
+ import { FitToFeaturesCommand } from '../messages/commands/fit-to-features.command';
11
12
  import * as i0 from "@angular/core";
12
13
  import * as i1 from "./map-postboy.service";
13
14
  import * as i2 from "./map-management.service";
14
15
  import * as i3 from "./map-state.service";
15
- import * as i4 from "./map-click.service";
16
+ import * as i4 from "./map-feature.service";
17
+ import * as i5 from "./map-click.service";
16
18
  export class MessageRegistratorService extends PostboyAbstractRegistrator {
17
- constructor(service, management, state, interaction) {
19
+ constructor(service, management, state, feature, interaction) {
18
20
  super(service);
19
- this.registerServices([management, state, interaction]);
21
+ this.registerServices([management, state, interaction, feature]);
20
22
  }
21
23
  _up() {
22
24
  this.registerReplay(MapRenderedEvent.ID);
@@ -27,11 +29,12 @@ export class MessageRegistratorService extends PostboyAbstractRegistrator {
27
29
  this.registerSubject(RemoveTileCommand.ID);
28
30
  this.registerSubject(MapClickEvent.ID);
29
31
  this.registerSubject(CloseTooltipCommand.ID);
32
+ this.registerSubject(FitToFeaturesCommand.ID);
30
33
  }
31
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageRegistratorService, deps: [{ token: i1.MapPostboyService }, { token: i2.MapManagementService }, { token: i3.MapStateService }, { token: i4.MapClickService }], target: i0.ɵɵFactoryTarget.Injectable });
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageRegistratorService, deps: [{ token: i1.MapPostboyService }, { token: i2.MapManagementService }, { token: i3.MapStateService }, { token: i4.MapFeatureService }, { token: i5.MapClickService }], target: i0.ɵɵFactoryTarget.Injectable });
32
35
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageRegistratorService });
33
36
  }
34
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageRegistratorService, decorators: [{
35
38
  type: Injectable
36
- }], ctorParameters: function () { return [{ type: i1.MapPostboyService }, { type: i2.MapManagementService }, { type: i3.MapStateService }, { type: i4.MapClickService }]; } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7Ozs7QUFHakYsTUFBTSxPQUFPLHlCQUEwQixTQUFRLDBCQUEwQjtJQUN2RSxZQUNFLE9BQTBCLEVBQzFCLFVBQWdDLEVBQ2hDLEtBQXNCLEVBQ3RCLFdBQTRCO1FBRTVCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ1MsR0FBRztRQUNYLElBQUksQ0FBQyxjQUFjLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxjQUFjLENBQTRCLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxlQUFlLENBQWtCLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsZUFBZSxDQUFxQixrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsZUFBZSxDQUFpQixjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGVBQWUsQ0FBb0IsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLGVBQWUsQ0FBZ0IsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxlQUFlLENBQXNCLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7d0dBbkJVLHlCQUF5Qjs0R0FBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IEFkZExheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC1sYXllci5jb21tYW5kJztcbmltcG9ydCB7IFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9wbGFjZS1sYXllci1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZUxheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS1sYXllci5jb21tYW5kJztcbmltcG9ydCB7IEFkZFRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVUaWxlQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS10aWxlLmNvbW1hbmQnO1xuaW1wb3J0IHsgUG9zdGJveUFic3RyYWN0UmVnaXN0cmF0b3IgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5pbXBvcnQgeyBNYXBNYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4vbWFwLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL21hcC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcENsaWNrU2VydmljZSB9IGZyb20gJy4vbWFwLWNsaWNrLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQ2xpY2tFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzL2V2ZW50cy9tYXAtY2xpY2suZXZlbnQnO1xuaW1wb3J0IHsgQ2xvc2VUb29sdGlwQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2Nsb3NlLXRvb2x0aXAuY29tbWFuZCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNZXNzYWdlUmVnaXN0cmF0b3JTZXJ2aWNlIGV4dGVuZHMgUG9zdGJveUFic3RyYWN0UmVnaXN0cmF0b3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICBzZXJ2aWNlOiBNYXBQb3N0Ym95U2VydmljZSxcbiAgICBtYW5hZ2VtZW50OiBNYXBNYW5hZ2VtZW50U2VydmljZSxcbiAgICBzdGF0ZTogTWFwU3RhdGVTZXJ2aWNlLFxuICAgIGludGVyYWN0aW9uOiBNYXBDbGlja1NlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKHNlcnZpY2UpO1xuICAgIHRoaXMucmVnaXN0ZXJTZXJ2aWNlcyhbbWFuYWdlbWVudCwgc3RhdGUsIGludGVyYWN0aW9uXSk7XG4gIH1cbiAgcHJvdGVjdGVkIF91cCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlZ2lzdGVyUmVwbGF5PE1hcFJlbmRlcmVkRXZlbnQ+KE1hcFJlbmRlcmVkRXZlbnQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJSZXBsYXk8UGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZD4oUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3Q8QWRkTGF5ZXJDb21tYW5kPihBZGRMYXllckNvbW1hbmQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0PFJlbW92ZUxheWVyQ29tbWFuZD4oUmVtb3ZlTGF5ZXJDb21tYW5kLklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3ViamVjdDxBZGRUaWxlQ29tbWFuZD4oQWRkVGlsZUNvbW1hbmQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0PFJlbW92ZVRpbGVDb21tYW5kPihSZW1vdmVUaWxlQ29tbWFuZC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3Q8TWFwQ2xpY2tFdmVudD4oTWFwQ2xpY2tFdmVudC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3Q8Q2xvc2VUb29sdGlwQ29tbWFuZD4oQ2xvc2VUb29sdGlwQ29tbWFuZC5JRCk7XG4gIH1cbn1cbiJdfQ==
39
+ }], ctorParameters: function () { return [{ type: i1.MapPostboyService }, { type: i2.MapManagementService }, { type: i3.MapStateService }, { type: i4.MapFeatureService }, { type: i5.MapClickService }]; } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7O0FBR3BGLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSwwQkFBMEI7SUFDdkUsWUFDRSxPQUEwQixFQUMxQixVQUFnQyxFQUNoQyxLQUFzQixFQUN0QixPQUEwQixFQUMxQixXQUE0QjtRQUU1QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFDUyxHQUFHO1FBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBbUIsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLGNBQWMsQ0FBNEIseUJBQXlCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLGVBQWUsQ0FBa0IsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxlQUFlLENBQXFCLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxlQUFlLENBQWlCLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsZUFBZSxDQUFvQixpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsZUFBZSxDQUFnQixhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLGVBQWUsQ0FBc0IsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLGVBQWUsQ0FBdUIsb0JBQW9CLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQzt3R0FyQlUseUJBQXlCOzRHQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4vbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgQWRkTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3BsYWNlLWxheWVyLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgQWRkVGlsZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtdGlsZS5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZVRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBQb3N0Ym95QWJzdHJhY3RSZWdpc3RyYXRvciB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IE1hcE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFN0YXRlU2VydmljZSB9IGZyb20gJy4vbWFwLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQ2xpY2tTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtY2xpY2suc2VydmljZSc7XG5pbXBvcnQgeyBNYXBDbGlja0V2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMvZXZlbnRzL21hcC1jbGljay5ldmVudCc7XG5pbXBvcnQgeyBDbG9zZVRvb2x0aXBDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvY2xvc2UtdG9vbHRpcC5jb21tYW5kJztcbmltcG9ydCB7IE1hcEZlYXR1cmVTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtZmVhdHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpdFRvRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvZml0LXRvLWZlYXR1cmVzLmNvbW1hbmQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSBleHRlbmRzIFBvc3Rib3lBYnN0cmFjdFJlZ2lzdHJhdG9yIHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2VydmljZTogTWFwUG9zdGJveVNlcnZpY2UsXG4gICAgbWFuYWdlbWVudDogTWFwTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgc3RhdGU6IE1hcFN0YXRlU2VydmljZSxcbiAgICBmZWF0dXJlOiBNYXBGZWF0dXJlU2VydmljZSxcbiAgICBpbnRlcmFjdGlvbjogTWFwQ2xpY2tTZXJ2aWNlLFxuICApIHtcbiAgICBzdXBlcihzZXJ2aWNlKTtcbiAgICB0aGlzLnJlZ2lzdGVyU2VydmljZXMoW21hbmFnZW1lbnQsIHN0YXRlLCBpbnRlcmFjdGlvbiwgZmVhdHVyZV0pO1xuICB9XG4gIHByb3RlY3RlZCBfdXAoKTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RlclJlcGxheTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyUmVwbGF5PFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQ+KFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0PEFkZExheWVyQ29tbWFuZD4oQWRkTGF5ZXJDb21tYW5kLklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3ViamVjdDxSZW1vdmVMYXllckNvbW1hbmQ+KFJlbW92ZUxheWVyQ29tbWFuZC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3Q8QWRkVGlsZUNvbW1hbmQ+KEFkZFRpbGVDb21tYW5kLklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3ViamVjdDxSZW1vdmVUaWxlQ29tbWFuZD4oUmVtb3ZlVGlsZUNvbW1hbmQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0PE1hcENsaWNrRXZlbnQ+KE1hcENsaWNrRXZlbnQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0PENsb3NlVG9vbHRpcENvbW1hbmQ+KENsb3NlVG9vbHRpcENvbW1hbmQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0PEZpdFRvRmVhdHVyZXNDb21tYW5kPihGaXRUb0ZlYXR1cmVzQ29tbWFuZC5JRCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,4 @@
1
1
  export * from './marker-style.helper';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21hcmtlci1zdHlsZS5oZWxwZXInO1xuIl19
2
+ export * from './polygon-style.helper';
3
+ export * from './text-style.helper';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYXJrZXItc3R5bGUuaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcG9seWdvbi1zdHlsZS5oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LXN0eWxlLmhlbHBlcic7XG4iXX0=
@@ -21,5 +21,9 @@ export class MarkerStyleHelper {
21
21
  }),
22
22
  });
23
23
  }
24
+ static withText(style, text) {
25
+ style.setText(text);
26
+ return style;
27
+ }
24
28
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLXN0eWxlLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL2hlbHBlcnMvbWFya2VyLXN0eWxlLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXRELE1BQU0sT0FBTyxpQkFBaUI7SUFDckIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFXLEVBQUUsT0FBeUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxHQUFHLEdBQUc7UUFDaEYsSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsR0FBRyxHQUFHLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxPQUFPLElBQUksS0FBSyxDQUFDO1lBQ2YsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUNkLEdBQUcsRUFBRSxLQUFLO2dCQUNWLE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQztZQUNGLE1BQU07U0FDUCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFjLEVBQUUsSUFBWSxFQUFFLFdBQW1CLEVBQUUsV0FBVyxHQUFHLENBQUM7UUFDckYsT0FBTyxJQUFJLEtBQUssQ0FBQztZQUNmLEtBQUssRUFBRSxJQUFJLE1BQU0sQ0FBQztnQkFDaEIsTUFBTTtnQkFDTixJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQy9CLE1BQU0sRUFBRSxJQUFJLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDO2FBQy9ELENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3R5bGUgZnJvbSAnb2wvc3R5bGUvU3R5bGUnO1xuaW1wb3J0IHsgQ2lyY2xlLCBGaWxsLCBJY29uLCBTdHJva2UgfSBmcm9tICdvbC9zdHlsZSc7XG5cbmV4cG9ydCBjbGFzcyBNYXJrZXJTdHlsZUhlbHBlciB7XG4gIHB1YmxpYyBzdGF0aWMgZnJvbVN2Zyhzdmc6IHN0cmluZywgc2l6ZTogW251bWJlciwgbnVtYmVyXSA9IFszMCwgMzBdLCB6SW5kZXggPSA0MDApOiBTdHlsZSB7XG4gICAgbGV0IGltYWdlID0gbmV3IEltYWdlKCk7XG4gICAgaW1hZ2Uuc3JjID0gJ2RhdGE6aW1hZ2Uvc3ZnK3htbCwnICsgZXNjYXBlKHN2Zyk7XG4gICAgcmV0dXJuIG5ldyBTdHlsZSh7XG4gICAgICBpbWFnZTogbmV3IEljb24oe1xuICAgICAgICBpbWc6IGltYWdlLFxuICAgICAgICBpbWdTaXplOiBzaXplLFxuICAgICAgfSksXG4gICAgICB6SW5kZXgsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNpcmNsZShyYWRpdXM6IG51bWJlciwgZmlsbDogc3RyaW5nLCBzdHJva2VDb2xvcjogc3RyaW5nLCBzdHJva2VXaWR0aCA9IDEpOiBTdHlsZSB7XG4gICAgcmV0dXJuIG5ldyBTdHlsZSh7XG4gICAgICBpbWFnZTogbmV3IENpcmNsZSh7XG4gICAgICAgIHJhZGl1cyxcbiAgICAgICAgZmlsbDogbmV3IEZpbGwoeyBjb2xvcjogZmlsbCB9KSxcbiAgICAgICAgc3Ryb2tlOiBuZXcgU3Ryb2tlKHsgY29sb3I6IHN0cm9rZUNvbG9yLCB3aWR0aDogc3Ryb2tlV2lkdGggfSksXG4gICAgICB9KSxcbiAgICB9KTtcbiAgfVxufVxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLXN0eWxlLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL2hlbHBlcnMvbWFya2VyLXN0eWxlLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFRLE1BQU0sVUFBVSxDQUFDO0FBRTVELE1BQU0sT0FBTyxpQkFBaUI7SUFDckIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFXLEVBQUUsT0FBeUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxHQUFHLEdBQUc7UUFDaEYsSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsR0FBRyxHQUFHLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxPQUFPLElBQUksS0FBSyxDQUFDO1lBQ2YsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUNkLEdBQUcsRUFBRSxLQUFLO2dCQUNWLE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQztZQUNGLE1BQU07U0FDUCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFjLEVBQUUsSUFBWSxFQUFFLFdBQW1CLEVBQUUsV0FBVyxHQUFHLENBQUM7UUFDckYsT0FBTyxJQUFJLEtBQUssQ0FBQztZQUNmLEtBQUssRUFBRSxJQUFJLE1BQU0sQ0FBQztnQkFDaEIsTUFBTTtnQkFDTixJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQy9CLE1BQU0sRUFBRSxJQUFJLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDO2FBQy9ELENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFZLEVBQUUsSUFBVTtRQUM3QyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0eWxlIGZyb20gJ29sL3N0eWxlL1N0eWxlJztcbmltcG9ydCB7IENpcmNsZSwgRmlsbCwgSWNvbiwgU3Ryb2tlLCBUZXh0IH0gZnJvbSAnb2wvc3R5bGUnO1xuXG5leHBvcnQgY2xhc3MgTWFya2VyU3R5bGVIZWxwZXIge1xuICBwdWJsaWMgc3RhdGljIGZyb21Tdmcoc3ZnOiBzdHJpbmcsIHNpemU6IFtudW1iZXIsIG51bWJlcl0gPSBbMzAsIDMwXSwgekluZGV4ID0gNDAwKTogU3R5bGUge1xuICAgIGxldCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xuICAgIGltYWdlLnNyYyA9ICdkYXRhOmltYWdlL3N2Zyt4bWwsJyArIGVzY2FwZShzdmcpO1xuICAgIHJldHVybiBuZXcgU3R5bGUoe1xuICAgICAgaW1hZ2U6IG5ldyBJY29uKHtcbiAgICAgICAgaW1nOiBpbWFnZSxcbiAgICAgICAgaW1nU2l6ZTogc2l6ZSxcbiAgICAgIH0pLFxuICAgICAgekluZGV4LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjaXJjbGUocmFkaXVzOiBudW1iZXIsIGZpbGw6IHN0cmluZywgc3Ryb2tlQ29sb3I6IHN0cmluZywgc3Ryb2tlV2lkdGggPSAxKTogU3R5bGUge1xuICAgIHJldHVybiBuZXcgU3R5bGUoe1xuICAgICAgaW1hZ2U6IG5ldyBDaXJjbGUoe1xuICAgICAgICByYWRpdXMsXG4gICAgICAgIGZpbGw6IG5ldyBGaWxsKHsgY29sb3I6IGZpbGwgfSksXG4gICAgICAgIHN0cm9rZTogbmV3IFN0cm9rZSh7IGNvbG9yOiBzdHJva2VDb2xvciwgd2lkdGg6IHN0cm9rZVdpZHRoIH0pLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHdpdGhUZXh0KHN0eWxlOiBTdHlsZSwgdGV4dDogVGV4dCk6IFN0eWxlIHtcbiAgICBzdHlsZS5zZXRUZXh0KHRleHQpO1xuICAgIHJldHVybiBzdHlsZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,16 @@
1
+ import Style from 'ol/style/Style';
2
+ import { Fill, Stroke } from 'ol/style';
3
+ export class PolygonStyleHelper {
4
+ static simple(fill, stroke, strokeWidth = 1) {
5
+ return new Style({
6
+ fill: new Fill({
7
+ color: fill,
8
+ }),
9
+ stroke: new Stroke({
10
+ color: stroke,
11
+ width: strokeWidth,
12
+ }),
13
+ });
14
+ }
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi1zdHlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL3BvbHlnb24tc3R5bGUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXhDLE1BQU0sT0FBTyxrQkFBa0I7SUFDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFZLEVBQUUsTUFBYyxFQUFFLGNBQXNCLENBQUM7UUFDeEUsT0FBTyxJQUFJLEtBQUssQ0FBQztZQUNmLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQztnQkFDYixLQUFLLEVBQUUsSUFBSTthQUNaLENBQUM7WUFDRixNQUFNLEVBQUUsSUFBSSxNQUFNLENBQUM7Z0JBQ2pCLEtBQUssRUFBRSxNQUFNO2dCQUNiLEtBQUssRUFBRSxXQUFXO2FBQ25CLENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3R5bGUgZnJvbSAnb2wvc3R5bGUvU3R5bGUnO1xuaW1wb3J0IHsgRmlsbCwgU3Ryb2tlIH0gZnJvbSAnb2wvc3R5bGUnO1xuXG5leHBvcnQgY2xhc3MgUG9seWdvblN0eWxlSGVscGVyIHtcbiAgcHVibGljIHN0YXRpYyBzaW1wbGUoZmlsbDogc3RyaW5nLCBzdHJva2U6IHN0cmluZywgc3Ryb2tlV2lkdGg6IG51bWJlciA9IDEpOiBTdHlsZSB7XG4gICAgcmV0dXJuIG5ldyBTdHlsZSh7XG4gICAgICBmaWxsOiBuZXcgRmlsbCh7XG4gICAgICAgIGNvbG9yOiBmaWxsLFxuICAgICAgfSksXG4gICAgICBzdHJva2U6IG5ldyBTdHJva2Uoe1xuICAgICAgICBjb2xvcjogc3Ryb2tlLFxuICAgICAgICB3aWR0aDogc3Ryb2tlV2lkdGgsXG4gICAgICB9KSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,14 @@
1
+ import { Fill, Text } from 'ol/style';
2
+ export class TextStyleHelper {
3
+ static get(text, font, color) {
4
+ return new Text({
5
+ text: text,
6
+ font: font,
7
+ textAlign: 'center',
8
+ fill: new Fill({
9
+ color: color,
10
+ }),
11
+ });
12
+ }
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1zdHlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL3RleHQtc3R5bGUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RDLE1BQU0sT0FBTyxlQUFlO0lBQ25CLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWSxFQUFFLElBQVksRUFBRSxLQUFhO1FBQ3pELE9BQU8sSUFBSSxJQUFJLENBQUM7WUFDZCxJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxJQUFJO1lBQ1YsU0FBUyxFQUFFLFFBQVE7WUFDbkIsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUNiLEtBQUssRUFBRSxLQUFLO2FBQ2IsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbGwsIFRleHQgfSBmcm9tICdvbC9zdHlsZSc7XG5leHBvcnQgY2xhc3MgVGV4dFN0eWxlSGVscGVyIHtcbiAgcHVibGljIHN0YXRpYyBnZXQodGV4dDogc3RyaW5nLCBmb250OiBzdHJpbmcsIGNvbG9yOiBzdHJpbmcpOiBUZXh0IHtcbiAgICByZXR1cm4gbmV3IFRleHQoe1xuICAgICAgdGV4dDogdGV4dCxcbiAgICAgIGZvbnQ6IGZvbnQsXG4gICAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgICAgZmlsbDogbmV3IEZpbGwoe1xuICAgICAgICBjb2xvcjogY29sb3IsXG4gICAgICB9KSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,2 +1,3 @@
1
1
  export * from './markers/markers.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvZmVhdHVyZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWFya2Vycy9tYXJrZXJzLmNvbXBvbmVudCc7XG4iXX0=
2
+ export * from './polygons/polygons.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvZmVhdHVyZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYXJrZXJzL21hcmtlcnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcG9seWdvbnMvcG9seWdvbnMuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,42 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { DestructibleComponent } from '../../../common/destructible.component';
3
+ import { MapRenderedEvent } from '../../../messages';
4
+ import { filter, first } from 'rxjs/operators';
5
+ import { PlaceLayerFeaturesCommand } from '../../../messages/commands/place-layer-features.command';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../services/map-postboy.service";
8
+ export class PolygonsComponent extends DestructibleComponent {
9
+ postboy;
10
+ layerName = '';
11
+ constructor(postboy) {
12
+ super();
13
+ this.postboy = postboy;
14
+ }
15
+ _polygons = [];
16
+ set polygons(value) {
17
+ this._polygons = value;
18
+ this.putPolygons();
19
+ }
20
+ ngOnInit() {
21
+ this.postboy
22
+ .subscribe(MapRenderedEvent.ID)
23
+ .pipe(filter((m) => !!m), first())
24
+ .subscribe(() => this.putPolygons());
25
+ }
26
+ putPolygons() {
27
+ if (!this._polygons?.length)
28
+ return;
29
+ this.postboy.fire(new PlaceLayerFeaturesCommand(this.layerName, this._polygons.map((m) => m.feature)));
30
+ }
31
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PolygonsComponent, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Component });
32
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PolygonsComponent, selector: "lib-polygons", inputs: { layerName: "layerName", polygons: "polygons" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PolygonsComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'lib-polygons', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
37
+ }], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; }, propDecorators: { layerName: [{
38
+ type: Input
39
+ }], polygons: [{
40
+ type: Input
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2ZlYXR1cmVzL3BvbHlnb25zL3BvbHlnb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDOzs7QUFTcEcsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHFCQUFxQjtJQUd0QztJQUZYLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFFeEIsWUFBb0IsT0FBMEI7UUFDNUMsS0FBSyxFQUFFLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFtQjtJQUU5QyxDQUFDO0lBRUQsU0FBUyxHQUFtQixFQUFFLENBQUM7SUFFL0IsSUFBYSxRQUFRLENBQUMsS0FBcUI7UUFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU87YUFDVCxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQzthQUNoRCxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xCLEtBQUssRUFBRSxDQUNSO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU07WUFBRSxPQUFPO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNmLElBQUkseUJBQXlCLENBQzNCLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FDckMsQ0FDRixDQUFDO0lBQ0osQ0FBQzt3R0FoQ1UsaUJBQWlCOzRGQUFqQixpQkFBaUIscUlBSmxCLEVBQUU7OzRGQUlELGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxjQUFjLFlBQ2QsRUFBRSxtQkFFSyx1QkFBdUIsQ0FBQyxNQUFNO3dHQUd0QyxTQUFTO3NCQUFqQixLQUFLO2dCQVFPLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcGxhY2UtbGF5ZXItZmVhdHVyZXMuY29tbWFuZCc7XG5pbXBvcnQgeyBQb2x5Z29uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcG9seWdvbi5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1wb2x5Z29ucycsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBvbHlnb25zQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbGF5ZXJOYW1lID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBfcG9seWdvbnM6IFBvbHlnb25Nb2RlbFtdID0gW107XG5cbiAgQElucHV0KCkgc2V0IHBvbHlnb25zKHZhbHVlOiBQb2x5Z29uTW9kZWxbXSkge1xuICAgIHRoaXMuX3BvbHlnb25zID0gdmFsdWU7XG4gICAgdGhpcy5wdXRQb2x5Z29ucygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95XG4gICAgICAuc3Vic2NyaWJlPE1hcFJlbmRlcmVkRXZlbnQ+KE1hcFJlbmRlcmVkRXZlbnQuSUQpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChtKSA9PiAhIW0pLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnB1dFBvbHlnb25zKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBwdXRQb2x5Z29ucygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3BvbHlnb25zPy5sZW5ndGgpIHJldHVybjtcbiAgICB0aGlzLnBvc3Rib3kuZmlyZShcbiAgICAgIG5ldyBQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kKFxuICAgICAgICB0aGlzLmxheWVyTmFtZSxcbiAgICAgICAgdGhpcy5fcG9seWdvbnMubWFwKChtKSA9PiBtLmZlYXR1cmUpLFxuICAgICAgKSxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,59 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Vector as Source } from 'ol/source';
3
+ import { Vector as Layer } from 'ol/layer';
4
+ import { bbox } from 'ol/loadingstrategy';
5
+ import { fromExtent } from 'ol/geom/Polygon';
6
+ import Cluster from 'ol/source/Cluster';
7
+ import { ClusterLayerManager } from './cluster-layer.manager';
8
+ import { MapConstants } from '../../../models/map.constants';
9
+ import * as i0 from "@angular/core";
10
+ export class ClusterLayerFactory {
11
+ build(settings, postboy) {
12
+ const source = new Source({
13
+ strategy: settings.bbox ? bbox : undefined,
14
+ });
15
+ const cluster = new Cluster({
16
+ distance: settings.distance,
17
+ source: source,
18
+ geometryFunction: (feature) => {
19
+ const geom = feature.getGeometry();
20
+ if (geom?.getType() == 'Point') {
21
+ return geom;
22
+ }
23
+ else if (geom?.getType() == 'Polygon') {
24
+ return geom?.getInteriorPoint();
25
+ }
26
+ else if (geom?.getType() == 'MultiPolygon') {
27
+ return fromExtent(geom.getExtent())?.getInteriorPoint();
28
+ }
29
+ return undefined;
30
+ },
31
+ });
32
+ const layer = new Layer({
33
+ source: cluster,
34
+ maxZoom: settings.maxZoom || undefined,
35
+ minZoom: settings.minZoom || undefined,
36
+ zIndex: settings.zIndex || 0,
37
+ });
38
+ layer.setStyle(this.styleFunc(settings));
39
+ layer.set('name', settings.name);
40
+ return new ClusterLayerManager(settings, layer, postboy);
41
+ }
42
+ styleFunc(settings) {
43
+ return (feature) => {
44
+ const features = feature.get('features');
45
+ if (!settings.style)
46
+ return undefined;
47
+ return settings.style(features.map((f) => ({ id: f.getId(), ...f.get(MapConstants.FeatureInfo) })));
48
+ };
49
+ }
50
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClusterLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
51
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClusterLayerFactory, providedIn: 'root' });
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClusterLayerFactory, decorators: [{
54
+ type: Injectable,
55
+ args: [{
56
+ providedIn: 'root',
57
+ }]
58
+ }] });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci1mYWN0b3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci1mYWN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxJQUFJLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUMsT0FBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQztBQUV4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUk5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBSzdELE1BQU0sT0FBTyxtQkFBbUI7SUFDdkIsS0FBSyxDQUFDLFFBQThCLEVBQUUsT0FBMEI7UUFDckUsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUM7WUFDeEIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUztTQUMzQyxDQUFDLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQztZQUMxQixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7WUFDM0IsTUFBTSxFQUFFLE1BQU07WUFDZCxnQkFBZ0IsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUM1QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25DLElBQUksSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLE9BQU8sRUFBRTtvQkFDOUIsT0FBTyxJQUFhLENBQUM7aUJBQ3RCO3FCQUFNLElBQUksSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLFNBQVMsRUFBRTtvQkFDdkMsT0FBUSxJQUFnQixFQUFFLGdCQUFnQixFQUFFLENBQUM7aUJBQzlDO3FCQUFNLElBQUksSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLGNBQWMsRUFBRTtvQkFDNUMsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztpQkFDekQ7Z0JBQ0QsT0FBTyxTQUFnQixDQUFDO1lBQzFCLENBQUM7U0FDRixDQUFDLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQztZQUN0QixNQUFNLEVBQUUsT0FBTztZQUNmLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxJQUFJLFNBQVM7WUFDdEMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLElBQUksU0FBUztZQUN0QyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDO1NBQzdCLENBQUMsQ0FBQztRQUNILEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxPQUFPLElBQUksbUJBQW1CLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsU0FBUyxDQUFDLFFBQThCO1FBQ3RDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNqQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBd0IsQ0FBQztZQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFDdEMsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RyxDQUFDLENBQUM7SUFDSixDQUFDO3dHQXJDVSxtQkFBbUI7NEdBQW5CLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2NsdXN0ZXItbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgVmVjdG9yIGFzIFNvdXJjZSB9IGZyb20gJ29sL3NvdXJjZSc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgeyBiYm94IH0gZnJvbSAnb2wvbG9hZGluZ3N0cmF0ZWd5JztcbmltcG9ydCBQb2x5Z29uLCB7IGZyb21FeHRlbnQgfSBmcm9tICdvbC9nZW9tL1BvbHlnb24nO1xuaW1wb3J0IENsdXN0ZXIgZnJvbSAnb2wvc291cmNlL0NsdXN0ZXInO1xuaW1wb3J0IHsgR2VvbWV0cnksIFBvaW50IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBDbHVzdGVyTGF5ZXJNYW5hZ2VyIH0gZnJvbSAnLi9jbHVzdGVyLWxheWVyLm1hbmFnZXInO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCBTdHlsZSwgeyBTdHlsZUZ1bmN0aW9uIH0gZnJvbSAnb2wvc3R5bGUvU3R5bGUnO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ29sJztcbmltcG9ydCB7IE1hcENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9tYXAuY29uc3RhbnRzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENsdXN0ZXJMYXllckZhY3Rvcnkge1xuICBwdWJsaWMgYnVpbGQoc2V0dGluZ3M6IENsdXN0ZXJMYXllclNldHRpbmdzLCBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSk6IENsdXN0ZXJMYXllck1hbmFnZXIge1xuICAgIGNvbnN0IHNvdXJjZSA9IG5ldyBTb3VyY2Uoe1xuICAgICAgc3RyYXRlZ3k6IHNldHRpbmdzLmJib3ggPyBiYm94IDogdW5kZWZpbmVkLFxuICAgIH0pO1xuICAgIGNvbnN0IGNsdXN0ZXIgPSBuZXcgQ2x1c3Rlcih7XG4gICAgICBkaXN0YW5jZTogc2V0dGluZ3MuZGlzdGFuY2UsXG4gICAgICBzb3VyY2U6IHNvdXJjZSxcbiAgICAgIGdlb21ldHJ5RnVuY3Rpb246IChmZWF0dXJlKSA9PiB7XG4gICAgICAgIGNvbnN0IGdlb20gPSBmZWF0dXJlLmdldEdlb21ldHJ5KCk7XG4gICAgICAgIGlmIChnZW9tPy5nZXRUeXBlKCkgPT0gJ1BvaW50Jykge1xuICAgICAgICAgIHJldHVybiBnZW9tIGFzIFBvaW50O1xuICAgICAgICB9IGVsc2UgaWYgKGdlb20/LmdldFR5cGUoKSA9PSAnUG9seWdvbicpIHtcbiAgICAgICAgICByZXR1cm4gKGdlb20gYXMgUG9seWdvbik/LmdldEludGVyaW9yUG9pbnQoKTtcbiAgICAgICAgfSBlbHNlIGlmIChnZW9tPy5nZXRUeXBlKCkgPT0gJ011bHRpUG9seWdvbicpIHtcbiAgICAgICAgICByZXR1cm4gZnJvbUV4dGVudChnZW9tLmdldEV4dGVudCgpKT8uZ2V0SW50ZXJpb3JQb2ludCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQgYXMgYW55O1xuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCBsYXllciA9IG5ldyBMYXllcih7XG4gICAgICBzb3VyY2U6IGNsdXN0ZXIsXG4gICAgICBtYXhab29tOiBzZXR0aW5ncy5tYXhab29tIHx8IHVuZGVmaW5lZCxcbiAgICAgIG1pblpvb206IHNldHRpbmdzLm1pblpvb20gfHwgdW5kZWZpbmVkLFxuICAgICAgekluZGV4OiBzZXR0aW5ncy56SW5kZXggfHwgMCxcbiAgICB9KTtcbiAgICBsYXllci5zZXRTdHlsZSh0aGlzLnN0eWxlRnVuYyhzZXR0aW5ncykpO1xuICAgIGxheWVyLnNldCgnbmFtZScsIHNldHRpbmdzLm5hbWUpO1xuICAgIHJldHVybiBuZXcgQ2x1c3RlckxheWVyTWFuYWdlcihzZXR0aW5ncywgbGF5ZXIsIHBvc3Rib3kpO1xuICB9XG5cbiAgc3R5bGVGdW5jKHNldHRpbmdzOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyk6IFN0eWxlRnVuY3Rpb24ge1xuICAgIHJldHVybiAoZmVhdHVyZSkgPT4ge1xuICAgICAgY29uc3QgZmVhdHVyZXMgPSBmZWF0dXJlLmdldCgnZmVhdHVyZXMnKSBhcyBGZWF0dXJlPEdlb21ldHJ5PltdO1xuICAgICAgaWYgKCFzZXR0aW5ncy5zdHlsZSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiBzZXR0aW5ncy5zdHlsZShmZWF0dXJlcy5tYXAoKGYpID0+ICh7IGlkOiBmLmdldElkKCkhLCAuLi5mLmdldChNYXBDb25zdGFudHMuRmVhdHVyZUluZm8pIH0pKSk7XG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,52 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { DestructibleComponent } from '../../../common/destructible.component';
3
+ import { MapRenderedEvent } from '../../../messages';
4
+ import { filter, first } from 'rxjs/operators';
5
+ import { AddLayerCommand } from '../../../messages/commands/add-layer.command';
6
+ import { RemoveLayerCommand } from '../../../messages/commands/remove-layer.command';
7
+ import { ClusterLayerSettings } from './cluster-layer.settings';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../../services/map-postboy.service";
10
+ import * as i2 from "./cluster-layer-factory.service";
11
+ export class ClusterLayerComponent extends DestructibleComponent {
12
+ postboy;
13
+ factory;
14
+ manager = null;
15
+ _settings = new ClusterLayerSettings();
16
+ constructor(postboy, factory) {
17
+ super();
18
+ this.postboy = postboy;
19
+ this.factory = factory;
20
+ }
21
+ ngOnInit() {
22
+ this.postboy
23
+ .subscribe(MapRenderedEvent.ID)
24
+ .pipe(filter((m) => !!m), first())
25
+ .subscribe((m) => this.initLayer());
26
+ }
27
+ set settings(value) {
28
+ if (!value || this._settings.isSame(value))
29
+ return;
30
+ this._settings = value;
31
+ this.initLayer();
32
+ }
33
+ onDestroy = () => this.removeLayer();
34
+ initLayer() {
35
+ this.removeLayer();
36
+ this.manager = this.factory.build(this._settings, this.postboy);
37
+ this.postboy.fire(new AddLayerCommand(this.manager.layer));
38
+ }
39
+ removeLayer() {
40
+ if (this.manager?.layer)
41
+ this.postboy.fire(new RemoveLayerCommand(this.manager.layer));
42
+ }
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClusterLayerComponent, deps: [{ token: i1.MapPostboyService }, { token: i2.ClusterLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
44
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ClusterLayerComponent, selector: "lib-cluster-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ClusterLayerComponent, decorators: [{
47
+ type: Component,
48
+ args: [{ selector: 'lib-cluster-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
49
+ }], ctorParameters: function () { return [{ type: i1.MapPostboyService }, { type: i2.ClusterLayerFactory }]; }, propDecorators: { settings: [{
50
+ type: Input
51
+ }] } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFckYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFTaEUsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHFCQUFxQjtJQUkxQztJQUFvQztJQUhqRCxPQUFPLEdBQStCLElBQUksQ0FBQztJQUNsRCxTQUFTLEdBQXlCLElBQUksb0JBQW9CLEVBQUUsQ0FBQztJQUU3RCxZQUFvQixPQUEwQixFQUFVLE9BQTRCO1FBQ2xGLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFxQjtJQUVwRixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsU0FBUyxDQUFtQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7YUFDaEQsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQWEsUUFBUSxDQUFDLEtBQXVDO1FBQzNELElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFN0IsU0FBUztRQUNmLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSztZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7d0dBbENVLHFCQUFxQjs0RkFBckIscUJBQXFCLGtIQUp0QixFQUFFOzs0RkFJRCxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsbUJBQW1CLFlBQ25CLEVBQUUsbUJBRUssdUJBQXVCLENBQUMsTUFBTTswSUFvQmxDLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBZGRMYXllckNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVMYXllckNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBDbHVzdGVyTGF5ZXJNYW5hZ2VyIH0gZnJvbSAnLi9jbHVzdGVyLWxheWVyLm1hbmFnZXInO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2NsdXN0ZXItbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyRmFjdG9yeSB9IGZyb20gJy4vY2x1c3Rlci1sYXllci1mYWN0b3J5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY2x1c3Rlci1sYXllcicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENsdXN0ZXJMYXllckNvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBtYW5hZ2VyOiBDbHVzdGVyTGF5ZXJNYW5hZ2VyIHwgbnVsbCA9IG51bGw7XG4gIF9zZXR0aW5nczogQ2x1c3RlckxheWVyU2V0dGluZ3MgPSBuZXcgQ2x1c3RlckxheWVyU2V0dGluZ3MoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlLCBwcml2YXRlIGZhY3Rvcnk6IENsdXN0ZXJMYXllckZhY3RvcnkpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95XG4gICAgICAuc3Vic2NyaWJlPE1hcFJlbmRlcmVkRXZlbnQ+KE1hcFJlbmRlcmVkRXZlbnQuSUQpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChtKSA9PiAhIW0pLFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgobSkgPT4gdGhpcy5pbml0TGF5ZXIoKSk7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgc2V0dGluZ3ModmFsdWU6IENsdXN0ZXJMYXllclNldHRpbmdzIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSB8fCB0aGlzLl9zZXR0aW5ncy5pc1NhbWUodmFsdWUpKSByZXR1cm47XG4gICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcbiAgICB0aGlzLmluaXRMYXllcigpO1xuICB9XG5cbiAgb25EZXN0cm95ID0gKCkgPT4gdGhpcy5yZW1vdmVMYXllcigpO1xuXG4gIHByaXZhdGUgaW5pdExheWVyKCkge1xuICAgIHRoaXMucmVtb3ZlTGF5ZXIoKTtcbiAgICB0aGlzLm1hbmFnZXIgPSB0aGlzLmZhY3RvcnkuYnVpbGQodGhpcy5fc2V0dGluZ3MsIHRoaXMucG9zdGJveSk7XG4gICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IEFkZExheWVyQ29tbWFuZCh0aGlzLm1hbmFnZXIubGF5ZXIpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTGF5ZXIoKSB7XG4gICAgaWYgKHRoaXMubWFuYWdlcj8ubGF5ZXIpIHRoaXMucG9zdGJveS5maXJlKG5ldyBSZW1vdmVMYXllckNvbW1hbmQodGhpcy5tYW5hZ2VyLmxheWVyKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { MapClickEvent } from '../../../messages';
2
+ import { FitToFeaturesCommand } from '../../../messages/commands/fit-to-features.command';
3
+ export class ClusterLayerManager {
4
+ settings;
5
+ layer;
6
+ postboy;
7
+ constructor(settings, layer, postboy) {
8
+ this.settings = settings;
9
+ this.layer = layer;
10
+ this.postboy = postboy;
11
+ this.observeClick();
12
+ }
13
+ observeClick() {
14
+ this.postboy.subscribe(MapClickEvent.ID).subscribe((m) => {
15
+ if ((m.features[this.settings.name]?.length ?? 0) > 1) {
16
+ this.postboy.fire(new FitToFeaturesCommand(m.features[this.settings.name], -1));
17
+ }
18
+ });
19
+ }
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci5tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy9jbHVzdGVyLWxheWVyL2NsdXN0ZXItbGF5ZXIubWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFMUYsTUFBTSxPQUFPLG1CQUFtQjtJQUVwQjtJQUNRO0lBQ1I7SUFIVixZQUNVLFFBQThCLEVBQ3RCLEtBQXFCLEVBQzdCLE9BQTBCO1FBRjFCLGFBQVEsR0FBUixRQUFRLENBQXNCO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQzdCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBRWxDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBZ0IsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3RFLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2pGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQ2xpY2tFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IFZlY3RvciBhcyBMYXllciB9IGZyb20gJ29sL2xheWVyJztcbmltcG9ydCBDbHVzdGVyIGZyb20gJ29sL3NvdXJjZS9DbHVzdGVyJztcbmltcG9ydCB7IENsdXN0ZXJMYXllclNldHRpbmdzIH0gZnJvbSAnLi9jbHVzdGVyLWxheWVyLnNldHRpbmdzJztcbmltcG9ydCB7IEZpdFRvRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvZml0LXRvLWZlYXR1cmVzLmNvbW1hbmQnO1xuXG5leHBvcnQgY2xhc3MgQ2x1c3RlckxheWVyTWFuYWdlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IENsdXN0ZXJMYXllclNldHRpbmdzLFxuICAgIHB1YmxpYyByZWFkb25seSBsYXllcjogTGF5ZXI8Q2x1c3Rlcj4sXG4gICAgcHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5vYnNlcnZlQ2xpY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUNsaWNrKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8TWFwQ2xpY2tFdmVudD4oTWFwQ2xpY2tFdmVudC5JRCkuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICBpZiAoKG0uZmVhdHVyZXNbdGhpcy5zZXR0aW5ncy5uYW1lXT8ubGVuZ3RoID8/IDApID4gMSkge1xuICAgICAgICB0aGlzLnBvc3Rib3kuZmlyZShuZXcgRml0VG9GZWF0dXJlc0NvbW1hbmQobS5mZWF0dXJlc1t0aGlzLnNldHRpbmdzLm5hbWVdLCAtMSkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,60 @@
1
+ import { IdGenerator } from '../../../common/id.generator';
2
+ export class ClusterLayerSettings {
3
+ name = IdGenerator.get();
4
+ zIndex = 1;
5
+ maxZoom = 19;
6
+ minZoom = 0;
7
+ distance = 20;
8
+ bbox = false;
9
+ style;
10
+ static copy(model) {
11
+ const result = new ClusterLayerSettings();
12
+ result.name = model.name;
13
+ result.maxZoom = model.maxZoom;
14
+ result.minZoom = model.minZoom;
15
+ result.zIndex = model.zIndex;
16
+ result.bbox = model.bbox;
17
+ result.distance = model.distance;
18
+ result.style = model.style;
19
+ return result;
20
+ }
21
+ setZIndex(zIndex) {
22
+ return ClusterLayerSettings.copy({ ...this, zIndex });
23
+ }
24
+ setDistance(distance) {
25
+ return ClusterLayerSettings.copy({ ...this, distance });
26
+ }
27
+ setName(name) {
28
+ return ClusterLayerSettings.copy({ ...this, name });
29
+ }
30
+ setMaxZoom(maxZoom) {
31
+ return ClusterLayerSettings.copy({ ...this, maxZoom });
32
+ }
33
+ setMinZoom(minZoom) {
34
+ return ClusterLayerSettings.copy({ ...this, minZoom });
35
+ }
36
+ setBbox(bbox) {
37
+ return ClusterLayerSettings.copy({ ...this, bbox });
38
+ }
39
+ setStyle(style) {
40
+ return ClusterLayerSettings.copy({ ...this, style });
41
+ }
42
+ isSame(model) {
43
+ if (this.maxZoom !== model.maxZoom)
44
+ return false;
45
+ if (this.minZoom !== model.minZoom)
46
+ return false;
47
+ if (this.zIndex !== model.zIndex)
48
+ return false;
49
+ if (this.name !== model.name)
50
+ return false;
51
+ if (this.distance !== model.distance)
52
+ return false;
53
+ if (this.bbox !== model.bbox)
54
+ return false;
55
+ if (this.style !== model.style)
56
+ return false;
57
+ return true;
58
+ }
59
+ }
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvY2x1c3Rlci1sYXllci9jbHVzdGVyLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUkzRCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLElBQUksR0FBVyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDakMsTUFBTSxHQUFXLENBQUMsQ0FBQztJQUNuQixPQUFPLEdBQVcsRUFBRSxDQUFDO0lBQ3JCLE9BQU8sR0FBVyxDQUFDLENBQUM7SUFDcEIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixJQUFJLEdBQVksS0FBSyxDQUFDO0lBQ3RCLEtBQUssQ0FBc0M7SUFFcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUEyQjtRQUM1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDMUMsTUFBTSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDL0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN6QixNQUFNLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDakMsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzNCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUN0QixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFnQjtRQUMxQixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN4QixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFhO1FBQ25CLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQXlEO1FBQ2hFLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQTJCO1FBQ3ZDLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsTUFBTTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQy9DLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsUUFBUTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ25ELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNDLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWRHZW5lcmF0b3IgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vaWQuZ2VuZXJhdG9yJztcbmltcG9ydCBTdHlsZSwgeyBTdHlsZUZ1bmN0aW9uIH0gZnJvbSAnb2wvc3R5bGUvU3R5bGUnO1xuaW1wb3J0IHsgSUlkZW50aWZpZWQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaS1pZGVudGlmaWVkJztcblxuZXhwb3J0IGNsYXNzIENsdXN0ZXJMYXllclNldHRpbmdzIHtcbiAgbmFtZTogc3RyaW5nID0gSWRHZW5lcmF0b3IuZ2V0KCk7XG4gIHpJbmRleDogbnVtYmVyID0gMTtcbiAgbWF4Wm9vbTogbnVtYmVyID0gMTk7XG4gIG1pblpvb206IG51bWJlciA9IDA7XG4gIGRpc3RhbmNlOiBudW1iZXIgPSAyMDtcbiAgYmJveDogYm9vbGVhbiA9IGZhbHNlO1xuICBzdHlsZT86IChmZWF0dXJlczogSUlkZW50aWZpZWRbXSkgPT4gU3R5bGU7XG5cbiAgcHVibGljIHN0YXRpYyBjb3B5KG1vZGVsOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyk6IENsdXN0ZXJMYXllclNldHRpbmdzIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgQ2x1c3RlckxheWVyU2V0dGluZ3MoKTtcbiAgICByZXN1bHQubmFtZSA9IG1vZGVsLm5hbWU7XG4gICAgcmVzdWx0Lm1heFpvb20gPSBtb2RlbC5tYXhab29tO1xuICAgIHJlc3VsdC5taW5ab29tID0gbW9kZWwubWluWm9vbTtcbiAgICByZXN1bHQuekluZGV4ID0gbW9kZWwuekluZGV4O1xuICAgIHJlc3VsdC5iYm94ID0gbW9kZWwuYmJveDtcbiAgICByZXN1bHQuZGlzdGFuY2UgPSBtb2RlbC5kaXN0YW5jZTtcbiAgICByZXN1bHQuc3R5bGUgPSBtb2RlbC5zdHlsZTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgc2V0WkluZGV4KHpJbmRleDogbnVtYmVyKTogQ2x1c3RlckxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBDbHVzdGVyTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgekluZGV4IH0pO1xuICB9XG5cbiAgc2V0RGlzdGFuY2UoZGlzdGFuY2U6IG51bWJlcik6IENsdXN0ZXJMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gQ2x1c3RlckxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIGRpc3RhbmNlIH0pO1xuICB9XG5cbiAgc2V0TmFtZShuYW1lOiBzdHJpbmcpOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIENsdXN0ZXJMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBuYW1lIH0pO1xuICB9XG5cbiAgc2V0TWF4Wm9vbShtYXhab29tOiBudW1iZXIpOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIENsdXN0ZXJMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtYXhab29tIH0pO1xuICB9XG5cbiAgc2V0TWluWm9vbShtaW5ab29tOiBudW1iZXIpOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIENsdXN0ZXJMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtaW5ab29tIH0pO1xuICB9XG5cbiAgc2V0QmJveChiYm94OiBib29sZWFuKTogQ2x1c3RlckxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBDbHVzdGVyTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgYmJveCB9KTtcbiAgfVxuXG4gIHNldFN0eWxlKHN0eWxlOiAoZmVhdHVyZXM6IElJZGVudGlmaWVkW10pID0+IFN0eWxlIHwgU3R5bGVGdW5jdGlvbik6IENsdXN0ZXJMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gQ2x1c3RlckxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIHN0eWxlIH0pO1xuICB9XG5cbiAgcHVibGljIGlzU2FtZShtb2RlbDogQ2x1c3RlckxheWVyU2V0dGluZ3MpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5tYXhab29tICE9PSBtb2RlbC5tYXhab29tKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubWluWm9vbSAhPT0gbW9kZWwubWluWm9vbSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnpJbmRleCAhPT0gbW9kZWwuekluZGV4KSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubmFtZSAhPT0gbW9kZWwubmFtZSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLmRpc3RhbmNlICE9PSBtb2RlbC5kaXN0YW5jZSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLmJib3ggIT09IG1vZGVsLmJib3gpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5zdHlsZSAhPT0gbW9kZWwuc3R5bGUpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19