@igo2/geo 18.0.0-next.8 → 18.0.0-next.9

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 (72) hide show
  1. package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  2. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +9 -1
  3. package/esm2022/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
  4. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +8 -1
  5. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  6. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +8 -1
  7. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  8. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +7 -1
  9. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  10. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +8 -1
  11. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  12. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +8 -1
  13. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
  14. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +4 -1
  15. package/esm2022/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
  16. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
  17. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +8 -1
  18. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  19. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  20. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +8 -1
  21. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  22. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +8 -1
  23. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  24. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  25. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +50 -32
  26. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +26 -16
  27. package/esm2022/lib/layer/shared/layer.service.mjs +28 -1
  28. package/esm2022/lib/layer/shared/layers/layer.mjs +11 -2
  29. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  30. package/fesm2022/igo2-geo.mjs +233 -105
  31. package/fesm2022/igo2-geo.mjs.map +1 -1
  32. package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +1 -0
  33. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +1 -0
  34. package/lib/datasource/shared/datasources/carto-datasource.d.ts +1 -0
  35. package/lib/datasource/shared/datasources/carto-datasource.interface.d.ts +0 -2
  36. package/lib/datasource/shared/datasources/cluster-datasource.d.ts +1 -0
  37. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +0 -1
  38. package/lib/datasource/shared/datasources/datasource.d.ts +1 -0
  39. package/lib/datasource/shared/datasources/datasource.interface.d.ts +1 -2
  40. package/lib/datasource/shared/datasources/feature-datasource.d.ts +1 -0
  41. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +0 -3
  42. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.d.ts +1 -0
  43. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +0 -2
  44. package/lib/datasource/shared/datasources/mvt-datasource.d.ts +1 -0
  45. package/lib/datasource/shared/datasources/mvt-datasource.interface.d.ts +0 -2
  46. package/lib/datasource/shared/datasources/osm-datasource.interface.d.ts +0 -2
  47. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.d.ts +1 -0
  48. package/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.d.ts +0 -2
  49. package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +0 -2
  50. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +1 -0
  51. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +2 -3
  52. package/lib/datasource/shared/datasources/wms-datasource.d.ts +1 -0
  53. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +4 -4
  54. package/lib/datasource/shared/datasources/wmts-datasource.interface.d.ts +0 -2
  55. package/lib/datasource/shared/datasources/xyz-datasource.interface.d.ts +0 -2
  56. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +1 -1
  57. package/lib/layer/layer-item/layer-item.component.d.ts +6 -2
  58. package/lib/layer/layer-list/layer-list.component.d.ts +6 -1
  59. package/lib/layer/shared/layer.service.d.ts +5 -0
  60. package/lib/layer/shared/layers/layer.d.ts +1 -0
  61. package/lib/search/shared/sources/cadastre.providers.d.ts +1 -1
  62. package/lib/search/shared/sources/coordinates.providers.d.ts +1 -1
  63. package/lib/search/shared/sources/icherche.providers.d.ts +1 -1
  64. package/lib/search/shared/sources/ilayer.interfaces.d.ts +1 -1
  65. package/lib/search/shared/sources/ilayer.providers.d.ts +1 -1
  66. package/lib/search/shared/sources/nominatim.providers.d.ts +1 -1
  67. package/lib/search/shared/sources/storedqueries.providers.d.ts +2 -2
  68. package/lib/search/shared/sources/workspace.providers.d.ts +1 -1
  69. package/locale/en.geo.json +2 -0
  70. package/locale/fr.geo.json +2 -0
  71. package/package.json +5 -5
  72. package/src/lib/layer/layer-item/layer-item.theme.scss +9 -1
@@ -13,3 +13,4 @@ import { WMSDataSourceOptions } from './wms-datasource.interface';
13
13
  import { WMTSDataSourceOptions } from './wmts-datasource.interface';
14
14
  import { XYZDataSourceOptions } from './xyz-datasource.interface';
15
15
  export type AnyDataSourceOptions = DataSourceOptions | OSMDataSourceOptions | FeatureDataSourceOptions | WFSDataSourceOptions | XYZDataSourceOptions | TileDebugDataSourceOptions | WMTSDataSourceOptions | WMSDataSourceOptions | CartoDataSourceOptions | ArcGISRestDataSourceOptions | ArcGISRestImageDataSourceOptions | TileArcGISRestDataSourceOptions | MVTDataSourceOptions | ClusterDataSourceOptions;
