@artstesh/maps 5.0.6 → 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 (77) hide show
  1. package/dist/esm2022/map/helpers/index.mjs +2 -1
  2. package/dist/esm2022/map/helpers/marker-style.helper.mjs +5 -1
  3. package/dist/esm2022/map/helpers/text-style.helper.mjs +14 -0
  4. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +59 -0
  5. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +52 -0
  6. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +21 -0
  7. package/dist/esm2022/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +60 -0
  8. package/dist/esm2022/map/map-plate/layers/index.mjs +3 -1
  9. package/dist/esm2022/map/map-plate/map-plate.component.mjs +4 -3
  10. package/dist/esm2022/map/map.module.mjs +8 -3
  11. package/dist/esm2022/map/messages/commands/add-layer.command.mjs +1 -1
  12. package/dist/esm2022/map/messages/commands/fit-to-features.command.mjs +15 -0
  13. package/dist/esm2022/map/messages/events/map-click.event.mjs +4 -2
  14. package/dist/esm2022/map/models/i-identified.mjs +2 -0
  15. package/dist/esm2022/map/models/map.constants.mjs +4 -0
  16. package/dist/esm2022/map/models/marker-model.mjs +3 -2
  17. package/dist/esm2022/map/services/map-click.service.mjs +7 -3
  18. package/dist/esm2022/map/services/map-feature.service.mjs +41 -0
  19. package/dist/esm2022/map/services/map-management.service.mjs +6 -3
  20. package/dist/esm2022/map/services/message-registrator.service.mjs +9 -6
  21. package/dist/esm2022/src/map/helpers/index.mjs +2 -1
  22. package/dist/esm2022/src/map/helpers/marker-style.helper.mjs +5 -1
  23. package/dist/esm2022/src/map/helpers/text-style.helper.mjs +14 -0
  24. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.mjs +59 -0
  25. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.component.mjs +52 -0
  26. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.mjs +21 -0
  27. package/dist/esm2022/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.mjs +60 -0
  28. package/dist/esm2022/src/map/map-plate/layers/index.mjs +3 -1
  29. package/dist/esm2022/src/map/map-plate/map-plate.component.mjs +4 -3
  30. package/dist/esm2022/src/map/map.module.mjs +8 -3
  31. package/dist/esm2022/src/map/messages/commands/add-layer.command.mjs +1 -1
  32. package/dist/esm2022/src/map/messages/commands/fit-to-features.command.mjs +15 -0
  33. package/dist/esm2022/src/map/messages/events/map-click.event.mjs +4 -2
  34. package/dist/esm2022/src/map/models/i-identified.mjs +2 -0
  35. package/dist/esm2022/src/map/models/map.constants.mjs +4 -0
  36. package/dist/esm2022/src/map/models/marker-model.mjs +3 -2
  37. package/dist/esm2022/src/map/services/map-click.service.mjs +7 -3
  38. package/dist/esm2022/src/map/services/map-feature.service.mjs +41 -0
  39. package/dist/esm2022/src/map/services/map-management.service.mjs +6 -3
  40. package/dist/esm2022/src/map/services/message-registrator.service.mjs +9 -6
  41. package/dist/fesm2022/maps-components-src-map.mjs +273 -17
  42. package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
  43. package/dist/fesm2022/maps-components.mjs +273 -17
  44. package/dist/fesm2022/maps-components.mjs.map +1 -1
  45. package/dist/map/helpers/index.d.ts +1 -0
  46. package/dist/map/helpers/marker-style.helper.d.ts +2 -0
  47. package/dist/map/helpers/text-style.helper.d.ts +4 -0
  48. package/dist/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.d.ts +11 -0
  49. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +21 -0
  50. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.manager.d.ts +11 -0
  51. package/dist/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +20 -0
  52. package/dist/map/map-plate/layers/index.d.ts +2 -0
  53. package/dist/map/map.module.d.ts +3 -2
  54. package/dist/map/messages/commands/add-layer.command.d.ts +3 -2
  55. package/dist/map/messages/commands/fit-to-features.command.d.ts +10 -0
  56. package/dist/map/messages/events/map-click.event.d.ts +10 -2
  57. package/dist/map/models/i-identified.d.ts +3 -0
  58. package/dist/map/models/map.constants.d.ts +3 -0
  59. package/dist/map/services/map-feature.service.d.ts +14 -0
  60. package/dist/map/services/message-registrator.service.d.ts +2 -1
  61. package/dist/src/map/helpers/index.d.ts +1 -0
  62. package/dist/src/map/helpers/marker-style.helper.d.ts +2 -0
  63. package/dist/src/map/helpers/text-style.helper.d.ts +4 -0
  64. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer-factory.service.d.ts +11 -0
  65. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.component.d.ts +21 -0
  66. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.manager.d.ts +11 -0
  67. package/dist/src/map/map-plate/layers/cluster-layer/cluster-layer.settings.d.ts +20 -0
  68. package/dist/src/map/map-plate/layers/index.d.ts +2 -0
  69. package/dist/src/map/map.module.d.ts +3 -2
  70. package/dist/src/map/messages/commands/add-layer.command.d.ts +3 -2
  71. package/dist/src/map/messages/commands/fit-to-features.command.d.ts +10 -0
  72. package/dist/src/map/messages/events/map-click.event.d.ts +10 -2
  73. package/dist/src/map/models/i-identified.d.ts +3 -0
  74. package/dist/src/map/models/map.constants.d.ts +3 -0
  75. package/dist/src/map/services/map-feature.service.d.ts +14 -0
  76. package/dist/src/map/services/message-registrator.service.d.ts +2 -1
  77. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
1
  export * from './marker-style.helper';
2
2
  export * from './polygon-style.helper';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWFya2VyLXN0eWxlLmhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL3BvbHlnb24tc3R5bGUuaGVscGVyJztcbiJdfQ==
