@artstesh/maps 5.1.2 → 5.1.4

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 (45) hide show
  1. package/dist/esm2022/map/map-plate/map-plate.component.mjs +4 -1
  2. package/dist/esm2022/map/messages/commands/add-control.command.mjs +13 -0
  3. package/dist/esm2022/map/messages/commands/remove-control.command.mjs +13 -0
  4. package/dist/esm2022/map/messages/commands/set-map-center.command.mjs +26 -0
  5. package/dist/esm2022/map/messages/index.mjs +4 -1
  6. package/dist/esm2022/map/models/index.mjs +2 -1
  7. package/dist/esm2022/map/models/map-control.mjs +15 -0
  8. package/dist/esm2022/map/models/polygon.model.mjs +4 -1
  9. package/dist/esm2022/map/services/controls/controls.service.mjs +39 -0
  10. package/dist/esm2022/map/services/map-state.service.mjs +19 -4
  11. package/dist/esm2022/map/services/message-registrator.service.mjs +12 -5
  12. package/dist/esm2022/src/map/map-plate/map-plate.component.mjs +4 -1
  13. package/dist/esm2022/src/map/messages/commands/add-control.command.mjs +13 -0
  14. package/dist/esm2022/src/map/messages/commands/remove-control.command.mjs +13 -0
  15. package/dist/esm2022/src/map/messages/commands/set-map-center.command.mjs +26 -0
  16. package/dist/esm2022/src/map/messages/index.mjs +4 -1
  17. package/dist/esm2022/src/map/models/index.mjs +2 -1
  18. package/dist/esm2022/src/map/models/map-control.mjs +15 -0
  19. package/dist/esm2022/src/map/models/polygon.model.mjs +4 -1
  20. package/dist/esm2022/src/map/services/controls/controls.service.mjs +39 -0
  21. package/dist/esm2022/src/map/services/map-state.service.mjs +19 -4
  22. package/dist/esm2022/src/map/services/message-registrator.service.mjs +12 -5
  23. package/dist/fesm2022/maps-components-src-map.mjs +125 -7
  24. package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
  25. package/dist/fesm2022/maps-components.mjs +125 -7
  26. package/dist/fesm2022/maps-components.mjs.map +1 -1
  27. package/dist/map/messages/commands/add-control.command.d.ts +8 -0
  28. package/dist/map/messages/commands/remove-control.command.d.ts +8 -0
  29. package/dist/map/messages/commands/set-map-center.command.d.ts +18 -0
  30. package/dist/map/messages/index.d.ts +3 -0
  31. package/dist/map/models/index.d.ts +1 -0
  32. package/dist/map/models/map-control.d.ts +13 -0
  33. package/dist/map/services/controls/controls.service.d.ts +14 -0
  34. package/dist/map/services/map-state.service.d.ts +2 -0
  35. package/dist/map/services/message-registrator.service.d.ts +2 -1
  36. package/dist/src/map/messages/commands/add-control.command.d.ts +8 -0
  37. package/dist/src/map/messages/commands/remove-control.command.d.ts +8 -0
  38. package/dist/src/map/messages/commands/set-map-center.command.d.ts +18 -0
  39. package/dist/src/map/messages/index.d.ts +3 -0
  40. package/dist/src/map/models/index.d.ts +1 -0
  41. package/dist/src/map/models/map-control.d.ts +13 -0
  42. package/dist/src/map/services/controls/controls.service.d.ts +14 -0
  43. package/dist/src/map/services/map-state.service.d.ts +2 -0
  44. package/dist/src/map/services/message-registrator.service.d.ts +2 -1
  45. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import { IdGenerator } from '../common/id.generator';
2
2
  import { GeoJSON, WKT } from 'ol/format';
3
3
  import { getCenter } from 'ol/extent';
