@artstesh/maps 5.0.0 → 5.0.3

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 (74) hide show
  1. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.component.mjs +42 -7
  2. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +50 -0
  3. package/dist/esm2022/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +14 -8
  4. package/dist/esm2022/map/map-plate/map-plate.component.mjs +8 -7
  5. package/dist/esm2022/map/map.module.mjs +3 -3
  6. package/dist/esm2022/map/messages/commands/add-tile.command.mjs +13 -0
  7. package/dist/esm2022/map/messages/commands/remove-tile.command.mjs +13 -0
  8. package/dist/esm2022/map/messages/events/map-click.event.mjs +15 -0
  9. package/dist/esm2022/map/messages/index.mjs +2 -1
  10. package/dist/esm2022/map/models/marker-model.mjs +5 -8
  11. package/dist/esm2022/map/services/map-click.service.mjs +51 -0
  12. package/dist/esm2022/map/services/map-management.service.mjs +21 -8
  13. package/dist/esm2022/map/services/map-postboy.service.mjs +5 -17
  14. package/dist/esm2022/map/services/map-state.service.mjs +4 -2
  15. package/dist/esm2022/map/services/message-registrator.service.mjs +23 -12
  16. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.component.mjs +42 -7
  17. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.factory.mjs +50 -0
  18. package/dist/esm2022/src/map/map-plate/layers/tile-layer/tile-layer.settings.mjs +14 -8
  19. package/dist/esm2022/src/map/map-plate/map-plate.component.mjs +8 -7
  20. package/dist/esm2022/src/map/map.module.mjs +3 -3
  21. package/dist/esm2022/src/map/messages/commands/add-tile.command.mjs +13 -0
  22. package/dist/esm2022/src/map/messages/commands/remove-tile.command.mjs +13 -0
  23. package/dist/esm2022/src/map/messages/events/map-click.event.mjs +15 -0
  24. package/dist/esm2022/src/map/messages/index.mjs +2 -1
  25. package/dist/esm2022/src/map/models/marker-model.mjs +5 -8
  26. package/dist/esm2022/src/map/services/map-click.service.mjs +51 -0
  27. package/dist/esm2022/src/map/services/map-management.service.mjs +21 -8
  28. package/dist/esm2022/src/map/services/map-postboy.service.mjs +5 -17
  29. package/dist/esm2022/src/map/services/map-state.service.mjs +4 -2
  30. package/dist/esm2022/src/map/services/message-registrator.service.mjs +23 -12
  31. package/dist/fesm2022/maps-components-src-map.mjs +267 -119
  32. package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
  33. package/dist/fesm2022/maps-components.mjs +267 -119
  34. package/dist/fesm2022/maps-components.mjs.map +1 -1
  35. package/dist/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +14 -5
  36. package/dist/map/map-plate/layers/tile-layer/tile-layer.factory.d.ts +11 -0
  37. package/dist/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +3 -2
  38. package/dist/map/map-plate/map-plate.component.d.ts +2 -2
  39. package/dist/map/map.module.d.ts +1 -1
  40. package/dist/map/messages/commands/add-tile.command.d.ts +9 -0
  41. package/dist/map/messages/commands/remove-tile.command.d.ts +9 -0
  42. package/dist/map/messages/events/map-click.event.d.ts +12 -0
  43. package/dist/map/messages/index.d.ts +1 -0
  44. package/dist/map/models/marker-model.d.ts +2 -2
  45. package/dist/map/services/map-click.service.d.ts +16 -0
  46. package/dist/map/services/map-management.service.d.ts +5 -2
  47. package/dist/map/services/map-postboy.service.d.ts +4 -7
  48. package/dist/map/services/map-state.service.d.ts +3 -1
  49. package/dist/map/services/message-registrator.service.d.ts +7 -2
  50. package/dist/package.json +2 -1
  51. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.component.d.ts +14 -5
  52. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.factory.d.ts +11 -0
  53. package/dist/src/map/map-plate/layers/tile-layer/tile-layer.settings.d.ts +3 -2
  54. package/dist/src/map/map-plate/map-plate.component.d.ts +2 -2
  55. package/dist/src/map/map.module.d.ts +1 -1
  56. package/dist/src/map/messages/commands/add-tile.command.d.ts +9 -0
  57. package/dist/src/map/messages/commands/remove-tile.command.d.ts +9 -0
  58. package/dist/src/map/messages/events/map-click.event.d.ts +12 -0
  59. package/dist/src/map/messages/index.d.ts +1 -0
  60. package/dist/src/map/models/marker-model.d.ts +2 -2
  61. package/dist/src/map/services/map-click.service.d.ts +16 -0
  62. package/dist/src/map/services/map-management.service.d.ts +5 -2
  63. package/dist/src/map/services/map-postboy.service.d.ts +4 -7
  64. package/dist/src/map/services/map-state.service.d.ts +3 -1
  65. package/dist/src/map/services/message-registrator.service.d.ts +7 -2
  66. package/package.json +3 -2
  67. package/dist/esm2022/map/messages/commands/clear-layer.command.mjs +0 -13
  68. package/dist/esm2022/map/services/service.collector.mjs +0 -14
  69. package/dist/esm2022/src/map/messages/commands/clear-layer.command.mjs +0 -13
  70. package/dist/esm2022/src/map/services/service.collector.mjs +0 -14
  71. package/dist/map/messages/commands/clear-layer.command.d.ts +0 -7
  72. package/dist/map/services/service.collector.d.ts +0 -9
  73. package/dist/src/map/messages/commands/clear-layer.command.d.ts +0 -7
  74. package/dist/src/map/services/service.collector.d.ts +0 -9
@@ -7,7 +7,9 @@ export class MapStateService {
7
7
  map;
8
8
  constructor(postboy) {
9
9
  this.postboy = postboy;
10
- postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => (this.map = m));
10
+ }
11
+ up() {
12
+ this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => (this.map = m));
11
13
  }
12
14
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapStateService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
13
15
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapStateService });
@@ -15,4 +17,4 @@ export class MapStateService {
15
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapStateService, decorators: [{
16
18
  type: Injectable
17
19
  }], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9zZXJ2aWNlcy9tYXAtc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBSS9DLE1BQU0sT0FBTyxlQUFlO0lBR047SUFGWixHQUFHLENBQU87SUFFbEIsWUFBb0IsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFDNUMsT0FBTyxDQUFDLFNBQVMsQ0FBTSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7d0dBTFUsZUFBZTs0R0FBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1hcFN0YXRlU2VydmljZSB7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UpIHtcbiAgICBwb3N0Ym95LnN1YnNjcmliZTxNYXA+KE1hcFJlbmRlcmVkRXZlbnQuSUQpLnN1YnNjcmliZSgobSkgPT4gKHRoaXMubWFwID0gbSkpO1xuICB9XG59XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9zZXJ2aWNlcy9tYXAtc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBSy9DLE1BQU0sT0FBTyxlQUFlO0lBR047SUFGWixHQUFHLENBQU87SUFFbEIsWUFBb0IsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFBRyxDQUFDO0lBRWxELEVBQUU7UUFDQSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBTSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7d0dBUFUsZUFBZTs0R0FBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1hcFN0YXRlU2VydmljZSBpbXBsZW1lbnRzIElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UpIHt9XG5cbiAgdXAoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxNYXA+KE1hcFJlbmRlcmVkRXZlbnQuSUQpLnN1YnNjcmliZSgobSkgPT4gKHRoaXMubWFwID0gbSkpO1xuICB9XG59XG4iXX0=
@@ -1,24 +1,35 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { ReplaySubject, Subject } from 'rxjs';
3
2
  import { MapRenderedEvent } from '../messages';
4
3
  import { AddLayerCommand } from '../messages/commands/add-layer.command';
5
4
  import { PlaceLayerFeaturesCommand } from '../messages/commands/place-layer-features.command';
6
5
  import { RemoveLayerCommand } from '../messages/commands/remove-layer.command';
7
- import { ClearLayerCommand } from '../messages/commands/clear-layer.command';
6
+ import { AddTileCommand } from '../messages/commands/add-tile.command';
7
+ import { RemoveTileCommand } from '../messages/commands/remove-tile.command';
8
+ import { PostboyAbstractRegistrator } from '@artstesh/postboy';
9
+ import { MapClickEvent } from '../messages/events/map-click.event';
8
10
  import * as i0 from "@angular/core";
9
11
  import * as i1 from "./map-postboy.service";
10
- export class MessageRegistratorService {
11
- constructor(service) {
12
- service.register(MapRenderedEvent.ID, new ReplaySubject(1));
13
- service.register(AddLayerCommand.ID, new Subject());
14
- service.register(PlaceLayerFeaturesCommand.ID, new ReplaySubject(1));
15
- service.register(RemoveLayerCommand.ID, new Subject());
16
- service.register(ClearLayerCommand.ID, new Subject());
12
+ import * as i2 from "./map-management.service";
13
+ import * as i3 from "./map-state.service";
14
+ import * as i4 from "./map-click.service";
15
+ export class MessageRegistratorService extends PostboyAbstractRegistrator {
16
+ constructor(service, management, state, interaction) {
17
+ super(service);
18
+ this.registerServices([management, state, interaction]);
17
19
  }
18
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageRegistratorService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
20
+ _up() {
21
+ this.registerReplay(MapRenderedEvent.ID);
22
+ this.registerReplay(PlaceLayerFeaturesCommand.ID);
23
+ this.registerSubject(AddLayerCommand.ID);
24
+ this.registerSubject(RemoveLayerCommand.ID);
25
+ this.registerSubject(AddTileCommand.ID);
26
+ this.registerSubject(RemoveTileCommand.ID);
27
+ this.registerSubject(MapClickEvent.ID);
28
+ }
29
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageRegistratorService, deps: [{ token: i1.MapPostboyService }, { token: i2.MapManagementService }, { token: i3.MapStateService }, { token: i4.MapClickService }], target: i0.ɵɵFactoryTarget.Injectable });
19
30
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageRegistratorService });
20
31
  }