3
+ export * from './text-style.helper';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYXJrZXItc3R5bGUuaGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcG9seWdvbi1zdHlsZS5oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LXN0eWxlLmhlbHBlcic7XG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLXN0eWxlLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL2hlbHBlcnMvbWFya2VyLXN0eWxlLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXRELE1BQU0sT0FBTyxpQkFBaUI7SUFDckIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFXLEVBQUUsT0FBeUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxHQUFHLEdBQUc7UUFDaEYsSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsR0FBRyxHQUFHLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxPQUFPLElBQUksS0FBSyxDQUFDO1lBQ2YsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUNkLEdBQUcsRUFBRSxLQUFLO2dCQUNWLE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQztZQUNGLE1BQU07U0FDUCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFjLEVBQUUsSUFBWSxFQUFFLFdBQW1CLEVBQUUsV0FBVyxHQUFHLENBQUM7UUFDckYsT0FBTyxJQUFJLEtBQUssQ0FBQztZQUNmLEtBQUssRUFBRSxJQUFJLE1BQU0sQ0FBQztnQkFDaEIsTUFBTTtnQkFDTixJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQy9CLE1BQU0sRUFBRSxJQUFJLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDO2FBQy9ELENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3R5bGUgZnJvbSAnb2wvc3R5bGUvU3R5bGUnO1xuaW1wb3J0IHsgQ2lyY2xlLCBGaWxsLCBJY29uLCBTdHJva2UgfSBmcm9tICdvbC9zdHlsZSc7XG5cbmV4cG9ydCBjbGFzcyBNYXJrZXJTdHlsZUhlbHBlciB7XG4gIHB1YmxpYyBzdGF0aWMgZnJvbVN2Zyhzdmc6IHN0cmluZywgc2l6ZTogW251bWJlciwgbnVtYmVyXSA9IFszMCwgMzBdLCB6SW5kZXggPSA0MDApOiBTdHlsZSB7XG4gICAgbGV0IGltYWdlID0gbmV3IEltYWdlKCk7XG4gICAgaW1hZ2Uuc3JjID0gJ2RhdGE6aW1hZ2Uvc3ZnK3htbCwnICsgZXNjYXBlKHN2Zyk7XG4gICAgcmV0dXJuIG5ldyBTdHlsZSh7XG4gICAgICBpbWFnZTogbmV3IEljb24oe1xuICAgICAgICBpbWc6IGltYWdlLFxuICAgICAgICBpbWdTaXplOiBzaXplLFxuICAgICAgfSksXG4gICAgICB6SW5kZXgsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNpcmNsZShyYWRpdXM6IG51bWJlciwgZmlsbDogc3RyaW5nLCBzdHJva2VDb2xvcjogc3RyaW5nLCBzdHJva2VXaWR0aCA9IDEpOiBTdHlsZSB7XG4gICAgcmV0dXJuIG5ldyBTdHlsZSh7XG4gICAgICBpbWFnZTogbmV3IENpcmNsZSh7XG4gICAgICAgIHJhZGl1cyxcbiAgICAgICAgZmlsbDogbmV3IEZpbGwoeyBjb2xvcjogZmlsbCB9KSxcbiAgICAgICAgc3Ryb2tlOiBuZXcgU3Ryb2tlKHsgY29sb3I6IHN0cm9rZUNvbG9yLCB3aWR0aDogc3Ryb2tlV2lkdGggfSksXG4gICAgICB9KSxcbiAgICB9KTtcbiAgfVxufVxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLXN0eWxlLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL2hlbHBlcnMvbWFya2VyLXN0eWxlLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFRLE1BQU0sVUFBVSxDQUFDO0FBRTVELE1BQU0sT0FBTyxpQkFBaUI7SUFDckIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFXLEVBQUUsT0FBeUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxHQUFHLEdBQUc7UUFDaEYsSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsR0FBRyxHQUFHLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxPQUFPLElBQUksS0FBSyxDQUFDO1lBQ2YsS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUNkLEdBQUcsRUFBRSxLQUFLO2dCQUNWLE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQztZQUNGLE1BQU07U0FDUCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFjLEVBQUUsSUFBWSxFQUFFLFdBQW1CLEVBQUUsV0FBVyxHQUFHLENBQUM7UUFDckYsT0FBTyxJQUFJLEtBQUssQ0FBQztZQUNmLEtBQUssRUFBRSxJQUFJLE1BQU0sQ0FBQztnQkFDaEIsTUFBTTtnQkFDTixJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQy9CLE1BQU0sRUFBRSxJQUFJLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDO2FBQy9ELENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFZLEVBQUUsSUFBVTtRQUM3QyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0eWxlIGZyb20gJ29sL3N0eWxlL1N0eWxlJztcbmltcG9ydCB7IENpcmNsZSwgRmlsbCwgSWNvbiwgU3Ryb2tlLCBUZXh0IH0gZnJvbSAnb2wvc3R5bGUnO1xuXG5leHBvcnQgY2xhc3MgTWFya2VyU3R5bGVIZWxwZXIge1xuICBwdWJsaWMgc3RhdGljIGZyb21Tdmcoc3ZnOiBzdHJpbmcsIHNpemU6IFtudW1iZXIsIG51bWJlcl0gPSBbMzAsIDMwXSwgekluZGV4ID0gNDAwKTogU3R5bGUge1xuICAgIGxldCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xuICAgIGltYWdlLnNyYyA9ICdkYXRhOmltYWdlL3N2Zyt4bWwsJyArIGVzY2FwZShzdmcpO1xuICAgIHJldHVybiBuZXcgU3R5bGUoe1xuICAgICAgaW1hZ2U6IG5ldyBJY29uKHtcbiAgICAgICAgaW1nOiBpbWFnZSxcbiAgICAgICAgaW1nU2l6ZTogc2l6ZSxcbiAgICAgIH0pLFxuICAgICAgekluZGV4LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjaXJjbGUocmFkaXVzOiBudW1iZXIsIGZpbGw6IHN0cmluZywgc3Ryb2tlQ29sb3I6IHN0cmluZywgc3Ryb2tlV2lkdGggPSAxKTogU3R5bGUge1xuICAgIHJldHVybiBuZXcgU3R5bGUoe1xuICAgICAgaW1hZ2U6IG5ldyBDaXJjbGUoe1xuICAgICAgICByYWRpdXMsXG4gICAgICAgIGZpbGw6IG5ldyBGaWxsKHsgY29sb3I6IGZpbGwgfSksXG4gICAgICAgIHN0cm9rZTogbmV3IFN0cm9rZSh7IGNvbG9yOiBzdHJva2VDb2xvciwgd2lkdGg6IHN0cm9rZVdpZHRoIH0pLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHdpdGhUZXh0KHN0eWxlOiBTdHlsZSwgdGV4dDogVGV4dCk6IFN0eWxlIHtcbiAgICBzdHlsZS5zZXRUZXh0KHRleHQpO1xuICAgIHJldHVybiBzdHlsZTtcbiAgfVxufVxuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1zdHlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9oZWxwZXJzL3RleHQtc3R5bGUuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RDLE1BQU0sT0FBTyxlQUFlO0lBQ25CLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWSxFQUFFLElBQVksRUFBRSxLQUFhO1FBQ3pELE9BQU8sSUFBSSxJQUFJLENBQUM7WUFDZCxJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxJQUFJO1lBQ1YsU0FBUyxFQUFFLFFBQVE7WUFDbkIsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO2dCQUNiLEtBQUssRUFBRSxLQUFLO2FBQ2IsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbGwsIFRleHQgfSBmcm9tICdvbC9zdHlsZSc7XG5leHBvcnQgY2xhc3MgVGV4dFN0eWxlSGVscGVyIHtcbiAgcHVibGljIHN0YXRpYyBnZXQodGV4dDogc3RyaW5nLCBmb250OiBzdHJpbmcsIGNvbG9yOiBzdHJpbmcpOiBUZXh0IHtcbiAgICByZXR1cm4gbmV3IFRleHQoe1xuICAgICAgdGV4dDogdGV4dCxcbiAgICAgIGZvbnQ6IGZvbnQsXG4gICAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgICAgZmlsbDogbmV3IEZpbGwoe1xuICAgICAgICBjb2xvcjogY29sb3IsXG4gICAgICB9KSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci1mYWN0b3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci1mYWN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxJQUFJLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUMsT0FBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQztBQUV4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUk5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBSzdELE1BQU0sT0FBTyxtQkFBbUI7SUFDdkIsS0FBSyxDQUFDLFFBQThCLEVBQUUsT0FBMEI7UUFDckUsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUM7WUFDeEIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUztTQUMzQyxDQUFDLENBQUM7UUFDSCxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQztZQUMxQixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7WUFDM0IsTUFBTSxFQUFFLE1BQU07WUFDZCxnQkFBZ0IsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUM1QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25DLElBQUksSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLE9BQU8sRUFBRTtvQkFDOUIsT0FBTyxJQUFhLENBQUM7aUJBQ3RCO3FCQUFNLElBQUksSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLFNBQVMsRUFBRTtvQkFDdkMsT0FBUSxJQUFnQixFQUFFLGdCQUFnQixFQUFFLENBQUM7aUJBQzlDO3FCQUFNLElBQUksSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLGNBQWMsRUFBRTtvQkFDNUMsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztpQkFDekQ7Z0JBQ0QsT0FBTyxTQUFnQixDQUFDO1lBQzFCLENBQUM7U0FDRixDQUFDLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQztZQUN0QixNQUFNLEVBQUUsT0FBTztZQUNmLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxJQUFJLFNBQVM7WUFDdEMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLElBQUksU0FBUztZQUN0QyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDO1NBQzdCLENBQUMsQ0FBQztRQUNILEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxPQUFPLElBQUksbUJBQW1CLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsU0FBUyxDQUFDLFFBQThCO1FBQ3RDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNqQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBd0IsQ0FBQztZQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUs7Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFDdEMsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RyxDQUFDLENBQUM7SUFDSixDQUFDO3dHQXJDVSxtQkFBbUI7NEdBQW5CLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2NsdXN0ZXItbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgVmVjdG9yIGFzIFNvdXJjZSB9IGZyb20gJ29sL3NvdXJjZSc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgeyBiYm94IH0gZnJvbSAnb2wvbG9hZGluZ3N0cmF0ZWd5JztcbmltcG9ydCBQb2x5Z29uLCB7IGZyb21FeHRlbnQgfSBmcm9tICdvbC9nZW9tL1BvbHlnb24nO1xuaW1wb3J0IENsdXN0ZXIgZnJvbSAnb2wvc291cmNlL0NsdXN0ZXInO1xuaW1wb3J0IHsgR2VvbWV0cnksIFBvaW50IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBDbHVzdGVyTGF5ZXJNYW5hZ2VyIH0gZnJvbSAnLi9jbHVzdGVyLWxheWVyLm1hbmFnZXInO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCBTdHlsZSwgeyBTdHlsZUZ1bmN0aW9uIH0gZnJvbSAnb2wvc3R5bGUvU3R5bGUnO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ29sJztcbmltcG9ydCB7IE1hcENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9tYXAuY29uc3RhbnRzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENsdXN0ZXJMYXllckZhY3Rvcnkge1xuICBwdWJsaWMgYnVpbGQoc2V0dGluZ3M6IENsdXN0ZXJMYXllclNldHRpbmdzLCBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSk6IENsdXN0ZXJMYXllck1hbmFnZXIge1xuICAgIGNvbnN0IHNvdXJjZSA9IG5ldyBTb3VyY2Uoe1xuICAgICAgc3RyYXRlZ3k6IHNldHRpbmdzLmJib3ggPyBiYm94IDogdW5kZWZpbmVkLFxuICAgIH0pO1xuICAgIGNvbnN0IGNsdXN0ZXIgPSBuZXcgQ2x1c3Rlcih7XG4gICAgICBkaXN0YW5jZTogc2V0dGluZ3MuZGlzdGFuY2UsXG4gICAgICBzb3VyY2U6IHNvdXJjZSxcbiAgICAgIGdlb21ldHJ5RnVuY3Rpb246IChmZWF0dXJlKSA9PiB7XG4gICAgICAgIGNvbnN0IGdlb20gPSBmZWF0dXJlLmdldEdlb21ldHJ5KCk7XG4gICAgICAgIGlmIChnZW9tPy5nZXRUeXBlKCkgPT0gJ1BvaW50Jykge1xuICAgICAgICAgIHJldHVybiBnZW9tIGFzIFBvaW50O1xuICAgICAgICB9IGVsc2UgaWYgKGdlb20/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFckYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFTaEUsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHFCQUFxQjtJQUkxQztJQUFvQztJQUhqRCxPQUFPLEdBQStCLElBQUksQ0FBQztJQUNsRCxTQUFTLEdBQXlCLElBQUksb0JBQW9CLEVBQUUsQ0FBQztJQUU3RCxZQUFvQixPQUEwQixFQUFVLE9BQTRCO1FBQ2xGLEtBQUssRUFBRSxDQUFDO1FBRFUsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFxQjtJQUVwRixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPO2FBQ1QsU0FBUyxDQUFtQixnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7YUFDaEQsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixLQUFLLEVBQUUsQ0FDUjthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQWEsUUFBUSxDQUFDLEtBQXVDO1FBQzNELElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFN0IsU0FBUztRQUNmLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSztZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7d0dBbENVLHFCQUFxQjs0RkFBckIscUJBQXFCLGtIQUp0QixFQUFFOzs0RkFJRCxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsbUJBQW1CLFlBQ25CLEVBQUUsbUJBRUssdUJBQXVCLENBQUMsTUFBTTswSUFvQmxDLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBZGRMYXllckNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVMYXllckNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBDbHVzdGVyTGF5ZXJNYW5hZ2VyIH0gZnJvbSAnLi9jbHVzdGVyLWxheWVyLm1hbmFnZXInO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2NsdXN0ZXItbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgQ2x1c3RlckxheWVyRmFjdG9yeSB9IGZyb20gJy4vY2x1c3Rlci1sYXllci1mYWN0b3J5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY2x1c3Rlci1sYXllcicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENsdXN0ZXJMYXllckNvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBtYW5hZ2VyOiBDbHVzdGVyTGF5ZXJNYW5hZ2VyIHwgbnVsbCA9IG51bGw7XG4gIF9zZXR0aW5nczogQ2x1c3RlckxheWVyU2V0dGluZ3MgPSBuZXcgQ2x1c3RlckxheWVyU2V0dGluZ3MoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlLCBwcml2YXRlIGZhY3Rvcnk6IENsdXN0ZXJMYXllckZhY3RvcnkpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95XG4gICAgICAuc3Vic2NyaWJlPE1hcFJlbmRlcmVkRXZlbnQ+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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci5tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy9jbHVzdGVyLWxheWVyL2NsdXN0ZXItbGF5ZXIubWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFMUYsTUFBTSxPQUFPLG1CQUFtQjtJQUVwQjtJQUNRO0lBQ1I7SUFIVixZQUNVLFFBQThCLEVBQ3RCLEtBQXFCLEVBQzdCLE9BQTBCO1FBRjFCLGFBQVEsR0FBUixRQUFRLENBQXNCO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQzdCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBRWxDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBZ0IsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3RFLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2pGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQ2xpY2tFdmVudCB9IGZyb20gJy4uLy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IFZlY3RvciBhcyBMYXllciB9IGZyb20gJ29sL2xheWVyJztcbmltcG9ydCBDbHVzdGVyIGZyb20gJ29sL3NvdXJjZS9DbHVzdGVyJztcbmltcG9ydCB7IENsdXN0ZXJMYXllclNldHRpbmdzIH0gZnJvbSAnLi9jbHVzdGVyLWxheWVyLnNldHRpbmdzJztcbmltcG9ydCB7IEZpdFRvRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvZml0LXRvLWZlYXR1cmVzLmNvbW1hbmQnO1xuXG5leHBvcnQgY2xhc3MgQ2x1c3RlckxheWVyTWFuYWdlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2V0dGluZ3M6IENsdXN0ZXJMYXllclNldHRpbmdzLFxuICAgIHB1YmxpYyByZWFkb25seSBsYXllcjogTGF5ZXI8Q2x1c3Rlcj4sXG4gICAgcHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5vYnNlcnZlQ2xpY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUNsaWNrKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8TWFwQ2xpY2tFdmVudD4oTWFwQ2xpY2tFdmVudC5JRCkuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICBpZiAoKG0uZmVhdHVyZXNbdGhpcy5zZXR0aW5ncy5uYW1lXT8ubGVuZ3RoID8/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvY2x1c3Rlci1sYXllci9jbHVzdGVyLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUkzRCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLElBQUksR0FBVyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDakMsTUFBTSxHQUFXLENBQUMsQ0FBQztJQUNuQixPQUFPLEdBQVcsRUFBRSxDQUFDO0lBQ3JCLE9BQU8sR0FBVyxDQUFDLENBQUM7SUFDcEIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixJQUFJLEdBQVksS0FBSyxDQUFDO0lBQ3RCLEtBQUssQ0FBc0M7SUFFcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUEyQjtRQUM1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDMUMsTUFBTSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDL0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN6QixNQUFNLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDakMsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzNCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBYztRQUN0QixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFnQjtRQUMxQixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN4QixPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFhO1FBQ25CLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQXlEO1FBQ2hFLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQTJCO1FBQ3ZDLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsTUFBTTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQy9DLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsUUFBUTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ25ELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNDLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWRHZW5lcmF0b3IgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vaWQuZ2VuZXJhdG9yJztcbmltcG9ydCBTdHlsZSwgeyBTdHlsZUZ1bmN0aW9uIH0gZnJvbSAnb2wvc3R5bGUvU3R5bGUnO1xuaW1wb3J0IHsgSUlkZW50aWZpZWQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaS1pZGVudGlmaWVkJztcblxuZXhwb3J0IGNsYXNzIENsdXN0ZXJMYXllclNldHRpbmdzIHtcbiAgbmFtZTogc3RyaW5nID0gSWRHZW5lcmF0b3IuZ2V0KCk7XG4gIHpJbmRleDogbnVtYmVyID0gMTtcbiAgbWF4Wm9vbTogbnVtYmVyID0gMTk7XG4gIG1pblpvb206IG51bWJlciA9IDA7XG4gIGRpc3RhbmNlOiBudW1iZXIgPSAyMDtcbiAgYmJveDogYm9vbGVhbiA9IGZhbHNlO1xuICBzdHlsZT86IChmZWF0dXJlczogSUlkZW50aWZpZWRbXSkgPT4gU3R5bGU7XG5cbiAgcHVibGljIHN0YXRpYyBjb3B5KG1vZGVsOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyk6IENsdXN0ZXJMYXllclNldHRpbmdzIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgQ2x1c3RlckxheWVyU2V0dGluZ3MoKTtcbiAgICByZXN1bHQubmFtZSA9IG1vZGVsLm5hbWU7XG4gICAgcmVzdWx0Lm1heFpvb20gPSBtb2RlbC5tYXhab29tO1xuICAgIHJlc3VsdC5taW5ab29tID0gbW9kZWwubWluWm9vbTtcbiAgICByZXN1bHQuekluZGV4ID0gbW9kZWwuekluZGV4O1xuICAgIHJlc3VsdC5iYm94ID0gbW9kZWwuYmJveDtcbiAgICByZXN1bHQuZGlzdGFuY2UgPSBtb2RlbC5kaXN0YW5jZTtcbiAgICByZXN1bHQuc3R5bGUgPSBtb2RlbC5zdHlsZTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgc2V0WkluZGV4KHpJbmRleDogbnVtYmVyKTogQ2x1c3RlckxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBDbHVzdGVyTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgekluZGV4IH0pO1xuICB9XG5cbiAgc2V0RGlzdGFuY2UoZGlzdGFuY2U6IG51bWJlcik6IENsdXN0ZXJMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gQ2x1c3RlckxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIGRpc3RhbmNlIH0pO1xuICB9XG5cbiAgc2V0TmFtZShuYW1lOiBzdHJpbmcpOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIENsdXN0ZXJMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBuYW1lIH0pO1xuICB9XG5cbiAgc2V0TWF4Wm9vbShtYXhab29tOiBudW1iZXIpOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIENsdXN0ZXJMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtYXhab29tIH0pO1xuICB9XG5cbiAgc2V0TWluWm9vbShtaW5ab29tOiBudW1iZXIpOiBDbHVzdGVyTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIENsdXN0ZXJMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtaW5ab29tIH0pO1xuICB9XG5cbiAgc2V0QmJveChiYm94OiBib29sZWFuKTogQ2x1c3RlckxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBDbHVzdGVyTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgYmJveCB9KTtcbiAgfVxuXG4gIHNldFN0eWxlKHN0eWxlOiAoZmVhdHVyZXM6IElJZGVudGlmaWVkW10pID0+IFN0eWxlIHwgU3R5bGVGdW5jdGlvbik6IENsdXN0ZXJMYXllclNldHRpbmdzIHtcbiAgICByZXR1cm4gQ2x1c3RlckxheWVyU2V0dGluZ3MuY29weSh7IC4uLnRoaXMsIHN0eWxlIH0pO1xuICB9XG5cbiAgcHVibGljIGlzU2FtZShtb2RlbDogQ2x1c3RlckxheWVyU2V0dGluZ3MpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5tYXhab29tICE9PSBtb2RlbC5tYXhab29tKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubWluWm9vbSAhPT0gbW9kZWwubWluWm9vbSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnpJbmRleCAhPT0gbW9kZWwuekluZGV4KSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubmFtZSAhPT0gbW9kZWwubmFtZSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLmRpc3RhbmNlICE9PSBtb2RlbC5kaXN0YW5jZSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLmJib3ggIT09IG1vZGVsLmJib3gpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5zdHlsZSAhPT0gbW9kZWwuc3R5bGUpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
@@ -3,4 +3,6 @@ export * from './tile-layer/tile-layer.settings';
3
3
  export * from './osm-tile-layer/osm-tile-layer.component';