4
+ import { MapConstants } from './map.constants';
4
5
  export class PolygonModel {
5
6
  info;
6
7
  id;
@@ -21,10 +22,12 @@ export class PolygonModel {
21
22
  this.info = info;
22
23
  this.id = id == null ? IdGenerator.get() : id;
23
24
  this._feature = feature;
25
+ if (this.info)
26
+ this._feature?.set(MapConstants.FeatureInfo, this.info);
24
27
  [this.lng, this.lat] = getCenter(this._feature.getGeometry()?.getExtent());
25
28
  }
26
29
  get feature() {
27
30
  return this._feature;
28
31
  }
29
32
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21vZGVscy9wb2x5Z29uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUdyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRDLE1BQU0sT0FBTyxZQUFZO0lBa0JzRDtJQWpCN0QsRUFBRSxDQUFrQjtJQUNwQixHQUFHLENBQVM7SUFDWixHQUFHLENBQVM7SUFDcEIsUUFBUSxDQUFvQjtJQUU3QixNQUFNLENBQUMsV0FBVyxDQUFDLEVBQW1CLEVBQUUsSUFBWSxFQUFFLElBQTRCO1FBQ3ZGLElBQUksT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEIsT0FBTyxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQW1CLEVBQUUsR0FBVyxFQUFFLElBQTRCO1FBQ2xGLElBQUksT0FBTyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEIsT0FBTyxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxZQUFvQixPQUEwQixFQUFFLEVBQW9CLEVBQVMsSUFBNEI7UUFBNUIsU0FBSSxHQUFKLElBQUksQ0FBd0I7UUFDdkcsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxFQUFFLFNBQVMsRUFBRyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWRHZW5lcmF0b3IgfSBmcm9tICcuLi9jb21tb24vaWQuZ2VuZXJhdG9yJztcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IHsgR2VvSlNPTiwgV0tUIH0gZnJvbSAnb2wvZm9ybWF0JztcbmltcG9ydCB7IGdldENlbnRlciB9IGZyb20gJ29sL2V4dGVudCc7XG5cbmV4cG9ydCBjbGFzcyBQb2x5Z29uTW9kZWwge1xuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgcHVibGljIHJlYWRvbmx5IGxhdDogbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgbG5nOiBudW1iZXI7XG4gIHByaXZhdGUgX2ZlYXR1cmU6IEZlYXR1cmU8R2VvbWV0cnk+O1xuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUdlb0pzb24oaWQ6IHN0cmluZyB8IG51bWJlciwganNvbjogc3RyaW5nLCBpbmZvPzogeyBbaWQ6IHN0cmluZ106IGFueSB9KTogUG9seWdvbk1vZGVsIHtcbiAgICBsZXQgZmVhdHVyZSA9IG5ldyBHZW9KU09OKCkucmVhZEZlYXR1cmUoanNvbik7XG4gICAgZmVhdHVyZS5zZXRJZChpZCk7XG4gICAgcmV0dXJuIG5ldyBQb2x5Z29uTW9kZWwoZmVhdHVyZSwgaWQsIGluZm8pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tV0tUKGlkOiBzdHJpbmcgfCBudW1iZXIsIHdrdDogc3RyaW5nLCBpbmZvPzogeyBbaWQ6IHN0cmluZ106IGFueSB9KTogUG9seWdvbk1vZGVsIHtcbiAgICBsZXQgZmVhdHVyZSA9IG5ldyBXS1QoKS5yZWFkRmVhdHVyZSh3a3QpO1xuICAgIGZlYXR1cmUuc2V0SWQoaWQpO1xuICAgIHJldHVybiBuZXcgUG9seWdvbk1vZGVsKGZlYXR1cmUsIGlkLCBpbmZvKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoZmVhdHVyZTogRmVhdHVyZTxHZW9tZXRyeT4sIGlkPzogc3RyaW5nIHwgbnVtYmVyLCBwdWJsaWMgaW5mbz86IHsgW2lkOiBzdHJpbmddOiBhbnkgfSkge1xuICAgIHRoaXMuaWQgPSBpZCA9PSBudWxsID8gSWRHZW5lcmF0b3IuZ2V0KCkgOiBpZDtcbiAgICB0aGlzLl9mZWF0dXJlID0gZmVhdHVyZTtcbiAgICBbdGhpcy5sbmcsIHRoaXMubGF0XSA9IGdldENlbnRlcih0aGlzLl9mZWF0dXJlLmdldEdlb21ldHJ5KCk/LmdldEV4dGVudCgpISk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZlYXR1cmUoKTogRmVhdHVyZTxHZW9tZXRyeT4ge1xuICAgIHJldHVybiB0aGlzLl9mZWF0dXJlO1xuICB9XG59XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21vZGVscy9wb2x5Z29uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUdyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxNQUFNLE9BQU8sWUFBWTtJQWtCc0Q7SUFqQjdELEVBQUUsQ0FBa0I7SUFDcEIsR0FBRyxDQUFTO0lBQ1osR0FBRyxDQUFTO0lBQ3BCLFFBQVEsQ0FBb0I7SUFFN0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFtQixFQUFFLElBQVksRUFBRSxJQUE0QjtRQUN2RixJQUFJLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFtQixFQUFFLEdBQVcsRUFBRSxJQUE0QjtRQUNsRixJQUFJLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFBb0IsT0FBMEIsRUFBRSxFQUFvQixFQUFTLElBQTRCO1FBQTVCLFNBQUksR0FBSixJQUFJLENBQXdCO1FBQ3ZHLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEVBQUUsU0FBUyxFQUFHLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZEdlbmVyYXRvciB9IGZyb20gJy4uL2NvbW1vbi9pZC5nZW5lcmF0b3InO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJ29sJztcbmltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBHZW9KU09OLCBXS1QgfSBmcm9tICdvbC9mb3JtYXQnO1xuaW1wb3J0IHsgZ2V0Q2VudGVyIH0gZnJvbSAnb2wvZXh0ZW50JztcbmltcG9ydCB7IE1hcENvbnN0YW50cyB9IGZyb20gJy4vbWFwLmNvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBQb2x5Z29uTW9kZWwge1xuICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZyB8IG51bWJlcjtcbiAgcHVibGljIHJlYWRvbmx5IGxhdDogbnVtYmVyO1xuICBwdWJsaWMgcmVhZG9ubHkgbG5nOiBudW1iZXI7XG4gIHByaXZhdGUgX2ZlYXR1cmU6IEZlYXR1cmU8R2VvbWV0cnk+O1xuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUdlb0pzb24oaWQ6IHN0cmluZyB8IG51bWJlciwganNvbjogc3RyaW5nLCBpbmZvPzogeyBbaWQ6IHN0cmluZ106IGFueSB9KTogUG9seWdvbk1vZGVsIHtcbiAgICBsZXQgZmVhdHVyZSA9IG5ldyBHZW9KU09OKCkucmVhZEZlYXR1cmUoanNvbik7XG4gICAgZmVhdHVyZS5zZXRJZChpZCk7XG4gICAgcmV0dXJuIG5ldyBQb2x5Z29uTW9kZWwoZmVhdHVyZSwgaWQsIGluZm8pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tV0tUKGlkOiBzdHJpbmcgfCBudW1iZXIsIHdrdDogc3RyaW5nLCBpbmZvPzogeyBbaWQ6IHN0cmluZ106IGFueSB9KTogUG9seWdvbk1vZGVsIHtcbiAgICBsZXQgZmVhdHVyZSA9IG5ldyBXS1QoKS5yZWFkRmVhdHVyZSh3a3QpO1xuICAgIGZlYXR1cmUuc2V0SWQoaWQpO1xuICAgIHJldHVybiBuZXcgUG9seWdvbk1vZGVsKGZlYXR1cmUsIGlkLCBpbmZvKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoZmVhdHVyZTogRmVhdHVyZTxHZW9tZXRyeT4sIGlkPzogc3RyaW5nIHwgbnVtYmVyLCBwdWJsaWMgaW5mbz86IHsgW2lkOiBzdHJpbmddOiBhbnkgfSkge1xuICAgIHRoaXMuaWQgPSBpZCA9PSBudWxsID8gSWRHZW5lcmF0b3IuZ2V0KCkgOiBpZDtcbiAgICB0aGlzLl9mZWF0dXJlID0gZmVhdHVyZTtcbiAgICBpZiAodGhpcy5pbmZvKSB0aGlzLl9mZWF0dXJlPy5zZXQoTWFwQ29uc3RhbnRzLkZlYXR1cmVJbmZvLCB0aGlzLmluZm8pO1xuICAgIFt0aGlzLmxuZywgdGhpcy5sYXRdID0gZ2V0Q2VudGVyKHRoaXMuX2ZlYXR1cmUuZ2V0R2VvbWV0cnkoKT8uZ2V0RXh0ZW50KCkhKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmVhdHVyZSgpOiBGZWF0dXJlPEdlb21ldHJ5PiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZlYXR1cmU7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,39 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { AddControlCommand, MapRenderedEvent, RemoveControlCommand } from '../../messages';
3
+ import { first } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../map-postboy.service";
6
+ export class ControlsService {
7
+ postboy;
8
+ map;
9
+ constructor(postboy) {
10
+ this.postboy = postboy;
11
+ }
12
+ up() {
13
+ this.observeMapRender();
14
+ }
15
+ observeMapRender() {
16
+ this.postboy
17
+ .subscribe(MapRenderedEvent.ID)
18
+ .pipe(first())
19
+ .subscribe((m) => {
20
+ this.map = m.map;
21
+ this.observeAdding();
22
+ this.observeRemoving();
23
+ });
24
+ }
25
+ observeAdding() {
26
+ this.postboy.subscribe(AddControlCommand.ID).subscribe((c) => this.map?.addControl(c.item));
27
+ }
28
+ observeRemoving() {
29
+ this.postboy
30
+ .subscribe(RemoveControlCommand.ID)
31
+ .subscribe((c) => this.map?.removeControl(c.item));
32
+ }
33
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ControlsService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
34
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ControlsService });
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ControlsService, decorators: [{
37
+ type: Injectable
38
+ }], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL3NlcnZpY2VzL2NvbnRyb2xzL2NvbnRyb2xzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUd2QyxNQUFNLE9BQU8sZUFBZTtJQUdOO0lBRlosR0FBRyxDQUFPO0lBRWxCLFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcsQ0FBQztJQUVsRCxFQUFFO1FBQ0EsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsT0FBTzthQUNULFNBQVMsQ0FBbUIsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO2FBQ2hELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNiLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBb0IsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsT0FBTzthQUNULFNBQVMsQ0FBdUIsb0JBQW9CLENBQUMsRUFBRSxDQUFDO2FBQ3hELFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQzt3R0E1QlUsZUFBZTs0R0FBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IEFkZENvbnRyb2xDb21tYW5kLCBNYXBSZW5kZXJlZEV2ZW50LCBSZW1vdmVDb250cm9sQ29tbWFuZCB9IGZyb20gJy4uLy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29udHJvbHNTZXJ2aWNlIGltcGxlbWVudHMgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBtYXA/OiBNYXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge31cblxuICB1cCgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVNYXBSZW5kZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZU1hcFJlbmRlcigpIHtcbiAgICB0aGlzLnBvc3Rib3lcbiAgICAgIC5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRClcbiAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAuc3Vic2NyaWJlKChtKSA9PiB7XG4gICAgICAgIHRoaXMubWFwID0gbS5tYXA7XG4gICAgICAgIHRoaXMub2JzZXJ2ZUFkZGluZygpO1xuICAgICAgICB0aGlzLm9ic2VydmVSZW1vdmluZygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVBZGRpbmcoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxBZGRDb250cm9sQ29tbWFuZD4oQWRkQ29udHJvbENvbW1hbmQuSUQpLnN1YnNjcmliZSgoYykgPT4gdGhpcy5tYXA/LmFkZENvbnRyb2woYy5pdGVtKSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVSZW1vdmluZygpIHtcbiAgICB0aGlzLnBvc3Rib3lcbiAgICAgIC5zdWJzY3JpYmU8UmVtb3ZlQ29udHJvbENvbW1hbmQ+KFJlbW92ZUNvbnRyb2xDb21tYW5kLklEKVxuICAgICAgLnN1YnNjcmliZSgoYykgPT4gdGhpcy5tYXA/LnJlbW92ZUNvbnRyb2woYy5pdGVtKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { MapRenderedEvent } from '../messages';
3
- import { MapMoveEndEvent } from '../messages/events/map-move-end.event';
2
+ import { MapRenderedEvent, SetMapCenterCommand } from '../messages';
3
+ import { MapMoveEndEvent } from '../messages';
4
+ import { first } from 'rxjs/operators';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "./map-postboy.service";
6
7
  export class MapStateService {
@@ -10,7 +11,14 @@ export class MapStateService {
10
11
  this.postboy = postboy;
11
12
  }
12
13
  up() {
13
- this.postboy.subscribe(MapRenderedEvent.ID).subscribe((ev) => {
14
+ this.observeMapRendering();
15
+ this.observeCenter();
16
+ }
17
+ observeMapRendering() {
18
+ this.postboy
19
+ .subscribe(MapRenderedEvent.ID)
20
+ .pipe(first())
21
+ .subscribe((ev) => {
14
22
  this.map = ev.map;
15
23
  this.map?.on('moveend', () => {
16
24
  const zoom = Math.floor(this.map?.getView().getZoom() || -1);
@@ -19,10 +27,17 @@ export class MapStateService {
19
27
  });
20
28
  });
21
29
  }
30
+ observeCenter() {
31
+ this.postboy.subscribe(SetMapCenterCommand.ID).subscribe((c) => {
32
+ this.map?.getView().setCenter([c.lng, c.lat]);
33
+ if (c.zoom)
34
+ this.map?.getView().setZoom(c.zoom);
35
+ });
36
+ }
22
37
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapStateService, deps: [{ token: i1.MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
23
38
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapStateService });
24
39
  }
25
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapStateService, decorators: [{
26
41
  type: Injectable
27
42
  }], ctorParameters: function () { return [{ type: i1.MapPostboyService }]; } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9zZXJ2aWNlcy9tYXAtc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUcvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7OztBQUd4RSxNQUFNLE9BQU8sZUFBZTtJQUdOO0lBRlosR0FBRyxDQUFPO0lBRWxCLFlBQW9CLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBQUcsQ0FBQztJQUVsRCxFQUFFO1FBQ0EsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQW1CLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQzdFLElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUNsQixJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO2dCQUMzQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksZUFBZSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQWRVLGVBQWU7NEdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcCB9IGZyb20gJ29sJztcbmltcG9ydCB7IE1hcFJlbmRlcmVkRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcyc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4vbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBJUG9zdGJveURlcGVuZGluZ1NlcnZpY2UgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5pbXBvcnQgeyBNYXBNb3ZlRW5kRXZlbnQgfSBmcm9tICcuLi9tZXNzYWdlcy9ldmVudHMvbWFwLW1vdmUtZW5kLmV2ZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1hcFN0YXRlU2VydmljZSBpbXBsZW1lbnRzIElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB7XG4gIHByaXZhdGUgbWFwPzogTWFwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9zdGJveTogTWFwUG9zdGJveVNlcnZpY2UpIHt9XG5cbiAgdXAoKTogdm9pZCB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKS5zdWJzY3JpYmUoKGV2KSA9PiB7XG4gICAgICB0aGlzLm1hcCA9IGV2Lm1hcDtcbiAgICAgIHRoaXMubWFwPy5vbignbW92ZWVuZCcsICgpID0+IHtcbiAgICAgICAgY29uc3Qgem9vbSA9IE1hdGguZmxvb3IodGhpcy5tYXA/LmdldFZpZXcoKS5nZXRab29tKCkgfHwgLTEpO1xuICAgICAgICBjb25zdCBleHRlbnQgPSB0aGlzLm1hcD8uZ2V0VmlldygpLmNhbGN1bGF0ZUV4dGVudCgpIHx8IFtdO1xuICAgICAgICB0aGlzLnBvc3Rib3kuZmlyZShuZXcgTWFwTW92ZUVuZEV2ZW50KHpvb20sIGV4dGVudCkpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBzLWNvbXBvbmVudHMvc3JjL21hcC9zZXJ2aWNlcy9tYXAtc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBR3ZDLE1BQU0sT0FBTyxlQUFlO0lBR047SUFGWixHQUFHLENBQU87SUFFbEIsWUFBb0IsT0FBMEI7UUFBMUIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFBRyxDQUFDO0lBRWxELEVBQUU7UUFDQSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsT0FBTzthQUNULFNBQVMsQ0FBbUIsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO2FBQ2hELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNiLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUNsQixJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO2dCQUMzQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQzNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksZUFBZSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBc0IsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbEYsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxDQUFDLElBQUk7Z0JBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0E3QlUsZUFBZTs0R0FBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCwgU2V0TWFwQ2VudGVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtcG9zdGJveS5zZXJ2aWNlJztcbmltcG9ydCB7IElQb3N0Ym95RGVwZW5kaW5nU2VydmljZSB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IE1hcE1vdmVFbmRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWFwU3RhdGVTZXJ2aWNlIGltcGxlbWVudHMgSVBvc3Rib3lEZXBlbmRpbmdTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBtYXA/OiBNYXA7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSkge31cblxuICB1cCgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVNYXBSZW5kZXJpbmcoKTtcbiAgICB0aGlzLm9ic2VydmVDZW50ZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZU1hcFJlbmRlcmluZygpIHtcbiAgICB0aGlzLnBvc3Rib3lcbiAgICAgIC5zdWJzY3JpYmU8TWFwUmVuZGVyZWRFdmVudD4oTWFwUmVuZGVyZWRFdmVudC5JRClcbiAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAuc3Vic2NyaWJlKChldikgPT4ge1xuICAgICAgICB0aGlzLm1hcCA9IGV2Lm1hcDtcbiAgICAgICAgdGhpcy5tYXA/Lm9uKCdtb3ZlZW5kJywgKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHpvb20gPSBNYXRoLmZsb29yKHRoaXMubWFwPy5nZXRWaWV3KCkuZ2V0Wm9vbSgpIHx8IC0xKTtcbiAgICAgICAgICBjb25zdCBleHRlbnQgPSB0aGlzLm1hcD8uZ2V0VmlldygpLmNhbGN1bGF0ZUV4dGVudCgpIHx8IFtdO1xuICAgICAgICAgIHRoaXMucG9zdGJveS5maXJlKG5ldyBNYXBNb3ZlRW5kRXZlbnQoem9vbSwgZXh0ZW50KSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9ic2VydmVDZW50ZXIoKSB7XG4gICAgdGhpcy5wb3N0Ym95LnN1YnNjcmliZTxTZXRNYXBDZW50ZXJDb21tYW5kPihTZXRNYXBDZW50ZXJDb21tYW5kLklEKS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIHRoaXMubWFwPy5nZXRWaWV3KCkuc2V0Q2VudGVyKFtjLmxuZywgYy5sYXRdKTtcbiAgICAgIGlmIChjLnpvb20pIHRoaXMubWFwPy5nZXRWaWV3KCkuc2V0Wm9vbShjLnpvb20pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -24,6 +24,9 @@ import { CancelFeatureModificationCommand } from '../messages/commands/cancel-fe
24
24
  import { ModifyFeatureCommand } from '../messages/commands/modify-feature.command';
25
25
  import { GenerateZoomControlExecutor } from '../messages/executors/generate-zoom-control.executor';
26
26
  import { ZoomControlFactory } from '../map-plate/controls/map-control-zoom/zoom-control.factory';
27
+ import { RemoveControlCommand } from '../messages/commands/remove-control.command';
28
+ import { AddControlCommand } from '../messages/commands/add-control.command';
29
+ import { SetMapCenterCommand } from '../messages/commands/set-map-center.command';
27
30
  import * as i0 from "@angular/core";
28
31
  import * as i1 from "./map-postboy.service";
29
32
  import * as i2 from "./map-management.service";
@@ -32,14 +35,18 @@ import * as i4 from "./map-feature.service";
32
35
  import * as i5 from "./map-click.service";
33
36
  import * as i6 from "./drawing/drawing.service";
34
37
  import * as i7 from "./drawing/feature-modification.service";
38
+ import * as i8 from "./controls/controls.service";
35
39
  export class MessageRegistratorService extends PostboyAbstractRegistrator {
36
- constructor(service, management, state, mapFeature, interaction, drawing, featureModification) {
40
+ constructor(service, management, state, mapFeature, interaction, drawing, featureModification, controls) {
37
41
  super(service);
38
- this.registerServices([management, state, interaction, mapFeature, drawing, featureModification]);
42
+ this.registerServices([management, state, interaction, mapFeature, drawing, featureModification, controls]);
39
43
  }
40
44
  _up() {
41
45
  this.registerReplay(MapRenderedEvent.ID);
42
46
  this.registerReplay(PlaceLayerFeaturesCommand.ID);
47
+ this.registerReplay(RemoveControlCommand.ID);
48
+ this.registerReplay(AddControlCommand.ID);
49
+ this.registerReplay(SetMapCenterCommand.ID);
43
50
  this.registerSubject(AddLayerCommand.ID);
44
51
  this.registerSubject(RemoveLayerCommand.ID);
45
52
  this.registerSubject(AddTileCommand.ID);
@@ -63,10 +70,10 @@ export class MessageRegistratorService extends PostboyAbstractRegistrator {
63
70
  this.registerExecutor(GenerateDrawExecutor.ID, (e) => DrawingGenerationService.getDraw(e));
64
71
  this.registerExecutor(GenerateZoomControlExecutor.ID, (e) => ZoomControlFactory.build(e.settings));
65
72
  }
66
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageRegistratorService, deps: [{ token: i1.MapPostboyService }, { token: i2.MapManagementService }, { token: i3.MapStateService }, { token: i4.MapFeatureService }, { token: i5.MapClickService }, { token: i6.DrawingService }, { token: i7.FeatureModificationService }], target: i0.ɵɵFactoryTarget.Injectable });
73
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageRegistratorService, deps: [{ token: i1.MapPostboyService }, { token: i2.MapManagementService }, { token: i3.MapStateService }, { token: i4.MapFeatureService }, { token: i5.MapClickService }, { token: i6.DrawingService }, { token: i7.FeatureModificationService }, { token: i8.ControlsService }], target: i0.ɵɵFactoryTarget.Injectable });
67
74
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageRegistratorService });
68
75
  }