21
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageRegistratorService, decorators: [{
22
33
  type: Injectable
23
- }], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7O0FBRzdFLE1BQU0sT0FBTyx5QkFBeUI7SUFDcEMsWUFBWSxPQUEwQjtRQUNwQyxPQUFPLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxJQUFJLGFBQWEsQ0FBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RSxPQUFPLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxPQUFPLEVBQW1CLENBQUMsQ0FBQztRQUNyRSxPQUFPLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsRUFBRSxJQUFJLGFBQWEsQ0FBNEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRyxPQUFPLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxJQUFJLE9BQU8sRUFBc0IsQ0FBQyxDQUFDO1FBQzNFLE9BQU8sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksT0FBTyxFQUFxQixDQUFDLENBQUM7SUFDM0UsQ0FBQzt3R0FQVSx5QkFBeUI7NEdBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBBZGRMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcGxhY2UtbGF5ZXItZmVhdHVyZXMuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVMYXllckNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtbGF5ZXIuY29tbWFuZCc7XG5pbXBvcnQgeyBDbGVhckxheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2NsZWFyLWxheWVyLmNvbW1hbmQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHNlcnZpY2U6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7XG4gICAgc2VydmljZS5yZWdpc3RlcihNYXBSZW5kZXJlZEV2ZW50LklELCBuZXcgUmVwbGF5U3ViamVjdDxNYXBSZW5kZXJlZEV2ZW50PigxKSk7XG4gICAgc2VydmljZS5yZWdpc3RlcihBZGRMYXllckNvbW1hbmQuSUQsIG5ldyBTdWJqZWN0PEFkZExheWVyQ29tbWFuZD4oKSk7XG4gICAgc2VydmljZS5yZWdpc3RlcihQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kLklELCBuZXcgUmVwbGF5U3ViamVjdDxQbGFjZUxheWVyRmVhdHVyZXNDb21tYW5kPigxKSk7XG4gICAgc2VydmljZS5yZWdpc3RlcihSZW1vdmVMYXllckNvbW1hbmQuSUQsIG5ldyBTdWJqZWN0PFJlbW92ZUxheWVyQ29tbWFuZD4oKSk7XG4gICAgc2VydmljZS5yZWdpc3RlcihDbGVhckxheWVyQ29tbWFuZC5JRCwgbmV3IFN1YmplY3Q8Q2xlYXJMYXllckNvbW1hbmQ+KCkpO1xuICB9XG59XG4iXX0=
34
+ }], ctorParameters: function () { return [{ type: i1.MapPostboyService }, { type: i2.MapManagementService }, { type: i3.MapStateService }, { type: i4.MapClickService }]; } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7QUFHbkUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLDBCQUEwQjtJQUN2RSxZQUNFLE9BQTBCLEVBQzFCLFVBQWdDLEVBQ2hDLEtBQXNCLEVBQ3RCLFdBQTRCO1FBRTVCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ1MsR0FBRztRQUNYLElBQUksQ0FBQyxjQUFjLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxjQUFjLENBQTRCLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxlQUFlLENBQWtCLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsZUFBZSxDQUFxQixrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsZUFBZSxDQUFpQixjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGVBQWUsQ0FBb0IsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLGVBQWUsQ0FBZ0IsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7d0dBbEJVLHlCQUF5Qjs0R0FBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IEFkZExheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC1sYXllci5jb21tYW5kJztcbmltcG9ydCB7IFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9wbGFjZS1sYXllci1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZUxheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS1sYXllci5jb21tYW5kJztcbmltcG9ydCB7IEFkZFRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVUaWxlQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS10aWxlLmNvbW1hbmQnO1xuaW1wb3J0IHsgUG9zdGJveUFic3RyYWN0UmVnaXN0cmF0b3IgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5pbXBvcnQgeyBNYXBNYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4vbWFwLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL21hcC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcENsaWNrU2VydmljZSB9IGZyb20gJy4vbWFwLWNsaWNrLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQ2xpY2tFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzL2V2ZW50cy9tYXAtY2xpY2suZXZlbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSBleHRlbmRzIFBvc3Rib3lBYnN0cmFjdFJlZ2lzdHJhdG9yIHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2VydmljZTogTWFwUG9zdGJveVNlcnZpY2UsXG4gICAgbWFuYWdlbWVudDogTWFwTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgc3RhdGU6IE1hcFN0YXRlU2VydmljZSxcbiAgICBpbnRlcmFjdGlvbjogTWFwQ2xpY2tTZXJ2aWNlLFxuICApIHtcbiAgICBzdXBlcihzZXJ2aWNlKTtcbiAgICB0aGlzLnJlZ2lzdGVyU2VydmljZXMoW21hbmFnZW1lbnQsIHN0YXRlLCBpbnRlcmFjdGlvbl0pO1xuICB9XG4gIHByb3RlY3RlZCBfdXAoKTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RlclJlcGxheTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyUmVwbGF5PFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQ+KFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0PEFkZExheWVyQ29tbWFuZD4oQWRkTGF5ZXJDb21tYW5kLklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3ViamVjdDxSZW1vdmVMYXllckNvbW1hbmQ+KFJlbW92ZUxheWVyQ29tbWFuZC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3Q8QWRkVGlsZUNvbW1hbmQ+KEFkZFRpbGVDb21tYW5kLklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3ViamVjdDxSZW1vdmVUaWxlQ29tbWFuZD4oUmVtb3ZlVGlsZUNvbW1hbmQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0PE1hcENsaWNrRXZlbnQ+KE1hcENsaWNrRXZlbnQuSUQpO1xuICB9XG59XG4iXX0=
@@ -1,17 +1,52 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
2
  import { DestructibleComponent } from '../../../common/destructible.component';
3
+ import { MapRenderedEvent } from '../../../messages';
4
+ import { filter, first } from 'rxjs/operators';
5
+ import { TileLayerSettings } from './tile-layer.settings';
6
+ import { AddTileCommand } from '../../../messages/commands/add-tile.command';
7
+ import { RemoveTileCommand } from '../../../messages/commands/remove-tile.command';
3
8
  import * as i0 from "@angular/core";
9
+ import * as i1 from "../../../services/map-postboy.service";
10
+ import * as i2 from "./tile-layer.factory";
4
11
  export class TileLayerComponent extends DestructibleComponent {
5
- source;
12
+ postboy;
13
+ factory;
6
14
  layer;
7
- constructor() {
15
+ constructor(postboy, factory) {
8
16
  super();
17
+ this.postboy = postboy;
18
+ this.factory = factory;
9
19
  }
10
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TileLayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TileLayerComponent, selector: "lib-tile-layer", usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
20
+ ngOnInit() {
21
+ this.postboy
22
+ .subscribe(MapRenderedEvent.ID)
23
+ .pipe(filter((m) => !!m), first())
24
+ .subscribe((m) => this.initLayer());
25
+ }
26
+ _settings = new TileLayerSettings();
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.layer = this.factory.build(this._settings);
37
+ this.postboy.fire(new AddTileCommand(this.layer));
38
+ }
39
+ removeLayer() {
40
+ if (this.layer)
41
+ this.postboy.fire(new RemoveTileCommand(this.layer));
42
+ }
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TileLayerComponent, deps: [{ token: i1.MapPostboyService }, { token: i2.TileLayerFactory }], target: i0.ɵɵFactoryTarget.Component });
44
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TileLayerComponent, selector: "lib-tile-layer", inputs: { settings: "settings" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
12
45
  }