4
4
  export * from './feature-layer/feature-layer.settings';
5
5
  export * from './feature-layer/feature-layer.component';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx5Q0FBeUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGlsZS1sYXllci90aWxlLWxheWVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5zZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL29zbS10aWxlLWxheWVyL29zbS10aWxlLWxheWVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtbGF5ZXIvZmVhdHVyZS1sYXllci5zZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtbGF5ZXIvZmVhdHVyZS1sYXllci5jb21wb25lbnQnO1xuIl19
6
+ export * from './cluster-layer/cluster-layer.component';
7
+ export * from './cluster-layer/cluster-layer.settings';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90aWxlLWxheWVyL3RpbGUtbGF5ZXIuc2V0dGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9vc20tdGlsZS1sYXllci9vc20tdGlsZS1sYXllci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLWxheWVyL2ZlYXR1cmUtbGF5ZXIuc2V0dGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLWxheWVyL2ZlYXR1cmUtbGF5ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY2x1c3Rlci1sYXllci9jbHVzdGVyLWxheWVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllci5zZXR0aW5ncyc7XG4iXX0=
@@ -7,6 +7,7 @@ import { MapRenderedEvent } from '../messages';
7
7
  import { MapStateService } from '../services/map-state.service';
8
8
  import { MapManagementService } from '../services/map-management.service';