69
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageRegistratorService, decorators: [{
70
77
  type: Injectable
71
- }], ctorParameters: function () { return [{ type: i1.MapPostboyService }, { type: i2.MapManagementService }, { type: i3.MapStateService }, { type: i4.MapFeatureService }, { type: i5.MapClickService }, { type: i6.DrawingService }, { type: i7.FeatureModificationService }]; } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFD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QyxDQUErQixFQUFFLEVBQUUsQ0FDekYsY0FBYyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUN2QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQXVCLEVBQUUsRUFBRSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUE4QixFQUFFLEVBQUUsQ0FDdkYsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FDckMsQ0FBQztJQUNKLENBQUM7d0dBNUNVLHlCQUF5Qjs0R0FBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwUG9zdGJveVNlcnZpY2UgfSBmcm9tICcuL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IEFkZExheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2FkZC1sYXllci5jb21tYW5kJztcbmltcG9ydCB7IFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9wbGFjZS1sYXllci1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZUxheWVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS1sYXllci5jb21tYW5kJztcbmltcG9ydCB7IEFkZFRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBSZW1vdmVUaWxlQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3JlbW92ZS10aWxlLmNvbW1hbmQnO1xuaW1wb3J0IHsgUG9zdGJveUFic3RyYWN0UmVnaXN0cmF0b3IgfSBmcm9tICdAYXJ0c3Rlc2gvcG9zdGJveSc7XG5pbXBvcnQgeyBNYXBNYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4vbWFwLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL21hcC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcENsaWNrU2VydmljZSB9IGZyb20gJy4vbWFwLWNsaWNrLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQ2xpY2tFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzL2V2ZW50cy9tYXAtY2xpY2suZXZlbnQnO1xuaW1wb3J0IHsgQ2xvc2VUb29sdGlwQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2Nsb3NlLXRvb2x0aXAuY29tbWFuZCc7XG5pbXBvcnQgeyBNYXBGZWF0dXJlU2VydmljZSB9IGZyb20gJy4vbWFwLWZlYXR1cmUuc2VydmljZSc7XG5pbXBvcnQgeyBGaXRUb0ZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2ZpdC10by1mZWF0dXJlcy5jb21tYW5kJztcbmltcG9ydCB7IE1hcE1vdmVFbmRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzL2V2ZW50cy9tYXAtbW92ZS1lbmQuZXZlbnQnO1xuaW1wb3J0IHsgQ2FuY2VsRHJhd2luZ0NvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9jYW5jZWwtZHJhd2luZy5jb21tYW5kJztcbmltcG9ydCB7IFN0YXJ0RHJhd2luZ0NvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9zdGFydC1kcmF3aW5nLmNvbW1hbmQnO1xuaW1wb3J0IHsgRHJhd2luZ1NlcnZpY2UgfSBmcm9tICcuL2RyYXdpbmcvZHJhd2luZy5zZXJ2aWNlJztcbmltcG9ydCB7IEdldExheWVyUXVlcnkgfSBmcm9tICcuLi9tZXNzYWdlcy9xdWVyaWVzL2dldC1sYXllci5xdWVyeSc7XG5pbXBvcnQgeyBEcmF3aW5nRmluaXNoZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzL2V2ZW50cy9kcmF3aW5nLWZpbmlzaGVkLmV2ZW50JztcbmltcG9ydCB7IERyYXdpbmdHZW5lcmF0aW9uU2VydmljZSB9IGZyb20gJy4vZHJhd2luZy9kcmF3aW5nLWdlbmVyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBGZWF0dXJlU2VydmljZSB9IGZyb20gJy4vZmVhdHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IEdldEZlYXR1cmVzSW5BcmVhUXVlcnkgfSBmcm9tICcuLi9tZXNzYWdlcy9xdWVyaWVzL2dldC1mZWF0dXJlcy1pbi1hcmVhLnF1ZXJ5JztcbmltcG9ydCB7IERyYXdTZWxlY3Rpb25BcmVhQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2RyYXctc2VsZWN0aW9uLWFyZWEuY29tbWFuZCc7XG5pbXBvcnQgeyBGaWx0ZXJGZWF0dXJlc0luQXJlYUV4ZWN1dG9yIH0gZnJvbSAnLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2ZpbHRlci1mZWF0dXJlcy1pbi1hcmVhLmV4ZWN1dG9yJztcbmltcG9ydCB7IEdlbmVyYXRlRHJhd0V4ZWN1dG9yIH0gZnJvbSAnLi4vbWVzc2FnZXMvZXhlY3V0b3JzL2dlbmVyYXRlLWRyYXcuZXhlY3V0b3InO1xuaW1wb3J0IHsgRmVhdHVyZU1vZGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL2RyYXdpbmcvZmVhdHVyZS1tb2RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBDYW5jZWxGZWF0dXJlTW9kaWZpY2F0aW9uQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2NhbmNlbC1mZWF0dXJlLW1vZGlmaWNhdGlvbi5jb21tYW5kJztcbmltcG9ydCB7IE1vZGlmeUZlYXR1cmVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvbW9kaWZ5LWZlYXR1cmUuY29tbWFuZCc7XG5pbXBvcnQgeyBHZW5lcmF0ZVpvb21Db250cm9sRXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvZ2VuZXJhdGUtem9vbS1jb250cm9sLmV4ZWN1dG9yJztcbmltcG9ydCB7IFpvb21Db250cm9sRmFjdG9yeSB9IGZyb20gJy4uL21hcC1wbGF0ZS9jb250cm9scy9tYXAtY29udHJvbC16b29tL3pvb20tY29udHJvbC5mYWN0b3J5JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VSZWdpc3RyYXRvclNlcnZpY2UgZXh0ZW5kcyBQb3N0Ym95QWJzdHJhY3RSZWdpc3RyYXRvciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHNlcnZpY2U6IE1hcFBvc3Rib3lTZXJ2aWNlLFxuICAgIG1hbmFnZW1lbnQ6IE1hcE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHN0YXRlOiBNYXBTdGF0ZVNlcnZpY2UsXG4gICAgbWFwRmVhdHVyZTogTWFwRmVhdHVyZVNlcnZpY2UsXG4gICAgaW50ZXJhY3Rpb246IE1hcENsaWNrU2VydmljZSxcbiAgICBkcmF3aW5nOiBEcmF3aW5nU2VydmljZSxcbiAgICBmZWF0dXJlTW9kaWZpY2F0aW9uOiBGZWF0dXJlTW9kaWZpY2F0aW9uU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIoc2VydmljZSk7XG4gICAgdGhpcy5yZWdpc3RlclNlcnZpY2VzKFttYW5hZ2VtZW50LCBzdGF0ZSwgaW50ZXJhY3Rpb24sIG1hcEZlYXR1cmUsIGRyYXdpbmcsIGZlYXR1cmVNb2RpZmljYXRpb25dKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfdXAoKTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RlclJlcGxheTxNYXBSZW5kZXJlZEV2ZW50PihNYXBSZW5kZXJlZEV2ZW50LklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyUmVwbGF5PFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQ+KFBsYWNlTGF5ZXJGZWF0dXJlc0NvbW1hbmQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0PEFkZExheWVyQ29tbWFuZD4oQWRkTGF5ZXJDb21tYW5kLklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3ViamVjdDxSZW1vdmVMYXllckNvbW1hbmQ+KFJlbW92ZUxheWVyQ29tbWFuZC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3Q8QWRkVGlsZUNvbW1hbmQ+KEFkZFRpbGVDb21tYW5kLklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3ViamVjdDxSZW1vdmVUaWxlQ29tbWFuZD4oUmVtb3ZlVGlsZUNvbW1hbmQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0PE1hcENsaWNrRXZlbnQ+KE1hcENsaWNrRXZlbnQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0PENsb3NlVG9vbHRpcENvbW1hbmQ+KENsb3NlVG9vbHRpcENvbW1hbmQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0PEZpdFRvRmVhdHVyZXNDb21tYW5kPihGaXRUb0ZlYXR1cmVzQ29tbWFuZC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3Q8TWFwTW92ZUVuZEV2ZW50PihNYXBNb3ZlRW5kRXZlbnQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0PENhbmNlbERyYXdpbmdDb21tYW5kPihDYW5jZWxEcmF3aW5nQ29tbWFuZC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3Q8U3RhcnREcmF3aW5nQ29tbWFuZD4oU3RhcnREcmF3aW5nQ29tbWFuZC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3Q8R2V0TGF5ZXJRdWVyeT4oR2V0TGF5ZXJRdWVyeS5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3Q8RHJhd2luZ0ZpbmlzaGVkRXZlbnQ+KERyYXdpbmdGaW5pc2hlZEV2ZW50LklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3ViamVjdDxHZXRGZWF0dXJlc0luQXJlYVF1ZXJ5PihHZXRGZWF0dXJlc0luQXJlYVF1ZXJ5LklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3ViamVjdDxEcmF3U2VsZWN0aW9uQXJlYUNvbW1hbmQ+KERyYXdTZWxlY3Rpb25BcmVhQ29tbWFuZC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3Q8Q2FuY2VsRmVhdHVyZU1vZGlmaWNhdGlvbkNvbW1hbmQ+KENhbmNlbEZlYXR1cmVNb2RpZmljYXRpb25Db21tYW5kLklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3ViamVjdDxNb2RpZnlGZWF0dXJlQ29tbWFuZD4oTW9kaWZ5RmVhdHVyZUNvbW1hbmQuSUQpO1xuICAgIHRoaXMuc2V0RXhlY3V0b3JzKCk7XG4gIH1cblxuICBwcml2YXRlIHNldEV4ZWN1dG9ycygpIHtcbiAgICB0aGlzLnJlZ2lzdGVyRXhlY3V0b3IoRmlsdGVyRmVhdHVyZXNJbkFyZWFFeGVjdXRvci5JRCwgKGU6IEZpbHRlckZlYXR1cmVzSW5BcmVhRXhlY3V0b3IpID0+XG4gICAgICBGZWF0dXJlU2VydmljZS5maWx0ZXJGZWF0dXJlc0luQXJlYShlKSxcbiAgICApO1xuICAgIHRoaXMucmVnaXN0ZXJFeGVjdXRvcihHZW5lcmF0ZURyYXdFeGVjdXRvci5JRCwgKGU6IEdlbmVyYXRlRHJhd0V4ZWN1dG9yKSA9PiBEcmF3aW5nR2VuZXJhdGlvblNlcnZpY2UuZ2V0RHJhdyhlKSk7XG4gICAgdGhpcy5yZWdpc3RlckV4ZWN1dG9yKEdlbmVyYXRlWm9vbUNvbnRyb2xFeGVjdXRvci5JRCwgKGU6IEdlbmVyYXRlWm9vbUNvbnRyb2xFeGVjdXRvcikgPT5cbiAgICAgIFpvb21Db250cm9sRmFjdG9yeS5idWlsZChlLnNldHRpbmdzKSxcbiAgICApO1xuICB9XG59XG4iXX0=
78
+ }], ctorParameters: function () { return [{ type: i1.MapPostboyService }, { type: i2.MapManagementService }, { type: i3.MapStateService }, { type: i4.MapFeatureService }, { type: i5.MapClickService }, { type: i6.DrawingService }, { type: i7.FeatureModificationService }, { type: i8.ControlsService }]; } });
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFD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QWUsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsZUFBZSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxlQUFlLENBQUMsZ0NBQWdDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLDRCQUE0QixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQStCLEVBQUUsRUFBRSxDQUN6RixjQUFjLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQ3ZDLENBQUM7UUFDRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBdUIsRUFBRSxFQUFFLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakgsSUFBSSxDQUFDLGdCQUFnQixDQUFDLDJCQUEyQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQThCLEVBQUUsRUFBRSxDQUN2RixrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUNyQyxDQUFDO0lBQ0osQ0FBQzt3R0FoRFUseUJBQXlCOzRHQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4vbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgQWRkTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3BsYWNlLWxheWVyLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgUmVtb3ZlTGF5ZXJDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLWxheWVyLmNvbW1hbmQnO1xuaW1wb3J0IHsgQWRkVGlsZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9hZGQtdGlsZS5jb21tYW5kJztcbmltcG9ydCB7IFJlbW92ZVRpbGVDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvcmVtb3ZlLXRpbGUuY29tbWFuZCc7XG5pbXBvcnQgeyBQb3N0Ym95QWJzdHJhY3RSZWdpc3RyYXRvciB9IGZyb20gJ0BhcnRzdGVzaC9wb3N0Ym95JztcbmltcG9ydCB7IE1hcE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFN0YXRlU2VydmljZSB9IGZyb20gJy4vbWFwLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQ2xpY2tTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtY2xpY2suc2VydmljZSc7XG5pbXBvcnQgeyBNYXBDbGlja0V2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMvZXZlbnRzL21hcC1jbGljay5ldmVudCc7XG5pbXBvcnQgeyBDbG9zZVRvb2x0aXBDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvY2xvc2UtdG9vbHRpcC5jb21tYW5kJztcbmltcG9ydCB7IE1hcEZlYXR1cmVTZXJ2aWNlIH0gZnJvbSAnLi9tYXAtZmVhdHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZpdFRvRmVhdHVyZXNDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvZml0LXRvLWZlYXR1cmVzLmNvbW1hbmQnO1xuaW1wb3J0IHsgTWFwTW92ZUVuZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMvZXZlbnRzL21hcC1tb3ZlLWVuZC5ldmVudCc7XG5pbXBvcnQgeyBDYW5jZWxEcmF3aW5nQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL2NhbmNlbC1kcmF3aW5nLmNvbW1hbmQnO1xuaW1wb3J0IHsgU3RhcnREcmF3aW5nQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3N0YXJ0LWRyYXdpbmcuY29tbWFuZCc7XG5pbXBvcnQgeyBEcmF3aW5nU2VydmljZSB9IGZyb20gJy4vZHJhd2luZy9kcmF3aW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2V0TGF5ZXJRdWVyeSB9IGZyb20gJy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2V0LWxheWVyLnF1ZXJ5JztcbmltcG9ydCB7IERyYXdpbmdGaW5pc2hlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMvZXZlbnRzL2RyYXdpbmctZmluaXNoZWQuZXZlbnQnO1xuaW1wb3J0IHsgRHJhd2luZ0dlbmVyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9kcmF3aW5nL2RyYXdpbmctZ2VuZXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEZlYXR1cmVTZXJ2aWNlIH0gZnJvbSAnLi9mZWF0dXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2V0RmVhdHVyZXNJbkFyZWFRdWVyeSB9IGZyb20gJy4uL21lc3NhZ2VzL3F1ZXJpZXMvZ2V0LWZlYXR1cmVzLWluLWFyZWEucXVlcnknO1xuaW1wb3J0IHsgRHJhd1NlbGVjdGlvbkFyZWFDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvZHJhdy1zZWxlY3Rpb24tYXJlYS5jb21tYW5kJztcbmltcG9ydCB7IEZpbHRlckZlYXR1cmVzSW5BcmVhRXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvZmlsdGVyLWZlYXR1cmVzLWluLWFyZWEuZXhlY3V0b3InO1xuaW1wb3J0IHsgR2VuZXJhdGVEcmF3RXhlY3V0b3IgfSBmcm9tICcuLi9tZXNzYWdlcy9leGVjdXRvcnMvZ2VuZXJhdGUtZHJhdy5leGVjdXRvcic7XG5pbXBvcnQgeyBGZWF0dXJlTW9kaWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vZHJhd2luZy9mZWF0dXJlLW1vZGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENhbmNlbEZlYXR1cmVNb2RpZmljYXRpb25Db21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvY2FuY2VsLWZlYXR1cmUtbW9kaWZpY2F0aW9uLmNvbW1hbmQnO1xuaW1wb3J0IHsgTW9kaWZ5RmVhdHVyZUNvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9tb2RpZnktZmVhdHVyZS5jb21tYW5kJztcbmltcG9ydCB7IEdlbmVyYXRlWm9vbUNvbnRyb2xFeGVjdXRvciB9IGZyb20gJy4uL21lc3NhZ2VzL2V4ZWN1dG9ycy9nZW5lcmF0ZS16b29tLWNvbnRyb2wuZXhlY3V0b3InO1xuaW1wb3J0IHsgWm9vbUNvbnRyb2xGYWN0b3J5IH0gZnJvbSAnLi4vbWFwLXBsYXRlL2NvbnRyb2xzL21hcC1jb250cm9sLXpvb20vem9vbS1jb250cm9sLmZhY3RvcnknO1xuaW1wb3J0IHsgUmVtb3ZlQ29udHJvbENvbW1hbmQgfSBmcm9tICcuLi9tZXNzYWdlcy9jb21tYW5kcy9yZW1vdmUtY29udHJvbC5jb21tYW5kJztcbmltcG9ydCB7IEFkZENvbnRyb2xDb21tYW5kIH0gZnJvbSAnLi4vbWVzc2FnZXMvY29tbWFuZHMvYWRkLWNvbnRyb2wuY29tbWFuZCc7XG5pbXBvcnQgeyBDb250cm9sc1NlcnZpY2UgfSBmcm9tICcuL2NvbnRyb2xzL2NvbnRyb2xzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2V0TWFwQ2VudGVyQ29tbWFuZCB9IGZyb20gJy4uL21lc3NhZ2VzL2NvbW1hbmRzL3NldC1tYXAtY2VudGVyLmNvbW1hbmQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSBleHRlbmRzIFBvc3Rib3lBYnN0cmFjdFJlZ2lzdHJhdG9yIHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2VydmljZTogTWFwUG9zdGJveVNlcnZpY2UsXG4gICAgbWFuYWdlbWVudDogTWFwTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgc3RhdGU6IE1hcFN0YXRlU2VydmljZSxcbiAgICBtYXBGZWF0dXJlOiBNYXBGZWF0dXJlU2VydmljZSxcbiAgICBpbnRlcmFjdGlvbjogTWFwQ2xpY2tTZXJ2aWNlLFxuICAgIGRyYXdpbmc6IERyYXdpbmdTZXJ2aWNlLFxuICAgIGZlYXR1cmVNb2RpZmljYXRpb246IEZlYXR1cmVNb2RpZmljYXRpb25TZXJ2aWNlLFxuICAgIGNvbnRyb2xzOiBDb250cm9sc1NlcnZpY2UsXG4gICkge1xuICAgIHN1cGVyKHNlcnZpY2UpO1xuICAgIHRoaXMucmVnaXN0ZXJTZXJ2aWNlcyhbbWFuYWdlbWVudCwgc3RhdGUsIGludGVyYWN0aW9uLCBtYXBGZWF0dXJlLCBkcmF3aW5nLCBmZWF0dXJlTW9kaWZpY2F0aW9uLCBjb250cm9sc10pO1xuICB9XG5cbiAgcHJvdGVjdGVkIF91cCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlZ2lzdGVyUmVwbGF5KE1hcFJlbmRlcmVkRXZlbnQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJSZXBsYXkoUGxhY2VMYXllckZlYXR1cmVzQ29tbWFuZC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclJlcGxheShSZW1vdmVDb250cm9sQ29tbWFuZC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclJlcGxheShBZGRDb250cm9sQ29tbWFuZC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclJlcGxheShTZXRNYXBDZW50ZXJDb21tYW5kLklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3ViamVjdChBZGRMYXllckNvbW1hbmQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0KFJlbW92ZUxheWVyQ29tbWFuZC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3QoQWRkVGlsZUNvbW1hbmQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0KFJlbW92ZVRpbGVDb21tYW5kLklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3ViamVjdChNYXBDbGlja0V2ZW50LklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3ViamVjdChDbG9zZVRvb2x0aXBDb21tYW5kLklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3ViamVjdChGaXRUb0ZlYXR1cmVzQ29tbWFuZC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3QoTWFwTW92ZUVuZEV2ZW50LklEKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3ViamVjdChDYW5jZWxEcmF3aW5nQ29tbWFuZC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3QoU3RhcnREcmF3aW5nQ29tbWFuZC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3QoR2V0TGF5ZXJRdWVyeS5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3QoRHJhd2luZ0ZpbmlzaGVkRXZlbnQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0KEdldEZlYXR1cmVzSW5BcmVhUXVlcnkuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0KERyYXdTZWxlY3Rpb25BcmVhQ29tbWFuZC5JRCk7XG4gICAgdGhpcy5yZWdpc3RlclN1YmplY3QoQ2FuY2VsRmVhdHVyZU1vZGlmaWNhdGlvbkNvbW1hbmQuSUQpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJqZWN0KE1vZGlmeUZlYXR1cmVDb21tYW5kLklEKTtcbiAgICB0aGlzLnNldEV4ZWN1dG9ycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRFeGVjdXRvcnMoKSB7XG4gICAgdGhpcy5yZWdpc3RlckV4ZWN1dG9yKEZpbHRlckZlYXR1cmVzSW5BcmVhRXhlY3V0b3IuSUQsIChlOiBGaWx0ZXJGZWF0dXJlc0luQXJlYUV4ZWN1dG9yKSA9PlxuICAgICAgRmVhdHVyZVNlcnZpY2UuZmlsdGVyRmVhdHVyZXNJbkFyZWEoZSksXG4gICAgKTtcbiAgICB0aGlzLnJlZ2lzdGVyRXhlY3V0b3IoR2VuZXJhdGVEcmF3RXhlY3V0b3IuSUQsIChlOiBHZW5lcmF0ZURyYXdFeGVjdXRvcikgPT4gRHJhd2luZ0dlbmVyYXRpb25TZXJ2aWNlLmdldERyYXcoZSkpO1xuICAgIHRoaXMucmVnaXN0ZXJFeGVjdXRvcihHZW5lcmF0ZVpvb21Db250cm9sRXhlY3V0b3IuSUQsIChlOiBHZW5lcmF0ZVpvb21Db250cm9sRXhlY3V0b3IpID0+XG4gICAgICBab29tQ29udHJvbEZhY3RvcnkuYnVpbGQoZS5zZXR0aW5ncyksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -6,11 +6,11 @@ import { Feature, Collection } from 'ol';
6
6
  import { Point, LineString } from 'ol/geom';