13
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TileLayerComponent, decorators: [{
14
47
  type: Component,
15
48
  args: [{ selector: 'lib-tile-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
16
- }], ctorParameters: function () { return []; } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7QUFXL0UsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHFCQUFxQjtJQUNwRCxNQUFNLENBQU87SUFDYixLQUFLLENBQXlCO0lBRXJDO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO3dHQU5VLGtCQUFrQjs0RkFBbEIsa0JBQWtCLDZFQUpuQixFQUFFOzs0RkFJRCxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsZ0JBQWdCLFlBQ2hCLEVBQUUsbUJBRUssdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlc3RydWN0aWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kZXN0cnVjdGlibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFhZWiB9IGZyb20gJ29sL3NvdXJjZSc7XG5pbXBvcnQgVGlsZUxheWVyIGZyb20gJ29sL2xheWVyL1RpbGUnO1xuaW1wb3J0IFRpbGVTb3VyY2UgZnJvbSAnb2wvc291cmNlL1RpbGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItdGlsZS1sYXllcicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRpbGVMYXllckNvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCB7XG4gIHB1YmxpYyBzb3VyY2U/OiBYWVo7XG4gIHB1YmxpYyBsYXllcj86IFRpbGVMYXllcjxUaWxlU291cmNlPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG4gIC8vXG4gIC8vIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UsIHByaXZhdGUgZmFjdG9yeTogRmVhdHVyZUxheWVyRmFjdG9yeSkge1xuICAvLyAgIHN1cGVyKCk7XG4gIC8vICAgcG9zdGJveVxuICAvLyAgICAgLnN1YnNjcmliZTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKVxuICAvLyAgICAgLnBpcGUoXG4gIC8vICAgICAgIGZpbHRlcigobSkgPT4gISFtKSxcbiAgLy8gICAgICAgZmlyc3QoKSxcbiAgLy8gICAgIClcbiAgLy8gICAgIC5zdWJzY3JpYmUoKG0pID0+IHRoaXMuaW5pdExheWVyKCkpO1xuICAvLyB9XG4gIC8vXG4gIC8vIF9zZXR0aW5nczogVGlsZUxheWVyU2V0dGluZ3MgPSBuZXcgVGlsZUxheWVyU2V0dGluZ3MoKTtcbiAgLy9cbiAgLy8gQElucHV0KCkgc2V0IHNldHRpbmdzKHZhbHVlOiBUaWxlTGF5ZXJTZXR0aW5ncyB8IHVuZGVmaW5lZCkge1xuICAvLyAgIGlmICghdmFsdWUgfHwgdGhpcy5fc2V0dGluZ3MuaXNTYW1lKHZhbHVlKSkgcmV0dXJuO1xuICAvLyAgIHRoaXMuX3NldHRpbmdzID0gdmFsdWU7XG4gIC8vICAgdGhpcy5pbml0TGF5ZXIoKTtcbiAgLy8gfVxuICAvL1xuICAvLyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgLy8gICB0aGlzLmluaXRMYXllcigpO1xuICAvLyB9XG4gIC8vXG4gIC8vIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAvLyAgIGlmICh0aGlzLmxheWVyKSB7XG4gIC8vICAgICB0aGlzLm1hcC5yZW1vdmVMYXllcih0aGlzLmxheWVyKTtcbiAgLy8gICB9XG4gIC8vICAgLy8gQHRzLWlnbm9yZVxuICAvLyAgIHRoaXMubGF5ZXI/LnNldE1hcChudWxsKTtcbiAgLy8gfVxuICAvL1xuICAvLyBwcml2YXRlIGluaXRMYXllcigpOiB2b2lkIHtcbiAgLy8gICBpZiAoIXRoaXMuX3NldHRpbmdzLnVybCkgcmV0dXJuO1xuICAvLyAgIGlmICh0aGlzLmxheWVyKSB0aGlzLnBhcmVudC5tYXAucmVtb3ZlTGF5ZXIodGhpcy5sYXllcik7XG4gIC8vICAgdGhpcy5zb3VyY2UgPSBuZXcgWFlaKHtcbiAgLy8gICAgIHRpbGVTaXplOiAyNTYsXG4gIC8vICAgICBtYXhab29tOiB0aGlzLl9zZXR0aW5ncy5tYXhab29tLFxuICAvLyAgICAgbWluWm9vbTogdGhpcy5fc2V0dGluZ3MubWluWm9vbSxcbiAgLy8gICAgIHByb2plY3Rpb246IGdldCgnRVBTRzozODU3JykhLFxuICAvLyAgICAgdGlsZVVybEZ1bmN0aW9uOiB0aGlzLmdldFRpbGVGdW5jKCksXG4gIC8vICAgICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yMjcxMDYyNy90YWludGVkLWNhbnZhc2VzLW1heS1ub3QtYmUtZXhwb3J0ZWQvNDY2Mzc5NjMjNDY2Mzc5NjNcbiAgLy8gICAgIGNyb3NzT3JpZ2luOiAnQW5vbnltb3VzJyxcbiAgLy8gICB9KTtcbiAgLy8gICB0aGlzLmxheWVyID0gbmV3IFRpbGVMYXllcih7XG4gIC8vICAgICBwcmVsb2FkOiAwLFxuICAvLyAgICAgc291cmNlOiB0aGlzLnNvdXJjZSxcbiAgLy8gICAgIG9wYWNpdHk6IHRoaXMuX3NldHRpbmdzLm9wYWNpdHksXG4gIC8vICAgfSk7XG4gIC8vICAgdGhpcy5sYXllci5zZXQoJ25hbWUnLCB0aGlzLl9zZXR0aW5ncy5uYW1lKTtcbiAgLy8gICB0aGlzLnBvc3Rib3kuZmlyZShuZXcgQWRkTGF5ZXJDb21tYW5kKHRoaXMubGF5ZXIpKTtcbiAgLy8gfVxuICAvL1xuICAvLyBwcml2YXRlIGdldFRpbGVGdW5jKCk6ICh0aWxlQ29vcmQ6IFRpbGVDb29yZCkgPT4gc3RyaW5nIHtcbiAgLy8gICByZXR1cm4gKHRpbGVDb29yZCkgPT4ge1xuICAvLyAgICAgY29uc3Qgem9vbSA9IHRpbGVDb29yZFswXTtcbiAgLy8gICAgIGNvbnN0IHggPSB0aWxlQ29vcmRbMV07XG4gIC8vICAgICBjb25zdCB5ID0gdGlsZUNvb3JkWzJdO1xuICAvLyAgICAgY29uc3Qgbm9ybWFsaXplZENvb3JkID0gdGhpcy5nZXROb3JtYWxpemVkQ29vcmQoeyB4OiB4LCB5OiB5IH0sIHpvb20pO1xuICAvLyAgICAgY29uc3QgYm91bmQgPSAxIDw8IHpvb207XG4gIC8vICAgICByZXR1cm4gYCR7dGhpcy5fc2V0dGluZ3MudXJsfS8ke3pvb219LyR7bm9ybWFsaXplZENvb3JkPy54IHx8IHh9LyR7Ym91bmQgLSAobm9ybWFsaXplZENvb3JkPy55IHx8IHkpIC0gMX1gO1xuICAvLyAgIH07XG4gIC8vIH1cbiAgLy9cbiAgLy8gcHJpdmF0ZSBnZXROb3JtYWxpemVkQ29vcmQoY29vcmQ6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSwgem9vbTogbnVtYmVyKSB7XG4gIC8vICAgY29uc3QgeSA9IGNvb3JkLnk7XG4gIC8vICAgbGV0IHggPSBjb29yZC54O1xuICAvLyAgIGNvbnN0IHRpbGVSYW5nZSA9IDEgPDwgem9vbTtcbiAgLy9cbiAgLy8gICAvLyBkb24ndCByZXBlYXQgYWNyb3NzIHktYXhpcyAodmVydGljYWxseSlcbiAgLy8gICBpZiAoeSA8IDAgfHwgeSA+PSB0aWxlUmFuZ2UpIHtcbiAgLy8gICAgIHJldHVybiBudWxsO1xuICAvLyAgIH1cbiAgLy8gICAvLyByZXBlYXQgYWNyb3NzIHgtYXhpc1xuICAvLyAgIGlmICh4IDwgMCB8fCB4ID49IHRpbGVSYW5nZSkge1xuICAvLyAgICAgeCA9ICgoeCAlIHRpbGVSYW5nZSkgKyB0aWxlUmFuZ2UpICUgdGlsZVJhbmdlO1xuICAvLyAgIH1cbiAgLy8gICByZXR1cm4geyB4OiB4LCB5OiB5IH07XG4gIC8vIH1cbn1cbiJdfQ==
49
+ }], ctorParameters: function () { return [{ type: i1.MapPostboyService }, { type: i2.TileLayerFactory }]; }, propDecorators: { settings: [{
50
+ type: Input
51
+ }] } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tYXAtcGxhdGUvbGF5ZXJzL3RpbGUtbGF5ZXIvdGlsZS1sYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFLL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7Ozs7QUFRbkYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHFCQUFxQjtJQUd2QztJQUFvQztJQUZqRCxLQUFLLENBQWtCO0lBRTlCLFlBQW9CLE9BQTBCLEVBQVUsT0FBeUI7UUFDL0UsS0FBSyxFQUFFLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWtCO0lBRWpGLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU87YUFDVCxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQzthQUNoRCxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xCLEtBQUssRUFBRSxDQUNSO2FBQ0EsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsU0FBUyxHQUFzQixJQUFJLGlCQUFpQixFQUFFLENBQUM7SUFFdkQsSUFBYSxRQUFRLENBQUMsS0FBb0M7UUFDeEQsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPO1FBQ25ELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUU3QixTQUFTO1FBQ2YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksSUFBSSxDQUFDLEtBQUs7WUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7d0dBbkNVLGtCQUFrQjs0RkFBbEIsa0JBQWtCLCtHQUpuQixFQUFFOzs0RkFJRCxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsZ0JBQWdCLFlBQ2hCLEVBQUUsbUJBRUssdUJBQXVCLENBQUMsTUFBTTt1SUFxQmxDLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgWFlaIH0gZnJvbSAnb2wvc291cmNlJztcbmltcG9ydCBUaWxlTGF5ZXIgZnJvbSAnb2wvbGF5ZXIvVGlsZSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgVGlsZUxheWVyRmFjdG9yeSB9IGZyb20gJy4vdGlsZS1sYXllci5mYWN0b3J5JztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRmVhdHVyZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuLi9mZWF0dXJlLWxheWVyL2ZlYXR1cmUtbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgQWRkTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgVGlsZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuL3RpbGUtbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgQWRkVGlsZUNvbW1hbmQgfSBmcm9tICcuLi8uLi8uLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtdGlsZS5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZVRpbGVDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLXRpbGUuY29tbWFuZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi10aWxlLWxheWVyJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZVVybHM6IFtdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGlsZUxheWVyQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IHtcbiAgcHVibGljIGxheWVyPzogVGlsZUxheWVyPFhZWj47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSwgcHJpdmF0ZSBmYWN0b3J5OiBUaWxlTGF5ZXJGYWN0b3J5KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucG9zdGJveVxuICAgICAgLnN1YnNjcmliZTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigobSkgPT4gISFtKSxcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKG0pID0+IHRoaXMuaW5pdExheWVyKCkpO1xuICB9XG5cbiAgX3NldHRpbmdzOiBUaWxlTGF5ZXJTZXR0aW5ncyA9IG5ldyBUaWxlTGF5ZXJTZXR0aW5ncygpO1xuXG4gIEBJbnB1dCgpIHNldCBzZXR0aW5ncyh2YWx1ZTogVGlsZUxheWVyU2V0dGluZ3MgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlIHx8IHRoaXMuX3NldHRpbmdzLmlzU2FtZSh2YWx1ZSkpIHJldHVybjtcbiAgICB0aGlzLl9zZXR0aW5ncyA9IHZhbHVlO1xuICAgIHRoaXMuaW5pdExheWVyKCk7XG4gIH1cblxuICBvbkRlc3Ryb3kgPSAoKSA9PiB0aGlzLnJlbW92ZUxheWVyKCk7XG5cbiAgcHJpdmF0ZSBpbml0TGF5ZXIoKSB7XG4gICAgdGhpcy5yZW1vdmVMYXllcigpO1xuICAgIHRoaXMubGF5ZXIgPSB0aGlzLmZhY3RvcnkuYnVpbGQodGhpcy5fc2V0dGluZ3MpO1xuICAgIHRoaXMucG9zdGJveS5maXJlKG5ldyBBZGRUaWxlQ29tbWFuZCh0aGlzLmxheWVyKSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUxheWVyKCkge1xuICAgIGlmICh0aGlzLmxheWVyKSB0aGlzLnBvc3Rib3kuZmlyZShuZXcgUmVtb3ZlVGlsZUNvbW1hbmQodGhpcy5sYXllcikpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,50 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { XYZ } from 'ol/source';
3
+ import { get } from 'ol/proj';
4
+ import TileLayer from 'ol/layer/Tile';
5
+ import * as i0 from "@angular/core";
6
+ export class TileLayerFactory {
7
+ build(settings) {
8
+ const source = new XYZ({
9
+ tileSize: 256,
10
+ maxZoom: settings.maxZoom || 14,
11
+ minZoom: settings.minZoom || 1,
12
+ projection: get(settings.projection),
13
+ tileUrlFunction: this.getTileFunc(settings),
14
+ crossOrigin: 'Anonymous',
15
+ });
16
+ return new TileLayer({ source, opacity: settings.opacity });
17
+ }
18
+ getTileFunc(settings) {
19
+ return (tileCoord) => {
20
+ const zoom = tileCoord[0];
21
+ const x = tileCoord[1];
22
+ const y = tileCoord[2];
23
+ const normalizedCoord = this.getNormalizedCoord({ x: x, y: y }, zoom);
24
+ const bound = 1 << zoom;
25
+ return settings.url
26
+ .replace('{x}', String(normalizedCoord?.x || x))
27
+ .replace('{z}', String(zoom))
28
+ .replace('{y}', String(bound - (normalizedCoord?.y || y) - 1));
29
+ };
30
+ }
31
+ getNormalizedCoord(coord, zoom) {
32
+ const y = coord.y;
33
+ let x = coord.x;
34
+ const tileRange = 1 << zoom;
35
+ if (y < 0 || y >= tileRange)
36
+ return null;
37
+ if (x < 0 || x >= tileRange)
38
+ x = ((x % tileRange) + tileRange) % tileRange;
39
+ return { x: x, y: y };
40
+ }
41
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TileLayerFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
42
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TileLayerFactory, providedIn: 'root' });
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TileLayerFactory, decorators: [{
45
+ type: Injectable,
46
+ args: [{
47
+ providedIn: 'root',
48
+ }]
49
+ }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL2xheWVycy90aWxlLWxheWVyL3RpbGUtbGF5ZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHaEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLFNBQVMsTUFBTSxlQUFlLENBQUM7O0FBS3RDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDcEIsS0FBSyxDQUFDLFFBQTJCO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO1lBQ3JCLFFBQVEsRUFBRSxHQUFHO1lBQ2IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLElBQUksRUFBRTtZQUMvQixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sSUFBSSxDQUFDO1lBQzlCLFVBQVUsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBRTtZQUNyQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDM0MsV0FBVyxFQUFFLFdBQVc7U0FDekIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUEyQjtRQUM3QyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdEUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztZQUN4QixPQUFPLFFBQVEsQ0FBQyxHQUFHO2lCQUNoQixPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUMvQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDNUIsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUErQixFQUFFLElBQVk7UUFDdEUsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hCLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTO1lBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQzNFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN4QixDQUFDO3dHQWxDVSxnQkFBZ0I7NEdBQWhCLGdCQUFnQixjQUZmLE1BQU07OzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBYWVogfSBmcm9tICdvbC9zb3VyY2UnO1xuaW1wb3J0IHsgVGlsZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuL3RpbGUtbGF5ZXIuc2V0dGluZ3MnO1xuaW1wb3J0IHsgVGlsZUNvb3JkIH0gZnJvbSAnb2wvdGlsZWNvb3JkJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRpbGVMYXllckZhY3Rvcnkge1xuICBwdWJsaWMgYnVpbGQoc2V0dGluZ3M6IFRpbGVMYXllclNldHRpbmdzKTogVGlsZUxheWVyPFhZWj4ge1xuICAgIGNvbnN0IHNvdXJjZSA9IG5ldyBYWVooe1xuICAgICAgdGlsZVNpemU6IDI1NixcbiAgICAgIG1heFpvb206IHNldHRpbmdzLm1heFpvb20gfHwgMTQsXG4gICAgICBtaW5ab29tOiBzZXR0aW5ncy5taW5ab29tIHx8IDEsXG4gICAgICBwcm9qZWN0aW9uOiBnZXQoc2V0dGluZ3MucHJvamVjdGlvbikhLFxuICAgICAgdGlsZVVybEZ1bmN0aW9uOiB0aGlzLmdldFRpbGVGdW5jKHNldHRpbmdzKSxcbiAgICAgIGNyb3NzT3JpZ2luOiAnQW5vbnltb3VzJyxcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IFRpbGVMYXllcih7IHNvdXJjZSwgb3BhY2l0eTogc2V0dGluZ3Mub3BhY2l0eSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGlsZUZ1bmMoc2V0dGluZ3M6IFRpbGVMYXllclNldHRpbmdzKTogKHRpbGVDb29yZDogVGlsZUNvb3JkKSA9PiBzdHJpbmcge1xuICAgIHJldHVybiAodGlsZUNvb3JkKSA9PiB7XG4gICAgICBjb25zdCB6b29tID0gdGlsZUNvb3JkWzBdO1xuICAgICAgY29uc3QgeCA9IHRpbGVDb29yZFsxXTtcbiAgICAgIGNvbnN0IHkgPSB0aWxlQ29vcmRbMl07XG4gICAgICBjb25zdCBub3JtYWxpemVkQ29vcmQgPSB0aGlzLmdldE5vcm1hbGl6ZWRDb29yZCh7IHg6IHgsIHk6IHkgfSwgem9vbSk7XG4gICAgICBjb25zdCBib3VuZCA9IDEgPDwgem9vbTtcbiAgICAgIHJldHVybiBzZXR0aW5ncy51cmxcbiAgICAgICAgLnJlcGxhY2UoJ3t4fScsIFN0cmluZyhub3JtYWxpemVkQ29vcmQ/LnggfHwgeCkpXG4gICAgICAgIC5yZXBsYWNlKCd7en0nLCBTdHJpbmcoem9vbSkpXG4gICAgICAgIC5yZXBsYWNlKCd7eX0nLCBTdHJpbmcoYm91bmQgLSAobm9ybWFsaXplZENvb3JkPy55IHx8IHkpIC0gMSkpO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldE5vcm1hbGl6ZWRDb29yZChjb29yZDogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9LCB6b29tOiBudW1iZXIpIHtcbiAgICBjb25zdCB5ID0gY29vcmQueTtcbiAgICBsZXQgeCA9IGNvb3JkLng7XG4gICAgY29uc3QgdGlsZVJhbmdlID0gMSA8PCB6b29tO1xuICAgIGlmICh5IDwgMCB8fCB5ID49IHRpbGVSYW5nZSkgcmV0dXJuIG51bGw7XG4gICAgaWYgKHggPCAwIHx8IHggPj0gdGlsZVJhbmdlKSB4ID0gKCh4ICUgdGlsZVJhbmdlKSArIHRpbGVSYW5nZSkgJSB0aWxlUmFuZ2U7XG4gICAgcmV0dXJuIHsgeDogeCwgeTogeSB9O1xuICB9XG59XG4iXX0=
@@ -1,29 +1,33 @@
1
1
  export class TileLayerSettings {
2
- name = 'tiles';
3
2
  maxZoom = 19;
4
3
  minZoom = 0;
5
- opacity = 1;
4
+ opacity = 0.6;
6
5
  url = '';
6
+ projection = 'EPSG:3857';
7
7
  static copy(model) {
8
8
  const result = new TileLayerSettings();
9
- result.name = model.name;
10
9
  result.maxZoom = model.maxZoom;
11
10
  result.minZoom = model.minZoom;
11
+ result.projection = model.projection;
12
+ result.opacity = model.opacity;
12
13
  result.url = model.url;
13
14
  return result;
14
15
  }
15
16
  setUrl(url) {
16
17
  return TileLayerSettings.copy({ ...this, url });
17
18
  }
18
- setName(name) {
19
- return TileLayerSettings.copy({ ...this, name });
20
- }
21
19
  setMaxZoom(maxZoom) {
22
20
  return TileLayerSettings.copy({ ...this, maxZoom });
23
21
  }
24
22
  setMinZoom(minZoom) {
25
23
  return TileLayerSettings.copy({ ...this, minZoom });
26
24
  }
25
+ setOpacity(opacity) {
26
+ return TileLayerSettings.copy({ ...this, opacity });
27
+ }
28
+ setProjection(projection) {
29
+ return TileLayerSettings.copy({ ...this, projection });
30
+ }
27
31
  isSame(model) {
28
32
  if (this.maxZoom !== model.maxZoom)
29
33
  return false;
@@ -31,9 +35,11 @@ export class TileLayerSettings {
31
35
  return false;
32
36
  if (this.url !== model.url)
33
37
  return false;
34
- if (this.name !== model.name)
38
+ if (this.projection !== model.projection)
39
+ return false;
40
+ if (this.opacity !== model.opacity)
35
41
  return false;
36
42
  return true;
37
43
  }
38
44
  }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvdGlsZS1sYXllci90aWxlLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsSUFBSSxHQUFXLE9BQU8sQ0FBQztJQUN2QixPQUFPLEdBQVcsRUFBRSxDQUFDO0lBQ3JCLE9BQU8sR0FBVyxDQUFDLENBQUM7SUFDcEIsT0FBTyxHQUFXLENBQUMsQ0FBQztJQUNwQixHQUFHLEdBQVcsRUFBRSxDQUFDO0lBRVYsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUF3QjtRQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDdkMsTUFBTSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDL0IsTUFBTSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBVztRQUNoQixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN4QixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUF3QjtRQUNwQyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqRCxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLEdBQUc7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gIG5hbWU6IHN0cmluZyA9ICd0aWxlcyc7XG4gIG1heFpvb206IG51bWJlciA9IDE5O1xuICBtaW5ab29tOiBudW1iZXIgPSAwO1xuICBvcGFjaXR5OiBudW1iZXIgPSAxO1xuICB1cmw6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyBzdGF0aWMgY29weShtb2RlbDogVGlsZUxheWVyU2V0dGluZ3MpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IFRpbGVMYXllclNldHRpbmdzKCk7XG4gICAgcmVzdWx0Lm5hbWUgPSBtb2RlbC5uYW1lO1xuICAgIHJlc3VsdC5tYXhab29tID0gbW9kZWwubWF4Wm9vbTtcbiAgICByZXN1bHQubWluWm9vbSA9IG1vZGVsLm1pblpvb207XG4gICAgcmVzdWx0LnVybCA9IG1vZGVsLnVybDtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgc2V0VXJsKHVybDogc3RyaW5nKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgdXJsIH0pO1xuICB9XG5cbiAgc2V0TmFtZShuYW1lOiBzdHJpbmcpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBuYW1lIH0pO1xuICB9XG5cbiAgc2V0TWF4Wm9vbShtYXhab29tOiBudW1iZXIpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtYXhab29tIH0pO1xuICB9XG5cbiAgc2V0TWluWm9vbShtaW5ab29tOiBudW1iZXIpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtaW5ab29tIH0pO1xuICB9XG5cbiAgcHVibGljIGlzU2FtZShtb2RlbDogVGlsZUxheWVyU2V0dGluZ3MpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5tYXhab29tICE9PSBtb2RlbC5tYXhab29tKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubWluWm9vbSAhPT0gbW9kZWwubWluWm9vbSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnVybCAhPT0gbW9kZWwudXJsKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubmFtZSAhPT0gbW9kZWwubmFtZSkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1sYXllci5zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9sYXllcnMvdGlsZS1sYXllci90aWxlLWxheWVyLnNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUNyQixPQUFPLEdBQVcsQ0FBQyxDQUFDO0lBQ3BCLE9BQU8sR0FBVyxHQUFHLENBQUM7SUFDdEIsR0FBRyxHQUFXLEVBQUUsQ0FBQztJQUNqQixVQUFVLEdBQVcsV0FBVyxDQUFDO0lBRTFCLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBd0I7UUFDekMsTUFBTSxNQUFNLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDL0IsTUFBTSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQ3JDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixNQUFNLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDdkIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFXO1FBQ2hCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN4QixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFlO1FBQ3hCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQWtCO1FBQzlCLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQXdCO1FBQ3BDLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxLQUFLLENBQUMsR0FBRztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3pDLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxLQUFLLENBQUMsVUFBVTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3ZELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2pELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFRpbGVMYXllclNldHRpbmdzIHtcbiAgbWF4Wm9vbTogbnVtYmVyID0gMTk7XG4gIG1pblpvb206IG51bWJlciA9IDA7XG4gIG9wYWNpdHk6IG51bWJlciA9IDAuNjtcbiAgdXJsOiBzdHJpbmcgPSAnJztcbiAgcHJvamVjdGlvbjogc3RyaW5nID0gJ0VQU0c6Mzg1Nyc7XG5cbiAgcHVibGljIHN0YXRpYyBjb3B5KG1vZGVsOiBUaWxlTGF5ZXJTZXR0aW5ncyk6IFRpbGVMYXllclNldHRpbmdzIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgVGlsZUxheWVyU2V0dGluZ3MoKTtcbiAgICByZXN1bHQubWF4Wm9vbSA9IG1vZGVsLm1heFpvb207XG4gICAgcmVzdWx0Lm1pblpvb20gPSBtb2RlbC5taW5ab29tO1xuICAgIHJlc3VsdC5wcm9qZWN0aW9uID0gbW9kZWwucHJvamVjdGlvbjtcbiAgICByZXN1bHQub3BhY2l0eSA9IG1vZGVsLm9wYWNpdHk7XG4gICAgcmVzdWx0LnVybCA9IG1vZGVsLnVybDtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgc2V0VXJsKHVybDogc3RyaW5nKTogVGlsZUxheWVyU2V0dGluZ3Mge1xuICAgIHJldHVybiBUaWxlTGF5ZXJTZXR0aW5ncy5jb3B5KHsgLi4udGhpcywgdXJsIH0pO1xuICB9XG5cbiAgc2V0TWF4Wm9vbShtYXhab29tOiBudW1iZXIpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtYXhab29tIH0pO1xuICB9XG5cbiAgc2V0TWluWm9vbShtaW5ab29tOiBudW1iZXIpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBtaW5ab29tIH0pO1xuICB9XG5cbiAgc2V0T3BhY2l0eShvcGFjaXR5OiBudW1iZXIpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBvcGFjaXR5IH0pO1xuICB9XG5cbiAgc2V0UHJvamVjdGlvbihwcm9qZWN0aW9uOiBzdHJpbmcpOiBUaWxlTGF5ZXJTZXR0aW5ncyB7XG4gICAgcmV0dXJuIFRpbGVMYXllclNldHRpbmdzLmNvcHkoeyAuLi50aGlzLCBwcm9qZWN0aW9uIH0pO1xuICB9XG5cbiAgcHVibGljIGlzU2FtZShtb2RlbDogVGlsZUxheWVyU2V0dGluZ3MpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5tYXhab29tICE9PSBtb2RlbC5tYXhab29tKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubWluWm9vbSAhPT0gbW9kZWwubWluWm9vbSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnVybCAhPT0gbW9kZWwudXJsKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMucHJvamVjdGlvbiAhPT0gbW9kZWwucHJvamVjdGlvbikgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLm9wYWNpdHkgIT09IG1vZGVsLm9wYWNpdHkpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl19
@@ -6,11 +6,11 @@ import { MessageRegistratorService } from '../services/message-registrator.servi
6
6
  import { MapRenderedEvent } from '../messages';
7
7
  import { MapStateService } from '../services/map-state.service';
8
8
  import { MapManagementService } from '../services/map-management.service';
9
- import { ServiceCollector } from '../services/service.collector';
9
+ import { MapClickService } from '../services/map-click.service';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "../services/map-postboy.service";
12
12
  import * as i2 from "./map-plate.factory.service";
13
- import * as i3 from "../services/service.collector";
13
+ import * as i3 from "../services/message-registrator.service";
14
14
  import * as i4 from "@angular/common";
15
15
  import * as i5 from "./layers/osm-tile-layer/osm-tile-layer.component";
16
16
  export class MapPlateComponent extends DestructibleComponent {
@@ -26,6 +26,7 @@ export class MapPlateComponent extends DestructibleComponent {
26
26
  this.postboy = postboy;
27
27
  this.mapFactory = mapFactory;
28
28
  this.detector = detector;
29
+ registrator.up();
29
30
  }
30
31
  _settings = new MapSettings();
31
32
  set settings(value) {
@@ -52,13 +53,13 @@ export class MapPlateComponent extends DestructibleComponent {
52
53
  this.detector.detectChanges();
53
54
  this.map.updateSize();
54
55
  }
55
- 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.ServiceCollector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
56
- 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, ServiceCollector], 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 });
56
+ 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 });
57
+ 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 });
57
58
  }