9
9
  import { MapClickService } from '../services/map-click.service';
10
+ import { MapFeatureService } from '../services/map-feature.service';
10
11
  import * as i0 from "@angular/core";
11
12
  import * as i1 from "../services/map-postboy.service";
12
13
  import * as i2 from "./map-plate.factory.service";
@@ -59,12 +60,12 @@ export class MapPlateComponent extends DestructibleComponent {
59
60
  this.registrator.down();
60
61
  };
61
62
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapPlateComponent, deps: [{ token: i0.ElementRef }, { token: i1.MapPostboyService }, { token: i2.MapPlateFactory }, { token: i3.MessageRegistratorService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
62
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MapPlateComponent, selector: "lib-map-plate", inputs: { settings: "settings" }, providers: [MessageRegistratorService, MapStateService, MapManagementService, MapClickService], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<lib-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\"></lib-osm-tile-layer>\n", styles: ["lib-map-plate{position:relative;display:flex;flex-direction:column;height:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.OsmTileLayerComponent, selector: "lib-osm-tile-layer", inputs: ["url", "map"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
63
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MapPlateComponent, selector: "lib-map-plate", inputs: { settings: "settings" }, providers: [MessageRegistratorService, MapStateService, MapManagementService, MapClickService, MapFeatureService], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<lib-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\"></lib-osm-tile-layer>\n", styles: ["lib-map-plate{position:relative;display:flex;flex-direction:column;height:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.OsmTileLayerComponent, selector: "lib-osm-tile-layer", inputs: ["url", "map"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
63
64
  }
64
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapPlateComponent, decorators: [{
65
66
  type: Component,
66
- args: [{ selector: 'lib-map-plate', changeDetection: ChangeDetectionStrategy.OnPush, providers: [MessageRegistratorService, MapStateService, MapManagementService, MapClickService], template: "<ng-content></ng-content>\n<lib-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\"></lib-osm-tile-layer>\n", styles: ["lib-map-plate{position:relative;display:flex;flex-direction:column;height:100%}\n"] }]
67
+ args: [{ selector: 'lib-map-plate', changeDetection: ChangeDetectionStrategy.OnPush, providers: [MessageRegistratorService, MapStateService, MapManagementService, MapClickService, MapFeatureService], template: "<ng-content></ng-content>\n<lib-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\"></lib-osm-tile-layer>\n", styles: ["lib-map-plate{position:relative;display:flex;flex-direction:column;height:100%}\n"] }]
67
68
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MapPostboyService }, { type: i2.MapPlateFactory }, { type: i3.MessageRegistratorService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { settings: [{
68
69
  type: Input
69
70
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7OztBQVNoRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEscUJBQXFCO0lBS2hEO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFSVixHQUFHLENBQU87SUFDVixNQUFNLEdBQUcsRUFBRSxDQUFDO0lBRVosWUFDVSxVQUFzQixFQUN0QixPQUEwQixFQUMxQixVQUEyQixFQUMzQixXQUFzQyxFQUN0QyxRQUEyQjtRQUVuQyxLQUFLLEVBQUUsQ0FBQztRQU5BLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUFDM0IsZ0JBQVcsR0FBWCxXQUFXLENBQTJCO1FBQ3RDLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBR25DLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsU0FBUyxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO0lBRTNDLElBQWEsUUFBUSxDQUFDLEtBQThCO1FBQ2xELElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELFFBQVE7UUFDTixhQUFhLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtZQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVPLE1BQU07UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsc0NBQXNDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FDdkYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUNqQixvQkFBb0IsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFNBQVMsR0FBRyxHQUFHLEVBQUU7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUMsQ0FBQzt3R0E5Q1MsaUJBQWlCOzRGQUFqQixpQkFBaUIsMEVBRmpCLENBQUMseUJBQXlCLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLGVBQWUsQ0FBQyxpRENsQmhHLCtIQUVBOzs0RkRrQmEsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLENBQUM7dU9BbUJqRixRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcEx5cnNMYWJlbCwgTWFwU2V0dGluZ3MgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IE1hcCBmcm9tICdvbC9NYXAnO1xuaW1wb3J0IHsgdXNlR2VvZ3JhcGhpYyB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21lc3NhZ2UtcmVnaXN0cmF0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IE1hcFN0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBQbGF0ZUZhY3RvcnkgfSBmcm9tICcuL21hcC1wbGF0ZS5mYWN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQ2xpY2tTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLWNsaWNrLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItbWFwLXBsYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hcC1wbGF0ZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSwgTWFwU3RhdGVTZXJ2aWNlLCBNYXBNYW5hZ2VtZW50U2VydmljZSwgTWFwQ2xpY2tTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwUGxhdGVDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBtYXAhOiBNYXA7XG4gIG9zbVVybCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWFwRmFjdG9yeTogTWFwUGxhdGVGYWN0b3J5LFxuICAgIHByaXZhdGUgcmVnaXN0cmF0b3I6IE1lc3NhZ2VSZWdpc3RyYXRvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgcmVnaXN0cmF0b3IudXAoKTtcbiAgfVxuXG4gIF9zZXR0aW5nczogTWFwU2V0dGluZ3MgPSBuZXcgTWFwU2V0dGluZ3MoKTtcblxuICBASW5wdXQoKSBzZXQgc2V0dGluZ3ModmFsdWU6IE1hcFNldHRpbmdzIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSB8fCB0aGlzLl9zZXR0aW5ncy5pc1NhbWUodmFsdWUpKSByZXR1cm47XG4gICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcbiAgICB0aGlzLnNldE9zbSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdXNlR2VvZ3JhcGhpYygpO1xuICAgIHRoaXMubWFwID0gdGhpcy5tYXBGYWN0b3J5LmJ1aWxkKHRoaXMuX3NldHRpbmdzKTtcbiAgICB0aGlzLm1hcC5zZXRUYXJnZXQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMuZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMubWFwLm9uY2UoJ3Bvc3RyZW5kZXInLCAoKSA9PiB7XG4gICAgICB0aGlzLm1hcC51cGRhdGVTaXplKCk7XG4gICAgICB0aGlzLnBvc3Rib3kuZmlyZShuZXcgTWFwUmVuZGVyZWRFdmVudCh0aGlzLm1hcCkpO1xuICAgIH0pO1xuICAgIHRoaXMuc2V0T3NtKCk7XG4gIH1cblxuICBwcml2YXRlIHNldE9zbSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgdGhpcy5vc21VcmwgPSBgaHR0cHM6Ly9tdHswLTN9Lmdvb2dsZS5jb20vdnQvbHlycz0ke01hcEx5cnNMYWJlbC5nZXQodGhpcy5fc2V0dGluZ3MubHlycyl9JmhsPSR7XG4gICAgICB0aGlzLl9zZXR0aW5ncy5sYW5ndWFnZVxuICAgIH0meD17eH0meT17eX0mej17en1gO1xuICAgIHRoaXMuZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMubWFwLnVwZGF0ZVNpemUoKTtcbiAgfVxuXG4gIG9uRGVzdHJveSA9ICgpID0+IHtcbiAgICB0aGlzLnJlZ2lzdHJhdG9yLmRvd24oKTtcbiAgfTtcbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjxsaWItb3NtLXRpbGUtbGF5ZXIgKm5nSWY9XCJvc21VcmwgJiYgbWFwXCIgW21hcF09XCJtYXBcIiBbdXJsXT1cIm9zbVVybFwiPjwvbGliLW9zbS10aWxlLWxheWVyPlxuIl19
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7OztBQVNwRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEscUJBQXFCO0lBS2hEO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFSVixHQUFHLENBQU87SUFDVixNQUFNLEdBQUcsRUFBRSxDQUFDO0lBRVosWUFDVSxVQUFzQixFQUN0QixPQUEwQixFQUMxQixVQUEyQixFQUMzQixXQUFzQyxFQUN0QyxRQUEyQjtRQUVuQyxLQUFLLEVBQUUsQ0FBQztRQU5BLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUFDM0IsZ0JBQVcsR0FBWCxXQUFXLENBQTJCO1FBQ3RDLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBR25DLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsU0FBUyxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO0lBRTNDLElBQWEsUUFBUSxDQUFDLEtBQThCO1FBQ2xELElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELFFBQVE7UUFDTixhQUFhLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtZQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVPLE1BQU07UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsc0NBQXNDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FDdkYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUNqQixvQkFBb0IsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFNBQVMsR0FBRyxHQUFHLEVBQUU7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUMsQ0FBQzt3R0E5Q1MsaUJBQWlCOzRGQUFqQixpQkFBaUIsMEVBRmpCLENBQUMseUJBQXlCLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQyxpRENuQm5ILCtIQUVBOzs0RkRtQmEsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUM7dU9BbUJwRyxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcEx5cnNMYWJlbCwgTWFwU2V0dGluZ3MgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IE1hcCBmcm9tICdvbC9NYXAnO1xuaW1wb3J0IHsgdXNlR2VvZ3JhcGhpYyB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21lc3NhZ2UtcmVnaXN0cmF0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IE1hcFN0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBQbGF0ZUZhY3RvcnkgfSBmcm9tICcuL21hcC1wbGF0ZS5mYWN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQ2xpY2tTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLWNsaWNrLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwRmVhdHVyZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYXAtZmVhdHVyZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLW1hcC1wbGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXAtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXAtcGxhdGUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW01lc3NhZ2VSZWdpc3RyYXRvclNlcnZpY2UsIE1hcFN0YXRlU2VydmljZSwgTWFwTWFuYWdlbWVudFNlcnZpY2UsIE1hcENsaWNrU2VydmljZSwgTWFwRmVhdHVyZVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBQbGF0ZUNvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG1hcCE6IE1hcDtcbiAgb3NtVXJsID0gJyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYXBGYWN0b3J5OiBNYXBQbGF0ZUZhY3RvcnksXG4gICAgcHJpdmF0ZSByZWdpc3RyYXRvcjogTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSxcbiAgICBwcml2YXRlIGRldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICByZWdpc3RyYXRvci51cCgpO1xuICB9XG5cbiAgX3NldHRpbmdzOiBNYXBTZXR0aW5ncyA9IG5ldyBNYXBTZXR0aW5ncygpO1xuXG4gIEBJbnB1dCgpIHNldCBzZXR0aW5ncyh2YWx1ZTogTWFwU2V0dGluZ3MgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlIHx8IHRoaXMuX3NldHRpbmdzLmlzU2FtZSh2YWx1ZSkpIHJldHVybjtcbiAgICB0aGlzLl9zZXR0aW5ncyA9IHZhbHVlO1xuICAgIHRoaXMuc2V0T3NtKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB1c2VHZW9ncmFwaGljKCk7XG4gICAgdGhpcy5tYXAgPSB0aGlzLm1hcEZhY3RvcnkuYnVpbGQodGhpcy5fc2V0dGluZ3MpO1xuICAgIHRoaXMubWFwLnNldFRhcmdldCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5kZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5tYXAub25jZSgncG9zdHJlbmRlcicsICgpID0+IHtcbiAgICAgIHRoaXMubWFwLnVwZGF0ZVNpemUoKTtcbiAgICAgIHRoaXMucG9zdGJveS5maXJlKG5ldyBNYXBSZW5kZXJlZEV2ZW50KHRoaXMubWFwKSk7XG4gICAgfSk7XG4gICAgdGhpcy5zZXRPc20oKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0T3NtKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICB0aGlzLm9zbVVybCA9IGBodHRwczovL210ezAtM30uZ29vZ2xlLmNvbS92dC9seXJzPSR7TWFwTHlyc0xhYmVsLmdldCh0aGlzLl9zZXR0aW5ncy5seXJzKX0maGw9JHtcbiAgICAgIHRoaXMuX3NldHRpbmdzLmxhbmd1YWdlXG4gICAgfSZ4PXt4fSZ5PXt5fSZ6PXt6fWA7XG4gICAgdGhpcy5kZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5tYXAudXBkYXRlU2l6ZSgpO1xuICB9XG5cbiAgb25EZXN0cm95ID0gKCkgPT4ge1xuICAgIHRoaXMucmVnaXN0cmF0b3IuZG93bigpO1xuICB9O1xufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPGxpYi1vc20tdGlsZS1sYXllciAqbmdJZj1cIm9zbVVybCAmJiBtYXBcIiBbbWFwXT1cIm1hcFwiIFt1cmxdPVwib3NtVXJsXCI+PC9saWItb3NtLXRpbGUtbGF5ZXI+XG4iXX0=
@@ -8,6 +8,7 @@ import { FeatureLayerComponent } from './map-plate/layers/feature-layer/feature-
8
8
  import { MarkersComponent } from './map-plate/features/markers/markers.component';
9
9
  import { TooltipComponent } from './map-plate/tooltips/tooltip/tooltip.component';
10
10
  import { PolygonsComponent } from './map-plate/features/polygons/polygons.component';
11
+ import { ClusterLayerComponent } from './map-plate/layers/cluster-layer/cluster-layer.component';
11
12
  import * as i0 from "@angular/core";
12
13
  export class MapModule {
13
14
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -18,12 +19,14 @@ export class MapModule {
18
19
  FeatureLayerComponent,
19
20
  MarkersComponent,
20
21
  TooltipComponent,
21
- PolygonsComponent], imports: [CommonModule], exports: [MapPlateComponent,
22
+ PolygonsComponent,
23
+ ClusterLayerComponent], imports: [CommonModule], exports: [MapPlateComponent,
22
24
  FeatureLayerComponent,
23
25
  MarkersComponent,
24
26
  TileLayerComponent,
25
27
  TooltipComponent,
26
- PolygonsComponent] });
28
+ PolygonsComponent,
29
+ ClusterLayerComponent] });
27
30
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapModule, imports: [CommonModule] });
28
31
  }
29
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapModule, decorators: [{
@@ -39,6 +42,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
39
42
  MarkersComponent,
40
43
  TooltipComponent,
41
44
  PolygonsComponent,
45
+ ClusterLayerComponent,
42
46
  ],
43
47
  exports: [
44
48
  MapPlateComponent,
@@ -47,7 +51,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
47
51
  TileLayerComponent,
48
52
  TooltipComponent,
49
53
  PolygonsComponent,
54
+ ClusterLayerComponent,
50
55
  ],
51
56
  }]
