@igo2/geo 18.0.0-next.9 → 18.0.0
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.
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +4 -6
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +13 -10
- package/esm2022/lib/datasource/shared/capabilities.service.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/datasource.mjs +2 -1
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
- package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +151 -102
- package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +177 -83
- package/esm2022/lib/directions/directions-results/directions-results.component.mjs +93 -44
- package/esm2022/lib/directions/directions-sources/directions-source.mjs +1 -1
- package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +1 -1
- package/esm2022/lib/directions/directions.component.mjs +55 -31
- package/esm2022/lib/directions/shared/directions.enum.mjs +51 -7
- package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
- package/esm2022/lib/directions/shared/directions.service.mjs +122 -96
- package/esm2022/lib/directions/shared/directions.utils.mjs +281 -318
- package/esm2022/lib/directions/shared/store.mjs +2 -2
- package/esm2022/lib/download/download-button/download-button.component.mjs +8 -20
- package/esm2022/lib/download/shared/download.service.mjs +1 -1
- package/esm2022/lib/draw/draw/draw-popup.component.mjs +1 -1
- package/esm2022/lib/draw/draw/draw.component.mjs +5 -12
- package/esm2022/lib/draw/shared/draw.utils.mjs +1 -1
- package/esm2022/lib/environment/environment.interface.mjs +1 -1
- package/esm2022/lib/feature/feature-details/feature-details.component.mjs +2 -2
- package/esm2022/lib/feature/shared/feature-store.utils.mjs +7 -6
- package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
- package/esm2022/lib/feature/shared/store.mjs +1 -1
- package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +3 -3
- package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +7 -4
- package/esm2022/lib/feature/shared/strategies/selection.mjs +5 -4
- package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +3 -3
- package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +2 -2
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +5 -3
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +1 -1
- package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +8 -1
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +1 -1
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +2 -8
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +2 -8
- package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +2 -2
- package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +13 -10
- package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +2 -2
- package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +4 -2
- package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +5 -16
- package/esm2022/lib/import-export/export-button/export-button.component.mjs +4 -17
- package/esm2022/lib/import-export/import-export/import-export.component.mjs +23 -12
- package/esm2022/lib/import-export/shared/export.service.mjs +7 -4
- package/esm2022/lib/import-export/shared/import.utils.mjs +3 -3
- package/esm2022/lib/layer/index.mjs +10 -5
- package/esm2022/lib/layer/layer-group/index.mjs +2 -0
- package/esm2022/lib/layer/layer-group/layer-group.component.mjs +103 -0
- package/esm2022/lib/layer/layer-item/layer-item.component.mjs +76 -161
- package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +5 -8
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +5 -6
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +14 -21
- package/esm2022/lib/layer/layer-list/index.mjs +1 -3
- package/esm2022/lib/layer/layer-list/layer-list.component.mjs +176 -785
- package/esm2022/lib/layer/layer-list-tool/index.mjs +1 -2
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +51 -84
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +7 -2
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +56 -16
- package/esm2022/lib/layer/layer-search/index.mjs +2 -0
- package/esm2022/lib/layer/layer-search/layer-search.component.mjs +65 -0
- package/esm2022/lib/layer/layer-unavailable/index.mjs +3 -0
- package/esm2022/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.mjs +25 -0
- package/esm2022/lib/layer/layer-unavailable/layer-unavailable.component.mjs +35 -0
- package/esm2022/lib/layer/layer-viewer/index.mjs +3 -0
- package/esm2022/lib/layer/layer-viewer/layer-viewer.component.mjs +226 -0
- package/esm2022/lib/layer/layer-viewer/layer-viewer.interface.mjs +2 -0
- package/esm2022/lib/layer/layer-viewer-bottom-actions/index.mjs +2 -0
- package/esm2022/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.mjs +207 -0
- package/esm2022/lib/layer/layer-visibility-button/index.mjs +2 -0
- package/esm2022/lib/layer/layer-visibility-button/layer-visibility-button.component.mjs +83 -0
- package/esm2022/lib/layer/layer.module.mjs +51 -33
- package/esm2022/lib/layer/shared/index.mjs +2 -1
- package/esm2022/lib/layer/shared/layer-controller.mjs +316 -0
- package/esm2022/lib/layer/shared/layer-selection.mjs +38 -0
- package/esm2022/lib/layer/shared/layer.service.mjs +31 -16
- package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/any-layer.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
- package/esm2022/lib/layer/shared/layers/image-layer.mjs +8 -3
- package/esm2022/lib/layer/shared/layers/index.mjs +6 -1
- package/esm2022/lib/layer/shared/layers/layer-base.mjs +199 -0
- package/esm2022/lib/layer/shared/layers/layer-group.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/layer-group.mjs +120 -0
- package/esm2022/lib/layer/shared/layers/layer.interface.mjs +1 -11
- package/esm2022/lib/layer/shared/layers/layer.mjs +108 -117
- package/esm2022/lib/layer/shared/layers/linked/index.mjs +4 -0
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.interface.mjs +12 -0
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.mjs +242 -0
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.utils.mjs +70 -0
- package/esm2022/lib/layer/shared/layers/tile-layer.mjs +8 -3
- package/esm2022/lib/layer/shared/layers/vector-layer.mjs +9 -3
- package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +8 -3
- package/esm2022/lib/layer/utils/layer.utils.mjs +47 -1
- package/esm2022/lib/layer/utils/outputLegend.mjs +5 -1
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +3 -3
- package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +8 -6
- package/esm2022/lib/map/map-center/map-center.component.mjs +1 -2
- package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +1 -1
- package/esm2022/lib/map/shared/controllers/view.mjs +1 -1
- package/esm2022/lib/map/shared/hover-feature.directive.mjs +1 -9
- package/esm2022/lib/map/shared/linkedLayers.utils.mjs +113 -123
- package/esm2022/lib/map/shared/map.abstract.mjs +4 -3
- package/esm2022/lib/map/shared/map.mjs +7 -243
- package/esm2022/lib/map/shared/map.service.mjs +1 -1
- package/esm2022/lib/map/shared/map.utils.mjs +3 -3
- package/esm2022/lib/map/shared/mapOffline.directive.mjs +9 -5
- package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +1 -3
- package/esm2022/lib/map/utils/index.mjs +2 -0
- package/esm2022/lib/map/utils/layer-watcher.mjs +45 -13
- package/esm2022/lib/measure/measurer/measurer.component.mjs +7 -25
- package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +6 -18
- package/esm2022/lib/offline/offline.provider.mjs +10 -11
- package/esm2022/lib/print/shared/print.service.mjs +3 -3
- package/esm2022/lib/query/shared/query.directive.mjs +9 -5
- package/esm2022/lib/query/shared/query.service.mjs +7 -7
- package/esm2022/lib/query/shared/query.utils.mjs +5 -1
- package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +15 -9
- package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +1 -10
- package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +1 -1
- package/esm2022/lib/search/shared/sources/workspace.mjs +1 -1
- package/esm2022/lib/workspace/shared/edition-workspace.mjs +6 -4
- package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +19 -17
- package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +17 -2
- package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +22 -4
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +6 -3
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +2 -2
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +6 -2
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +4 -3
- package/fesm2022/igo2-geo.mjs +22952 -22018
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/lib/datasource/shared/capabilities.service.d.ts +7 -2
- package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +2 -2
- package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +5 -5
- package/lib/directions/directions-buttons/directions-buttons.component.d.ts +57 -20
- package/lib/directions/directions-inputs/directions-inputs.component.d.ts +115 -13
- package/lib/directions/directions-results/directions-results.component.d.ts +50 -16
- package/lib/directions/directions-sources/directions-source.d.ts +2 -2
- package/lib/directions/directions-sources/osrm-directions-source.d.ts +2 -2
- package/lib/directions/directions.component.d.ts +5 -5
- package/lib/directions/shared/directions.enum.d.ts +42 -1
- package/lib/directions/shared/directions.interface.d.ts +50 -25
- package/lib/directions/shared/directions.service.d.ts +46 -8
- package/lib/directions/shared/directions.utils.d.ts +102 -23
- package/lib/directions/shared/store.d.ts +3 -3
- package/lib/download/download-button/download-button.component.d.ts +4 -8
- package/lib/download/shared/download.service.d.ts +1 -1
- package/lib/draw/draw/draw.component.d.ts +2 -2
- package/lib/draw/shared/draw.utils.d.ts +2 -1
- package/lib/environment/environment.interface.d.ts +2 -0
- package/lib/feature/shared/feature-store.utils.d.ts +1 -1
- package/lib/feature/shared/feature.interfaces.d.ts +1 -1
- package/lib/feature/shared/store.d.ts +1 -1
- package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +1 -1
- package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +1 -1
- package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +2 -2
- package/lib/filter/shared/filterable-datasource.pipe.d.ts +2 -2
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +3 -3
- package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +3 -5
- package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +3 -5
- package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
- package/lib/filter/time-filter-form/time-filter-form.component.d.ts +5 -5
- package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
- package/lib/filter/time-filter-list/time-filter-list.component.d.ts +2 -7
- package/lib/import-export/export-button/export-button.component.d.ts +3 -7
- package/lib/import-export/import-export/import-export.component.d.ts +1 -2
- package/lib/import-export/shared/export.service.d.ts +2 -2
- package/lib/layer/index.d.ts +9 -4
- package/lib/layer/layer-group/index.d.ts +1 -0
- package/lib/layer/layer-group/layer-group.component.d.ts +30 -0
- package/lib/layer/layer-item/layer-item.component.d.ts +19 -42
- package/lib/layer/layer-legend/layer-legend.component.d.ts +2 -5
- package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +6 -7
- package/lib/layer/layer-list/index.d.ts +0 -2
- package/lib/layer/layer-list/layer-list.component.d.ts +51 -128
- package/lib/layer/layer-list-tool/index.d.ts +0 -1
- package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +19 -26
- package/lib/layer/layer-list-tool/layer-list-tool.interface.d.ts +5 -1
- package/lib/layer/layer-list-tool/layer-list-tool.service.d.ts +9 -8
- package/lib/layer/layer-search/index.d.ts +1 -0
- package/lib/layer/layer-search/layer-search.component.d.ts +16 -0
- package/lib/layer/layer-unavailable/index.d.ts +2 -0
- package/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.d.ts +10 -0
- package/lib/layer/layer-unavailable/layer-unavailable.component.d.ts +11 -0
- package/lib/layer/layer-viewer/index.d.ts +2 -0
- package/lib/layer/layer-viewer/layer-viewer.component.d.ts +52 -0
- package/lib/layer/layer-viewer/layer-viewer.interface.d.ts +22 -0
- package/lib/layer/layer-viewer-bottom-actions/index.d.ts +1 -0
- package/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.d.ts +44 -0
- package/lib/layer/layer-visibility-button/index.d.ts +1 -0
- package/lib/layer/layer-visibility-button/layer-visibility-button.component.d.ts +22 -0
- package/lib/layer/layer.module.d.ts +18 -6
- package/lib/layer/shared/index.d.ts +1 -0
- package/lib/layer/shared/layer-controller.d.ts +81 -0
- package/lib/layer/shared/layer-selection.d.ts +14 -0
- package/lib/layer/shared/layer.service.d.ts +9 -5
- package/lib/layer/shared/layers/any-layer.d.ts +3 -6
- package/lib/layer/shared/layers/any-layer.interface.d.ts +8 -6
- package/lib/layer/shared/layers/image-layer.d.ts +5 -2
- package/lib/layer/shared/layers/image-layer.interface.d.ts +1 -4
- package/lib/layer/shared/layers/index.d.ts +5 -0
- package/lib/layer/shared/layers/layer-base.d.ts +75 -0
- package/lib/layer/shared/layers/layer-group.d.ts +32 -0
- package/lib/layer/shared/layers/layer-group.interface.d.ts +8 -0
- package/lib/layer/shared/layers/layer.d.ts +27 -45
- package/lib/layer/shared/layers/layer.interface.d.ts +23 -41
- package/lib/layer/shared/layers/linked/index.d.ts +3 -0
- package/lib/layer/shared/layers/linked/linked-layer.d.ts +35 -0
- package/lib/layer/shared/layers/linked/linked-layer.interface.d.ts +32 -0
- package/lib/layer/shared/layers/linked/linked-layer.utils.d.ts +9 -0
- package/lib/layer/shared/layers/tile-layer.d.ts +5 -2
- package/lib/layer/shared/layers/vector-layer.d.ts +7 -3
- package/lib/layer/shared/layers/vectortile-layer.d.ts +5 -2
- package/lib/layer/utils/layer.utils.d.ts +12 -2
- package/lib/layer/utils/outputLegend.d.ts +2 -2
- package/lib/map/shared/controllers/geolocation.interface.d.ts +2 -1
- package/lib/map/shared/hover-feature.directive.d.ts +0 -1
- package/lib/map/shared/linkedLayers.utils.d.ts +13 -17
- package/lib/map/shared/map.abstract.d.ts +12 -29
- package/lib/map/shared/map.d.ts +10 -85
- package/lib/map/shared/map.service.d.ts +1 -1
- package/lib/map/shared/map.utils.d.ts +5 -3
- package/lib/map/utils/index.d.ts +1 -0
- package/lib/map/utils/layer-watcher.d.ts +18 -8
- package/lib/measure/measurer/measurer.component.d.ts +0 -8
- package/lib/metadata/metadata-button/metadata-button.component.d.ts +3 -7
- package/lib/offline/offline.provider.d.ts +1 -1
- package/lib/query/shared/query.service.d.ts +1 -1
- package/lib/query/shared/query.utils.d.ts +2 -1
- package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
- package/lib/search/shared/search-pointer-summary.directive.d.ts +0 -1
- package/lib/search/shared/sources/workspace.interfaces.d.ts +1 -1
- package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
- package/locale/en.geo.json +104 -89
- package/locale/fr.geo.json +103 -89
- package/package.json +5 -5
- package/src/geo-theme.scss +1 -1
- package/src/lib/directions/directions-inputs/directions-inputs.theming.scss +21 -0
- package/src/lib/directions/directions.theming.scss +2 -0
- package/src/lib/layer/layer-group/layer-group.theme.scss +28 -0
- package/src/lib/layer/layer-item/layer-item.theme.scss +4 -9
- package/src/lib/layer/layer-legend/layer-legend.theme.scss +30 -0
- package/src/lib/layer/layer-list/layer-list.theme.scss +50 -0
- package/src/lib/layer/layer-unavailable/layer-unavailable.theme.scss +19 -0
- package/src/lib/layer/layer-viewer/_layer-viewer.theme.scss +16 -0
- package/src/lib/layer/layer-visibility-button/layer-visibility-button.theme.scss +27 -0
- package/src/lib/layer/layer.theming.scss +14 -3
- package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +0 -70
- package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +0 -19
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +0 -7
- package/lib/layer/layer-list/layer-list-binding.directive.d.ts +0 -19
- package/lib/layer/layer-list/layer-list.enum.d.ts +0 -15
- package/lib/layer/layer-list-tool/layer-list-tool.enum.d.ts +0 -5
- package/src/lib/layer/layer-legend/layer-legend.theming.scss +0 -10
package/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AnyLayerOptions, LayerService } from '../../shared';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class LayerUnavailableListComponent {
|
|
4
|
+
private layerService;
|
|
5
|
+
layersOptions: AnyLayerOptions[];
|
|
6
|
+
constructor(layerService: LayerService);
|
|
7
|
+
deleteUnavailableLayer(options: AnyLayerOptions): void;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LayerUnavailableListComponent, never>;
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LayerUnavailableListComponent, "igo-layer-unavailable-list", never, { "layersOptions": { "alias": "layersOptions"; "required": false; }; }, {}, never, never, true, never>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { AnyLayerItemOptions, AnyLayerOptions } from '../shared';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class LayerUnavailableComponent {
|
|
5
|
+
layerOptions: AnyLayerItemOptions;
|
|
6
|
+
remove: EventEmitter<AnyLayerOptions>;
|
|
7
|
+
get title(): string | undefined;
|
|
8
|
+
handleRemove(layerOptions: AnyLayerOptions): void;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LayerUnavailableComponent, never>;
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LayerUnavailableComponent, "igo-layer-unavailable", never, { "layerOptions": { "alias": "layerOptions"; "required": false; }; }, { "remove": "remove"; }, never, never, true, never>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ChangeDetectorRef, EventEmitter, OnInit, TemplateRef } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import type { MapBase } from '../../map/shared/map.abstract';
|
|
4
|
+
import { LayerListControlsOptions } from '../layer-list-tool/layer-list-tool.interface';
|
|
5
|
+
import { LayerController } from '../shared';
|
|
6
|
+
import { LayerService } from '../shared/layer.service';
|
|
7
|
+
import { AnyLayer, LayerGroup, LayerOptionsBase } from '../shared/layers';
|
|
8
|
+
import { isLayerItem } from '../utils/layer.utils';
|
|
9
|
+
import { LayerToolMode, LayerViewerOptions } from './layer-viewer.interface';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export declare class LayerViewerComponent implements OnInit {
|
|
12
|
+
private cdr;
|
|
13
|
+
private layerService;
|
|
14
|
+
layers: AnyLayer[];
|
|
15
|
+
baselayers: AnyLayer[];
|
|
16
|
+
keyword$: BehaviorSubject<string>;
|
|
17
|
+
mode: LayerToolMode;
|
|
18
|
+
isDragDropDisabled: boolean;
|
|
19
|
+
map: MapBase;
|
|
20
|
+
options: LayerViewerOptions;
|
|
21
|
+
isDesktop: boolean;
|
|
22
|
+
excludeBaseLayers: boolean;
|
|
23
|
+
appliedFilterAndSort: EventEmitter<LayerListControlsOptions>;
|
|
24
|
+
customBottomActions: TemplateRef<unknown> | undefined;
|
|
25
|
+
get layerViewerOptions(): LayerViewerOptions;
|
|
26
|
+
get layerController(): LayerController;
|
|
27
|
+
get unavailableLayers(): LayerOptionsBase[];
|
|
28
|
+
constructor(cdr: ChangeDetectorRef, layerService: LayerService);
|
|
29
|
+
isLayerItem: typeof isLayerItem;
|
|
30
|
+
/**
|
|
31
|
+
* Subscribe to the search term stream and trigger researches
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
34
|
+
ngOnInit(): void;
|
|
35
|
+
clearKeyword(): void;
|
|
36
|
+
onVisibilityOnlyChange(): void;
|
|
37
|
+
onLayerChange(): void;
|
|
38
|
+
onSearchChange(value: string | undefined): void;
|
|
39
|
+
toggleSelectionMode(active: boolean): void;
|
|
40
|
+
toggleAllRows(): void;
|
|
41
|
+
isAllSelected(): boolean;
|
|
42
|
+
isScrolledIntoView(elemSource: any, elem: any): boolean;
|
|
43
|
+
createGroup(group: LayerGroup): void;
|
|
44
|
+
private computeLayers;
|
|
45
|
+
private filterLayers;
|
|
46
|
+
/** Recursive */
|
|
47
|
+
private filterSearch;
|
|
48
|
+
private layerHasTerm;
|
|
49
|
+
private normalizeString;
|
|
50
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LayerViewerComponent, never>;
|
|
51
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LayerViewerComponent, "igo-layer-viewer", never, { "map": { "alias": "map"; "required": true; }; "options": { "alias": "options"; "required": false; }; "isDesktop": { "alias": "isDesktop"; "required": false; }; "excludeBaseLayers": { "alias": "excludeBaseLayers"; "required": false; }; }, { "appliedFilterAndSort": "appliedFilterAndSort"; }, ["customBottomActions"], ["[emptyList]", "*"], true, never>;
|
|
52
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { LayerListControlsOptions } from '../layer-list-tool/layer-list-tool.interface';
|
|
2
|
+
export interface LayerConfig {
|
|
3
|
+
group?: {
|
|
4
|
+
enable: boolean;
|
|
5
|
+
maxHierarchyLevel?: number;
|
|
6
|
+
canCreate?: boolean;
|
|
7
|
+
canRename?: boolean;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export interface LayerViewerOptions extends LayerConfig {
|
|
11
|
+
mode?: LayerToolMode;
|
|
12
|
+
queryBadge?: boolean;
|
|
13
|
+
legend?: Partial<ViewerLegendOptions>;
|
|
14
|
+
filterAndSortOptions?: LayerListControlsOptions;
|
|
15
|
+
}
|
|
16
|
+
interface ViewerLegendOptions {
|
|
17
|
+
showOnVisibilityChange: boolean;
|
|
18
|
+
updateOnResolutionChange: boolean;
|
|
19
|
+
showForVisibleLayers: boolean;
|
|
20
|
+
}
|
|
21
|
+
export type LayerToolMode = 'selection';
|
|
22
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './layer-viewer-bottom-actions.component';
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { MatSliderChange } from '@angular/material/slider';
|
|
3
|
+
import type { MapBase } from '../../map/shared/map.abstract';
|
|
4
|
+
import { LayerListToolService } from '../layer-list-tool';
|
|
5
|
+
import { LayerViewerOptions } from '../layer-viewer/layer-viewer.interface';
|
|
6
|
+
import { LayerController } from '../shared/layer-controller';
|
|
7
|
+
import type { AnyLayer } from '../shared/layers';
|
|
8
|
+
import { isLayerItem } from '../utils/layer.utils';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export declare class LayerViewerBottomActionsComponent {
|
|
11
|
+
private layerListToolService;
|
|
12
|
+
orderable: boolean;
|
|
13
|
+
map: MapBase;
|
|
14
|
+
controller: LayerController;
|
|
15
|
+
searchTerm: string;
|
|
16
|
+
viewerOptions: LayerViewerOptions;
|
|
17
|
+
layerChange: EventEmitter<any>;
|
|
18
|
+
get layersFlattened(): AnyLayer[];
|
|
19
|
+
get hasMultipleSelection(): boolean;
|
|
20
|
+
get selected(): AnyLayer[];
|
|
21
|
+
get opacity(): number;
|
|
22
|
+
set opacity(opacity: number);
|
|
23
|
+
get allSelectionVisibilityHidden(): boolean;
|
|
24
|
+
get isSelectionRaisable(): boolean;
|
|
25
|
+
get isSelectionLowerable(): boolean;
|
|
26
|
+
get canRename(): boolean;
|
|
27
|
+
constructor(layerListToolService: LayerListToolService);
|
|
28
|
+
isLayerItem: typeof isLayerItem;
|
|
29
|
+
handleRename(): void;
|
|
30
|
+
isLayersRemovable(layers: AnyLayer[]): boolean;
|
|
31
|
+
removeLayers(): void;
|
|
32
|
+
isExtentsValid(): boolean;
|
|
33
|
+
zoomLayersExtents(): void;
|
|
34
|
+
raiseSelection(): void;
|
|
35
|
+
lowerSelection(): void;
|
|
36
|
+
changeOpacity(event: MatSliderChange): void;
|
|
37
|
+
toggleSelectionVisibility(): void;
|
|
38
|
+
private isLowerable;
|
|
39
|
+
private isRaisable;
|
|
40
|
+
private getRecipientOfVisibleLayer;
|
|
41
|
+
private isLayerRemovable;
|
|
42
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LayerViewerBottomActionsComponent, never>;
|
|
43
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LayerViewerBottomActionsComponent, "igo-layer-viewer-bottom-actions", never, { "map": { "alias": "map"; "required": true; }; "controller": { "alias": "controller"; "required": true; }; "searchTerm": { "alias": "searchTerm"; "required": true; }; "viewerOptions": { "alias": "viewerOptions"; "required": false; }; }, { "layerChange": "layerChange"; }, never, ["*"], true, never>;
|
|
44
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './layer-visibility-button.component';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ChangeDetectorRef, EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { IconSvg } from '@igo2/common/icon';
|
|
3
|
+
import { AnyLayer } from '../shared/layers/any-layer';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class LayerVisibilityButtonComponent implements OnInit {
|
|
6
|
+
private cdr;
|
|
7
|
+
eyeClosedSvg: IconSvg;
|
|
8
|
+
hiddenByParent?: boolean;
|
|
9
|
+
visible: boolean;
|
|
10
|
+
layer: AnyLayer;
|
|
11
|
+
tooltip: string;
|
|
12
|
+
disabled: boolean;
|
|
13
|
+
showQueryBadge: boolean;
|
|
14
|
+
inResolutionsRange: boolean;
|
|
15
|
+
get defaultTooltip(): string;
|
|
16
|
+
visibilityChange: EventEmitter<Event>;
|
|
17
|
+
constructor(cdr: ChangeDetectorRef);
|
|
18
|
+
ngOnInit(): void;
|
|
19
|
+
toggle(event: Event): void;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LayerVisibilityButtonComponent, never>;
|
|
21
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LayerVisibilityButtonComponent, "igo-layer-visibility-button", never, { "layer": { "alias": "layer"; "required": true; }; "tooltip": { "alias": "tooltip"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "showQueryBadge": { "alias": "showQueryBadge"; "required": false; }; "inResolutionsRange": { "alias": "inResolutionsRange"; "required": false; }; }, { "visibilityChange": "visibilityChange"; }, never, never, true, never>;
|
|
22
|
+
}
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
+
import { LayerGroupComponent } from './layer-group/layer-group.component';
|
|
2
3
|
import { LayerItemComponent } from './layer-item/layer-item.component';
|
|
3
4
|
import { LayerLegendItemComponent } from './layer-legend-item/layer-legend-item.component';
|
|
4
5
|
import { LayerLegendListBindingDirective } from './layer-legend-list/layer-legend-list-binding.directive';
|
|
5
6
|
import { LayerLegendListComponent } from './layer-legend-list/layer-legend-list.component';
|
|
6
7
|
import { LayerLegendComponent } from './layer-legend/layer-legend.component';
|
|
7
8
|
import { LayerListToolComponent } from './layer-list-tool/layer-list-tool.component';
|
|
8
|
-
import { LayerListBindingDirective } from './layer-list/layer-list-binding.directive';
|
|
9
9
|
import { LayerListComponent } from './layer-list/layer-list.component';
|
|
10
|
+
import { LayerSearchComponent } from './layer-search/layer-search.component';
|
|
11
|
+
import { LayerUnavailableListComponent } from './layer-unavailable/layer-unavailable-list/layer-unavailable-list.component';
|
|
12
|
+
import { LayerUnavailableComponent } from './layer-unavailable/layer-unavailable.component';
|
|
13
|
+
import { LayerViewerBottomActionsComponent } from './layer-viewer-bottom-actions/layer-viewer-bottom-actions.component';
|
|
14
|
+
import { LayerViewerComponent } from './layer-viewer/layer-viewer.component';
|
|
15
|
+
import { LayerVisibilityButtonComponent } from './layer-visibility-button/layer-visibility-button.component';
|
|
10
16
|
import { TrackFeatureButtonComponent } from './track-feature-button/track-feature-button.component';
|
|
11
17
|
import * as i0 from "@angular/core";
|
|
12
18
|
import * as i1 from "./layer-item/layer-item.component";
|
|
@@ -15,16 +21,22 @@ import * as i3 from "./layer-legend/layer-legend.component";
|
|
|
15
21
|
import * as i4 from "./layer-list/layer-list.component";
|
|
16
22
|
import * as i5 from "./layer-list-tool/layer-list-tool.component";
|
|
17
23
|
import * as i6 from "./layer-legend-list/layer-legend-list.component";
|
|
18
|
-
import * as i7 from "./layer-list/layer-list-binding.directive";
|
|
19
|
-
import * as i8 from "./
|
|
20
|
-
import * as i9 from "./
|
|
21
|
-
|
|
24
|
+
import * as i7 from "./layer-legend-list/layer-legend-list-binding.directive";
|
|
25
|
+
import * as i8 from "./track-feature-button/track-feature-button.component";
|
|
26
|
+
import * as i9 from "./layer-group/layer-group.component";
|
|
27
|
+
import * as i10 from "./layer-viewer/layer-viewer.component";
|
|
28
|
+
import * as i11 from "./layer-unavailable/layer-unavailable.component";
|
|
29
|
+
import * as i12 from "./layer-visibility-button/layer-visibility-button.component";
|
|
30
|
+
import * as i13 from "./layer-search/layer-search.component";
|
|
31
|
+
import * as i14 from "./layer-viewer-bottom-actions/layer-viewer-bottom-actions.component";
|
|
32
|
+
import * as i15 from "./layer-unavailable/layer-unavailable-list/layer-unavailable-list.component";
|
|
33
|
+
export declare const LAYER_DIRECTIVES: readonly [typeof LayerItemComponent, typeof LayerLegendItemComponent, typeof LayerLegendComponent, typeof LayerListComponent, typeof LayerListToolComponent, typeof LayerLegendListComponent, typeof LayerLegendListBindingDirective, typeof TrackFeatureButtonComponent, typeof LayerGroupComponent, typeof LayerViewerComponent, typeof LayerUnavailableComponent, typeof LayerVisibilityButtonComponent, typeof LayerSearchComponent, typeof LayerViewerBottomActionsComponent, typeof LayerUnavailableListComponent];
|
|
22
34
|
/**
|
|
23
35
|
* @deprecated import the components/directives directly or LAYER_DIRECTIVES for the set
|
|
24
36
|
*/
|
|
25
37
|
export declare class IgoLayerModule {
|
|
26
38
|
static forRoot(): ModuleWithProviders<IgoLayerModule>;
|
|
27
39
|
static ɵfac: i0.ɵɵFactoryDeclaration<IgoLayerModule, never>;
|
|
28
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<IgoLayerModule, never, [typeof i1.LayerItemComponent, typeof i2.LayerLegendItemComponent, typeof i3.LayerLegendComponent, typeof i4.LayerListComponent, typeof i5.LayerListToolComponent, typeof i6.LayerLegendListComponent, typeof i7.
|
|
40
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<IgoLayerModule, never, [typeof i1.LayerItemComponent, typeof i2.LayerLegendItemComponent, typeof i3.LayerLegendComponent, typeof i4.LayerListComponent, typeof i5.LayerListToolComponent, typeof i6.LayerLegendListComponent, typeof i7.LayerLegendListBindingDirective, typeof i8.TrackFeatureButtonComponent, typeof i9.LayerGroupComponent, typeof i10.LayerViewerComponent, typeof i11.LayerUnavailableComponent, typeof i12.LayerVisibilityButtonComponent, typeof i13.LayerSearchComponent, typeof i14.LayerViewerBottomActionsComponent, typeof i15.LayerUnavailableListComponent], [typeof i1.LayerItemComponent, typeof i2.LayerLegendItemComponent, typeof i3.LayerLegendComponent, typeof i4.LayerListComponent, typeof i5.LayerListToolComponent, typeof i6.LayerLegendListComponent, typeof i7.LayerLegendListBindingDirective, typeof i8.TrackFeatureButtonComponent, typeof i9.LayerGroupComponent, typeof i10.LayerViewerComponent, typeof i11.LayerUnavailableComponent, typeof i12.LayerVisibilityButtonComponent, typeof i13.LayerSearchComponent, typeof i14.LayerViewerBottomActionsComponent, typeof i15.LayerUnavailableListComponent]>;
|
|
29
41
|
static ɵinj: i0.ɵɵInjectorDeclaration<IgoLayerModule>;
|
|
30
42
|
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { type MapBase } from '../../map/shared/map.abstract';
|
|
3
|
+
import { LayerSelectionModel } from './layer-selection';
|
|
4
|
+
import type { AnyLayer } from './layers/any-layer';
|
|
5
|
+
import type { Layer } from './layers/layer';
|
|
6
|
+
import type { LayerGroup } from './layers/layer-group';
|
|
7
|
+
/**
|
|
8
|
+
* We got four kind of layers
|
|
9
|
+
* TreeLayer: all layers to show in the layer manager
|
|
10
|
+
* Baselayer: Layer dedicated for the basemap
|
|
11
|
+
* SystemLayer: Every layer dedicated to good function of the map (Selection, hovering)
|
|
12
|
+
* OtherLayer: all remaining layer that is linked to another layer or simply not a systemLayer that need to be cleaned on map reset
|
|
13
|
+
*/
|
|
14
|
+
export declare class LayerController extends LayerSelectionModel {
|
|
15
|
+
private _map;
|
|
16
|
+
private tree;
|
|
17
|
+
/** Selection, Hovering, every internalLayer not in the tree is here */
|
|
18
|
+
private _systemLayers;
|
|
19
|
+
/** LinkedLayer and other layer that are not in the previous category and not visible in tree */
|
|
20
|
+
private _otherLayers;
|
|
21
|
+
layersFlattened: AnyLayer[];
|
|
22
|
+
private _layers$;
|
|
23
|
+
layers$: Observable<AnyLayer[]>;
|
|
24
|
+
layersFlattened$: Observable<AnyLayer[]>;
|
|
25
|
+
private _baseLayers;
|
|
26
|
+
private _baseLayers$;
|
|
27
|
+
baseLayers$: Observable<Layer[]>;
|
|
28
|
+
baseLayerSelection: Layer;
|
|
29
|
+
/** All layers with the tree flattened */
|
|
30
|
+
all$: Observable<AnyLayer[]>;
|
|
31
|
+
constructor(_map: MapBase, layers: AnyLayer[]);
|
|
32
|
+
get all(): AnyLayer[];
|
|
33
|
+
get baseLayers(): readonly Layer[];
|
|
34
|
+
get baseLayer(): Layer;
|
|
35
|
+
get treeLayers(): readonly AnyLayer[];
|
|
36
|
+
add(...layers: AnyLayer[]): void;
|
|
37
|
+
selectBaseLayer(layer: Layer): void;
|
|
38
|
+
remove(...layers: AnyLayer[]): void;
|
|
39
|
+
/**
|
|
40
|
+
* Move a layer into the tree
|
|
41
|
+
* @param layer Layer to move
|
|
42
|
+
* @param beforeTo The index position to move inside a tree
|
|
43
|
+
*/
|
|
44
|
+
moveTo(beforeTo: number[], ...layers: AnyLayer[]): AnyLayer[];
|
|
45
|
+
moveBelow(layerRef: AnyLayer | undefined, ...layers: AnyLayer[]): void;
|
|
46
|
+
moveAbove(layerRef: AnyLayer | undefined, ...layers: AnyLayer[]): void;
|
|
47
|
+
moveInside(layerRef: LayerGroup, ...layers: AnyLayer[]): void;
|
|
48
|
+
raise(...layers: AnyLayer[]): void;
|
|
49
|
+
lower(...layers: AnyLayer[]): void;
|
|
50
|
+
/** Reset all except SystemLayer */
|
|
51
|
+
reset(): void;
|
|
52
|
+
getById(id: string): AnyLayer;
|
|
53
|
+
getBySourceId(id: string): AnyLayer;
|
|
54
|
+
getPosition(layer: AnyLayer, type?: 'below' | 'above'): number[];
|
|
55
|
+
getLayerRecipient(layer: AnyLayer): AnyLayer[];
|
|
56
|
+
/**
|
|
57
|
+
* We got non visible layer in the tree like LinkedLayer. We want the next visible layer in tree
|
|
58
|
+
*/
|
|
59
|
+
private findLowestVisiblePostion;
|
|
60
|
+
private handleMove;
|
|
61
|
+
private _internalMove;
|
|
62
|
+
private getBefore;
|
|
63
|
+
/** Recursive */
|
|
64
|
+
private recalculateZindex;
|
|
65
|
+
private handleAdd;
|
|
66
|
+
private _remove;
|
|
67
|
+
private removeBaselayer;
|
|
68
|
+
private removeSystemLayer;
|
|
69
|
+
private removeOtherLayer;
|
|
70
|
+
private removeIn;
|
|
71
|
+
private isSystemLayer;
|
|
72
|
+
private isOtherLayer;
|
|
73
|
+
private clearBaselayers;
|
|
74
|
+
private clearTree;
|
|
75
|
+
private clearSystems;
|
|
76
|
+
private clearOther;
|
|
77
|
+
private getZindexOffset;
|
|
78
|
+
private setZindex;
|
|
79
|
+
private handleBaselayerZIndex;
|
|
80
|
+
private notify;
|
|
81
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AnyLayer } from './layers/any-layer';
|
|
2
|
+
export declare class LayerSelectionModel {
|
|
3
|
+
private selection;
|
|
4
|
+
private descendantSelection;
|
|
5
|
+
get selected(): AnyLayer[];
|
|
6
|
+
get hasSelection(): boolean;
|
|
7
|
+
get isSelectionEmpty(): boolean;
|
|
8
|
+
clearSelection(): void;
|
|
9
|
+
select(...layers: AnyLayer[]): void;
|
|
10
|
+
deselect(...layers: AnyLayer[]): void;
|
|
11
|
+
isSelected: (layer: AnyLayer) => boolean;
|
|
12
|
+
isDescendantSelection: (layer: AnyLayer) => boolean;
|
|
13
|
+
private getDescendants;
|
|
14
|
+
}
|
|
@@ -7,7 +7,8 @@ import { AnyDataSourceOptions, AnyDataSourceOptionsWithParams, ArcGISRestDataSou
|
|
|
7
7
|
import { LayerDBService } from '../../offline/layerDB/layerDB.service';
|
|
8
8
|
import { GeoNetworkService } from '../../offline/shared/geo-network.service';
|
|
9
9
|
import { StyleService } from '../../style/style-service/style.service';
|
|
10
|
-
import { AnyLayerOptions, Layer } from './layers';
|
|
10
|
+
import { AnyLayer, AnyLayerItemOptions, AnyLayerOptions, Layer, LayerGroupOptions } from './layers';
|
|
11
|
+
import { LayerGroup } from './layers/layer-group';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
export declare class LayerService {
|
|
13
14
|
private http;
|
|
@@ -17,10 +18,13 @@ export declare class LayerService {
|
|
|
17
18
|
private geoNetworkService?;
|
|
18
19
|
private layerDBService?;
|
|
19
20
|
private authInterceptor?;
|
|
20
|
-
unavailableLayers:
|
|
21
|
+
unavailableLayers: AnyLayerItemOptions[];
|
|
21
22
|
constructor(http: HttpClient, styleService: StyleService, dataSourceService: DataSourceService, messageService: MessageService, geoNetworkService?: GeoNetworkService, layerDBService?: LayerDBService, authInterceptor?: AuthInterceptor);
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
createLayers(layersOption: AnyLayerOptions[], contextUri?: string): Observable<(AnyLayer | undefined)[]>;
|
|
24
|
+
createLayer(layerOptions: AnyLayerItemOptions): Layer;
|
|
25
|
+
createAsyncLayer(options: AnyLayerItemOptions, detailedContextUri?: string): Observable<Layer | undefined>;
|
|
26
|
+
createAsyncGroup(options: LayerGroupOptions, detailedContextUri?: string): Observable<LayerGroup>;
|
|
27
|
+
private createGroup;
|
|
24
28
|
private createImageLayer;
|
|
25
29
|
private createTileLayer;
|
|
26
30
|
private createVectorLayer;
|
|
@@ -30,7 +34,7 @@ export declare class LayerService {
|
|
|
30
34
|
private getStuff;
|
|
31
35
|
private getAbsoluteUrl;
|
|
32
36
|
createAsyncIdbLayers(contextUri?: string): Observable<Layer[]>;
|
|
33
|
-
deleteUnavailableLayers(anyLayerOptions:
|
|
37
|
+
deleteUnavailableLayers(anyLayerOptions: AnyLayerItemOptions): void;
|
|
34
38
|
sourceOptionsWithParams(sourceOptions: AnyDataSourceOptions): sourceOptions is AnyDataSourceOptionsWithParams;
|
|
35
39
|
sourceOptionsWithLayer(sourceOptions: AnyDataSourceOptions): sourceOptions is ArcGISRestDataSourceOptions | WMTSDataSourceOptions;
|
|
36
40
|
static ɵfac: i0.ɵɵFactoryDeclaration<LayerService, [null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import { VectorLayer } from './vector-layer';
|
|
5
|
-
import { VectorTileLayer } from './vectortile-layer';
|
|
6
|
-
export type AnyLayer = Layer | ImageLayer | TileLayer | VectorLayer | VectorTileLayer;
|
|
1
|
+
import { type Layer } from './layer';
|
|
2
|
+
import { type LayerGroup } from './layer-group';
|
|
3
|
+
export type AnyLayer = Layer | LayerGroup;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { ImageLayerOptions } from './image-layer.interface';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
1
|
+
import { type ImageLayerOptions } from './image-layer.interface';
|
|
2
|
+
import { type LayerGroupOptions } from './layer-group.interface';
|
|
3
|
+
import { type LayerOptions } from './layer.interface';
|
|
4
|
+
import { type TileLayerOptions } from './tile-layer.interface';
|
|
5
|
+
import { type VectorLayerOptions } from './vector-layer.interface';
|
|
6
|
+
import { type VectorTileLayerOptions } from './vectortile-layer.interface';
|
|
7
|
+
export type AnyLayerOptions = AnyLayerItemOptions | LayerGroupOptions;
|
|
8
|
+
export type AnyLayerItemOptions = LayerOptions | ImageLayerOptions | TileLayerOptions | VectorLayerOptions | VectorTileLayerOptions;
|
|
@@ -4,18 +4,21 @@ import olLayerImage from 'ol/layer/Image';
|
|
|
4
4
|
import olSourceImage from 'ol/source/Image';
|
|
5
5
|
import { ImageArcGISRestDataSource } from '../../../datasource/shared/datasources/imagearcgisrest-datasource';
|
|
6
6
|
import { WMSDataSource } from '../../../datasource/shared/datasources/wms-datasource';
|
|
7
|
-
import type
|
|
7
|
+
import { type MapBase } from '../../../map/shared/map.abstract';
|
|
8
8
|
import { ImageLayerOptions } from './image-layer.interface';
|
|
9
9
|
import { Layer } from './layer';
|
|
10
|
+
import { LayerType } from './layer.interface';
|
|
10
11
|
export declare class ImageLayer extends Layer {
|
|
11
12
|
messageService: MessageService;
|
|
12
13
|
authInterceptor?: AuthInterceptor;
|
|
14
|
+
type: LayerType;
|
|
13
15
|
dataSource: WMSDataSource | ImageArcGISRestDataSource;
|
|
14
16
|
options: ImageLayerOptions;
|
|
15
17
|
ol: olLayerImage<olSourceImage>;
|
|
16
18
|
private watcher;
|
|
17
19
|
constructor(options: ImageLayerOptions, messageService: MessageService, authInterceptor?: AuthInterceptor);
|
|
18
20
|
protected createOlLayer(): olLayerImage<olSourceImage>;
|
|
19
|
-
|
|
21
|
+
init(map: MapBase | undefined): void;
|
|
22
|
+
remove(): void;
|
|
20
23
|
private customLoader;
|
|
21
24
|
}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import olLayerImage from 'ol/layer/Image';
|
|
2
2
|
import olSourceImage from 'ol/source/Image';
|
|
3
|
-
import { ImageArcGISRestDataSource } from '../../../datasource/shared/datasources
|
|
4
|
-
import { ArcGISRestImageDataSourceOptions } from '../../../datasource/shared/datasources/imagearcgisrest-datasource.interface';
|
|
5
|
-
import { WMSDataSource } from '../../../datasource/shared/datasources/wms-datasource';
|
|
6
|
-
import { WMSDataSourceOptions } from '../../../datasource/shared/datasources/wms-datasource.interface';
|
|
3
|
+
import { ArcGISRestImageDataSourceOptions, ImageArcGISRestDataSource, WMSDataSource, WMSDataSourceOptions } from '../../../datasource/shared/datasources';
|
|
7
4
|
import { LayerOptions } from './layer.interface';
|
|
8
5
|
export interface ImageLayerOptions extends LayerOptions {
|
|
9
6
|
source?: WMSDataSource | ImageArcGISRestDataSource;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
export * from './linked';
|
|
1
2
|
export * from './layer';
|
|
3
|
+
export * from './layer-base';
|
|
2
4
|
export * from './layer.interface';
|
|
5
|
+
export * from './legend.interface';
|
|
3
6
|
export * from './image-layer';
|
|
4
7
|
export * from './image-layer.interface';
|
|
5
8
|
export * from './tile-layer';
|
|
@@ -10,3 +13,5 @@ export * from './vectortile-layer';
|
|
|
10
13
|
export * from './vectortile-layer.interface';
|
|
11
14
|
export * from './any-layer';
|
|
12
15
|
export * from './any-layer.interface';
|
|
16
|
+
export * from './layer-group.interface';
|
|
17
|
+
export * from './layer-group';
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { SubjectStatus } from '@igo2/utils';
|
|
2
|
+
import BaseLayer from 'ol/layer/Base';
|
|
3
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
4
|
+
import type { DataSource } from '../../../datasource/shared/datasources/datasource';
|
|
5
|
+
import type { MapBase } from '../../../map/shared/map.abstract';
|
|
6
|
+
import type { LayerOptions, LayerType } from './layer.interface';
|
|
7
|
+
export type AnyLayerBase = LayerBase | LayerGroupBase;
|
|
8
|
+
export declare abstract class LayerBase {
|
|
9
|
+
options: LayerOptions;
|
|
10
|
+
abstract type: LayerType;
|
|
11
|
+
abstract ol: BaseLayer;
|
|
12
|
+
abstract parent: LayerGroupBase;
|
|
13
|
+
protected abstract createOlLayer(): BaseLayer;
|
|
14
|
+
collapsed: boolean;
|
|
15
|
+
firstLoadComponent: boolean;
|
|
16
|
+
map: MapBase;
|
|
17
|
+
olLoadingProblem: boolean;
|
|
18
|
+
status$: Subject<SubjectStatus>;
|
|
19
|
+
dataSource: DataSource | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Define if a layer is generated by code OR defined by layer/context user layer.
|
|
22
|
+
* Useful for filtering layers list in mapOffline.directive or in the sharemap...
|
|
23
|
+
* return false by default.
|
|
24
|
+
*/
|
|
25
|
+
get isIgoInternalLayer(): boolean;
|
|
26
|
+
get id(): string;
|
|
27
|
+
get parentId(): string;
|
|
28
|
+
get alias(): string;
|
|
29
|
+
get title(): string;
|
|
30
|
+
set title(title: string);
|
|
31
|
+
get zIndex(): number;
|
|
32
|
+
set zIndex(zIndex: number);
|
|
33
|
+
get baseLayer(): boolean;
|
|
34
|
+
set baseLayer(baseLayer: boolean);
|
|
35
|
+
get opacity(): number;
|
|
36
|
+
set opacity(opacity: number);
|
|
37
|
+
set isInResolutionsRange(value: boolean);
|
|
38
|
+
get isInResolutionsRange(): boolean;
|
|
39
|
+
readonly isInResolutionsRange$: BehaviorSubject<boolean>;
|
|
40
|
+
set maxResolution(value: number);
|
|
41
|
+
get maxResolution(): number;
|
|
42
|
+
set minResolution(value: number);
|
|
43
|
+
get minResolution(): number;
|
|
44
|
+
set visible(value: boolean);
|
|
45
|
+
get visible(): boolean;
|
|
46
|
+
private _visible$;
|
|
47
|
+
readonly visible$: import("rxjs").Observable<boolean>;
|
|
48
|
+
get displayed(): boolean;
|
|
49
|
+
set displayed(value: boolean);
|
|
50
|
+
private _displayed$;
|
|
51
|
+
displayed$: import("rxjs").Observable<boolean>;
|
|
52
|
+
private displayed$$;
|
|
53
|
+
get showInLayerList(): boolean;
|
|
54
|
+
get saveableOptions(): Partial<LayerOptions>;
|
|
55
|
+
constructor(options: LayerOptions);
|
|
56
|
+
afterCreated(): void;
|
|
57
|
+
init(map: MapBase): void;
|
|
58
|
+
add(parent?: LayerGroupBase): void;
|
|
59
|
+
private _add;
|
|
60
|
+
addParent(parent?: LayerGroupBase): void;
|
|
61
|
+
remove(): void;
|
|
62
|
+
private _remove;
|
|
63
|
+
reset(parent?: LayerGroupBase): void;
|
|
64
|
+
moveTo(parent?: LayerGroupBase): void;
|
|
65
|
+
clone(): LayerBase;
|
|
66
|
+
private initDisplayed$$;
|
|
67
|
+
}
|
|
68
|
+
export declare abstract class LayerGroupBase extends LayerBase {
|
|
69
|
+
type: LayerType;
|
|
70
|
+
children: LayerBase[];
|
|
71
|
+
abstract get descendants(): LayerBase[];
|
|
72
|
+
abstract addChild(layer: LayerBase): void;
|
|
73
|
+
abstract removeChild(layer: LayerBase): void;
|
|
74
|
+
abstract isDescendant(layer: LayerBase): boolean;
|
|
75
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Group } from 'ol/layer.js';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import type { MapBase } from '../../../map/shared/map.abstract';
|
|
4
|
+
import { type AnyLayer } from './any-layer';
|
|
5
|
+
import { LayerGroupBase } from './layer-base';
|
|
6
|
+
import { type LayerGroupOptions } from './layer-group.interface';
|
|
7
|
+
export declare class LayerGroup extends LayerGroupBase {
|
|
8
|
+
children: AnyLayer[] | null;
|
|
9
|
+
options: LayerGroupOptions;
|
|
10
|
+
parent: LayerGroup;
|
|
11
|
+
ol: Group;
|
|
12
|
+
expanded: boolean;
|
|
13
|
+
private isInResolutionsRange$$;
|
|
14
|
+
readonly isInResolutionsRange$: BehaviorSubject<boolean>;
|
|
15
|
+
get saveableOptions(): Partial<LayerGroupOptions>;
|
|
16
|
+
get descendants(): AnyLayer[];
|
|
17
|
+
get descendantsLevel(): number;
|
|
18
|
+
constructor(children: AnyLayer[] | null, options: LayerGroupOptions);
|
|
19
|
+
init(map: MapBase): void;
|
|
20
|
+
add(parent?: LayerGroupBase): void;
|
|
21
|
+
addChild(...layers: AnyLayer[]): void;
|
|
22
|
+
remove(): void;
|
|
23
|
+
removeChild(layer: AnyLayer): void;
|
|
24
|
+
isDescendant(layer: AnyLayer): boolean;
|
|
25
|
+
private setChildrenObserver;
|
|
26
|
+
protected createOlLayer(): Group;
|
|
27
|
+
private hasChildren;
|
|
28
|
+
/** recursive */
|
|
29
|
+
private _getDescendants;
|
|
30
|
+
/** recursive */
|
|
31
|
+
private _getDescendantsLevel;
|
|
32
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AnyLayerOptions } from './any-layer.interface';
|
|
2
|
+
import type { LayerOptionsBase } from './layer.interface';
|
|
3
|
+
export interface LayerGroupOptions extends Omit<LayerOptionsBase, 'title'> {
|
|
4
|
+
type: 'group';
|
|
5
|
+
title: string;
|
|
6
|
+
expanded?: boolean;
|
|
7
|
+
children?: AnyLayerOptions[];
|
|
8
|
+
}
|