@artstesh/maps 5.2.9 → 5.2.11

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.
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, } from '@angular/core';
2
2
  import { MapLyrsLabel, MapSettings } from '../models';
3
3
  import { useGeographic } from 'ol/proj';
4
4
  import { DestructibleComponent } from '../common/destructible.component';
@@ -29,6 +29,7 @@ export class MapPlateComponent extends DestructibleComponent {
29
29
  mapFactory;
30
30
  registrator;
31
31
  detector;
32
+ renderTryCount = 0;
32
33
  map;
33
34
  osmUrl = '';
34
35
  drawingLayerSettings = new FeatureLayerSettings().setName(MapConstants.DrawingLayerId);
@@ -48,7 +49,7 @@ export class MapPlateComponent extends DestructibleComponent {
48
49
  this._settings = value;
49
50
  this.setOsm();
50
51
  }
51
- ngOnInit() {
52
+ initializeMap() {
52
53
  useGeographic();
53
54
  this.map = this.mapFactory.build(this._settings);
54
55
  this.map.setTarget(this.elementRef.nativeElement);
@@ -62,6 +63,20 @@ export class MapPlateComponent extends DestructibleComponent {
62
63
  });
63
64
  this.setOsm();
64
65
  }
66
+ ngAfterViewInit() {
67
+ const mapContainer = this.elementRef.nativeElement;
68
+ const checkContainerSize = () => {
69
+ const { clientWidth, clientHeight } = mapContainer;
70
+ if (clientWidth > 0 && clientHeight > 0) {
71
+ this.initializeMap();
72
+ }
73
+ else {
74
+ console.error("Map's container is not rendered yet or has zero size. Trying again in 100 ms.");
75
+ setTimeout(checkContainerSize, 20 * ++this.renderTryCount); // Проверка каждые 100 мс
76
+ }
77
+ };
78
+ checkContainerSize();
79
+ }
65
80
  onDestroy = () => {
66
81
  this.registrator.down();
67
82
  };
@@ -84,7 +99,7 @@ export class MapPlateComponent extends DestructibleComponent {
84
99
  FeatureService,
85
100
  FeatureModificationService,
86
101
  ControlsService,
87
- ], 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: i5.OsmTileLayerComponent, selector: "art-osm-tile-layer", inputs: ["url", "map"] }, { kind: "component", type: i6.FeatureLayerComponent, selector: "art-feature-layer", inputs: ["settings"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
102
+ ], 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{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.OsmTileLayerComponent, selector: "art-osm-tile-layer", inputs: ["url", "map"] }, { kind: "component", type: i6.FeatureLayerComponent, selector: "art-feature-layer", inputs: ["settings"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
88
103
  }
89
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapPlateComponent, decorators: [{
90
105
  type: Component,
@@ -99,8 +114,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
99
114
  FeatureService,
100
115
  FeatureModificationService,
101
116
  ControlsService,
102
- ], 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"] }]
117
+ ], encapsulation: ViewEncapsulation.None, 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{display:block;width:100%;height:100%}\n"] }]
103
118
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MapPostboyService }, { type: i2.MapPlateFactory }, { type: i3.MessageRegistratorService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { settings: [{
104
119
  type: Input
105
120
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMx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QUUsQ0FBQztJQUN4QixDQUFDO3dHQWxEVSxpQkFBaUI7NEZBQWpCLGlCQUFpQiwwRUFiakI7WUFDVCx5QkFBeUI7WUFDekIsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGNBQWM7WUFDZCx3QkFBd0I7WUFDeEIsY0FBYztZQUNkLDBCQUEwQjtZQUMxQixlQUFlO1NBQ2hCLGlEQ3RDSCxnT0FHQTs7NEZEcUNhLGlCQUFpQjtrQkFsQjdCLFNBQVM7K0JBQ0UsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNULHlCQUF5Qjt3QkFDekIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsY0FBYzt3QkFDZCwwQkFBMEI7d0JBQzFCLGVBQWU7cUJBQ2hCO3VPQW9CWSxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcEx5cnNMYWJlbCwgTWFwU2V0dGluZ3MgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IE1hcCBmcm9tICdvbC9NYXAnO1xuaW1wb3J0IHsgdXNlR2VvZ3JhcGhpYyB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21lc3NhZ2UtcmVnaXN0cmF0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IE1hcFN0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBQbGF0ZUZhY3RvcnkgfSBmcm9tICcuL21hcC1wbGF0ZS5mYWN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQ2xpY2tTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLWNsaWNrLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwRmVhdHVyZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYXAtZmVhdHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZlYXR1cmVMYXllclNldHRpbmdzIH0gZnJvbSAnLi9sYXllcnMnO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi4vbW9kZWxzL21hcC5jb25zdGFudHMnO1xuaW1wb3J0IHsgRHJhd2luZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9kcmF3aW5nL2RyYXdpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBEcmF3aW5nR2VuZXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9kcmF3aW5nL2RyYXdpbmctZ2VuZXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEZlYXR1cmVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmVhdHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZlYXR1cmVNb2RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZHJhd2luZy9mZWF0dXJlLW1vZGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnRyb2xzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbnRyb2xzL2NvbnRyb2xzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUG9pbnRlck1vdmVFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzL2V2ZW50cy9tYXAtcG9pbnRlci1tb3ZlLmV2ZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJ0LW1hcC1wbGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXAtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXAtcGxhdGUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIE1lc3NhZ2VSZWdpc3RyYXRvclNlcnZpY2UsXG4gICAgTWFwU3RhdGVTZXJ2aWNlLFxuICAgIE1hcE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIE1hcENsaWNrU2VydmljZSxcbiAgICBNYXBGZWF0dXJlU2VydmljZSxcbiAgICBEcmF3aW5nU2VydmljZSxcbiAgICBEcmF3aW5nR2VuZXJhdGlvblNlcnZpY2UsXG4gICAgRmVhdHVyZVNlcnZpY2UsXG4gICAgRmVhdHVyZU1vZGlmaWNhdGlvblNlcnZpY2UsXG4gICAgQ29udHJvbHNTZXJ2aWNlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBQbGF0ZUNvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG1hcCE6IE1hcDtcbiAgb3NtVXJsID0gJyc7XG4gIGRyYXdpbmdMYXllclNldHRpbmdzID0gbmV3IEZlYXR1cmVMYXllclNldHRpbmdzKCkuc2V0TmFtZShNYXBDb25zdGFudHMuRHJhd2luZ0xheWVySWQpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWFwRmFjdG9yeTogTWFwUGxhdGVGYWN0b3J5LFxuICAgIHByaXZhdGUgcmVnaXN0cmF0b3I6IE1lc3NhZ2VSZWdpc3RyYXRvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgcmVnaXN0cmF0b3IudXAoKTtcbiAgfVxuXG4gIF9zZXR0aW5nczogTWFwU2V0dGluZ3MgPSBuZXcgTWFwU2V0dGluZ3MoKTtcblxuICBASW5wdXQoKSBzZXQgc2V0dGluZ3ModmFsdWU6IE1hcFNldHRpbmdzIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSB8fCB0aGlzLl9zZXR0aW5ncy5pc1NhbWUodmFsdWUpKSByZXR1cm47XG4gICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcbiAgICB0aGlzLnNldE9zbSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdXNlR2VvZ3JhcGhpYygpO1xuICAgIHRoaXMubWFwID0gdGhpcy5tYXBGYWN0b3J5LmJ1aWxkKHRoaXMuX3NldHRpbmdzKTtcbiAgICB0aGlzLm1hcC5zZXRUYXJnZXQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMuZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMubWFwLm9uY2UoJ3Bvc3RyZW5kZXInLCAoKSA9PiB7XG4gICAgICB0aGlzLm1hcC51cGRhdGVTaXplKCk7XG4gICAgICB0aGlzLnBvc3Rib3kuZmlyZShuZXcgTWFwUmVuZGVyZWRFdmVudCh0aGlzLm1hcCkpO1xuICAgIH0pO1xuICAgIHRoaXMubWFwLm9uKCdwb2ludGVybW92ZScsIChldikgPT4ge1xuICAgICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IE1hcFBvaW50ZXJNb3ZlRXZlbnQoZXYucGl4ZWwpKTtcbiAgICB9KTtcbiAgICB0aGlzLnNldE9zbSgpO1xuICB9XG5cbiAgb25EZXN0cm95ID0gKCkgPT4ge1xuICAgIHRoaXMucmVnaXN0cmF0b3IuZG93bigpO1xuICB9O1xuXG4gIHByaXZhdGUgc2V0T3NtKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICB0aGlzLm9zbVVybCA9IGBodHRwczovL210ezAtM30uZ29vZ2xlLmNvbS92dC9seXJzPSR7TWFwTHlyc0xhYmVsLmdldCh0aGlzLl9zZXR0aW5ncy5seXJzKX0maGw9JHtcbiAgICAgIHRoaXMuX3NldHRpbmdzLmxhbmd1YWdlXG4gICAgfSZ4PXt4fSZ5PXt5fSZ6PXt6fWA7XG4gICAgdGhpcy5kZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5tYXAudXBkYXRlU2l6ZSgpO1xuICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjxhcnQtb3NtLXRpbGUtbGF5ZXIgKm5nSWY9XCJvc21VcmwgJiYgbWFwXCIgW21hcF09XCJtYXBcIiBbdXJsXT1cIm9zbVVybFwiPjwvYXJ0LW9zbS10aWxlLWxheWVyPlxyXG48YXJ0LWZlYXR1cmUtbGF5ZXIgKm5nSWY9XCJtYXBcIiBbc2V0dGluZ3NdPVwiZHJhd2luZ0xheWVyU2V0dGluZ3NcIj48L2FydC1mZWF0dXJlLWxheWVyPlxyXG4iXX0=
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxLQUFLLEVBQ0wsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7QUFxQmhGLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxxQkFBcUI7SUFPaEQ7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQVZGLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFDM0IsR0FBRyxDQUFPO0lBQ1YsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNaLG9CQUFvQixHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRXZGLFlBQ1UsVUFBc0IsRUFDdEIsT0FBMEIsRUFDMUIsVUFBMkIsRUFDM0IsV0FBc0MsRUFDdEMsUUFBMkI7UUFFbkMsS0FBSyxFQUFFLENBQUM7UUFOQSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQzFCLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBQzNCLGdCQUFXLEdBQVgsV0FBVyxDQUEyQjtRQUN0QyxhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQUduQyxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFNBQVMsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUUzQyxJQUFhLFFBQVEsQ0FBQyxLQUE4QjtRQUNsRCxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDbkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxhQUFhO1FBQ25CLGFBQWEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO1lBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksbUJBQW1CLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUVuRCxNQUFNLGtCQUFrQixHQUFHLEdBQUcsRUFBRTtZQUM5QixNQUFNLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxHQUFHLFlBQVksQ0FBQztZQUNuRCxJQUFJLFdBQVcsR0FBRyxDQUFDLElBQUksWUFBWSxHQUFHLENBQUMsRUFBRTtnQkFDdkMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQ3RCO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMsK0VBQStFLENBQUMsQ0FBQztnQkFDL0YsVUFBVSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLHlCQUF5QjthQUN0RjtRQUNILENBQUMsQ0FBQztRQUVGLGtCQUFrQixFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFNBQVMsR0FBRyxHQUFHLEVBQUU7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUMsQ0FBQztJQUVNLE1BQU07UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFBRSxPQUFPO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsc0NBQXNDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FDdkYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUNqQixvQkFBb0IsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEIsQ0FBQzt3R0FuRVUsaUJBQWlCOzRGQUFqQixpQkFBaUIsMEVBZGpCO1lBQ1QseUJBQXlCO1lBQ3pCLGVBQWU7WUFDZixvQkFBb0I7WUFDcEIsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixjQUFjO1lBQ2Qsd0JBQXdCO1lBQ3hCLGNBQWM7WUFDZCwwQkFBMEI7WUFDMUIsZUFBZTtTQUNoQixpREM5Q0gsZ09BR0E7OzRGRDhDYSxpQkFBaUI7a0JBbkI3QixTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVCx5QkFBeUI7d0JBQ3pCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCx3QkFBd0I7d0JBQ3hCLGNBQWM7d0JBQ2QsMEJBQTBCO3dCQUMxQixlQUFlO3FCQUNoQixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJO3VPQXFCeEIsUUFBUTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwTHlyc0xhYmVsLCBNYXBTZXR0aW5ncyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgTWFwIGZyb20gJ29sL01hcCc7XG5pbXBvcnQgeyB1c2VHZW9ncmFwaGljIH0gZnJvbSAnb2wvcHJvaic7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZXNzYWdlUmVnaXN0cmF0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgTWFwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwTWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYXAtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFBsYXRlRmFjdG9yeSB9IGZyb20gJy4vbWFwLXBsYXRlLmZhY3Rvcnkuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBDbGlja1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYXAtY2xpY2suc2VydmljZSc7XG5pbXBvcnQgeyBNYXBGZWF0dXJlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1mZWF0dXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmVhdHVyZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2xheWVycyc7XG5pbXBvcnQgeyBNYXBDb25zdGFudHMgfSBmcm9tICcuLi9tb2RlbHMvbWFwLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBEcmF3aW5nU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2RyYXdpbmcvZHJhd2luZy5zZXJ2aWNlJztcbmltcG9ydCB7IERyYXdpbmdHZW5lcmF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2RyYXdpbmcvZHJhd2luZy1nZW5lcmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmVhdHVyZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9mZWF0dXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmVhdHVyZU1vZGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9kcmF3aW5nL2ZlYXR1cmUtbW9kaWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29udHJvbHNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29udHJvbHMvY29udHJvbHMuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBQb2ludGVyTW92ZUV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMvZXZlbnRzL21hcC1wb2ludGVyLW1vdmUuZXZlbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcnQtbWFwLXBsYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hcC1wbGF0ZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSxcbiAgICBNYXBTdGF0ZVNlcnZpY2UsXG4gICAgTWFwTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgTWFwQ2xpY2tTZXJ2aWNlLFxuICAgIE1hcEZlYXR1cmVTZXJ2aWNlLFxuICAgIERyYXdpbmdTZXJ2aWNlLFxuICAgIERyYXdpbmdHZW5lcmF0aW9uU2VydmljZSxcbiAgICBGZWF0dXJlU2VydmljZSxcbiAgICBGZWF0dXJlTW9kaWZpY2F0aW9uU2VydmljZSxcbiAgICBDb250cm9sc1NlcnZpY2UsXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIE1hcFBsYXRlQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgcmVuZGVyVHJ5Q291bnQgPSAwO1xuICBtYXAhOiBNYXA7XG4gIG9zbVVybCA9ICcnO1xuICBkcmF3aW5nTGF5ZXJTZXR0aW5ncyA9IG5ldyBGZWF0dXJlTGF5ZXJTZXR0aW5ncygpLnNldE5hbWUoTWFwQ29uc3RhbnRzLkRyYXdpbmdMYXllcklkKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSxcbiAgICBwcml2YXRlIG1hcEZhY3Rvcnk6IE1hcFBsYXRlRmFjdG9yeSxcbiAgICBwcml2YXRlIHJlZ2lzdHJhdG9yOiBNZXNzYWdlUmVnaXN0cmF0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHJlZ2lzdHJhdG9yLnVwKCk7XG4gIH1cblxuICBfc2V0dGluZ3M6IE1hcFNldHRpbmdzID0gbmV3IE1hcFNldHRpbmdzKCk7XG5cbiAgQElucHV0KCkgc2V0IHNldHRpbmdzKHZhbHVlOiBNYXBTZXR0aW5ncyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUgfHwgdGhpcy5fc2V0dGluZ3MuaXNTYW1lKHZhbHVlKSkgcmV0dXJuO1xuICAgIHRoaXMuX3NldHRpbmdzID0gdmFsdWU7XG4gICAgdGhpcy5zZXRPc20oKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZU1hcCgpIHtcbiAgICB1c2VHZW9ncmFwaGljKCk7XG4gICAgdGhpcy5tYXAgPSB0aGlzLm1hcEZhY3RvcnkuYnVpbGQodGhpcy5fc2V0dGluZ3MpO1xuICAgIHRoaXMubWFwLnNldFRhcmdldCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5kZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5tYXAub25jZSgncG9zdHJlbmRlcicsICgpID0+IHtcbiAgICAgIHRoaXMubWFwLnVwZGF0ZVNpemUoKTtcbiAgICAgIHRoaXMucG9zdGJveS5maXJlKG5ldyBNYXBSZW5kZXJlZEV2ZW50KHRoaXMubWFwKSk7XG4gICAgfSk7XG4gICAgdGhpcy5tYXAub24oJ3BvaW50ZXJtb3ZlJywgKGV2KSA9PiB7XG4gICAgICB0aGlzLnBvc3Rib3kuZmlyZShuZXcgTWFwUG9pbnRlck1vdmVFdmVudChldi5waXhlbCkpO1xuICAgIH0pO1xuICAgIHRoaXMuc2V0T3NtKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgbWFwQ29udGFpbmVyID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBjb25zdCBjaGVja0NvbnRhaW5lclNpemUgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNsaWVudFdpZHRoLCBjbGllbnRIZWlnaHQgfSA9IG1hcENvbnRhaW5lcjtcbiAgICAgIGlmIChjbGllbnRXaWR0aCA+IDAgJiYgY2xpZW50SGVpZ2h0ID4gMCkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVNYXAoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJNYXAncyBjb250YWluZXIgaXMgbm90IHJlbmRlcmVkIHlldCBvciBoYXMgemVybyBzaXplLiBUcnlpbmcgYWdhaW4gaW4gMTAwIG1zLlwiKTtcbiAgICAgICAgc2V0VGltZW91dChjaGVja0NvbnRhaW5lclNpemUsIDIwICogKyt0aGlzLnJlbmRlclRyeUNvdW50KTsgLy8g0J/RgNC+0LLQtdGA0LrQsCDQutCw0LbQtNGL0LUgMTAwINC80YFcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY2hlY2tDb250YWluZXJTaXplKCk7XG4gIH1cblxuICBvbkRlc3Ryb3kgPSAoKSA9PiB7XG4gICAgdGhpcy5yZWdpc3RyYXRvci5kb3duKCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBzZXRPc20oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgIHRoaXMub3NtVXJsID0gYGh0dHBzOi8vbXR7MC0zfS5nb29nbGUuY29tL3Z0L2x5cnM9JHtNYXBMeXJzTGFiZWwuZ2V0KHRoaXMuX3NldHRpbmdzLmx5cnMpfSZobD0ke1xuICAgICAgdGhpcy5fc2V0dGluZ3MubGFuZ3VhZ2VcbiAgICB9Jng9e3h9Jnk9e3l9Jno9e3p9YDtcbiAgICB0aGlzLmRldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLm1hcC51cGRhdGVTaXplKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPGFydC1vc20tdGlsZS1sYXllciAqbmdJZj1cIm9zbVVybCAmJiBtYXBcIiBbbWFwXT1cIm1hcFwiIFt1cmxdPVwib3NtVXJsXCI+PC9hcnQtb3NtLXRpbGUtbGF5ZXI+XHJcbjxhcnQtZmVhdHVyZS1sYXllciAqbmdJZj1cIm1hcFwiIFtzZXR0aW5nc109XCJkcmF3aW5nTGF5ZXJTZXR0aW5nc1wiPjwvYXJ0LWZlYXR1cmUtbGF5ZXI+XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, } from '@angular/core';
2
2
  import { MapLyrsLabel, MapSettings } from '../models';
3
3
  import { useGeographic } from 'ol/proj';
4
4
  import { DestructibleComponent } from '../common/destructible.component';
@@ -29,6 +29,7 @@ export class MapPlateComponent extends DestructibleComponent {
29
29
  mapFactory;
30
30
  registrator;
31
31
  detector;
32
+ renderTryCount = 0;
32
33
  map;
33
34
  osmUrl = '';
34
35
  drawingLayerSettings = new FeatureLayerSettings().setName(MapConstants.DrawingLayerId);
@@ -48,7 +49,7 @@ export class MapPlateComponent extends DestructibleComponent {
48
49
  this._settings = value;
49
50
  this.setOsm();
50
51
  }
51
- ngOnInit() {
52
+ initializeMap() {
52
53
  useGeographic();
53
54
  this.map = this.mapFactory.build(this._settings);
54
55
  this.map.setTarget(this.elementRef.nativeElement);
@@ -62,6 +63,20 @@ export class MapPlateComponent extends DestructibleComponent {
62
63
  });
63
64
  this.setOsm();
64
65
  }
66
+ ngAfterViewInit() {
67
+ const mapContainer = this.elementRef.nativeElement;
68
+ const checkContainerSize = () => {
69
+ const { clientWidth, clientHeight } = mapContainer;
70
+ if (clientWidth > 0 && clientHeight > 0) {
71
+ this.initializeMap();
72
+ }
73
+ else {
74
+ console.error("Map's container is not rendered yet or has zero size. Trying again in 100 ms.");
75
+ setTimeout(checkContainerSize, 20 * ++this.renderTryCount); // Проверка каждые 100 мс
76
+ }
77
+ };
78
+ checkContainerSize();
79
+ }
65
80
  onDestroy = () => {
66
81
  this.registrator.down();
67
82
  };
@@ -84,7 +99,7 @@ export class MapPlateComponent extends DestructibleComponent {
84
99
  FeatureService,
85
100
  FeatureModificationService,
86
101
  ControlsService,
87
- ], 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: i5.OsmTileLayerComponent, selector: "art-osm-tile-layer", inputs: ["url", "map"] }, { kind: "component", type: i6.FeatureLayerComponent, selector: "art-feature-layer", inputs: ["settings"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
102
+ ], 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{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.OsmTileLayerComponent, selector: "art-osm-tile-layer", inputs: ["url", "map"] }, { kind: "component", type: i6.FeatureLayerComponent, selector: "art-feature-layer", inputs: ["settings"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
88
103
  }
89
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapPlateComponent, decorators: [{
90
105
  type: Component,
@@ -99,8 +114,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
99
114
  FeatureService,
100
115
  FeatureModificationService,
101
116
  ControlsService,
102
- ], 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"] }]
117
+ ], encapsulation: ViewEncapsulation.None, 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{display:block;width:100%;height:100%}\n"] }]
103
118
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MapPostboyService }, { type: i2.MapPlateFactory }, { type: i3.MessageRegistratorService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { settings: [{
104
119
  type: Input
105
120
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FB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QUFVLEVBQUUsQ0FBQztJQUN4QixDQUFDO3dHQWxEVSxpQkFBaUI7NEZBQWpCLGlCQUFpQiwwRUFiakI7WUFDVCx5QkFBeUI7WUFDekIsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGNBQWM7WUFDZCx3QkFBd0I7WUFDeEIsY0FBYztZQUNkLDBCQUEwQjtZQUMxQixlQUFlO1NBQ2hCLGlEQ3RDSCxnT0FHQTs7NEZEcUNhLGlCQUFpQjtrQkFsQjdCLFNBQVM7K0JBQ0UsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNULHlCQUF5Qjt3QkFDekIsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsY0FBYzt3QkFDZCwwQkFBMEI7d0JBQzFCLGVBQWU7cUJBQ2hCO3VPQW9CWSxRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcEx5cnNMYWJlbCwgTWFwU2V0dGluZ3MgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IE1hcCBmcm9tICdvbC9NYXAnO1xuaW1wb3J0IHsgdXNlR2VvZ3JhcGhpYyB9IGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IHsgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tbW9uL2Rlc3RydWN0aWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21lc3NhZ2UtcmVnaXN0cmF0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBQb3N0Ym95U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1wb3N0Ym95LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUmVuZGVyZWRFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzJztcbmltcG9ydCB7IE1hcFN0YXRlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBQbGF0ZUZhY3RvcnkgfSBmcm9tICcuL21hcC1wbGF0ZS5mYWN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwQ2xpY2tTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLWNsaWNrLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwRmVhdHVyZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYXAtZmVhdHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZlYXR1cmVMYXllclNldHRpbmdzIH0gZnJvbSAnLi9sYXllcnMnO1xuaW1wb3J0IHsgTWFwQ29uc3RhbnRzIH0gZnJvbSAnLi4vbW9kZWxzL21hcC5jb25zdGFudHMnO1xuaW1wb3J0IHsgRHJhd2luZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9kcmF3aW5nL2RyYXdpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBEcmF3aW5nR2VuZXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9kcmF3aW5nL2RyYXdpbmctZ2VuZXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEZlYXR1cmVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmVhdHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZlYXR1cmVNb2RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZHJhd2luZy9mZWF0dXJlLW1vZGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnRyb2xzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbnRyb2xzL2NvbnRyb2xzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwUG9pbnRlck1vdmVFdmVudCB9IGZyb20gJy4uL21lc3NhZ2VzL2V2ZW50cy9tYXAtcG9pbnRlci1tb3ZlLmV2ZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJ0LW1hcC1wbGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXAtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXAtcGxhdGUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIE1lc3NhZ2VSZWdpc3RyYXRvclNlcnZpY2UsXG4gICAgTWFwU3RhdGVTZXJ2aWNlLFxuICAgIE1hcE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIE1hcENsaWNrU2VydmljZSxcbiAgICBNYXBGZWF0dXJlU2VydmljZSxcbiAgICBEcmF3aW5nU2VydmljZSxcbiAgICBEcmF3aW5nR2VuZXJhdGlvblNlcnZpY2UsXG4gICAgRmVhdHVyZVNlcnZpY2UsXG4gICAgRmVhdHVyZU1vZGlmaWNhdGlvblNlcnZpY2UsXG4gICAgQ29udHJvbHNTZXJ2aWNlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBQbGF0ZUNvbXBvbmVudCBleHRlbmRzIERlc3RydWN0aWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG1hcCE6IE1hcDtcbiAgb3NtVXJsID0gJyc7XG4gIGRyYXdpbmdMYXllclNldHRpbmdzID0gbmV3IEZlYXR1cmVMYXllclNldHRpbmdzKCkuc2V0TmFtZShNYXBDb25zdGFudHMuRHJhd2luZ0xheWVySWQpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHBvc3Rib3k6IE1hcFBvc3Rib3lTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWFwRmFjdG9yeTogTWFwUGxhdGVGYWN0b3J5LFxuICAgIHByaXZhdGUgcmVnaXN0cmF0b3I6IE1lc3NhZ2VSZWdpc3RyYXRvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgcmVnaXN0cmF0b3IudXAoKTtcbiAgfVxuXG4gIF9zZXR0aW5nczogTWFwU2V0dGluZ3MgPSBuZXcgTWFwU2V0dGluZ3MoKTtcblxuICBASW5wdXQoKSBzZXQgc2V0dGluZ3ModmFsdWU6IE1hcFNldHRpbmdzIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSB8fCB0aGlzLl9zZXR0aW5ncy5pc1NhbWUodmFsdWUpKSByZXR1cm47XG4gICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcbiAgICB0aGlzLnNldE9zbSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdXNlR2VvZ3JhcGhpYygpO1xuICAgIHRoaXMubWFwID0gdGhpcy5tYXBGYWN0b3J5LmJ1aWxkKHRoaXMuX3NldHRpbmdzKTtcbiAgICB0aGlzLm1hcC5zZXRUYXJnZXQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMuZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHRoaXMubWFwLm9uY2UoJ3Bvc3RyZW5kZXInLCAoKSA9PiB7XG4gICAgICB0aGlzLm1hcC51cGRhdGVTaXplKCk7XG4gICAgICB0aGlzLnBvc3Rib3kuZmlyZShuZXcgTWFwUmVuZGVyZWRFdmVudCh0aGlzLm1hcCkpO1xuICAgIH0pO1xuICAgIHRoaXMubWFwLm9uKCdwb2ludGVybW92ZScsIChldikgPT4ge1xuICAgICAgdGhpcy5wb3N0Ym95LmZpcmUobmV3IE1hcFBvaW50ZXJNb3ZlRXZlbnQoZXYucGl4ZWwpKTtcbiAgICB9KTtcbiAgICB0aGlzLnNldE9zbSgpO1xuICB9XG5cbiAgb25EZXN0cm95ID0gKCkgPT4ge1xuICAgIHRoaXMucmVnaXN0cmF0b3IuZG93bigpO1xuICB9O1xuXG4gIHByaXZhdGUgc2V0T3NtKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tYXApIHJldHVybjtcbiAgICB0aGlzLm9zbVVybCA9IGBodHRwczovL210ezAtM30uZ29vZ2xlLmNvbS92dC9seXJzPSR7TWFwTHlyc0xhYmVsLmdldCh0aGlzLl9zZXR0aW5ncy5seXJzKX0maGw9JHtcbiAgICAgIHRoaXMuX3NldHRpbmdzLmxhbmd1YWdlXG4gICAgfSZ4PXt4fSZ5PXt5fSZ6PXt6fWA7XG4gICAgdGhpcy5kZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5tYXAudXBkYXRlU2l6ZSgpO1xuICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjxhcnQtb3NtLXRpbGUtbGF5ZXIgKm5nSWY9XCJvc21VcmwgJiYgbWFwXCIgW21hcF09XCJtYXBcIiBbdXJsXT1cIm9zbVVybFwiPjwvYXJ0LW9zbS10aWxlLWxheWVyPlxyXG48YXJ0LWZlYXR1cmUtbGF5ZXIgKm5nSWY9XCJtYXBcIiBbc2V0dGluZ3NdPVwiZHJhd2luZ0xheWVyU2V0dGluZ3NcIj48L2FydC1mZWF0dXJlLWxheWVyPlxyXG4iXX0=
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcHMtY29tcG9uZW50cy9zcmMvbWFwL21hcC1wbGF0ZS9tYXAtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwcy1jb21wb25lbnRzL3NyYy9tYXAvbWFwLXBsYXRlL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxLQUFLLEVBQ0wsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1B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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwTHlyc0xhYmVsLCBNYXBTZXR0aW5ncyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgTWFwIGZyb20gJ29sL01hcCc7XG5pbXBvcnQgeyB1c2VHZW9ncmFwaGljIH0gZnJvbSAnb2wvcHJvaic7XG5pbXBvcnQgeyBEZXN0cnVjdGlibGVDb21wb25lbnQgfSBmcm9tICcuLi9jb21tb24vZGVzdHJ1Y3RpYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZXNzYWdlUmVnaXN0cmF0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWVzc2FnZS1yZWdpc3RyYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFBvc3Rib3lTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLXBvc3Rib3kuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBSZW5kZXJlZEV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgTWFwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFwLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFwTWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYXAtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IE1hcFBsYXRlRmFjdG9yeSB9IGZyb20gJy4vbWFwLXBsYXRlLmZhY3Rvcnkuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBDbGlja1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYXAtY2xpY2suc2VydmljZSc7XG5pbXBvcnQgeyBNYXBGZWF0dXJlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hcC1mZWF0dXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmVhdHVyZUxheWVyU2V0dGluZ3MgfSBmcm9tICcuL2xheWVycyc7XG5pbXBvcnQgeyBNYXBDb25zdGFudHMgfSBmcm9tICcuLi9tb2RlbHMvbWFwLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBEcmF3aW5nU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2RyYXdpbmcvZHJhd2luZy5zZXJ2aWNlJztcbmltcG9ydCB7IERyYXdpbmdHZW5lcmF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2RyYXdpbmcvZHJhd2luZy1nZW5lcmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmVhdHVyZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9mZWF0dXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmVhdHVyZU1vZGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9kcmF3aW5nL2ZlYXR1cmUtbW9kaWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29udHJvbHNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29udHJvbHMvY29udHJvbHMuc2VydmljZSc7XG5pbXBvcnQgeyBNYXBQb2ludGVyTW92ZUV2ZW50IH0gZnJvbSAnLi4vbWVzc2FnZXMvZXZlbnRzL21hcC1wb2ludGVyLW1vdmUuZXZlbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcnQtbWFwLXBsYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcC1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hcC1wbGF0ZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgTWVzc2FnZVJlZ2lzdHJhdG9yU2VydmljZSxcbiAgICBNYXBTdGF0ZVNlcnZpY2UsXG4gICAgTWFwTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgTWFwQ2xpY2tTZXJ2aWNlLFxuICAgIE1hcEZlYXR1cmVTZXJ2aWNlLFxuICAgIERyYXdpbmdTZXJ2aWNlLFxuICAgIERyYXdpbmdHZW5lcmF0aW9uU2VydmljZSxcbiAgICBGZWF0dXJlU2VydmljZSxcbiAgICBGZWF0dXJlTW9kaWZpY2F0aW9uU2VydmljZSxcbiAgICBDb250cm9sc1NlcnZpY2UsXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIE1hcFBsYXRlQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJ1Y3RpYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgcmVuZGVyVHJ5Q291bnQgPSAwO1xuICBtYXAhOiBNYXA7XG4gIG9zbVVybCA9ICcnO1xuICBkcmF3aW5nTGF5ZXJTZXR0aW5ncyA9IG5ldyBGZWF0dXJlTGF5ZXJTZXR0aW5ncygpLnNldE5hbWUoTWFwQ29uc3RhbnRzLkRyYXdpbmdMYXllcklkKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBwb3N0Ym95OiBNYXBQb3N0Ym95U2VydmljZSxcbiAgICBwcml2YXRlIG1hcEZhY3Rvcnk6IE1hcFBsYXRlRmFjdG9yeSxcbiAgICBwcml2YXRlIHJlZ2lzdHJhdG9yOiBNZXNzYWdlUmVnaXN0cmF0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHJlZ2lzdHJhdG9yLnVwKCk7XG4gIH1cblxuICBfc2V0dGluZ3M6IE1hcFNldHRpbmdzID0gbmV3IE1hcFNldHRpbmdzKCk7XG5cbiAgQElucHV0KCkgc2V0IHNldHRpbmdzKHZhbHVlOiBNYXBTZXR0aW5ncyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUgfHwgdGhpcy5fc2V0dGluZ3MuaXNTYW1lKHZhbHVlKSkgcmV0dXJuO1xuICAgIHRoaXMuX3NldHRpbmdzID0gdmFsdWU7XG4gICAgdGhpcy5zZXRPc20oKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZU1hcCgpIHtcbiAgICB1c2VHZW9ncmFwaGljKCk7XG4gICAgdGhpcy5tYXAgPSB0aGlzLm1hcEZhY3RvcnkuYnVpbGQodGhpcy5fc2V0dGluZ3MpO1xuICAgIHRoaXMubWFwLnNldFRhcmdldCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5kZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5tYXAub25jZSgncG9zdHJlbmRlcicsICgpID0+IHtcbiAgICAgIHRoaXMubWFwLnVwZGF0ZVNpemUoKTtcbiAgICAgIHRoaXMucG9zdGJveS5maXJlKG5ldyBNYXBSZW5kZXJlZEV2ZW50KHRoaXMubWFwKSk7XG4gICAgfSk7XG4gICAgdGhpcy5tYXAub24oJ3BvaW50ZXJtb3ZlJywgKGV2KSA9PiB7XG4gICAgICB0aGlzLnBvc3Rib3kuZmlyZShuZXcgTWFwUG9pbnRlck1vdmVFdmVudChldi5waXhlbCkpO1xuICAgIH0pO1xuICAgIHRoaXMuc2V0T3NtKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgbWFwQ29udGFpbmVyID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBjb25zdCBjaGVja0NvbnRhaW5lclNpemUgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNsaWVudFdpZHRoLCBjbGllbnRIZWlnaHQgfSA9IG1hcENvbnRhaW5lcjtcbiAgICAgIGlmIChjbGllbnRXaWR0aCA+IDAgJiYgY2xpZW50SGVpZ2h0ID4gMCkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVNYXAoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJNYXAncyBjb250YWluZXIgaXMgbm90IHJlbmRlcmVkIHlldCBvciBoYXMgemVybyBzaXplLiBUcnlpbmcgYWdhaW4gaW4gMTAwIG1zLlwiKTtcbiAgICAgICAgc2V0VGltZW91dChjaGVja0NvbnRhaW5lclNpemUsIDIwICogKyt0aGlzLnJlbmRlclRyeUNvdW50KTsgLy8g0J/RgNC+0LLQtdGA0LrQsCDQutCw0LbQtNGL0LUgMTAwINC80YFcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY2hlY2tDb250YWluZXJTaXplKCk7XG4gIH1cblxuICBvbkRlc3Ryb3kgPSAoKSA9PiB7XG4gICAgdGhpcy5yZWdpc3RyYXRvci5kb3duKCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBzZXRPc20oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1hcCkgcmV0dXJuO1xuICAgIHRoaXMub3NtVXJsID0gYGh0dHBzOi8vbXR7MC0zfS5nb29nbGUuY29tL3Z0L2x5cnM9JHtNYXBMeXJzTGFiZWwuZ2V0KHRoaXMuX3NldHRpbmdzLmx5cnMpfSZobD0ke1xuICAgICAgdGhpcy5fc2V0dGluZ3MubGFuZ3VhZ2VcbiAgICB9Jng9e3h9Jnk9e3l9Jno9e3p9YDtcbiAgICB0aGlzLmRldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLm1hcC51cGRhdGVTaXplKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPGFydC1vc20tdGlsZS1sYXllciAqbmdJZj1cIm9zbVVybCAmJiBtYXBcIiBbbWFwXT1cIm1hcFwiIFt1cmxdPVwib3NtVXJsXCI+PC9hcnQtb3NtLXRpbGUtbGF5ZXI+XHJcbjxhcnQtZmVhdHVyZS1sYXllciAqbmdJZj1cIm1hcFwiIFtzZXR0aW5nc109XCJkcmF3aW5nTGF5ZXJTZXR0aW5nc1wiPjwvYXJ0LWZlYXR1cmUtbGF5ZXI+XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, Injectable, ChangeDetectionStrategy, Input, ViewChild, NgModule } from '@angular/core';
2
+ import { Component, Injectable, ChangeDetectionStrategy, Input, ViewEncapsulation, ViewChild, NgModule } from '@angular/core';
3
3
  import * as i4 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { Feature, Collection } from 'ol';
@@ -2804,6 +2804,7 @@ class MapPlateComponent extends DestructibleComponent {
2804
2804
  mapFactory;
2805
2805
  registrator;
2806
2806
  detector;
2807
+ renderTryCount = 0;
2807
2808
  map;
2808
2809
  osmUrl = '';
2809
2810
  drawingLayerSettings = new FeatureLayerSettings().setName(MapConstants.DrawingLayerId);
@@ -2823,7 +2824,7 @@ class MapPlateComponent extends DestructibleComponent {
2823
2824
  this._settings = value;
2824
2825
  this.setOsm();
2825
2826
  }
2826
- ngOnInit() {
2827
+ initializeMap() {
2827
2828
  useGeographic();
2828
2829
  this.map = this.mapFactory.build(this._settings);
2829
2830
  this.map.setTarget(this.elementRef.nativeElement);
@@ -2837,6 +2838,20 @@ class MapPlateComponent extends DestructibleComponent {
2837
2838
  });
2838
2839
  this.setOsm();
2839
2840
  }
2841
+ ngAfterViewInit() {
2842
+ const mapContainer = this.elementRef.nativeElement;
2843
+ const checkContainerSize = () => {
2844
+ const { clientWidth, clientHeight } = mapContainer;
2845
+ if (clientWidth > 0 && clientHeight > 0) {
2846
+ this.initializeMap();
2847
+ }
2848
+ else {
2849
+ console.error("Map's container is not rendered yet or has zero size. Trying again in 100 ms.");
2850
+ setTimeout(checkContainerSize, 20 * ++this.renderTryCount); // Проверка каждые 100 мс
2851
+ }
2852
+ };
2853
+ checkContainerSize();
2854
+ }
2840
2855
  onDestroy = () => {
2841
2856
  this.registrator.down();
2842
2857
  };
@@ -2859,7 +2874,7 @@ class MapPlateComponent extends DestructibleComponent {
2859
2874
  FeatureService,
2860
2875
  FeatureModificationService,
2861
2876
  ControlsService,
2862
- ], 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 });
2877
+ ], 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{display:block;width:100%;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, encapsulation: i0.ViewEncapsulation.None });
2863
2878
  }
2864
2879
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapPlateComponent, decorators: [{
2865
2880
  type: Component,
@@ -2874,7 +2889,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2874
2889
  FeatureService,
2875
2890
  FeatureModificationService,
2876
2891
  ControlsService,
2877
- ], 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"] }]
2892
+ ], encapsulation: ViewEncapsulation.None, 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{display:block;width:100%;height:100%}\n"] }]
2878
2893
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: MapPostboyService }, { type: MapPlateFactory }, { type: MessageRegistratorService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { settings: [{
2879
2894
  type: Input
2880
2895
  }] } });