52
57
  }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0RBQWtELENBQUM7O0FBdUJyRixNQUFNLE9BQU8sU0FBUzt3R0FBVCxTQUFTO3lHQUFULFNBQVMsaUJBbEJsQixxQkFBcUI7WUFDckIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixxQkFBcUI7WUFDckIscUJBQXFCO1lBQ3JCLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsaUJBQWlCLGFBVFQsWUFBWSxhQVlwQixpQkFBaUI7WUFDakIscUJBQXFCO1lBQ3JCLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLGlCQUFpQjt5R0FHUixTQUFTLFlBcEJWLFlBQVk7OzRGQW9CWCxTQUFTO2tCQXJCckIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQjt3QkFDakIscUJBQXFCO3dCQUNyQixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7cUJBQ2xCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbW1vbi9kZXN0cnVjdGlibGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcFBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvbWFwLXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaWxlTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9sYXllcnMvdGlsZS1sYXllci90aWxlLWxheWVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPc21UaWxlTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9sYXllcnMvb3NtLXRpbGUtbGF5ZXIvb3NtLXRpbGUtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZlYXR1cmVMYXllckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy9mZWF0dXJlLWxheWVyL2ZlYXR1cmUtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcmtlcnNDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9mZWF0dXJlcy9tYXJrZXJzL21hcmtlcnMuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS90b29sdGlwcy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IFBvbHlnb25zQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvZmVhdHVyZXMvcG9seWdvbnMvcG9seWdvbnMuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERlc3RydWN0aWJsZUNvbXBvbmVudCxcbiAgICBNYXBQbGF0ZUNvbXBvbmVudCxcbiAgICBUaWxlTGF5ZXJDb21wb25lbnQsXG4gICAgT3NtVGlsZUxheWVyQ29tcG9uZW50LFxuICAgIEZlYXR1cmVMYXllckNvbXBvbmVudCxcbiAgICBNYXJrZXJzQ29tcG9uZW50LFxuICAgIFRvb2x0aXBDb21wb25lbnQsXG4gICAgUG9seWdvbnNDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBNYXBQbGF0ZUNvbXBvbmVudCxcbiAgICBGZWF0dXJlTGF5ZXJDb21wb25lbnQsXG4gICAgTWFya2Vyc0NvbXBvbmVudCxcbiAgICBUaWxlTGF5ZXJDb21wb25lbnQsXG4gICAgVG9vbHRpcENvbXBvbmVudCxcbiAgICBQb2x5Z29uc0NvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwTW9kdWxlIHt9XG4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7O0FBeUJqRyxNQUFNLE9BQU8sU0FBUzt3R0FBVCxTQUFTO3lHQUFULFNBQVMsaUJBcEJsQixxQkFBcUI7WUFDckIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixxQkFBcUI7WUFDckIscUJBQXFCO1lBQ3JCLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsaUJBQWlCO1lBQ2pCLHFCQUFxQixhQVZiLFlBQVksYUFhcEIsaUJBQWlCO1lBQ2pCLHFCQUFxQjtZQUNyQixnQkFBZ0I7WUFDaEIsa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIscUJBQXFCO3lHQUdaLFNBQVMsWUF0QlYsWUFBWTs7NEZBc0JYLFNBQVM7a0JBdkJyQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjt3QkFDckIsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixxQkFBcUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixxQkFBcUI7cUJBQ3RCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbW1vbi9kZXN0cnVjdGlibGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcFBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvbWFwLXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaWxlTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9sYXllcnMvdGlsZS1sYXllci90aWxlLWxheWVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPc21UaWxlTGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9sYXllcnMvb3NtLXRpbGUtbGF5ZXIvb3NtLXRpbGUtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZlYXR1cmVMYXllckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy9mZWF0dXJlLWxheWVyL2ZlYXR1cmUtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hcmtlcnNDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9mZWF0dXJlcy9tYXJrZXJzL21hcmtlcnMuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS90b29sdGlwcy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IFBvbHlnb25zQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvZmVhdHVyZXMvcG9seWdvbnMvcG9seWdvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IENsdXN0ZXJMYXllckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy9jbHVzdGVyLWxheWVyL2NsdXN0ZXItbGF5ZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERlc3RydWN0aWJsZUNvbXBvbmVudCxcbiAgICBNYXBQbGF0ZUNvbXBvbmVudCxcbiAgICBUaWxlTGF5ZXJDb21wb25lbnQsXG4gICAgT3NtVGlsZUxheWVyQ29tcG9uZW50LFxuICAgIEZlYXR1cmVMYXllckNvbXBvbmVudCxcbiAgICBNYXJrZXJzQ29tcG9uZW50LFxuICAgIFRvb2x0aXBDb21wb25lbnQsXG4gICAgUG9seWdvbnNDb21wb25lbnQsXG4gICAgQ2x1c3RlckxheWVyQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTWFwUGxhdGVDb21wb25lbnQsXG4gICAgRmVhdHVyZUxheWVyQ29tcG9uZW50LFxuICAgIE1hcmtlcnNDb21wb25lbnQsXG4gICAgVGlsZUxheWVyQ29tcG9uZW50LFxuICAgIFRvb2x0aXBDb21wb25lbnQsXG4gICAgUG9seWdvbnNDb21wb25lbnQsXG4gICAgQ2x1c3RlckxheWVyQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBNb2R1bGUge31cbiJdfQ==