7
7
  import { GeoJSON, WKT } from 'ol/format';
8
8
  import { getCenter, createEmpty, extend } from 'ol/extent';
9
+ import { Control, Zoom } from 'ol/control';
9
10
  import { get, useGeographic, transform } from 'ol/proj';
10
11
  import { PostboyGenericMessage, PostboyCallbackMessage, PostboyExecutor, PostboyService, PostboyAbstractRegistrator } from '@artstesh/postboy';
11
12
  import { Draw, Modify, Translate } from 'ol/interaction';
12
13
  import { createRegularPolygon, createBox } from 'ol/interaction/Draw';
13
- import { Zoom } from 'ol/control';
14
14
  import { first, filter, auditTime } from 'rxjs/operators';
15
15
  import { Vector, XYZ } from 'ol/source';
16
16
  import TileLayer from 'ol/layer/Tile';
@@ -176,6 +176,8 @@ class PolygonModel {
176
176
  this.info = info;
177
177
  this.id = id == null ? IdGenerator.get() : id;
178
178
  this._feature = feature;
179
+ if (this.info)
180
+ this._feature?.set(MapConstants.FeatureInfo, this.info);
179
181
  [this.lng, this.lat] = getCenter(this._feature.getGeometry()?.getExtent());
180
182
  }