58
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapPlateComponent, decorators: [{
59
60
  type: Component,
60
- args: [{ selector: 'lib-map-plate', changeDetection: ChangeDetectionStrategy.OnPush, providers: [MessageRegistratorService, MapStateService, MapManagementService, ServiceCollector], 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"] }]
61
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MapPostboyService }, { type: i2.MapPlateFactory }, { type: i3.ServiceCollector }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { settings: [{
61
+ 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"] }]
62
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MapPostboyService }, { type: i2.MapPlateFactory }, { type: i3.MessageRegistratorService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { settings: [{
62
63
  type: Input
63
64
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7O0FBVWpFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxxQkFBcUI7SUFLaEQ7SUFDQTtJQUNBO0lBRUE7SUFSVixHQUFHLENBQU87SUFDVixNQUFNLEdBQUcsRUFBRSxDQUFDO0lBRVosWUFDVSxVQUFzQixFQUN0QixPQUEwQixFQUMxQixVQUEyQixFQUNuQyxXQUE2QixFQUNyQixRQUEyQjtRQUVuQyxLQUFLLEVBQUUsQ0FBQztRQU5BLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUFFM0IsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7SUFHckMsQ0FBQztJQUVELFNBQVMsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUUzQyxJQUFhLFFBQVEsQ0FBQyxLQUE4QjtRQUNsRCxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDbkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxRQUFRO1FBQ04sYUFBYSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7WUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxNQUFNO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLHNDQUFzQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQ3ZGLElBQUksQ0FBQyxTQUFTLENBQUMsUUFDakIsb0JBQW9CLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3hCLENBQUM7d0dBekNVLGlCQUFpQjs0RkFBakIsaUJBQWlCLDBFQUZqQixDQUFDLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsQ0FBQyxpRENsQmpHLCtIQUVBOzs0RkRrQmEsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsQ0FBQzs4TkFrQmxGLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwTHlyc0xhYmVsLCBNYXBTZXR0aW5ncyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgTWFwIGZyb20gJ29sL01hcCc7XG5pbXBvcnQgeyB1c2VHZW9ncmFwaGljIH0gZnJvbSAnb2wvcHJvaic7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZXNzYWdlUmVnaXN0cmF0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgTWFwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwTWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYXAtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlcnZpY2VDb2xsZWN0b3IgfSBmcm9tICcuLi9zZXJ2aWNlcy9zZXJ2aWNlLmNvbGxlY3Rvcic7XG5pbXBvcnQgeyBNYXBQbGF0ZUZhY3RvcnkgfSBmcm9tICcuL21hcC1wbGF0ZS5mYWN0b3J5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItbWFwLXBsYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hcC1wbGF0ZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSwgTWFwU3RhdGVTZXJ2aWNlLCBNYXBNYW5hZ2VtZW50U2VydmljZSwgU2VydmljZUNvbGxlY3Rvcl0sXG59KVxuZXhwb3J0IGNsYXNzIE1hcFBsYXRlQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgbWFwITogTWFwO1xuICBvc21VcmwgPSAnJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSxcbiAgICBwcml2YXRlIG1hcEZhY3Rvcnk6IE1hcFBsYXRlRmFjdG9yeSxcbiAgICByZWdpc3RyYXRvcjogU2VydmljZUNvbGxlY3RvcixcbiAgICBwcml2YXRlIGRldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIF9zZXR0aW5nczogTWFwU2V0dGluZ3MgPSBuZXcgTWFwU2V0dGluZ3MoKTtcblxuICBASW5wdXQoKSBzZXQgc2V0dGluZ3ModmFsdWU6IE1hcFNldHRpbmdzIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSB8fCB0aGlzLl9zZXR0aW5ncy5pc1NhbWUodmFsdWUpKSByZXR1cm47XG4gICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcbiAgICB0aGlzLnNldE9zbSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdXNlR2VvZ3JhcGhpYygpO1xuICAgIHRoaXMubWFwID0gdGhpcy5tYXBGYWN0b3J5LmJ1aWxkKHRoaXMuX3NldHRpbmdzKTtcbiAgICB0aGlzLm1hcC5zZXRUYXJnZXQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMuZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMubWFwLm9uY2UoJ3Bvc3RyZW5kZXInLCAoKSA9PiB7XG4gICAgICB0aGlzLm1hcC51cGRhdGVTaXplKCk7XG4gICAgICB0aGlzLnBvc3Rib3kuZmlyZShuZXcgTWFwUmVuZGVyZWRFdmVudCh0aGlzLm1hcCkpO1xuICAgIH0pO1xuICAgIHRoaXMuc2V0T3NtKCk7XG4gIH1cblxuICBwcml2YXRlIHNldE9zbSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubWFwKSByZXR1cm47XG4gICAgdGhpcy5vc21VcmwgPSBgaHR0cHM6Ly9tdHswLTN9Lmdvb2dsZS5jb20vdnQvbHlycz0ke01hcEx5cnNMYWJlbC5nZXQodGhpcy5fc2V0dGluZ3MubHlycyl9JmhsPSR7XG4gICAgICB0aGlzLl9zZXR0aW5ncy5sYW5ndWFnZVxuICAgIH0meD17eH0meT17eX0mej17en1gO1xuICAgIHRoaXMuZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMubWFwLnVwZGF0ZVNpemUoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPGxpYi1vc20tdGlsZS1sYXllciAqbmdJZj1cIm9zbVVybCAmJiBtYXBcIiBbbWFwXT1cIm1hcFwiIFt1cmxdPVwib3NtVXJsXCI+PC9saWItb3NtLXRpbGUtbGF5ZXI+XG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7OztBQVNoRSxNQUFNLE9BQU8saUJBQWtCLFNBQVEscUJBQXFCO0lBS2hEO0lBQ0E7SUFDQTtJQUVBO0lBUlYsR0FBRyxDQUFPO0lBQ1YsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUVaLFlBQ1UsVUFBc0IsRUFDdEIsT0FBMEIsRUFDMUIsVUFBMkIsRUFDbkMsV0FBc0MsRUFDOUIsUUFBMkI7UUFFbkMsS0FBSyxFQUFFLENBQUM7UUFOQSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQzFCLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBRTNCLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBR25DLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsU0FBUyxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO0lBRTNDLElBQWEsUUFBUSxDQUFDLEtBQThCO1FBQ2xELElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELFFBQVE7UUFDTixhQUFhLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTtZQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVPLE1BQU07UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsc0NBQXNDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FDdkYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUNqQixvQkFBb0IsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEIsQ0FBQzt3R0ExQ1UsaUJBQWlCOzRGQUFqQixpQkFBaUIsMEVBRmpCLENBQUMseUJBQXlCLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLGVBQWUsQ0FBQyxpRENsQmhHLCtIQUVBOzs0RkRrQmEsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLENBQUM7dU9BbUJqRixRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcEx5cnNMYWJlbCwgTWFwU2V0dGluZ3MgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IE1hcCBmcm9tICdvbC9NYXAnO1xuaW1wb3J0IHsgdXNlR2VvZ3JhcGhpYyB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21lc3NhZ2UtcmVnaXN0cmF0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IE1hcFN0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBQbGF0ZUZhY3RvcnkgfSBmcm9tICcuL21hcC1wbGF0ZS5mYWN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQ2xpY2tTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLWNsaWNrLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItbWFwLXBsYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hcC1wbGF0ZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSwgTWFwU3RhdGVTZXJ2aWNlLCBNYXBNYW5hZ2VtZW50U2VydmljZSwgTWFwQ2xpY2tTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwUGxhdGVDb21wb25lbnQgZXh0ZW5kcyBEZXN0cnVjdGlibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBtYXAhOiBNYXA7XG4gIG9zbVVybCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWFwRmFjdG9yeTogTWFwUGxhdGVGYWN0b3J5LFxuICAgIHJlZ2lzdHJhdG9yOiBNZXNzYWdlUmVnaXN0cmF0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHJlZ2lzdHJhdG9yLnVwKCk7XG4gIH1cblxuICBfc2V0dGluZ3M6IE1hcFNldHRpbmdzID0gbmV3IE1hcFNldHRpbmdzKCk7XG5cbiAgQElucHV0KCkgc2V0IHNldHRpbmdzKHZhbHVlOiBNYXBTZXR0aW5ncyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUgfHwgdGhpcy5fc2V0dGluZ3MuaXNTYW1lKHZhbHVlKSkgcmV0dXJuO1xuICAgIHRoaXMuX3NldHRpbmdzID0gdmFsdWU7XG4gICAgdGhpcy5zZXRPc20oKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHVzZUdlb2dyYXBoaWMoKTtcbiAgICB0aGlzLm1hcCA9IHRoaXMubWFwRmFjdG9yeS5idWlsZCh0aGlzLl9zZXR0aW5ncyk7XG4gICAgdGhpcy5tYXAuc2V0VGFyZ2V0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLmRldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLm1hcC5vbmNlKCdwb3N0cmVuZGVyJywgKCkgPT4ge1xuICAgICAgdGhpcy5tYXAudXBkYXRlU2l6ZSgpO1xuICAgICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IE1hcFJlbmRlcmVkRXZlbnQodGhpcy5tYXApKTtcbiAgICB9KTtcbiAgICB0aGlzLnNldE9zbSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRPc20oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgIHRoaXMub3NtVXJsID0gYGh0dHBzOi8vbXR7MC0zfS5nb29nbGUuY29tL3Z0L2x5cnM9JHtNYXBMeXJzTGFiZWwuZ2V0KHRoaXMuX3NldHRpbmdzLmx5cnMpfSZobD0ke1xuICAgICAgdGhpcy5fc2V0dGluZ3MubGFuZ3VhZ2VcbiAgICB9Jng9e3h9Jnk9e3l9Jno9e3p9YDtcbiAgICB0aGlzLmRldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLm1hcC51cGRhdGVTaXplKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjxsaWItb3NtLXRpbGUtbGF5ZXIgKm5nSWY9XCJvc21VcmwgJiYgbWFwXCIgW21hcF09XCJtYXBcIiBbdXJsXT1cIm9zbVVybFwiPjwvbGliLW9zbS10aWxlLWxheWVyPlxuIl19
@@ -14,7 +14,7 @@ export class MapModule {
14
14
  TileLayerComponent,
15
15
  OsmTileLayerComponent,
16
16
  FeatureLayerComponent,
17
- MarkersComponent], imports: [CommonModule], exports: [MapPlateComponent, FeatureLayerComponent, MarkersComponent] });
17
+ MarkersComponent], imports: [CommonModule], exports: [MapPlateComponent, FeatureLayerComponent, MarkersComponent, TileLayerComponent] });
18
18
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapModule, imports: [CommonModule] });
19
19
  }
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapModule, decorators: [{
@@ -29,7 +29,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
29
29
  FeatureLayerComponent,
30
30
  MarkersComponent,
31
31
  ],
32
- exports: [MapPlateComponent, FeatureLayerComponent, MarkersComponent],
32
+ exports: [MapPlateComponent, FeatureLayerComponent, MarkersComponent, TileLayerComponent],
33
33
  }]
