@artstesh/maps 5.2.13 → 5.2.15

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 (21) hide show
  1. package/dist/esm2022/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +13 -3
  2. package/dist/esm2022/map/map-plate/layers/raster-tile/raster-tile-layer.factory.mjs +2 -2
  3. package/dist/esm2022/map/map-plate/layers/raster-tile/raster-tile-layer.settings.mjs +17 -1
  4. package/dist/esm2022/map/map-plate/map-plate.component.mjs +3 -3
  5. package/dist/esm2022/map/models/map-settings.mjs +14 -1
  6. package/dist/esm2022/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.mjs +13 -3
  7. package/dist/esm2022/src/map/map-plate/layers/raster-tile/raster-tile-layer.factory.mjs +2 -2
  8. package/dist/esm2022/src/map/map-plate/layers/raster-tile/raster-tile-layer.settings.mjs +17 -1
  9. package/dist/esm2022/src/map/map-plate/map-plate.component.mjs +3 -3
  10. package/dist/esm2022/src/map/models/map-settings.mjs +14 -1
  11. package/dist/fesm2022/maps-components-src-map.mjs +44 -5
  12. package/dist/fesm2022/maps-components-src-map.mjs.map +1 -1
  13. package/dist/fesm2022/maps-components.mjs +44 -5
  14. package/dist/fesm2022/maps-components.mjs.map +1 -1
  15. package/dist/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +4 -2
  16. package/dist/map/map-plate/layers/raster-tile/raster-tile-layer.settings.d.ts +11 -0
  17. package/dist/map/models/map-settings.d.ts +8 -0
  18. package/dist/src/map/map-plate/layers/osm-tile-layer/osm-tile-layer.component.d.ts +4 -2
  19. package/dist/src/map/map-plate/layers/raster-tile/raster-tile-layer.settings.d.ts +11 -0
  20. package/dist/src/map/models/map-settings.d.ts +8 -0
  21. package/package.json +1 -1