@@ -10,4 +10,4 @@ export class AddLayerCommand extends GenericMessage {
10
10
  return AddLayerCommand.ID;
11
11
  }
12
12
  }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxheWVyLmNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tZXNzYWdlcy9jb21tYW5kcy9hZGQtbGF5ZXIuY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJcEQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsY0FBYztJQUc5QjtJQUZaLE1BQU0sQ0FBVSxFQUFFLEdBQUcsc0NBQXNDLENBQUM7SUFFbkUsWUFBbUIsS0FBK0I7UUFDaEQsS0FBSyxFQUFFLENBQUM7UUFEUyxVQUFLLEdBQUwsS0FBSyxDQUEwQjtJQUVsRCxDQUFDO0lBRUQsSUFBVyxFQUFFO1FBQ1gsT0FBTyxlQUFlLENBQUMsRUFBRSxDQUFDO0lBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW5lcmljTWVzc2FnZSB9IGZyb20gJy4uL2dlbmVyaWMtbWVzc2FnZSc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgVmVjdG9yU291cmNlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xuXG5leHBvcnQgY2xhc3MgQWRkTGF5ZXJDb21tYW5kIGV4dGVuZHMgR2VuZXJpY01lc3NhZ2Uge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElEID0gJ2Q5M2UyNTBmLTkyYmMtNDNhYy05YzZhLTQ2YzUyMWExYWFhNSc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGxheWVyOiBMYXllcjxWZWN0b3JTb3VyY2U8YW55Pj4pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBBZGRMYXllckNvbW1hbmQuSUQ7XG4gIH1cbn1cbiJdfQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxheWVyLmNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tZXNzYWdlcy9jb21tYW5kcy9hZGQtbGF5ZXIuY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFLcEQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsY0FBYztJQUc5QjtJQUZaLE1BQU0sQ0FBVSxFQUFFLEdBQUcsc0NBQXNDLENBQUM7SUFFbkUsWUFBbUIsS0FBeUM7UUFDMUQsS0FBSyxFQUFFLENBQUM7UUFEUyxVQUFLLEdBQUwsS0FBSyxDQUFvQztJQUU1RCxDQUFDO0lBRUQsSUFBVyxFQUFFO1FBQ1gsT0FBTyxlQUFlLENBQUMsRUFBRSxDQUFDO0lBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW5lcmljTWVzc2FnZSB9IGZyb20gJy4uL2dlbmVyaWMtbWVzc2FnZSc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgVmVjdG9yU291cmNlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xuaW1wb3J0IENsdXN0ZXIgZnJvbSAnb2wvc291cmNlL0NsdXN0ZXInO1xuXG5leHBvcnQgY2xhc3MgQWRkTGF5ZXJDb21tYW5kIGV4dGVuZHMgR2VuZXJpY01lc3NhZ2Uge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElEID0gJ2Q5M2UyNTBmLTkyYmMtNDNhYy05YzZhLTQ2YzUyMWExYWFhNSc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGxheWVyOiBMYXllcjxWZWN0b3JTb3VyY2U8YW55PiB8IENsdXN0ZXI+KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQWRkTGF5ZXJDb21tYW5kLklEO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { GenericMessage } from '../generic-message';