34
34
  }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7O0FBY2xGLE1BQU0sT0FBTyxTQUFTO3dHQUFULFNBQVM7eUdBQVQsU0FBUyxpQkFUbEIscUJBQXFCO1lBQ3JCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIscUJBQXFCO1lBQ3JCLHFCQUFxQjtZQUNyQixnQkFBZ0IsYUFQUixZQUFZLGFBU1osaUJBQWlCLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCO3lHQUV6RCxTQUFTLFlBWFYsWUFBWTs7NEZBV1gsU0FBUztrQkFackIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsQ0FBQztpQkFDdEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERlc3RydWN0aWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFwUGxhdGVDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRpbGVMYXllckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy90aWxlLWxheWVyL3RpbGUtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE9zbVRpbGVMYXllckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy9vc20tdGlsZS1sYXllci9vc20tdGlsZS1sYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmVhdHVyZUxheWVyQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvbGF5ZXJzL2ZlYXR1cmUtbGF5ZXIvZmVhdHVyZS1sYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFya2Vyc0NvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2ZlYXR1cmVzL21hcmtlcnMvbWFya2Vycy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50LFxuICAgIE1hcFBsYXRlQ29tcG9uZW50LFxuICAgIFRpbGVMYXllckNvbXBvbmVudCxcbiAgICBPc21UaWxlTGF5ZXJDb21wb25lbnQsXG4gICAgRmVhdHVyZUxheWVyQ29tcG9uZW50LFxuICAgIE1hcmtlcnNDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtNYXBQbGF0ZUNvbXBvbmVudCwgRmVhdHVyZUxheWVyQ29tcG9uZW50LCBNYXJrZXJzQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwTW9kdWxlIHt9XG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDeEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbkcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7O0FBY2xGLE1BQU0sT0FBTyxTQUFTO3dHQUFULFNBQVM7eUdBQVQsU0FBUyxpQkFUbEIscUJBQXFCO1lBQ3JCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIscUJBQXFCO1lBQ3JCLHFCQUFxQjtZQUNyQixnQkFBZ0IsYUFQUixZQUFZLGFBU1osaUJBQWlCLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCO3lHQUU3RSxTQUFTLFlBWFYsWUFBWTs7NEZBV1gsU0FBUztrQkFackIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRTt3QkFDWixxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQztpQkFDMUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERlc3RydWN0aWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFwUGxhdGVDb21wb25lbnQgfSBmcm9tICcuL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRpbGVMYXllckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy90aWxlLWxheWVyL3RpbGUtbGF5ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE9zbVRpbGVMYXllckNvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2xheWVycy9vc20tdGlsZS1sYXllci9vc20tdGlsZS1sYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmVhdHVyZUxheWVyQ29tcG9uZW50IH0gZnJvbSAnLi9tYXAtcGxhdGUvbGF5ZXJzL2ZlYXR1cmUtbGF5ZXIvZmVhdHVyZS1sYXllci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFya2Vyc0NvbXBvbmVudCB9IGZyb20gJy4vbWFwLXBsYXRlL2ZlYXR1cmVzL21hcmtlcnMvbWFya2Vycy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50LFxuICAgIE1hcFBsYXRlQ29tcG9uZW50LFxuICAgIFRpbGVMYXllckNvbXBvbmVudCxcbiAgICBPc21UaWxlTGF5ZXJDb21wb25lbnQsXG4gICAgRmVhdHVyZUxheWVyQ29tcG9uZW50LFxuICAgIE1hcmtlcnNDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtNYXBQbGF0ZUNvbXBvbmVudCwgRmVhdHVyZUxheWVyQ29tcG9uZW50LCBNYXJrZXJzQ29tcG9uZW50LCBUaWxlTGF5ZXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,13 @@