@@ -84,6 +84,7 @@ class MapSettings {
84
84
  zoom = 4;
85
85
  lyrs = MapLyrs.Hybrid;
86
86
  language = 'en';
87
+ osmOpacity = 1;
87
88
  interactionSettings = {};
88
89
  static copy(model) {
89
90
  const result = new MapSettings();
@@ -94,6 +95,7 @@ class MapSettings {
94
95
  result.lyrs = model.lyrs;
95
96
  result.interactionSettings = model.interactionSettings;
96
97
  result.language = model.language;
98
+ result.osmOpacity = model.osmOpacity;
97
99
  return result;
98
100
  }
99
101
  /**
@@ -160,6 +162,15 @@ class MapSettings {
160
162
  setLanguage(language) {
161
163
  return MapSettings.copy({ ...this, language });
162
164
  }
165
+ /**
166
+ * Sets the opacity level for the OpenStreetMap layer.
167
+ *
168
+ * @param {number} osmOpacity - The opacity value for the OpenStreetMap layer, where 0 is fully transparent and 1 is fully opaque.
169
+ * @return {MapSettings} A new MapSettings instance with the updated OpenStreetMap opacity.
170
+ */
171
+ setOsmOpacity(osmOpacity) {
172
+ return MapSettings.copy({ ...this, osmOpacity });
173
+ }
163
174
  /**
164
175
  * Compares the current MapSettings instance with another to determine if they are identical.
165
176
  *
@@ -179,6 +190,8 @@ class MapSettings {
179
190
  return false;
180
191
  if (this.interactionSettings !== model.interactionSettings)
181
192
  return false;
193
+ if (this.osmOpacity !== model.osmOpacity)
194
+ return false;
182
195
  return this.center.length === model.center.length && !this.center.filter((c, i) => c !== model.center[i]).length;
183
196
  }
184
197
  }
@@ -1791,13 +1804,20 @@ class OsmTileLayerComponent extends DestructibleComponent {
1791
1804
  super();
1792
1805
  }
1793
1806
  _url = '';
1807
+ _map;
1808
+ _opacity = 1;
1794
1809
  set url(value) {
1795
1810
  if (!value || this._url === value)
1796
1811
  return;
1797
1812
  this._url = value;
1798
1813
  this.initLayer();
1799
1814
  }
1800
- _map;
1815
+ set opacity(value) {
1816
+ if (!value || this._opacity === value)
1817
+ return;
1818
+ this._opacity = value;
1819
+ this.initLayer();
1820
+ }
1801
1821
  set map(value) {
1802
1822
  if (!value || this._map === value)
1803
1823
  return;
@@ -1821,18 +1841,21 @@ class OsmTileLayerComponent extends DestructibleComponent {
1821
1841
  source: new OSM({
1822
1842
  url: this._url,
1823
1843
  }),
1844
+ opacity: this._opacity,
1824
1845
  });
1825
1846
  this.layer.set('name', 'osm-tile-layer');
1826
1847
  this._map.addLayer(this.layer);
1827
1848
  }
1828
1849
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OsmTileLayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1829
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OsmTileLayerComponent, selector: "art-osm-tile-layer", inputs: { url: "url", map: "map" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1850
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OsmTileLayerComponent, selector: "art-osm-tile-layer", inputs: { url: "url", opacity: "opacity", map: "map" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1830
1851
  }
1831
1852
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OsmTileLayerComponent, decorators: [{
1832
1853
  type: Component,
1833
1854
  args: [{ selector: 'art-osm-tile-layer', template: '', changeDetection: ChangeDetectionStrategy.OnPush }]
1834
1855
  }], ctorParameters: function () { return []; }, propDecorators: { url: [{
1835
1856
  type: Input
1857
+ }], opacity: [{
1858
+ type: Input
1836
1859
  }], map: [{
1837
1860
  type: Input
1838
1861
  }] } });
@@ -2558,6 +2581,10 @@ class RasterTileLayerSettings {
2558
2581
  * @default An empty array
2559
2582
  */
2560
2583
  requestHeaders = null;
2584
+ /**
2585
+ * The priority of showing - layers with higher zIndex cover others in case of collisions
2586
+ */
2587
+ zIndex = 1;
2561
2588
  operation = (d) => d[0] ?? [];
2562
2589
  /**
2563
2590
  * Creates a copy of the given tile layer settings.
@@ -2569,6 +2596,7 @@ class RasterTileLayerSettings {
2569
2596
  const result = new RasterTileLayerSettings();
2570
2597
  result.maxZoom = model.maxZoom;
2571
2598
  result.minZoom = model.minZoom;
2599
+ result.zIndex = model.zIndex;
2572
2600
  result.projection = model.projection;
2573
2601
  result.opacity = model.opacity;
2574
2602
  result.url = model.url;
@@ -2612,6 +2640,15 @@ class RasterTileLayerSettings {
2612
2640
  setMaxZoom(maxZoom) {
2613
2641
  return RasterTileLayerSettings.copy({ ...this, maxZoom });
2614
2642
  }
2643
+ /**
2644
+ * Sets the z-index for the RasterTileLayerSettings.
2645
+ *
2646
+ * @param {number} zIndex - The new z-index to be assigned.
2647
+ * @return {RasterTileLayerSettings} A new RasterTileLayerSettings instance with the updated z-index.
2648
+ */
2649
+ setZIndex(zIndex) {
2650
+ return RasterTileLayerSettings.copy({ ...this, zIndex });
2651
+ }
2615
2652
  /**
2616
2653
  * Sets the minimum zoom level for the Tile Layer.
2617
2654
  *
@@ -2650,6 +2687,8 @@ class RasterTileLayerSettings {
2650
2687
  return false;
2651
2688
  if (this.minZoom !== model.minZoom)
2652
2689
  return false;
2690
+ if (this.zIndex !== model.zIndex)
2691
+ return false;
2653
2692
  if (this.url !== model.url)
2654
2693
  return false;
2655
2694
  if (this.projection !== model.projection)
@@ -2682,7 +2721,7 @@ class RasterTileLayerFactory {
2682
2721
  operationType: 'image',
2683
2722
  operation: settings.operation,
2684
2723
  });
2685
- return new ImageLayer({ source: raster, opacity: settings.opacity });
2724
+ return new ImageLayer({ source: raster, opacity: settings.opacity, zIndex: settings.zIndex });
2686
2725
  }
2687
2726
  getTileFunc(settings) {
2688
2727
  return (tileCoord) => {
@@ -2874,7 +2913,7 @@ class MapPlateComponent extends DestructibleComponent {
2874
2913
  FeatureService,
2875
2914
  FeatureModificationService,
2876
2915
  ControlsService,
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 });
2916
+ ], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\r\n<art-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\" [opacity]=\"_settings.osmOpacity\"></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", "opacity", "map"] }, { kind: "component", type: FeatureLayerComponent, selector: "art-feature-layer", inputs: ["settings"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2878
2917
  }
2879
2918
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MapPlateComponent, decorators: [{
2880
2919
  type: Component,
@@ -2889,7 +2928,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2889
2928
  FeatureService,
2890
2929
  FeatureModificationService,
2891
2930
  ControlsService,
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"] }]
2931
+ ], encapsulation: ViewEncapsulation.None, template: "<ng-content></ng-content>\r\n<art-osm-tile-layer *ngIf=\"osmUrl && map\" [map]=\"map\" [url]=\"osmUrl\" [opacity]=\"_settings.osmOpacity\"></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"] }]
2893
2932
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: MapPostboyService }, { type: MapPlateFactory }, { type: MessageRegistratorService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { settings: [{
2894
2933
  type: Input
2895
2934
  }] } });