2
+ export class FitToFeaturesCommand extends GenericMessage {
3
+ features;
4
+ zoomAfter;
5
+ static ID = '76cdc091-3793-4b6c-82f7-1e0334cf08a8';
6
+ constructor(features, zoomAfter = 0) {
7
+ super();
8
+ this.features = features;
9
+ this.zoomAfter = zoomAfter;
10
+ }
11
+ get id() {
12
+ return FitToFeaturesCommand.ID;
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml0LXRvLWZlYXR1cmVzLmNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tZXNzYWdlcy9jb21tYW5kcy9maXQtdG8tZmVhdHVyZXMuY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJcEQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGNBQWM7SUFHbkM7SUFBc0M7SUFGbEQsTUFBTSxDQUFVLEVBQUUsR0FBRyxzQ0FBc0MsQ0FBQztJQUVuRSxZQUFtQixRQUE2QixFQUFTLFlBQVksQ0FBQztRQUNwRSxLQUFLLEVBQUUsQ0FBQztRQURTLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBQVMsY0FBUyxHQUFULFNBQVMsQ0FBSTtJQUV0RSxDQUFDO0lBRUQsSUFBVyxFQUFFO1FBQ1gsT0FBTyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7SUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdlbmVyaWNNZXNzYWdlIH0gZnJvbSAnLi4vZ2VuZXJpYy1tZXNzYWdlJztcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20nO1xuXG5leHBvcnQgY2xhc3MgRml0VG9GZWF0dXJlc0NvbW1hbmQgZXh0ZW5kcyBHZW5lcmljTWVzc2FnZSB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSUQgPSAnNzZjZGMwOTEtMzc5My00YjZjLTgyZjctMWUwMzM0Y2YwOGE4JztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZmVhdHVyZXM6IEZlYXR1cmU8R2VvbWV0cnk+W10sIHB1YmxpYyB6b29tQWZ0ZXIgPSAwKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRml0VG9GZWF0dXJlc0NvbW1hbmQuSUQ7XG4gIH1cbn1cbiJdfQ==
@@ -2,14 +2,16 @@ import { GenericMessage } from '../generic-message';
2
2
  export class MapClickEvent extends GenericMessage {
3
3
  coordinates;
4
4
  entities;
5
+ features;
5
6
  static ID = '323df526-8d9c-49c6-83e8-6e9a1e7762f7';
6
- constructor(coordinates, entities) {
7
+ constructor(coordinates, entities, features) {
7
8
  super();
8
9
  this.coordinates = coordinates;
9
10
  this.entities = entities;
11
+ this.features = features;
10
12
  }
11
13
  get id() {
12
14
  return MapClickEvent.ID;
13
15
  }
14
16
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNsaWNrLmV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWVzc2FnZXMvZXZlbnRzL21hcC1jbGljay5ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQsTUFBTSxPQUFPLGFBQWMsU0FBUSxjQUFjO0lBRzVCO0lBQThCO0lBRjFDLE1BQU0sQ0FBVSxFQUFFLEdBQUcsc0NBQXNDLENBQUM7SUFFbkUsWUFBbUIsV0FBcUIsRUFBUyxRQUFrRDtRQUNqRyxLQUFLLEVBQUUsQ0FBQztRQURTLGdCQUFXLEdBQVgsV0FBVyxDQUFVO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBMEM7SUFFbkcsQ0FBQztJQUVELElBQVcsRUFBRTtRQUNYLE9BQU8sYUFBYSxDQUFDLEVBQUUsQ0FBQztJQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2VuZXJpY01lc3NhZ2UgfSBmcm9tICcuLi9nZW5lcmljLW1lc3NhZ2UnO1xuXG5leHBvcnQgY2xhc3MgTWFwQ2xpY2tFdmVudCBleHRlbmRzIEdlbmVyaWNNZXNzYWdlIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJRCA9ICczMjNkZjUyNi04ZDljLTQ5YzYtODNlOC02ZTlhMWU3NzYyZjcnO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb29yZGluYXRlczogbnVtYmVyW10sIHB1YmxpYyBlbnRpdGllczogeyBbbGF5ZXI6IHN0cmluZ106IChzdHJpbmcgfCBudW1iZXIpW10gfSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE1hcENsaWNrRXZlbnQuSUQ7XG4gIH1cbn1cbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNsaWNrLmV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWVzc2FnZXMvZXZlbnRzL21hcC1jbGljay5ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFLcEQsTUFBTSxPQUFPLGFBQWMsU0FBUSxjQUFjO0lBSXRDO0lBQ0E7SUFDQTtJQUxGLE1BQU0sQ0FBVSxFQUFFLEdBQUcsc0NBQXNDLENBQUM7SUFFbkUsWUFDUyxXQUFxQixFQUNyQixRQUE0QyxFQUM1QyxRQUFrRDtRQUV6RCxLQUFLLEVBQUUsQ0FBQztRQUpELGdCQUFXLEdBQVgsV0FBVyxDQUFVO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQW9DO1FBQzVDLGFBQVEsR0FBUixRQUFRLENBQTBDO0lBRzNELENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDWCxPQUFPLGFBQWEsQ0FBQyxFQUFFLENBQUM7SUFDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdlbmVyaWNNZXNzYWdlIH0gZnJvbSAnLi4vZ2VuZXJpYy1tZXNzYWdlJztcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IHsgSUlkZW50aWZpZWQgfSBmcm9tICcuLi8uLi9tb2RlbHMvaS1pZGVudGlmaWVkJztcblxuZXhwb3J0IGNsYXNzIE1hcENsaWNrRXZlbnQgZXh0ZW5kcyBHZW5lcmljTWVzc2FnZSB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSUQgPSAnMzIzZGY1MjYtOGQ5Yy00OWM2LTgzZTgtNmU5YTFlNzc2MmY3JztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29vcmRpbmF0ZXM6IG51bWJlcltdLFxuICAgIHB1YmxpYyBlbnRpdGllczogeyBbbGF5ZXI6IHN0cmluZ106IElJZGVudGlmaWVkW10gfSxcbiAgICBwdWJsaWMgZmVhdHVyZXM6IHsgW2xheWVyOiBzdHJpbmddOiBGZWF0dXJlPEdlb21ldHJ5PltdIH0sXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE1hcENsaWNrRXZlbnQuSUQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1pZGVudGlmaWVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbW9kZWxzL2ktaWRlbnRpZmllZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJSWRlbnRpZmllZCB7XG4gIGlkOiBzdHJpbmcgfCBudW1iZXI7XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export class MapConstants {
2
+ static FeatureInfo = 'f-info';
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21vZGVscy9tYXAuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxZQUFZO0lBQ2hCLE1BQU0sQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIE1hcENvbnN0YW50cyB7XG4gIHB1YmxpYyBzdGF0aWMgRmVhdHVyZUluZm8gPSAnZi1pbmZvJztcbn1cbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  import { IdGenerator } from '../common/id.generator';
2
2
  import { Feature } from 'ol';
3
3
  import { Point } from 'ol/geom';
4
+ import { MapConstants } from './map.constants';
4
5
  export class MarkerModel {
5
6
  lat;
6
7
  lng;
@@ -21,8 +22,8 @@ export class MarkerModel {
21
22
  const feature = new Feature(new Point([this.lng, this.lat]));
22
23
  feature.setId(this.id);
23
24
  if (this.info)
24
- feature.set('info', this.info);
25
+ feature.set(MapConstants.FeatureInfo, this.info);
25
26
  return feature;
26
27
  }
27
28
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbW9kZWxzL21hcmtlci1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUM3QixPQUFPLEVBQVksS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTFDLE1BQU0sT0FBTyxXQUFXO0lBR0o7SUFDQTtJQUVUO0lBTE8sRUFBRSxDQUFrQjtJQUNwQyxZQUNrQixHQUFXLEVBQ1gsR0FBVyxFQUMzQixFQUFvQixFQUNiLElBRU47UUFMZSxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQ1gsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUVwQixTQUFJLEdBQUosSUFBSSxDQUVWO1FBRUQsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU8sUUFBUSxDQUFvQjtJQUVwQyxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxVQUFVO1FBQ2hCLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdELE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWRHZW5lcmF0b3IgfSBmcm9tICcuLi9jb21tb24vaWQuZ2VuZXJhdG9yJztcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBHZW9tZXRyeSwgUG9pbnQgfSBmcm9tICdvbC9nZW9tJztcblxuZXhwb3J0IGNsYXNzIE1hcmtlck1vZGVsIHtcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmcgfCBudW1iZXI7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBsYXQ6IG51bWJlcixcbiAgICBwdWJsaWMgcmVhZG9ubHkgbG5nOiBudW1iZXIsXG4gICAgaWQ/OiBzdHJpbmcgfCBudW1iZXIsXG4gICAgcHVibGljIGluZm8/OiB7XG4gICAgICBbaWQ6IHN0cmluZ106IGFueTtcbiAgICB9LFxuICApIHtcbiAgICB0aGlzLmlkID0gaWQgPT0gbnVsbCA/IElkR2VuZXJhdG9yLmdldCgpIDogaWQ7XG4gICAgdGhpcy5fZmVhdHVyZSA9IHRoaXMuZ2V0RmVhdHVyZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmVhdHVyZTogRmVhdHVyZTxHZW9tZXRyeT47XG5cbiAgcHVibGljIGdldCBmZWF0dXJlKCk6IEZlYXR1cmU8R2VvbWV0cnk+IHtcbiAgICByZXR1cm4gdGhpcy5fZmVhdHVyZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmVhdHVyZSgpOiBGZWF0dXJlPEdlb21ldHJ5PiB7XG4gICAgY29uc3QgZmVhdHVyZSA9IG5ldyBGZWF0dXJlKG5ldyBQb2ludChbdGhpcy5sbmcsIHRoaXMubGF0XSkpO1xuICAgIGZlYXR1cmUuc2V0SWQodGhpcy5pZCk7XG4gICAgaWYgKHRoaXMuaW5mbykgZmVhdHVyZS5zZXQoJ2luZm8nLCB0aGlzLmluZm8pO1xuICAgIHJldHVybiBmZWF0dXJlO1xuICB9XG59XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbW9kZWxzL21hcmtlci1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUM3QixPQUFPLEVBQVksS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxNQUFNLE9BQU8sV0FBVztJQUdKO0lBQ0E7SUFFVDtJQUxPLEVBQUUsQ0FBa0I7SUFDcEMsWUFDa0IsR0FBVyxFQUNYLEdBQVcsRUFDM0IsRUFBb0IsRUFDYixJQUVOO1FBTGUsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUNYLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFFcEIsU0FBSSxHQUFKLElBQUksQ0FFVjtRQUVELElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVPLFFBQVEsQ0FBb0I7SUFFcEMsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRU8sVUFBVTtRQUNoQixNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RCxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRSxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uL2NvbW1vbi9pZC5nZW5lcmF0b3InO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ29sJztcbmltcG9ydCB7IEdlb21ldHJ5LCBQb2ludCB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi9tYXAuY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIE1hcmtlck1vZGVsIHtcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmcgfCBudW1iZXI7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBsYXQ6IG51bWJlcixcbiAgICBwdWJsaWMgcmVhZG9ubHkgbG5nOiBudW1iZXIsXG4gICAgaWQ/OiBzdHJpbmcgfCBudW1iZXIsXG4gICAgcHVibGljIGluZm8/OiB7XG4gICAgICBbaWQ6IHN0cmluZ106IGFueTtcbiAgICB9LFxuICApIHtcbiAgICB0aGlzLmlkID0gaWQgPT0gbnVsbCA/IElkR2VuZXJhdG9yLmdldCgpIDogaWQ7XG4gICAgdGhpcy5fZmVhdHVyZSA9IHRoaXMuZ2V0RmVhdHVyZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmVhdHVyZTogRmVhdHVyZTxHZW9tZXRyeT47XG5cbiAgcHVibGljIGdldCBmZWF0dXJlKCk6IEZlYXR1cmU8R2VvbWV0cnk+IHtcbiAgICByZXR1cm4gdGhpcy5fZmVhdHVyZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmVhdHVyZSgpOiBGZWF0dXJlPEdlb21ldHJ5PiB7XG4gICAgY29uc3QgZmVhdHVyZSA9IG5ldyBGZWF0dXJlKG5ldyBQb2ludChbdGhpcy5sbmcsIHRoaXMubGF0XSkpO1xuICAgIGZlYXR1cmUuc2V0SWQodGhpcy5pZCk7XG4gICAgaWYgKHRoaXMuaW5mbykgZmVhdHVyZS5zZXQoTWFwQ29uc3RhbnRzLkZlYXR1cmVJbmZvLCB0aGlzLmluZm8pO1xuICAgIHJldHVybiBmZWF0dXJlO1xuICB9XG59XG4iXX0=
@@ -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==