181
183
  get feature() {
@@ -251,6 +253,20 @@ class Dictionary {
251
253
  }
252
254
  }
253
255
 
256
+ /**
257
+ *
258
+ * A control is a visible widget with a DOM element in a fixed position on the screen. They can involve user input (buttons), or be informational only; the position is determined using CSS. By default these are placed in the container with CSS class name ol-overlaycontainer-stopevent, but can use any outside DOM element.
259
+ * This is the base class for controls. You can use it for simple custom controls by creating the element with listeners, creating an instance:
260
+ * var myControl = new Control({element: myElement}); and then adding this to the map.
261
+ * The main advantage of having this as a control rather than a simple separate DOM element is that preventing propagation is handled for you. Controls will also be objects in a module:ol/Collection~Collection, so you can use their methods.
262
+ * You can also extend this base for your own control class. See examples/custom-controls for an example of how to do this.
263
+ */
264
+ class MapControl extends Control {
265
+ constructor(options) {
266
+ super(options);
267
+ }
268
+ }
269
+
254
270
  class MapRenderedEvent extends PostboyGenericMessage {
255
271
  map;
256
272
  static ID = 'b6121807-3b89-4cd3-82cf-089d2cefdc4f';
@@ -367,6 +383,55 @@ class CancelFeatureModificationCommand extends PostboyGenericMessage {
367
383
  }
368
384
  }