16
+ export type AnyDataSourceOptionsWithParams = FeatureDataSourceOptions | WFSDataSourceOptions | WMSDataSourceOptions | CartoDataSourceOptions | ArcGISRestDataSourceOptions | ArcGISRestImageDataSourceOptions | TileArcGISRestDataSourceOptions;
@@ -5,6 +5,7 @@ import { Legend } from './datasource.interface';
5
5
  export declare class ArcGISRestDataSource extends DataSource {
6
6
  ol: olSourceVector;
7
7
  options: ArcGISRestDataSourceOptions;
8
+ get saveableOptions(): Partial<ArcGISRestDataSourceOptions>;
8
9
  protected createOlSource(): olSourceVector;
9
10
  getLegend(): Legend[];
10
11
  htmlImgSrc(contentType: string, imageData: string): string;
@@ -9,6 +9,7 @@ export declare class CartoDataSource extends DataSource {
9
9
  get queryTitle(): string;
10
10
  get mapLabel(): string;
11
11
  get queryHtmlTarget(): string;
12
+ get saveableOptions(): Partial<CartoDataSourceOptions>;
12
13
  protected createOlSource(): olSourceCarto;
13
14
  getLegend(): Legend[];
14
15
  onUnwatch(): void;
@@ -1,4 +1,3 @@
1
- import olSourceCarto from 'ol/source/CartoDB';
2
1
  import { DataSourceOptions } from './datasource.interface';
3
2
  export interface CartoDataSourceOptions extends DataSourceOptions {
4
3
  account: string;
@@ -9,5 +8,4 @@ export interface CartoDataSourceOptions extends DataSourceOptions {
9
8
  projection?: string;
10
9
  config?: any;
11
10
  map?: string;
12
- ol?: olSourceCarto;
13
11
  }
@@ -4,6 +4,7 @@ import { FeatureDataSource } from './feature-datasource';
4
4
  export declare class ClusterDataSource extends FeatureDataSource {
5
5
  options: ClusterDataSourceOptions;
6
6
  ol: olSourceCluster;
7
+ get saveableOptions(): Partial<ClusterDataSourceOptions>;
7
8
  protected createOlSource(): olSourceCluster;
8
9
  protected generateId(): string;
9
10
  onUnwatch(): void;
@@ -3,7 +3,6 @@ import { FeatureDataSourceOptions } from './feature-datasource.interface';
3
3
  export interface ClusterDataSourceOptions extends FeatureDataSourceOptions {
4
4
  distance?: number;
5
5
  source?: olSourceVector;
6
- ol?: olSourceVector;
7
6
  pathOffline?: string;
8
7
  excludeAttribute?: string[];
9
8
  excludeAttributeOffline?: string[];
@@ -10,6 +10,7 @@ export declare abstract class DataSource {
10
10
  id: string;
11
11
  ol: olSource | olVectorSource | olClusterSource;
12
12
  private legend;
13
+ get saveableOptions(): Partial<DataSourceOptions>;
13
14
  constructor(options?: DataSourceOptions, dataService?: DataService);
14
15
  protected abstract createOlSource(): olSource;
15
16
  protected generateId(): string;
@@ -1,5 +1,4 @@
1
1
  import type { Type } from 'ol/geom/Geometry';
2
- import olSource from 'ol/source/Source';
3
2
  import { Encoders, Preset, Tokenizer } from 'flexsearch';
4
3
  import { DownloadOptions } from '../../../download/shared/download.interface';
5
4
  import { OgcFilterOperatorType } from '../../../filter/shared/ogc-filter.enum';
@@ -8,8 +7,8 @@ export interface DataSourceOptions {
8
7
  optionsFromCapabilities?: boolean;
9
8
  optionsFromApi?: boolean;
10
9
  _layerOptionsFromSource?: Record<string, string>;
10
+ url?: string;
11
11
  id?: string;
12
- ol?: olSource;
13
12
  minZoom?: number;
14
13
  maxZoom?: number;
15
14
  minDate?: string;
@@ -4,6 +4,7 @@ import { FeatureDataSourceOptions } from './feature-datasource.interface';
4
4
  export declare class FeatureDataSource extends DataSource {
5
5
  options: FeatureDataSourceOptions;
6
6
  ol: olSourceVector;
7
+ get saveableOptions(): Partial<FeatureDataSourceOptions>;
7
8
  protected createOlSource(): olSourceVector;
8
9
  protected getSourceFormatFromOptions(options: FeatureDataSourceOptions): any;
9
10
  onUnwatch(): void;
@@ -1,7 +1,5 @@
1
1
  import olFeature from 'ol/Feature';
2
2
  import olFormatFeature from 'ol/format/Feature';
3
- import olSource from 'ol/source/Source';
4
- import olSourceVector from 'ol/source/Vector';
5
3
  import { DataSourceOptions } from './datasource.interface';
6
4
  export interface FeatureDataSourceOptions extends DataSourceOptions {
7
5
  formatType?: string;
@@ -14,7 +12,6 @@ export interface FeatureDataSourceOptions extends DataSourceOptions {
14
12
  preload?: PreloadOptions;
15
13
  excludeAttribute?: string[];
16
14
  excludeAttributeOffline?: string[];
17
- ol?: olSourceVector | olSource;
18
15
  }
19
16
  export interface PreloadOptions {
20
17
  bypassVisible?: boolean;
@@ -9,6 +9,7 @@ export declare class ImageArcGISRestDataSource extends DataSource {
9
9
  get queryTitle(): string;
10
10
  get mapLabel(): string;
11
11
  get queryHtmlTarget(): string;
12
+ get saveableOptions(): Partial<ArcGISRestImageDataSourceOptions>;
12
13
  protected createOlSource(): ImageArcGISRest;
13
14
  getLegend(): Legend[];
14
15
  onUnwatch(): void;
@@ -1,5 +1,4 @@
1
1
  import olAttribution from 'ol/control/Attribution';
2
- import ImageArcGISRest from 'ol/source/ImageArcGISRest';
3
2
  import { DataSourceOptions } from './datasource.interface';
4
3
  export interface ArcGISRestImageDataSourceOptions extends DataSourceOptions {
5
4
  queryPrecision?: number;
@@ -9,7 +8,6 @@ export interface ArcGISRestImageDataSourceOptions extends DataSourceOptions {
9
8
  attributions?: olAttribution;
10
9
  projection?: string;
11
10
  url?: string;
12
- ol?: ImageArcGISRest;
13
11
  idColumn?: string;
14
12
  options?: any;
15
13
  }
@@ -4,6 +4,7 @@ import { MVTDataSourceOptions } from './mvt-datasource.interface';
4
4
  export declare class MVTDataSource extends DataSource {
5
5
  options: MVTDataSourceOptions;
6
6
  ol: olSourceVectorTile;
7
+ get saveableOptions(): Partial<MVTDataSourceOptions>;
7
8
  protected createOlSource(): olSourceVectorTile;
8
9
  protected generateId(): string;
9
10
  onUnwatch(): void;
@@ -1,10 +1,8 @@
1
- import olSourceVectorTile from 'ol/source/VectorTile';
2
1
  import { DataSourceOptions } from './datasource.interface';
3
2
  export interface MVTDataSourceOptions extends DataSourceOptions {
4
3
  projection?: string;
5
4
  attributions?: string | string[];
6
5
  format?: any;
7
- ol?: olSourceVectorTile;
8
6
  url?: string;
9
7
  pathOffline?: string;
10
8
  excludeAttribute?: string[];
@@ -1,7 +1,5 @@
1
- import olSourceOSM from 'ol/source/OSM';
2
1
  import { DataSourceOptions } from './datasource.interface';
3
2
  export interface OSMDataSourceOptions extends DataSourceOptions {
4
3
  maxZoom?: number;
5
4
  url?: string;
6
- ol?: olSourceOSM;
7
5
  }
@@ -9,6 +9,7 @@ export declare class TileArcGISRestDataSource extends DataSource {
9
9
  get queryTitle(): string;
10
10
  get mapLabel(): string;
11
11
  get queryHtmlTarget(): string;
12
+ get saveableOptions(): Partial<TileArcGISRestDataSourceOptions>;
12
13
  protected createOlSource(): olSourceTileArcGISRest;
13
14
  getLegend(): Legend[];
14
15
  onUnwatch(): void;
@@ -1,4 +1,3 @@
1
- import olSourceTileArcGISRest from 'ol/source/TileArcGISRest';
2
1
  import { DataSourceOptions } from './datasource.interface';
3
2
  export interface TileArcGISRestDataSourceOptions extends DataSourceOptions {
4
3
  queryPrecision?: number;
@@ -9,6 +8,5 @@ export interface TileArcGISRestDataSourceOptions extends DataSourceOptions {
9
8
  projection?: string;
10
9
  url?: string;
11
10
  urls?: string[];
12
- ol?: olSourceTileArcGISRest;
13
11
  idColumn?: string;
14
12
  }
@@ -1,9 +1,7 @@
1
- import TileDebug from 'ol/source/TileDebug';
2
1
  import { DataSourceOptions, TileGridOptions } from './datasource.interface';
3
2
  export interface TileDebugDataSourceOptions extends DataSourceOptions {
4
3
  projection?: string;
5
4
  wrapX?: boolean;
6
- ol?: TileDebug;
7
5
  zDirection?: number;
8
6
  tileGrid?: TileGridOptions;
9
7
  }
@@ -22,6 +22,7 @@ export declare class WFSDataSource extends DataSource {
22
22
  ol: olSourceVector;
23
23
  set ogcFilters(value: OgcFiltersOptions);
24
24
  get ogcFilters(): OgcFiltersOptions;
25
+ get saveableOptions(): Partial<WFSDataSourceOptions>;
25
26
  constructor(options: WFSDataSourceOptions, wfsService: WFSService, authInterceptor?: AuthInterceptor);
26
27
  protected createOlSource(): olSourceVector;
27
28
  setOgcFilters(ogcFilters: OgcFiltersOptions, triggerEvent?: boolean): void;
@@ -1,11 +1,10 @@
1
- import olSource from 'ol/source/Source';
2
- import olSourceVector from 'ol/source/Vector';
1
+ import { OgcFiltersOptions } from '../../../filter';
3
2
  import { FeatureDataSourceOptions } from './feature-datasource.interface';
4
3
  export interface WFSDataSourceOptions extends FeatureDataSourceOptions {
5
4
  params: WFSDataSourceOptionsParams;
6
5
  paramsWFS?: WFSDataSourceOptionsParams;
7
6
  urlWfs?: string;
8
- ol?: olSourceVector | olSource;
7
+ ogcFilters?: OgcFiltersOptions;
9
8
  }
10
9
  export interface WFSDataSourceOptionsParams {
11
10
  version?: string;
@@ -27,6 +27,7 @@ export declare class WMSDataSource extends DataSource {
27
27
  set timeFilter(value: TimeFilterOptions);
28
28
  get timeFilter(): TimeFilterOptions;
29
29
  readonly timeFilter$: BehaviorSubject<TimeFilterOptions>;
30
+ get saveableOptions(): Partial<WMSDataSourceOptions>;
30
31
  constructor(options: WMSDataSourceOptions, wfsService: WFSService);
31
32
  refresh(): void;
32
33
  private buildDynamicDownloadUrlFromParamsWFS;
@@ -1,6 +1,5 @@
1
- import olSource from 'ol/source/Source';
2
- import olSourceVector from 'ol/source/Vector';
3
1
  import type { ServerType } from 'ol/source/wms';
2
+ import { OgcFiltersOptions } from '../../../filter';
4
3
  import { TimeFilterOptions } from '../../../filter/shared/time-filter.interface';
5
4
  import { DataSourceOptions } from './datasource.interface';
6
5
  import { WFSDataSourceOptionsParams } from './wfs-datasource.interface';
@@ -14,10 +13,11 @@ export interface WMSDataSourceOptions extends DataSourceOptions {
14
13
  resolutions?: number[];
15
14
  serverType?: ServerType;
16
15
  ratio?: number;
17
- ol?: olSourceVector | olSource;
18
16
  refreshIntervalSec?: number;
19
17
  contentDependentLegend?: boolean;
20
- excludeAttribute?: string[];
18
+ excludeAttribute?: Array<string>;
19
+ ogcFilters?: OgcFiltersOptions;
20
+ timeFilter?: TimeFilterOptions;
21
21
  }
22
22
  export interface WMSDataSourceOptionsParams {
23
23
  LAYERS: string;
@@ -1,4 +1,3 @@
1
- import olSourceWMTS from 'ol/source/WMTS';
2
1
  import { DataSourceOptions } from './datasource.interface';
3
2
  export interface WMTSDataSourceOptions extends DataSourceOptions {
4
3
  projection?: string;
@@ -9,5 +8,4 @@ export interface WMTSDataSourceOptions extends DataSourceOptions {
9
8
  matrixSet?: string;
10
9
  url?: string;
11
10
  urls?: string[];
12
- ol?: olSourceWMTS;
13
11
  }
@@ -1,8 +1,6 @@
1
- import olSourceXYZ from 'ol/source/XYZ';
2
1
  import { DataSourceOptions } from './datasource.interface';
3
2
  export interface XYZDataSourceOptions extends DataSourceOptions {
4
3
  projection?: string;
5
- ol?: olSourceXYZ;
6
4
  url?: string;
7
5
  urls?: string[];
8
6
  pathOffline?: string;
@@ -57,7 +57,7 @@ export declare class OgcFilterTimeComponent implements OnInit {
57
57
  parseFilter(filter: any): Date;
58
58
  changeTemporalProperty(value: string | Date, position?: any, refreshFilter?: boolean): void;
59
59
  handleDate(value: any): Date;
60
- calendarType(): "date" | "datetime" | "year";
60
+ calendarType(): "year" | "date" | "datetime";
61
61
  isCalendarYearMode(): boolean;
62
62
  yearOnlyInputChange(changeEvent: any, datePicker?: any, property?: string): void;
63
63
  yearSelected(year: any, datePicker?: any, property?: string, refreshFilter?: boolean): void;
@@ -1,6 +1,7 @@
1
1
  import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2 } from '@angular/core';
2
2
  import { ConnectionState, NetworkService } from '@igo2/core/network';
3
3
  import { BehaviorSubject } from 'rxjs';
4
+ import { AnyLayerOptions } from '../shared';
4
5
  import { Layer } from '../shared/layers/layer';
5
6
  import * as i0 from "@angular/core";
6
7
  export declare class LayerItemComponent implements OnInit, OnDestroy {
@@ -38,10 +39,12 @@ export declare class LayerItemComponent implements OnInit, OnDestroy {
38
39
  queryBadge: boolean;
39
40
  selectionMode: any;
40
41
  changeDetection: any;
42
+ unavailableLayer: AnyLayerOptions;
43
+ get unavailableLayerTitle(): string | undefined;
41
44
  get opacity(): number;
42
45
  set opacity(opacity: number);
43
46
  get eyeTooltip(): "igo.geo.layer.notInResolution" | "igo.geo.layer.hideLayer" | "igo.geo.layer.showLayer";
44
- action: EventEmitter<Layer>;
47
+ action: EventEmitter<Layer | AnyLayerOptions>;
45
48
  checkbox: EventEmitter<{
46
49
  layer: Layer;
47
50
  check: boolean;
@@ -57,6 +60,7 @@ export declare class LayerItemComponent implements OnInit, OnDestroy {
57
60
  private updateQueryBadge;
58
61
  toggleLayerTool(): void;
59
62
  check(): void;
63
+ deleteUnavailableLayer(anyLayerOptions: AnyLayerOptions): void;
60
64
  static ɵfac: i0.ɵɵFactoryDeclaration<LayerItemComponent, never>;
61
- static ɵcmp: i0.ɵɵComponentDeclaration<LayerItemComponent, "igo-layer-item", never, { "activeLayer": { "alias": "activeLayer"; "required": false; }; "selectAll": { "alias": "selectAll"; "required": false; }; "layerCheck": { "alias": "layerCheck"; "required": false; }; "layer": { "alias": "layer"; "required": false; }; "toggleLegendOnVisibilityChange": { "alias": "toggleLegendOnVisibilityChange"; "required": false; }; "expandLegendIfVisible": { "alias": "expandLegendIfVisible"; "required": false; }; "updateLegendOnResolutionChange": { "alias": "updateLegendOnResolutionChange"; "required": false; }; "orderable": { "alias": "orderable"; "required": false; }; "lowerDisabled": { "alias": "lowerDisabled"; "required": false; }; "raiseDisabled": { "alias": "raiseDisabled"; "required": false; }; "queryBadge": { "alias": "queryBadge"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "changeDetection": { "alias": "changeDetection"; "required": false; }; }, { "action": "action"; "checkbox": "checkbox"; }, never, never, true, never>;
65
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayerItemComponent, "igo-layer-item", never, { "activeLayer": { "alias": "activeLayer"; "required": false; }; "selectAll": { "alias": "selectAll"; "required": false; }; "layerCheck": { "alias": "layerCheck"; "required": false; }; "layer": { "alias": "layer"; "required": false; }; "toggleLegendOnVisibilityChange": { "alias": "toggleLegendOnVisibilityChange"; "required": false; }; "expandLegendIfVisible": { "alias": "expandLegendIfVisible"; "required": false; }; "updateLegendOnResolutionChange": { "alias": "updateLegendOnResolutionChange"; "required": false; }; "orderable": { "alias": "orderable"; "required": false; }; "lowerDisabled": { "alias": "lowerDisabled"; "required": false; }; "raiseDisabled": { "alias": "raiseDisabled"; "required": false; }; "queryBadge": { "alias": "queryBadge"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "changeDetection": { "alias": "changeDetection"; "required": false; }; "unavailableLayer": { "alias": "unavailableLayer"; "required": false; }; }, { "action": "action"; "checkbox": "checkbox"; }, never, never, true, never>;
62
66
  }
@@ -5,12 +5,15 @@ import { MatSliderChange } from '@angular/material/slider';
5
5
  import { BehaviorSubject, ReplaySubject } from 'rxjs';
6
6
  import { IgoMap } from '../../map/shared/map';
7
7
  import { LayerListControlsOptions } from '../layer-list-tool/layer-list-tool.interface';
8
+ import { LayerService } from '../shared/layer.service';
9
+ import { AnyLayerOptions } from '../shared/layers';
8
10
  import { Layer } from '../shared/layers/layer';
9
11
  import { LayerListDisplacement } from './layer-list.enum';
10
12
  import { LayerListSelectVisibleEnum } from './layer-list.enum';
11
13
  import * as i0 from "@angular/core";
12
14
  export declare class LayerListComponent implements OnInit, OnDestroy {
13
15
  private elRef;
16
+ private layerService;
14
17
  orderable: boolean;
15
18
  thresholdToFilterAndSort: number;
16
19
  layers$: BehaviorSubject<Layer[]>;
@@ -64,11 +67,12 @@ export declare class LayerListComponent implements OnInit, OnDestroy {
64
67
  get checkOpacity(): number;
65
68
  set checkOpacity(opacity: number);
66
69
  get layerListDisplacement(): typeof LayerListDisplacement;
70
+ get unavailableLayers(): AnyLayerOptions[];
67
71
  toggleOpacity: boolean;
68
72
  selectAllCheck: boolean;
69
73
  selectAllCheck$: BehaviorSubject<boolean>;
70
74
  private selectAllCheck$$;
71
- constructor(elRef: ElementRef);
75
+ constructor(elRef: ElementRef, layerService: LayerService);
72
76
  /**
73
77
  * Subscribe to the search term stream and trigger researches
74
78
  * @internal
@@ -122,6 +126,7 @@ export declare class LayerListComponent implements OnInit, OnDestroy {
122
126
  selectAll(): void;
123
127
  isScrolledIntoView(elemSource: any, elem: any): boolean;
124
128
  removeProblemLayerInList(layersList: Layer[]): Layer[];
129
+ deleteUnavailableLayer(anyLayerOptions: AnyLayerOptions): void;
125
130
  static ɵfac: i0.ɵɵFactoryDeclaration<LayerListComponent, never>;
126
131
  static ɵcmp: i0.ɵɵComponentDeclaration<LayerListComponent, "igo-layer-list", never, { "layersAreAllVisible": { "alias": "layersAreAllVisible"; "required": false; }; "ogcButton": { "alias": "ogcButton"; "required": false; }; "timeButton": { "alias": "timeButton"; "required": false; }; "map": { "alias": "map"; "required": false; }; "layers": { "alias": "layers"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "layerFilterAndSortOptions": { "alias": "layerFilterAndSortOptions"; "required": false; }; "excludeBaseLayers": { "alias": "excludeBaseLayers"; "required": false; }; "toggleLegendOnVisibilityChange": { "alias": "toggleLegendOnVisibilityChange"; "required": false; }; "expandLegendOfVisibleLayers": { "alias": "expandLegendOfVisibleLayers"; "required": false; }; "updateLegendOnResolutionChange": { "alias": "updateLegendOnResolutionChange"; "required": false; }; "queryBadge": { "alias": "queryBadge"; "required": false; }; }, { "appliedFilterAndSort": "appliedFilterAndSort"; }, ["templateLayerToolbar"], ["[igoLayerItemToolbar]"], true, never>;
127
132
  }
@@ -3,6 +3,7 @@ import { AuthInterceptor } from '@igo2/auth';
3
3
  import { MessageService } from '@igo2/core/message';
4
4
  import { Observable } from 'rxjs';
5
5
  import { DataSourceService } from '../../datasource/shared/datasource.service';
6
+ import { AnyDataSourceOptions, AnyDataSourceOptionsWithParams, ArcGISRestDataSourceOptions, WMTSDataSourceOptions } from '../../datasource/shared/datasources';
6
7
  import { LayerDBService } from '../../offline/layerDB/layerDB.service';
7
8
  import { GeoNetworkService } from '../../offline/shared/geo-network.service';
8
9
  import { StyleService } from '../../style/style-service/style.service';
@@ -16,6 +17,7 @@ export declare class LayerService {
16
17
  private geoNetworkService?;
17
18
  private layerDBService?;
18
19
  private authInterceptor?;
20
+ unavailableLayers: AnyLayerOptions[];
19
21
  constructor(http: HttpClient, styleService: StyleService, dataSourceService: DataSourceService, messageService: MessageService, geoNetworkService?: GeoNetworkService, layerDBService?: LayerDBService, authInterceptor?: AuthInterceptor);
20
22
  createLayer(layerOptions: AnyLayerOptions): Layer;
21
23
  createAsyncLayer(_layerOptions: AnyLayerOptions, detailedContextUri?: string): Observable<Layer>;
@@ -28,6 +30,9 @@ export declare class LayerService {
28
30
  private getStuff;
29
31
  private getAbsoluteUrl;
30
32
  createAsyncIdbLayers(contextUri?: string): Observable<Layer[]>;
33
+ deleteUnavailableLayers(anyLayerOptions: AnyLayerOptions): void;
34
+ sourceOptionsWithParams(sourceOptions: AnyDataSourceOptions): sourceOptions is AnyDataSourceOptionsWithParams;
35
+ sourceOptionsWithLayer(sourceOptions: AnyDataSourceOptions): sourceOptions is ArcGISRestDataSourceOptions | WMTSDataSourceOptions;
31
36
  static ɵfac: i0.ɵɵFactoryDeclaration<LayerService, [null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
32
37
  static ɵprov: i0.ɵɵInjectableDeclaration<LayerService>;
33
38
  }
@@ -53,6 +53,7 @@ export declare abstract class Layer {
53
53
  get displayed(): boolean;
54
54
  readonly displayed$: Observable<boolean>;
55
55
  get showInLayerList(): boolean;
56
+ get saveableOptions(): Partial<LayerOptions>;
56
57
  constructor(options: LayerOptions, messageService?: MessageService, authInterceptor?: AuthInterceptor);
57
58
  protected abstract createOlLayer(): olLayer<olSource>;
58
59
  setMap(map: MapBase | undefined): void;
@@ -17,6 +17,6 @@ export declare function provideCadastreSearchSource(): {
17
17
  provide: typeof SearchSource;
18
18
  useFactory: typeof cadastreSearchSourceFactory;
19
19
  multi: boolean;
20
- deps: (typeof HttpClient | typeof LanguageService | typeof StorageService | typeof ConfigService)[];
20
+ deps: (typeof HttpClient | typeof ConfigService | typeof LanguageService | typeof StorageService)[];
21
21
  };
22
22
  export declare function withCadastreSource(): SearchSourceFeature<SearchSourceKind.Cadastre>;
@@ -30,6 +30,6 @@ export declare function provideCoordinatesReverseSearchSource(): {
30
30
  provide: typeof SearchSource;
31
31
  useFactory: typeof CoordinatesReverseSearchSourceFactory;
32
32
  multi: boolean;
33
- deps: (typeof ProjectionService | typeof LanguageService | typeof StorageService | typeof ConfigService)[];
33
+ deps: (typeof ProjectionService | typeof ConfigService | typeof LanguageService | typeof StorageService)[];
34
34
  };
35
35
  export declare function withCoordinatesReverseSource(): SearchSourceFeature<SearchSourceKind.CoordinatesReverse>;
@@ -37,6 +37,6 @@ export declare function provideIChercheReverseSearchSource(): {
37
37
  provide: typeof SearchSource;
38
38
  useFactory: typeof ichercheReverseSearchSourceFactory;
39
39
  multi: boolean;
40
- deps: (typeof HttpClient | typeof LanguageService | typeof StorageService | typeof ConfigService | typeof Injector)[];
40
+ deps: (typeof HttpClient | typeof ConfigService | typeof LanguageService | typeof StorageService | typeof Injector)[];
41
41
  };
42
42
  export declare function withIChercheReverseSource(): SearchSourceFeature<SearchSourceKind.IChercheReverse>;
@@ -33,7 +33,7 @@ export interface ILayerDataHighlight {
33
33
  title?: string;
34
34
  groupTitle?: string;
35
35
  }
36
- interface QueryWMSDataSourceOptions extends WMSDataSourceOptions, QueryableDataSourceOptions {
36
+ interface QueryWMSDataSourceOptions extends WMSDataSourceOptions, Omit<QueryableDataSourceOptions, 'url'> {
37
37
  }
38
38
  export interface ILayerItemResponse extends ImageLayerOptions {
39
39
  title: string;
@@ -30,6 +30,6 @@ export declare function provideILayerSearchSource(): {
30
30
  provide: typeof SearchSource;
31
31
  useFactory: typeof ilayerSearchSourceFactory;
32
32
  multi: boolean;
33
- deps: (typeof HttpClient | typeof LanguageService | typeof StorageService | typeof ConfigService | typeof ILayerSearchResultFormatter)[];
33
+ deps: (typeof HttpClient | typeof ConfigService | typeof LanguageService | typeof StorageService | typeof ILayerSearchResultFormatter)[];
34
34
  };
35
35
  export declare function withILayerSource(): SearchSourceFeature<SearchSourceKind.ILayer>;
@@ -16,6 +16,6 @@ export declare function provideNominatimSearchSource(): {
16
16
  provide: typeof SearchSource;
17
17
  useFactory: typeof nominatimSearchSourceFactory;
18
18
  multi: boolean;
19
- deps: (typeof HttpClient | typeof StorageService | typeof ConfigService)[];
19
+ deps: (typeof HttpClient | typeof ConfigService | typeof StorageService)[];
20
20
  };
21
21
  export declare function withNominatimSource(): SearchSourceFeature<SearchSourceKind.Nominatim>;
@@ -17,7 +17,7 @@ export declare function provideStoredQueriesSearchSource(): {
17
17
  provide: typeof SearchSource;
18
18
  useFactory: typeof storedqueriesSearchSourceFactory;
19
19
  multi: boolean;
20
- deps: (typeof HttpClient | typeof LanguageService | typeof StorageService | typeof ConfigService)[];
20
+ deps: (typeof HttpClient | typeof ConfigService | typeof LanguageService | typeof StorageService)[];
21
21
  };
22
22
  export declare function withStoredQueriesSource(): SearchSourceFeature<SearchSourceKind.StoredQueries>;
23
23
  /**
@@ -32,6 +32,6 @@ export declare function provideStoredQueriesReverseSearchSource(): {
32
32
  provide: typeof SearchSource;
33
33
  useFactory: typeof storedqueriesReverseSearchSourceFactory;
34
34
  multi: boolean;
35
- deps: (typeof HttpClient | typeof LanguageService | typeof StorageService | typeof ConfigService)[];
35
+ deps: (typeof HttpClient | typeof ConfigService | typeof LanguageService | typeof StorageService)[];
36
36
  };
37
37
  export declare function withStoredQueriesReverseSource(): SearchSourceFeature<SearchSourceKind.StoredQueriesReverse>;
@@ -16,6 +16,6 @@ export declare function provideWorkspaceSearchSource(): {
16
16
  provide: typeof SearchSource;
17
17
  useFactory: typeof workspaceSearchSourceFactory;
18
18
  multi: boolean;
19
- deps: (typeof LanguageService | typeof StorageService | typeof ConfigService)[];
19
+ deps: (typeof ConfigService | typeof LanguageService | typeof StorageService)[];
20
20
  };
21
21
  export declare function withWorkspaceSource(): SearchSourceFeature<SearchSourceKind.Workspace>;
@@ -228,6 +228,7 @@
228
228
  "lowerLayer": "Bring layer backward",
229
229
  "hideSelectedLayers": "Hide selected layers",
230
230
  "notInResolution": "Layer isn't visible at the active scale. Zoom in or out to display.",
231
+ "unavailableLayer": "Unavailable layer",
231
232
  "filterLowerLayer": "The backward movement is always done according to the order of the map!",
232
233
  "filterPlaceholder": "Filter the layers list",
233
234
  "activateSelectionMode": "Activate multiple selection mode",
@@ -244,6 +245,7 @@
244
245
  "removeLayer": "Remove this layer from the map",
245
246
  "removeSelectedLayers": "Remove selected layers from the map",
246
247
  "removeSelectedLayersRestriction": "Some selected layers cannot be removed",
248
+ "deleteLayer": "Delete layer",
247
249
  "showFeaturesList": "Show features list",
248
250
  "showLayer": "Show Layer",
249
251
  "showSelectedLayers": "Show selected layers",
@@ -227,6 +227,7 @@
227
227
  "hideLayer": "Masquer la couche",
228
228
  "hideSelectedLayers": "Masquer les couches sélectionnées",
229
229
  "notInResolution": "La couche n'est pas visible à l'échelle active. Veuillez zoomer ou dézoomer pour la visualiser.",
230
+ "unavailableLayer": "Couche non disponible",
230
231
  "lowerLayer": "Mettre en arrière",
231
232
  "filterLowerLayer": "Le déplacement arrière se fait toujours selon l'ordre de la carte!",
232
233
  "filterPlaceholder": "Filtrer la liste de couches",
@@ -244,6 +245,7 @@
244
245
  "removeLayer": "Retirer la couche de la carte",
245
246
  "removeSelectedLayers": "Retirer les couches sélectionnées de la carte",
246
247
  "removeSelectedLayersRestriction": "Certaines couches sélectionnées ne peuvent être supprimées",
248
+ "deleteLayer": "Supprimer la couche",
247
249
  "showFeaturesList": "Afficher la liste des entités",
248
250
  "showLayer": "Afficher la couche",
249
251
  "showSelectedLayers": "Afficher les couches sélectionnées",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@igo2/geo",
3
- "version": "18.0.0-next.8",
3
+ "version": "18.0.0-next.9",
4
4
  "description": "IGO Library",
5
5
  "author": "IGO Community",
6
6
  "keywords": [
@@ -50,10 +50,10 @@
50
50
  "@angular/material": "^18.0.0",
51
51
  "@angular/material-moment-adapter": "^18.0.0",
52
52
  "@angular/platform-browser": "^18.0.0",
53
- "@igo2/auth": "^18.0.0-next.8",
54
- "@igo2/common": "^18.0.0-next.8",
55
- "@igo2/core": "^18.0.0-next.8",
56
- "@igo2/utils": "^18.0.0-next.8",
53
+ "@igo2/auth": "^18.0.0-next.9",
54
+ "@igo2/common": "^18.0.0-next.9",
55
+ "@igo2/core": "^18.0.0-next.9",
56
+ "@igo2/utils": "^18.0.0-next.9",
57
57
  "@mat-datetimepicker/core": "~14.0.0",
58
58
  "file-saver": "^2.0.2",
59
59
  "flexsearch": "0.7.21",
@@ -9,6 +9,7 @@
9
9
  $foreground: map.get($theme, foreground);
10
10
  $primary: map.get($theme, primary);
11
11
  $accent: map.get($theme, accent);
12
+ $background: map.get($theme, background);
12
13
 
13
14
  igo-layer-item {
14
15
  &.igo-layer-item-focused > mat-list-item {
@@ -17,7 +18,7 @@
17
18
  }
18
19
 
19
20
  button {
20
- &:not(.mat-primary) {
21
+ &.mat-default {
21
22
  mat-icon {
22
23
  color: mat.m2-get-color-from-palette($foreground, base);
23
24
  }
@@ -29,5 +30,12 @@
29
30
  }
30
31
  }
31
32
  }
33
+
34
+ .unavailable-layer {
35
+ background-color: mat.m2-get-color-from-palette(
36
+ $background,
37
+ disabled-list-option
38
+ );
39
+ }
32
40
  }
33
41
  }