1
+ import { GenericMessage } from '../generic-message';
2
+ export class AddTileCommand extends GenericMessage {
3
+ layer;
4
+ static ID = '25b7df28-72ce-4453-9fe6-54285a2fdc57';
5
+ constructor(layer) {
6
+ super();
7
+ this.layer = layer;
8
+ }
9
+ get id() {
10
+ return AddTileCommand.ID;
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXRpbGUuY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC10aWxlLmNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBTXBELE1BQU0sT0FBTyxjQUFlLFNBQVEsY0FBYztJQUc3QjtJQUZaLE1BQU0sQ0FBVSxFQUFFLEdBQUcsc0NBQXNDLENBQUM7SUFFbkUsWUFBbUIsS0FBcUI7UUFDdEMsS0FBSyxFQUFFLENBQUM7UUFEUyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtJQUV4QyxDQUFDO0lBRUQsSUFBVyxFQUFFO1FBQ1gsT0FBTyxjQUFjLENBQUMsRUFBRSxDQUFDO0lBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW5lcmljTWVzc2FnZSB9IGZyb20gJy4uL2dlbmVyaWMtbWVzc2FnZSc7XG5pbXBvcnQgeyBWZWN0b3IgYXMgTGF5ZXIgfSBmcm9tICdvbC9sYXllcic7XG5pbXBvcnQgVmVjdG9yU291cmNlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xuaW1wb3J0IFRpbGVMYXllciBmcm9tICdvbC9sYXllci9UaWxlJztcbmltcG9ydCB7IFhZWiB9IGZyb20gJ29sL3NvdXJjZSc7XG5cbmV4cG9ydCBjbGFzcyBBZGRUaWxlQ29tbWFuZCBleHRlbmRzIEdlbmVyaWNNZXNzYWdlIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJRCA9ICcyNWI3ZGYyOC03MmNlLTQ0NTMtOWZlNi01NDI4NWEyZmRjNTcnO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBsYXllcjogVGlsZUxheWVyPFhZWj4pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBBZGRUaWxlQ29tbWFuZC5JRDtcbiAgfVxufVxuIl19
@@ -0,0 +1,13 @@
1
+ import { GenericMessage } from '../generic-message';
2
+ export class RemoveTileCommand extends GenericMessage {
3
+ layer;
4
+ static ID = 'c36ccc0b-5638-4819-b148-2de57a59a5b7';
5
+ constructor(layer) {
6
+ super();
7
+ this.layer = layer;
8
+ }
9
+ get id() {
10
+ return RemoveTileCommand.ID;
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLXRpbGUuY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS10aWxlLmNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBS3BELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxjQUFjO0lBR2hDO0lBRlosTUFBTSxDQUFVLEVBQUUsR0FBRyxzQ0FBc0MsQ0FBQztJQUVuRSxZQUFtQixLQUFxQjtRQUN0QyxLQUFLLEVBQUUsQ0FBQztRQURTLFVBQUssR0FBTCxLQUFLLENBQWdCO0lBRXhDLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDWCxPQUFPLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztJQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2VuZXJpY01lc3NhZ2UgfSBmcm9tICcuLi9nZW5lcmljLW1lc3NhZ2UnO1xuaW1wb3J0IEJhc2VMYXllciBmcm9tICdvbC9sYXllci9CYXNlJztcbmltcG9ydCBUaWxlTGF5ZXIgZnJvbSAnb2wvbGF5ZXIvVGlsZSc7XG5pbXBvcnQgeyBYWVogfSBmcm9tICdvbC9zb3VyY2UnO1xuXG5leHBvcnQgY2xhc3MgUmVtb3ZlVGlsZUNvbW1hbmQgZXh0ZW5kcyBHZW5lcmljTWVzc2FnZSB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSUQgPSAnYzM2Y2NjMGItNTYzOC00ODE5LWIxNDgtMmRlNTdhNTlhNWI3JztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbGF5ZXI6IFRpbGVMYXllcjxYWVo+KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gUmVtb3ZlVGlsZUNvbW1hbmQuSUQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,15 @@
1
+ import { GenericMessage } from '../generic-message';
2
+ export class MapClickEvent extends GenericMessage {
3
+ coordinates;
4
+ entities;
5
+ static ID = '323df526-8d9c-49c6-83e8-6e9a1e7762f7';
6
+ constructor(coordinates, entities) {
7
+ super();
8
+ this.coordinates = coordinates;
9
+ this.entities = entities;
10
+ }
11
+ get id() {
12
+ return MapClickEvent.ID;
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNsaWNrLmV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWVzc2FnZXMvZXZlbnRzL21hcC1jbGljay5ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQsTUFBTSxPQUFPLGFBQWMsU0FBUSxjQUFjO0lBRzVCO0lBQThCO0lBRjFDLE1BQU0sQ0FBVSxFQUFFLEdBQUcsc0NBQXNDLENBQUM7SUFFbkUsWUFBbUIsV0FBcUIsRUFBUyxRQUFrRDtRQUNqRyxLQUFLLEVBQUUsQ0FBQztRQURTLGdCQUFXLEdBQVgsV0FBVyxDQUFVO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBMEM7SUFFbkcsQ0FBQztJQUVELElBQVcsRUFBRTtRQUNYLE9BQU8sYUFBYSxDQUFDLEVBQUUsQ0FBQztJQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2VuZXJpY01lc3NhZ2UgfSBmcm9tICcuLi9nZW5lcmljLW1lc3NhZ2UnO1xuXG5leHBvcnQgY2xhc3MgTWFwQ2xpY2tFdmVudCBleHRlbmRzIEdlbmVyaWNNZXNzYWdlIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJRCA9ICczMjNkZjUyNi04ZDljLTQ5YzYtODNlOC02ZTlhMWU3NzYyZjcnO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb29yZGluYXRlczogbnVtYmVyW10sIHB1YmxpYyBlbnRpdGllczogeyBbbGF5ZXI6IHN0cmluZ106IChzdHJpbmcgfCBudW1iZXIpW10gfSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE1hcENsaWNrRXZlbnQuSUQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +1,4 @@
1
1
  export * from './generic-message';
2
2
  export * from './events/map-rendered.event';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tZXNzYWdlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dlbmVyaWMtbWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL2V2ZW50cy9tYXAtcmVuZGVyZWQuZXZlbnQnO1xuIl19
3
+ export * from './events/map-click.event';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9tZXNzYWdlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ2VuZXJpYy1tZXNzYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnRzL21hcC1yZW5kZXJlZC5ldmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2V2ZW50cy9tYXAtY2xpY2suZXZlbnQnO1xuIl19
@@ -4,15 +4,13 @@ import { Point } from 'ol/geom';
4
4
  export class MarkerModel {
5
5
  lat;
6
6
  lng;
7
- id;
8
7
  info;
8
+ id;
9
9
  constructor(lat, lng, id, info) {
10
10
  this.lat = lat;
11
11
  this.lng = lng;
12
- this.id = id;
13
12
  this.info = info;
14
- if (id == null)
15
- this.id = IdGenerator.get();
13
+ this.id = id == null ? IdGenerator.get() : id;
16
14
  this._feature = this.getFeature();
17
15
  }
18
16
  _feature;
@@ -22,10 +20,9 @@ export class MarkerModel {
22
20
  getFeature() {
23
21
  const feature = new Feature(new Point([this.lng, this.lat]));
24
22
  feature.setId(this.id);
25
- if (this.info) {
26
- Object.keys(this.info).forEach((k) => feature.set(k, this.info[k]));
27
- }
23
+ if (this.info)
24
+ feature.set('info', this.info);
28
25
  return feature;
29
26
  }
30
27
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbW9kZWxzL21hcmtlci1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUM3QixPQUFPLEVBQVksS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTFDLE1BQU0sT0FBTyxXQUFXO0lBRUo7SUFDQTtJQUNBO0lBQ1Q7SUFKVCxZQUNrQixHQUFXLEVBQ1gsR0FBVyxFQUNYLEVBQW9CLEVBQzdCLElBRU47UUFMZSxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQ1gsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUNYLE9BQUUsR0FBRixFQUFFLENBQWtCO1FBQzdCLFNBQUksR0FBSixJQUFJLENBRVY7UUFFRCxJQUFJLEVBQUUsSUFBSSxJQUFJO1lBQUUsSUFBSSxDQUFDLEVBQUUsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVPLFFBQVEsQ0FBb0I7SUFFcEMsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRU8sVUFBVTtRQUNoQixNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RCxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RFO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWRHZW5lcmF0b3IgfSBmcm9tICcuLi9jb21tb24vaWQuZ2VuZXJhdG9yJztcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBHZW9tZXRyeSwgUG9pbnQgfSBmcm9tICdvbC9nZW9tJztcblxuZXhwb3J0IGNsYXNzIE1hcmtlck1vZGVsIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGxhdDogbnVtYmVyLFxuICAgIHB1YmxpYyByZWFkb25seSBsbmc6IG51bWJlcixcbiAgICBwdWJsaWMgcmVhZG9ubHkgaWQ/OiBzdHJpbmcgfCBudW1iZXIsXG4gICAgcHVibGljIGluZm8/OiB7XG4gICAgICBbaWQ6IHN0cmluZ106IGFueTtcbiAgICB9LFxuICApIHtcbiAgICBpZiAoaWQgPT0gbnVsbCkgdGhpcy5pZCA9IElkR2VuZXJhdG9yLmdldCgpO1xuICAgIHRoaXMuX2ZlYXR1cmUgPSB0aGlzLmdldEZlYXR1cmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZlYXR1cmU6IEZlYXR1cmU8R2VvbWV0cnk+O1xuXG4gIHB1YmxpYyBnZXQgZmVhdHVyZSgpOiBGZWF0dXJlPEdlb21ldHJ5PiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZlYXR1cmU7XG4gIH1cblxuICBwcml2YXRlIGdldEZlYXR1cmUoKTogRmVhdHVyZTxHZW9tZXRyeT4ge1xuICAgIGNvbnN0IGZlYXR1cmUgPSBuZXcgRmVhdHVyZShuZXcgUG9pbnQoW3RoaXMubG5nLCB0aGlzLmxhdF0pKTtcbiAgICBmZWF0dXJlLnNldElkKHRoaXMuaWQpO1xuICAgIGlmICh0aGlzLmluZm8pIHtcbiAgICAgIE9iamVjdC5rZXlzKHRoaXMuaW5mbykuZm9yRWFjaCgoaykgPT4gZmVhdHVyZS5zZXQoaywgdGhpcy5pbmZvIVtrXSkpO1xuICAgIH1cbiAgICByZXR1cm4gZmVhdHVyZTtcbiAgfVxufVxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbW9kZWxzL21hcmtlci1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUM3QixPQUFPLEVBQVksS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTFDLE1BQU0sT0FBTyxXQUFXO0lBR0o7SUFDQTtJQUVUO0lBTE8sRUFBRSxDQUFrQjtJQUNwQyxZQUNrQixHQUFXLEVBQ1gsR0FBVyxFQUMzQixFQUFvQixFQUNiLElBRU47UUFMZSxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQ1gsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUVwQixTQUFJLEdBQUosSUFBSSxDQUVWO1FBRUQsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU8sUUFBUSxDQUFvQjtJQUVwQyxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxVQUFVO1FBQ2hCLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdELE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWRHZW5lcmF0b3IgfSBmcm9tICcuLi9jb21tb24vaWQuZ2VuZXJhdG9yJztcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBHZW9tZXRyeSwgUG9pbnQgfSBmcm9tICdvbC9nZW9tJztcblxuZXhwb3J0IGNsYXNzIE1hcmtlck1vZGVsIHtcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmcgfCBudW1iZXI7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBsYXQ6IG51bWJlcixcbiAgICBwdWJsaWMgcmVhZG9ubHkgbG5nOiBudW1iZXIsXG4gICAgaWQ/OiBzdHJpbmcgfCBudW1iZXIsXG4gICAgcHVibGljIGluZm8/OiB7XG4gICAgICBbaWQ6IHN0cmluZ106IGFueTtcbiAgICB9LFxuICApIHtcbiAgICB0aGlzLmlkID0gaWQgPT0gbnVsbCA/IElkR2VuZXJhdG9yLmdldCgpIDogaWQ7XG4gICAgdGhpcy5fZmVhdHVyZSA9IHRoaXMuZ2V0RmVhdHVyZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmVhdHVyZTogRmVhdHVyZTxHZW9tZXRyeT47XG5cbiAgcHVibGljIGdldCBmZWF0dXJlKCk6IEZlYXR1cmU8R2VvbWV0cnk+IHtcbiAgICByZXR1cm4gdGhpcy5fZmVhdHVyZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmVhdHVyZSgpOiBGZWF0dXJlPEdlb21ldHJ5PiB7XG4gICAgY29uc3QgZmVhdHVyZSA9IG5ldyBGZWF0dXJlKG5ldyBQb2ludChbdGhpcy5sbmcsIHRoaXMubGF0XSkpO1xuICAgIGZlYXR1cmUuc2V0SWQodGhpcy5pZCk7XG4gICAgaWYgKHRoaXMuaW5mbykgZmVhdHVyZS5zZXQoJ2luZm8nLCB0aGlzLmluZm8pO1xuICAgIHJldHVybiBmZWF0dXJlO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,51 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { MapRenderedEvent } from '../messages';
3
+ import { MapClickEvent } from '../messages/events/map-click.event';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./map-postboy.service";
6
+ export class MapClickService {
7
+ postboy;
8
+ map;
9
+ constructor(postboy) {
10
+ this.postboy = postboy;
11
+ }
12
+ up() {
13
+ this.observeMapRender();
14
+ }
15
+ observeMapRender() {
16
+ this.postboy.subscribe(MapRenderedEvent.ID).subscribe((m) => {
17
+ this.map = m.map;
18
+ this.map?.on('singleclick', (e) => {
19
+ this.postboy.fire(this.onClick(e));
20
+ });
21
+ });
22
+ }
23
+ onClick(ev) {
24
+ const model = new MapClickEvent(ev.coordinate, {});
25
+ this.map?.forEachFeatureAtPixel(ev.pixel, (f, l) => {
26
+ this.getFeatureCollectionWithInner([f])
27
+ .filter((f) => !!f.getId())
28
+ .forEach((fs) => {
29
+ let layerName = l.get('name');
30
+ if (!model.entities[layerName])
31
+ model.entities[layerName] = [];
32
+ model.entities[layerName].push(f.getId());
33
+ });
34
+ });
35
+ return model;
36
+ }
37
+ getFeatureCollectionWithInner(features) {
38
+ const result = [];
39
+ features?.forEach((f) => {
40
+ const innerFeatures = f.get('features');
41
+ innerFeatures?.length ? result.push(...innerFeatures) : result.push(f);
42
+ });
43
+ return result;
44
+ }
45
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapClickService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
46
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapClickService });
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapClickService, decorators: [{
49
+ type: Injectable
50
+ }], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWNsaWNrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9zZXJ2aWNlcy9tYXAtY2xpY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQUluRSxNQUFNLE9BQU8sZUFBZTtJQUdOO0lBRlosR0FBRyxDQUFPO0lBRWxCLFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcsQ0FBQztJQUVsRCxFQUFFO1FBQ0EsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBbUIsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDNUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsRUFBNEI7UUFDbEMsTUFBTSxLQUFLLEdBQWtCLElBQUksYUFBYSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLENBQXNCLENBQUMsQ0FBQztpQkFDekQsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2lCQUMxQixPQUFPLENBQUMsQ0FBQyxFQUFxQixFQUFFLEVBQUU7Z0JBQ2pDLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztvQkFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDL0QsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRyxDQUFDLENBQUM7WUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLDZCQUE2QixDQUFDLFFBQTZCO1FBQ2pFLE1BQU0sTUFBTSxHQUF3QixFQUFFLENBQUM7UUFDdkMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3RCLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUF3QixDQUFDO1lBQy9ELGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RSxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7d0dBdkNVLGVBQWU7NEdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IEZlYXR1cmUsIE1hcCwgTWFwQnJvd3NlckV2ZW50IH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IE1hcENsaWNrRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcy9ldmVudHMvbWFwLWNsaWNrLmV2ZW50JztcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXBDbGlja1NlcnZpY2UgaW1wbGVtZW50cyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2Uge1xuICBwcml2YXRlIG1hcD86IE1hcDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlKSB7fVxuXG4gIHVwKCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZU1hcFJlbmRlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlTWFwUmVuZGVyKCkge1xuICAgIHRoaXMucG9zdGJveS5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRCkuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICB0aGlzLm1hcCA9IG0ubWFwO1xuICAgICAgdGhpcy5tYXA/Lm9uKCdzaW5nbGVjbGljaycsIChlKSA9PiB7XG4gICAgICAgIHRoaXMucG9zdGJveS5maXJlKHRoaXMub25DbGljayhlKSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uQ2xpY2soZXY6IE1hcEJyb3dzZXJFdmVudDxVSUV2ZW50Pik6IE1hcENsaWNrRXZlbnQge1xuICAgIGNvbnN0IG1vZGVsOiBNYXBDbGlja0V2ZW50ID0gbmV3IE1hcENsaWNrRXZlbnQoZXYuY29vcmRpbmF0ZSwge30pO1xuICAgIHRoaXMubWFwPy5mb3JFYWNoRmVhdHVyZUF0UGl4ZWwoZXYucGl4ZWwsIChmLCBsKSA9PiB7XG4gICAgICB0aGlzLmdldEZlYXR1cmVDb2xsZWN0aW9uV2l0aElubmVyKFtmIGFzIEZlYXR1cmU8R2VvbWV0cnk+XSlcbiAgICAgICAgLmZpbHRlcigoZikgPT4gISFmLmdldElkKCkpXG4gICAgICAgIC5mb3JFYWNoKChmczogRmVhdHVyZTxHZW9tZXRyeT4pID0+IHtcbiAgICAgICAgICBsZXQgbGF5ZXJOYW1lID0gbC5nZXQoJ25hbWUnKTtcbiAgICAgICAgICBpZiAoIW1vZGVsLmVudGl0aWVzW2xheWVyTmFtZV0pIG1vZGVsLmVudGl0aWVzW2xheWVyTmFtZV0gPSBbXTtcbiAgICAgICAgICBtb2RlbC5lbnRpdGllc1tsYXllck5hbWVdLnB1c2goZi5nZXRJZCgpISk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBtb2RlbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmVhdHVyZUNvbGxlY3Rpb25XaXRoSW5uZXIoZmVhdHVyZXM6IEZlYXR1cmU8R2VvbWV0cnk+W10pOiBGZWF0dXJlPEdlb21ldHJ5PltdIHtcbiAgICBjb25zdCByZXN1bHQ6IEZlYXR1cmU8R2VvbWV0cnk+W10gPSBbXTtcbiAgICBmZWF0dXJlcz8uZm9yRWFjaCgoZikgPT4ge1xuICAgICAgY29uc3QgaW5uZXJGZWF0dXJlcyA9IGYuZ2V0KCdmZWF0dXJlcycpIGFzIEZlYXR1cmU8R2VvbWV0cnk+W107XG4gICAgICBpbm5lckZlYXR1cmVzPy5sZW5ndGggPyByZXN1bHQucHVzaCguLi5pbm5lckZlYXR1cmVzKSA6IHJlc3VsdC5wdXNoKGYpO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==