369
385
 
386
+ class AddControlCommand extends PostboyGenericMessage {
387
+ item;
388
+ static ID = '8e1c06eb-b395-4fe1-929c-ebf0805eeb49';
389
+ constructor(item) {
390
+ super();
391
+ this.item = item;
392
+ }
393
+ get id() {
394
+ return AddControlCommand.ID;
395
+ }
396
+ }
397
+
398
+ class RemoveControlCommand extends PostboyGenericMessage {
399
+ item;
400
+ static ID = '361641e0-804a-4930-8c27-0cea6330dbfc';
401
+ constructor(item) {
402
+ super();
403
+ this.item = item;
404
+ }
405
+ get id() {
406
+ return RemoveControlCommand.ID;
407
+ }
408
+ }
409
+
410
+ /**
411
+ * Forces map to move to a specific point
412
+ */
413
+ class SetMapCenterCommand extends PostboyGenericMessage {
414
+ lat;
415
+ lng;
416
+ zoom;
417
+ static ID = 'd50e89c9-6707-4f8c-ab57-65fcef232182';
418
+ /**
419
+ *
420
+ * @param lat - the desired latitude
421
+ * @param lng - the desired longitude
422
+ * @param zoom - the desired zoom; doesn't change zoom if undefined
423
+ */
424
+ constructor(lat, lng, zoom) {
425
+ super();
426
+ this.lat = lat;
427
+ this.lng = lng;
428
+ this.zoom = zoom;
429
+ }
430
+ get id() {
431
+ return SetMapCenterCommand.ID;
432
+ }
433
+ }
434
+
370
435
  class AddLayerCommand extends PostboyGenericMessage {
371
436
  layer;
372
437
  static ID = 'd93e250f-92bc-43ac-9c6a-46c521a1aaa5';
@@ -679,7 +744,14 @@ class MapStateService {
679
744
  this.postboy = postboy;
680
745
  }
681
746
  up() {
682
- this.postboy.subscribe(MapRenderedEvent.ID).subscribe((ev) => {
747
+ this.observeMapRendering();
748
+ this.observeCenter();
749
+ }
750
+ observeMapRendering() {
751
+ this.postboy
752
+ .subscribe(MapRenderedEvent.ID)
753
+ .pipe(first())
754
+ .subscribe((ev) => {
683
755
  this.map = ev.map;
684
756
  this.map?.on('moveend', () => {
685
757
  const zoom = Math.floor(this.map?.getView().getZoom() || -1);
@@ -688,6 +760,13 @@ class MapStateService {
688
760
  });
689
761
  });
690
762
  }
763
+ observeCenter() {
764
+ this.postboy.subscribe(SetMapCenterCommand.ID).subscribe((c) => {
765
+ this.map?.getView().setCenter([c.lng, c.lat]);
766
+ if (c.zoom)
767
+ this.map?.getView().setZoom(c.zoom);
768
+ });
769
+ }
691
770
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapStateService, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
692
771
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapStateService });
693
772
  }
@@ -953,14 +1032,51 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
953
1032
  type: Injectable
954
1033
  }], ctorParameters: function () { return [{ type: MapPostboyService }]; } });
955
1034
 
1035
+ class ControlsService {
1036
+ postboy;
1037
+ map;
1038
+ constructor(postboy) {
1039
+ this.postboy = postboy;
1040
+ }
1041
+ up() {
1042
+ this.observeMapRender();
1043
+ }
1044
+ observeMapRender() {
1045
+ this.postboy
1046
+ .subscribe(MapRenderedEvent.ID)
1047
+ .pipe(first())
1048
+ .subscribe((m) => {
1049
+ this.map = m.map;
1050
+ this.observeAdding();
1051
+ this.observeRemoving();
1052
+ });
1053
+ }
1054
+ observeAdding() {
1055
+ this.postboy.subscribe(AddControlCommand.ID).subscribe((c) => this.map?.addControl(c.item));
1056
+ }
1057
+ observeRemoving() {
1058
+ this.postboy
1059
+ .subscribe(RemoveControlCommand.ID)
1060
+ .subscribe((c) => this.map?.removeControl(c.item));
1061
+ }
1062
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ControlsService, deps: [{ token: MapPostboyService }], target: i0.ɵɵFactoryTarget.Injectable });
1063
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ControlsService });
1064
+ }
1065
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ControlsService, decorators: [{
1066
+ type: Injectable
1067
+ }], ctorParameters: function () { return [{ type: MapPostboyService }]; } });
1068
+
956
1069
  class MessageRegistratorService extends PostboyAbstractRegistrator {
957
- constructor(service, management, state, mapFeature, interaction, drawing, featureModification) {
1070
+ constructor(service, management, state, mapFeature, interaction, drawing, featureModification, controls) {
958
1071
  super(service);
959
- this.registerServices([management, state, interaction, mapFeature, drawing, featureModification]);
1072
+ this.registerServices([management, state, interaction, mapFeature, drawing, featureModification, controls]);
960
1073
  }
961
1074
  _up() {
962
1075
  this.registerReplay(MapRenderedEvent.ID);
963
1076
  this.registerReplay(PlaceLayerFeaturesCommand.ID);
1077
+ this.registerReplay(RemoveControlCommand.ID);
1078
+ this.registerReplay(AddControlCommand.ID);
1079
+ this.registerReplay(SetMapCenterCommand.ID);
964
1080
  this.registerSubject(AddLayerCommand.ID);
965
1081
  this.registerSubject(RemoveLayerCommand.ID);
966
1082
  this.registerSubject(AddTileCommand.ID);
@@ -984,12 +1100,12 @@ class MessageRegistratorService extends PostboyAbstractRegistrator {
984
1100
  this.registerExecutor(GenerateDrawExecutor.ID, (e) => DrawingGenerationService.getDraw(e));
985
1101
  this.registerExecutor(GenerateZoomControlExecutor.ID, (e) => ZoomControlFactory.build(e.settings));
986
1102
  }
987
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageRegistratorService, deps: [{ token: MapPostboyService }, { token: MapManagementService }, { token: MapStateService }, { token: MapFeatureService }, { token: MapClickService }, { token: DrawingService }, { token: FeatureModificationService }], target: i0.ɵɵFactoryTarget.Injectable });
1103
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageRegistratorService, deps: [{ token: MapPostboyService }, { token: MapManagementService }, { token: MapStateService }, { token: MapFeatureService }, { token: MapClickService }, { token: DrawingService }, { token: FeatureModificationService }, { token: ControlsService }], target: i0.ɵɵFactoryTarget.Injectable });
988
1104
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageRegistratorService });
989
1105
  }
990
1106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageRegistratorService, decorators: [{
991
1107
  type: Injectable
992
- }], ctorParameters: function () { return [{ type: MapPostboyService }, { type: MapManagementService }, { type: MapStateService }, { type: MapFeatureService }, { type: MapClickService }, { type: DrawingService }, { type: FeatureModificationService }]; } });
1108
+ }], ctorParameters: function () { return [{ type: MapPostboyService }, { type: MapManagementService }, { type: MapStateService }, { type: MapFeatureService }, { type: MapClickService }, { type: DrawingService }, { type: FeatureModificationService }, { type: ControlsService }]; } });
993
1109
 
994
1110
  class TileLayerSettings {
995
1111
  maxZoom = 19;
@@ -1603,6 +1719,7 @@ class MapPlateComponent extends DestructibleComponent {
1603
1719
  DrawingGenerationService,
1604
1720
  FeatureService,
1605
1721
  FeatureModificationService,
1722
+ ControlsService,
1606
1723
  ], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\r\n<art-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\"></art-osm-tile-layer>\r\n<art-feature-layer *ngIf=\"map\" [settings]=\"drawingLayerSettings\"></art-feature-layer>\r\n", styles: ["art-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: OsmTileLayerComponent, selector: "art-osm-tile-layer", inputs: ["url", "map"] }, { kind: "component", type: FeatureLayerComponent, selector: "art-feature-layer", inputs: ["settings"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1607
1724
  }
1608
1725
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapPlateComponent, decorators: [{
@@ -1617,6 +1734,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1617
1734
  DrawingGenerationService,
1618
1735
  FeatureService,
1619
1736
  FeatureModificationService,
1737
+ ControlsService,
1620
1738
  ], template: "<ng-content></ng-content>\r\n<art-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\"></art-osm-tile-layer>\r\n<art-feature-layer *ngIf=\"map\" [settings]=\"drawingLayerSettings\"></art-feature-layer>\r\n", styles: ["art-map-plate{position:relative;display:flex;flex-direction:column;height:100%}\n"] }]
1621
1739
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: MapPostboyService }, { type: MapPlateFactory }, { type: MessageRegistratorService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { settings: [{
1622
1740
  type: Input
@@ -2063,5 +2181,5 @@ class StringifyFeatureHelper {
2063
2181
  * Generated bundle index. Do not edit.
2064
2182
  */
2065
2183
 
2066
- export { CancelDrawingCommand, CancelFeatureModificationCommand, CloseTooltipCommand, ClusterLayerComponent, ClusterLayerSettings, Dictionary, DrawSelectionAreaCommand, DrawingType, FeatureLayerComponent, FeatureLayerSettings, FeatureOutputFormat, MapClickEvent, MapControlZoomComponent, MapLyrs, MapLyrsLabel, MapModule, MapMoveEndEvent, MapPlateComponent, MapPostboyService, MapRenderedEvent, MapSettings, MarkerModel, MarkerStyleHelper, MarkersComponent, MessageRegistratorService, ModifyFeatureCommand, OsmTileLayerComponent, PolygonModel, PolygonStyleHelper, PolygonsComponent, StartDrawingCommand, StringifyFeatureHelper, TextStyleHelper, TileLayerComponent, TileLayerSettings, TooltipComponent, TooltipSettings, ZoomControlSettings };
2184
+ export { AddControlCommand, CancelDrawingCommand, CancelFeatureModificationCommand, CloseTooltipCommand, ClusterLayerComponent, ClusterLayerSettings, Dictionary, DrawSelectionAreaCommand, DrawingType, FeatureLayerComponent, FeatureLayerSettings, FeatureOutputFormat, MapClickEvent, MapControl, MapControlZoomComponent, MapLyrs, MapLyrsLabel, MapModule, MapMoveEndEvent, MapPlateComponent, MapPostboyService, MapRenderedEvent, MapSettings, MarkerModel, MarkerStyleHelper, MarkersComponent, MessageRegistratorService, ModifyFeatureCommand, OsmTileLayerComponent, PolygonModel, PolygonStyleHelper, PolygonsComponent, RemoveControlCommand, SetMapCenterCommand, StartDrawingCommand, StringifyFeatureHelper, TextStyleHelper, TileLayerComponent, TileLayerSettings, TooltipComponent, TooltipSettings, ZoomControlSettings };
2067
2185
  //# sourceMappingURL=maps-components-src-map.mjs.map