@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
|
@@ -1,62 +1,44 @@
|
|
|
1
1
|
import { AuthInterceptor } from '@igo2/auth';
|
|
2
2
|
import { MessageService } from '@igo2/core/message';
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import { DataSource } from '../../../datasource/shared/datasources/datasource';
|
|
8
|
-
import { Legend } from '../../../datasource/shared/datasources/datasource.interface';
|
|
3
|
+
import OlLayer from 'ol/layer/Layer';
|
|
4
|
+
import { Source } from 'ol/source';
|
|
5
|
+
import { BehaviorSubject } from 'rxjs';
|
|
6
|
+
import { DataSource, Legend } from '../../../datasource/shared/datasources';
|
|
9
7
|
import type { MapBase } from '../../../map/shared/map.abstract';
|
|
10
|
-
import {
|
|
11
|
-
|
|
8
|
+
import { LayerBase, LayerGroupBase } from './layer-base';
|
|
9
|
+
import { type LayerGroup } from './layer-group';
|
|
10
|
+
import { type LayerOptions } from './layer.interface';
|
|
11
|
+
import { Linked } from './linked/linked-layer';
|
|
12
|
+
export declare abstract class Layer extends LayerBase {
|
|
12
13
|
options: LayerOptions;
|
|
13
14
|
protected messageService?: MessageService;
|
|
14
15
|
protected authInterceptor?: AuthInterceptor;
|
|
15
|
-
collapsed: boolean;
|
|
16
16
|
dataSource: DataSource;
|
|
17
|
+
parent: LayerGroup;
|
|
18
|
+
ol: OlLayer<Source>;
|
|
19
|
+
hasBeenVisible$: BehaviorSubject<boolean>;
|
|
17
20
|
legend: Legend[];
|
|
18
21
|
legendCollapsed: boolean;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
ol: olLayer<olSource>;
|
|
22
|
-
olLoadingProblem: boolean;
|
|
23
|
-
status$: Subject<SubjectStatus>;
|
|
24
|
-
hasBeenVisible$: BehaviorSubject<boolean>;
|
|
25
|
-
private hasBeenVisible$$;
|
|
22
|
+
link?: Linked;
|
|
23
|
+
linkMaster?: Linked;
|
|
26
24
|
private resolution$$;
|
|
27
|
-
/**
|
|
28
|
-
* Define if a layer is generated by code OR defined by layer/context user layer.
|
|
29
|
-
* Useful for filtering layers list in mapOffline.directive or in the sharemap...
|
|
30
|
-
* return false by default.
|
|
31
|
-
*/
|
|
32
|
-
get isIgoInternalLayer(): boolean;
|
|
33
25
|
get id(): string;
|
|
34
|
-
get
|
|
35
|
-
|
|
36
|
-
set title(title: string);
|
|
37
|
-
get zIndex(): number;
|
|
38
|
-
set zIndex(zIndex: number);
|
|
39
|
-
get baseLayer(): boolean;
|
|
40
|
-
set baseLayer(baseLayer: boolean);
|
|
41
|
-
get opacity(): number;
|
|
42
|
-
set opacity(opacity: number);
|
|
43
|
-
set isInResolutionsRange(value: boolean);
|
|
44
|
-
get isInResolutionsRange(): boolean;
|
|
45
|
-
readonly isInResolutionsRange$: BehaviorSubject<boolean>;
|
|
46
|
-
set maxResolution(value: number);
|
|
26
|
+
get visible(): boolean;
|
|
27
|
+
set visible(value: boolean);
|
|
47
28
|
get maxResolution(): number;
|
|
48
|
-
set
|
|
29
|
+
set maxResolution(value: number);
|
|
49
30
|
get minResolution(): number;
|
|
50
|
-
set
|
|
51
|
-
get
|
|
52
|
-
readonly visible$: BehaviorSubject<boolean>;
|
|
53
|
-
get displayed(): boolean;
|
|
54
|
-
readonly displayed$: Observable<boolean>;
|
|
55
|
-
get showInLayerList(): boolean;
|
|
56
|
-
get saveableOptions(): Partial<LayerOptions>;
|
|
31
|
+
set minResolution(value: number);
|
|
32
|
+
get saveableOptions(): Partial<LayerOptions> | undefined;
|
|
57
33
|
constructor(options: LayerOptions, messageService?: MessageService, authInterceptor?: AuthInterceptor);
|
|
58
|
-
protected abstract createOlLayer():
|
|
59
|
-
|
|
34
|
+
protected abstract createOlLayer(): OlLayer<Source>;
|
|
35
|
+
init(map: MapBase): void;
|
|
36
|
+
createLink(): void;
|
|
37
|
+
remove(): void;
|
|
38
|
+
add(parent?: LayerGroupBase): void;
|
|
39
|
+
moveTo(parent?: LayerGroup): void;
|
|
40
|
+
private createLinkWithParent;
|
|
41
|
+
private findParentByLinkId;
|
|
60
42
|
private showMessage;
|
|
61
43
|
private observeResolution;
|
|
62
44
|
private unobserveResolution;
|
|
@@ -1,40 +1,46 @@
|
|
|
1
1
|
import { Message } from '@igo2/core/message';
|
|
2
2
|
import olLayer from 'ol/layer/Layer';
|
|
3
3
|
import olSource from 'ol/source/Source';
|
|
4
|
-
import { AnyDataSourceOptions } from '../../../datasource/shared/datasources
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
export interface LayerOptions {
|
|
4
|
+
import type { AnyDataSourceOptions, DataSource } from '../../../datasource/shared/datasources';
|
|
5
|
+
import type { MapExtent } from '../../../map/shared/map.interface';
|
|
6
|
+
import type { LegendOptions } from './legend.interface';
|
|
7
|
+
import type { LayersLink } from './linked/linked-layer.interface';
|
|
8
|
+
export interface LayerOptions extends LayerOptionsBase {
|
|
9
9
|
isIgoInternalLayer?: boolean;
|
|
10
10
|
source?: DataSource;
|
|
11
11
|
sourceOptions?: AnyDataSourceOptions;
|
|
12
|
-
title?: string;
|
|
13
|
-
id?: string;
|
|
14
12
|
alias?: string;
|
|
15
13
|
security?: LayerSecurityOptions;
|
|
16
14
|
baseLayer?: boolean;
|
|
17
|
-
opacity?: number;
|
|
18
|
-
visible?: boolean;
|
|
19
|
-
extent?: MapExtent;
|
|
20
|
-
zIndex?: number;
|
|
21
15
|
messages?: Message[];
|
|
22
|
-
minResolution?: number;
|
|
23
|
-
maxResolution?: number;
|
|
24
16
|
minScaleDenom?: number;
|
|
25
17
|
maxScaleDenom?: number;
|
|
26
|
-
showInLayerList?: boolean;
|
|
27
18
|
removable?: boolean;
|
|
28
19
|
workspace?: GeoWorkspaceOptions;
|
|
29
20
|
legendOptions?: LegendOptions;
|
|
30
21
|
ol?: olLayer<olSource>;
|
|
31
22
|
tooltip?: TooltipContent;
|
|
32
23
|
_internal?: Record<string, string>;
|
|
33
|
-
active?: boolean;
|
|
34
|
-
check?: boolean;
|
|
35
24
|
linkedLayers?: LayersLink;
|
|
36
25
|
showButtonZoomToExtent?: boolean;
|
|
37
26
|
}
|
|
27
|
+
export interface LayerOptionsBase {
|
|
28
|
+
id?: string | number;
|
|
29
|
+
/**
|
|
30
|
+
* An unique identifier calculated client side
|
|
31
|
+
* The name prop provide a way to have a unique identifier between all layers
|
|
32
|
+
**/
|
|
33
|
+
name?: string;
|
|
34
|
+
title?: string;
|
|
35
|
+
opacity?: number;
|
|
36
|
+
visible?: boolean;
|
|
37
|
+
extent?: MapExtent;
|
|
38
|
+
zIndex?: number;
|
|
39
|
+
minResolution?: number;
|
|
40
|
+
maxResolution?: number;
|
|
41
|
+
showInLayerList?: boolean;
|
|
42
|
+
parentId?: string;
|
|
43
|
+
}
|
|
38
44
|
export interface LayerSecurityOptions {
|
|
39
45
|
profils?: string[];
|
|
40
46
|
}
|
|
@@ -54,31 +60,6 @@ export interface GeoWorkspaceQueryOptions {
|
|
|
54
60
|
mapQueryOnOpenTab?: boolean;
|
|
55
61
|
tabQuery?: boolean;
|
|
56
62
|
}
|
|
57
|
-
export interface LayersLink {
|
|
58
|
-
linkId: string;
|
|
59
|
-
/** Default value is true */
|
|
60
|
-
showInMiniBaseMap?: boolean;
|
|
61
|
-
links?: LayersLinkProperties[];
|
|
62
|
-
}
|
|
63
|
-
export interface LayersLinkProperties {
|
|
64
|
-
linkedIds: string[];
|
|
65
|
-
syncedDelete: boolean;
|
|
66
|
-
properties: LinkedProperties[];
|
|
67
|
-
}
|
|
68
|
-
export declare enum LinkedProperties {
|
|
69
|
-
OPACITY = "opacity",
|
|
70
|
-
VISIBLE = "visible",
|
|
71
|
-
OGCFILTERS = "ogcFilters",
|
|
72
|
-
MINRESOLUTION = "minResolution",
|
|
73
|
-
MAXRESOLUTION = "maxResolution",
|
|
74
|
-
ZINDEX = "zIndex",
|
|
75
|
-
TIMEFILTER = "timeFilter"
|
|
76
|
-
}
|
|
77
|
-
export interface GroupLayers {
|
|
78
|
-
title: string;
|
|
79
|
-
layers?: LayerOptions;
|
|
80
|
-
collapsed?: boolean;
|
|
81
|
-
}
|
|
82
63
|
export interface TooltipContent {
|
|
83
64
|
type?: TooltipType;
|
|
84
65
|
text?: string;
|
|
@@ -88,3 +69,4 @@ export declare enum TooltipType {
|
|
|
88
69
|
ABSTRACT = "abstract",
|
|
89
70
|
CUSTOM = "custom"
|
|
90
71
|
}
|
|
72
|
+
export type LayerType = 'vector' | 'raster' | 'group';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { LayerController } from '../../layer-controller';
|
|
2
|
+
import type { Layer } from '../layer';
|
|
3
|
+
import type { LayerGroup } from '../layer-group';
|
|
4
|
+
import { LayersLinkProperties } from './linked-layer.interface';
|
|
5
|
+
export declare class Linked {
|
|
6
|
+
layer: Layer;
|
|
7
|
+
private children;
|
|
8
|
+
private watcher;
|
|
9
|
+
private bidirectionnalChildren;
|
|
10
|
+
private childrenByProperty;
|
|
11
|
+
private disabledProperties;
|
|
12
|
+
constructor(layer: Layer);
|
|
13
|
+
get options(): import("@igo2/geo").LayerOptions;
|
|
14
|
+
get links(): LayersLinkProperties[];
|
|
15
|
+
get map(): import("@igo2/geo").MapBase;
|
|
16
|
+
init(): void;
|
|
17
|
+
private initZIndexLinkOptions;
|
|
18
|
+
destroy(): void;
|
|
19
|
+
add(layer: Layer): void;
|
|
20
|
+
hasSyncDeletion(layer: Layer): boolean;
|
|
21
|
+
remove(layer: Layer): void;
|
|
22
|
+
deleteChildren(controller: LayerController): void;
|
|
23
|
+
move(layer: Layer, parent?: LayerGroup): void;
|
|
24
|
+
private disable;
|
|
25
|
+
private enable;
|
|
26
|
+
private getByProperty;
|
|
27
|
+
private propertyIsDisabled;
|
|
28
|
+
private getLayerLinks;
|
|
29
|
+
private removeArrayItem;
|
|
30
|
+
private getLinkedLayersOnZindex;
|
|
31
|
+
private unwatch;
|
|
32
|
+
private handleChange;
|
|
33
|
+
private handleDisplayChange;
|
|
34
|
+
private findChildren;
|
|
35
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { AnyLayer } from '../any-layer';
|
|
2
|
+
import type { Layer } from '../layer';
|
|
3
|
+
export type AnyPropertyOptions = ZindexPropertyOptions | BasePropertyOptions;
|
|
4
|
+
export interface ZindexPropertyOptions extends BasePropertyOptions {
|
|
5
|
+
initialOrder: AnyLayer[];
|
|
6
|
+
}
|
|
7
|
+
interface BasePropertyOptions {
|
|
8
|
+
layers: Layer[];
|
|
9
|
+
}
|
|
10
|
+
export interface LayersLink {
|
|
11
|
+
linkId: string;
|
|
12
|
+
/** Default value is true */
|
|
13
|
+
showInMiniBaseMap?: boolean;
|
|
14
|
+
links?: LayersLinkProperties[];
|
|
15
|
+
}
|
|
16
|
+
export interface LayersLinkProperties {
|
|
17
|
+
bidirectionnal?: boolean;
|
|
18
|
+
linkedIds: string[];
|
|
19
|
+
syncedDelete: boolean;
|
|
20
|
+
properties: LinkedProperties[];
|
|
21
|
+
}
|
|
22
|
+
export declare enum LinkedProperties {
|
|
23
|
+
OPACITY = "opacity",
|
|
24
|
+
VISIBLE = "visible",
|
|
25
|
+
DISPLAYED = "displayed",
|
|
26
|
+
OGCFILTERS = "ogcFilters",
|
|
27
|
+
MINRESOLUTION = "minResolution",
|
|
28
|
+
MAXRESOLUTION = "maxResolution",
|
|
29
|
+
ZINDEX = "zIndex",
|
|
30
|
+
TIMEFILTER = "timeFilter"
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AnyLayer } from '../any-layer';
|
|
2
|
+
import type { AnyLayerItemOptions, AnyLayerOptions } from '../any-layer.interface';
|
|
3
|
+
import type { Layer } from '../layer';
|
|
4
|
+
import type { LinkedProperties } from './linked-layer.interface';
|
|
5
|
+
export declare function isLayerLinked(layer: AnyLayer): layer is Layer;
|
|
6
|
+
export declare function isLinkMaster(layer: Layer): boolean;
|
|
7
|
+
export declare function isLayerLinkedTogether(layerA: AnyLayer, layerB: AnyLayer, layers: AnyLayer[], property?: LinkedProperties): boolean;
|
|
8
|
+
export declare function isLayerLinkedOptions(options: AnyLayerOptions): options is AnyLayerItemOptions;
|
|
9
|
+
export declare function isBaseLayerLinked(layer: AnyLayer, allLayers: AnyLayer[]): layer is Layer;
|
|
@@ -8,12 +8,14 @@ import { TileArcGISRestDataSource } from '../../../datasource/shared/datasources
|
|
|
8
8
|
import { TileDebugDataSource } from '../../../datasource/shared/datasources/tiledebug-datasource';
|
|
9
9
|
import { WMTSDataSource } from '../../../datasource/shared/datasources/wmts-datasource';
|
|
10
10
|
import { XYZDataSource } from '../../../datasource/shared/datasources/xyz-datasource';
|
|
11
|
-
import type {
|
|
11
|
+
import type { MapBase } from '../../../map/shared/map.abstract';
|
|
12
12
|
import { Layer } from './layer';
|
|
13
|
+
import { LayerType } from './layer.interface';
|
|
13
14
|
import { TileLayerOptions } from './tile-layer.interface';
|
|
14
15
|
export declare class TileLayer extends Layer {
|
|
15
16
|
messageService?: MessageService;
|
|
16
17
|
authInterceptor?: AuthInterceptor;
|
|
18
|
+
type: LayerType;
|
|
17
19
|
dataSource: OSMDataSource | WMTSDataSource | XYZDataSource | TileDebugDataSource | CartoDataSource | TileArcGISRestDataSource;
|
|
18
20
|
options: TileLayerOptions;
|
|
19
21
|
ol: olLayerTile<olSourceTile>;
|
|
@@ -27,5 +29,6 @@ export declare class TileLayer extends Layer {
|
|
|
27
29
|
* @param url the url string or function to retrieve the data
|
|
28
30
|
*/
|
|
29
31
|
customLoader(tile: any, url: string, interceptor: AuthInterceptor): void;
|
|
30
|
-
|
|
32
|
+
init(map: MapBase | undefined): void;
|
|
33
|
+
remove(): void;
|
|
31
34
|
}
|
|
@@ -11,11 +11,13 @@ import { FeatureDataSource } from '../../../datasource/shared/datasources/featur
|
|
|
11
11
|
import { WebSocketDataSource } from '../../../datasource/shared/datasources/websocket-datasource';
|
|
12
12
|
import { WFSDataSource } from '../../../datasource/shared/datasources/wfs-datasource';
|
|
13
13
|
import { WFSDataSourceOptions } from '../../../datasource/shared/datasources/wfs-datasource.interface';
|
|
14
|
-
import type {
|
|
14
|
+
import type { MapBase } from '../../../map/shared/map.abstract';
|
|
15
|
+
import { MapExtent } from '../../../map/shared/map.interface';
|
|
15
16
|
import { GeoDBService } from '../../../offline/geoDB/geoDB.service';
|
|
16
17
|
import { LayerDBService } from '../../../offline/layerDB/layerDB.service';
|
|
17
18
|
import { GeoNetworkService } from '../../../offline/shared/geo-network.service';
|
|
18
19
|
import { Layer } from './layer';
|
|
20
|
+
import { LayerType } from './layer.interface';
|
|
19
21
|
import type { VectorLayerOptions } from './vector-layer.interface';
|
|
20
22
|
export declare class VectorLayer extends Layer {
|
|
21
23
|
messageService?: MessageService;
|
|
@@ -23,6 +25,7 @@ export declare class VectorLayer extends Layer {
|
|
|
23
25
|
private geoNetworkService?;
|
|
24
26
|
geoDBService?: GeoDBService;
|
|
25
27
|
layerDBService?: LayerDBService;
|
|
28
|
+
type: LayerType;
|
|
26
29
|
private previousLoadExtent;
|
|
27
30
|
private previousLoadResolution;
|
|
28
31
|
private previousOgcFilters;
|
|
@@ -36,11 +39,12 @@ export declare class VectorLayer extends Layer {
|
|
|
36
39
|
get exportable(): boolean;
|
|
37
40
|
constructor(options: VectorLayerOptions, messageService?: MessageService, authInterceptor?: AuthInterceptor, geoNetworkService?: GeoNetworkService, geoDBService?: GeoDBService, layerDBService?: LayerDBService);
|
|
38
41
|
protected createOlLayer(): olLayerVector<olSourceVector>;
|
|
39
|
-
|
|
42
|
+
remove(): void;
|
|
43
|
+
private removeLayerFromIDB;
|
|
40
44
|
private maintainOptionsInIdb;
|
|
41
45
|
private maintainFeaturesInIdb;
|
|
42
46
|
protected flash(feature: any): void;
|
|
43
|
-
|
|
47
|
+
init(map: MapBase | undefined): void;
|
|
44
48
|
setExtent(extent: MapExtent): void;
|
|
45
49
|
onUnwatch(): void;
|
|
46
50
|
stopAnimation(): void;
|
|
@@ -2,12 +2,14 @@ import { AuthInterceptor } from '@igo2/auth';
|
|
|
2
2
|
import { MessageService } from '@igo2/core/message';
|
|
3
3
|
import olLayerVectorTile from 'ol/layer/VectorTile';
|
|
4
4
|
import { MVTDataSource } from '../../../datasource/shared/datasources/mvt-datasource';
|
|
5
|
-
import type {
|
|
5
|
+
import type { MapBase } from '../../../map/shared/map.abstract';
|
|
6
6
|
import { Layer } from './layer';
|
|
7
|
+
import { LayerType } from './layer.interface';
|
|
7
8
|
import { VectorTileLayerOptions } from './vectortile-layer.interface';
|
|
8
9
|
export declare class VectorTileLayer extends Layer {
|
|
9
10
|
messageService?: MessageService;
|
|
10
11
|
authInterceptor?: AuthInterceptor;
|
|
12
|
+
type: LayerType;
|
|
11
13
|
dataSource: MVTDataSource;
|
|
12
14
|
options: VectorTileLayerOptions;
|
|
13
15
|
ol: olLayerVectorTile;
|
|
@@ -24,5 +26,6 @@ export declare class VectorTileLayer extends Layer {
|
|
|
24
26
|
* @param failure On failure event action to trigger TODO
|
|
25
27
|
*/
|
|
26
28
|
customLoader(url: any, format: any, interceptor: any, success: any, failure?: any): (extent: any, resolution: any, projection: any) => void;
|
|
27
|
-
|
|
29
|
+
init(map: MapBase | undefined): void;
|
|
30
|
+
remove(): void;
|
|
28
31
|
}
|
|
@@ -1,2 +1,12 @@
|
|
|
1
|
-
import { AnyLayerOptions } from '../shared/layers
|
|
2
|
-
|
|
1
|
+
import type { AnyLayer, AnyLayerItemOptions, AnyLayerOptions, Layer, LayerGroup, LayerGroupOptions } from '../shared/layers';
|
|
2
|
+
type SortDirection = 'asc' | 'desc';
|
|
3
|
+
export declare function isLayerGroupOptions(option: AnyLayerOptions): option is LayerGroupOptions;
|
|
4
|
+
export declare function isLayerItemOptions(options: AnyLayerOptions): options is AnyLayerItemOptions;
|
|
5
|
+
export declare function isLayerGroup(layer: AnyLayer): layer is LayerGroup;
|
|
6
|
+
export declare function isLayerItem(layer: AnyLayer): layer is Layer;
|
|
7
|
+
export declare function isBaseLayer(layer: AnyLayer): layer is Layer;
|
|
8
|
+
export declare function computeMVTOptionsOnHover(layerOptions: AnyLayerItemOptions): AnyLayerItemOptions;
|
|
9
|
+
export declare function isSaveableLayer(layer: Layer): boolean;
|
|
10
|
+
/** Recursive */
|
|
11
|
+
export declare function sortLayersByZindex(layers: AnyLayer[], direction: SortDirection): AnyLayer[];
|
|
12
|
+
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AnyLayer } from '../shared';
|
|
2
2
|
import { OutputLayerLegend } from '../shared/layers/legend.interface';
|
|
3
3
|
/**
|
|
4
4
|
* Get all the layers legend
|
|
5
5
|
* @return Array of legend
|
|
6
6
|
*/
|
|
7
|
-
export declare function getLayersLegends(layers:
|
|
7
|
+
export declare function getLayersLegends(layers: AnyLayer[]): OutputLayerLegend[];
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Coordinate } from 'ol/coordinate';
|
|
1
2
|
import { ProjectionLike } from 'ol/proj';
|
|
2
3
|
export interface GeolocationOptions {
|
|
3
4
|
activateDefault?: boolean;
|
|
@@ -14,7 +15,7 @@ export interface MapGeolocationControllerOptions {
|
|
|
14
15
|
buffer?: GeolocationBuffer;
|
|
15
16
|
}
|
|
16
17
|
export interface MapGeolocationState {
|
|
17
|
-
position:
|
|
18
|
+
position: Coordinate;
|
|
18
19
|
projection: string;
|
|
19
20
|
accuracy: number;
|
|
20
21
|
altitude: number;
|
|
@@ -25,7 +25,6 @@ export declare class HoverFeatureDirective implements OnInit, OnDestroy {
|
|
|
25
25
|
private pointerHoverFeatureStore;
|
|
26
26
|
private lastTimeoutRequest;
|
|
27
27
|
private store$$;
|
|
28
|
-
private layers$$;
|
|
29
28
|
private selectionLayer;
|
|
30
29
|
private selectionMVT;
|
|
31
30
|
private mvtStyleOptions;
|
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Layer
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export declare function
|
|
7
|
-
export declare function
|
|
8
|
-
export declare function
|
|
9
|
-
export declare function
|
|
10
|
-
export declare function
|
|
11
|
-
export declare function
|
|
12
|
-
export declare function
|
|
13
|
-
export declare function
|
|
14
|
-
export declare function getDirectChildLayersByDeletion(map: MapBase, layer: Layer): Layer[];
|
|
15
|
-
export declare function getAllChildLayersByDeletion(map: MapBase, layer: Layer, knownChildLayers: Layer[]): Layer[];
|
|
16
|
-
export declare function initLayerSyncFromRootParentLayers(map: MapBase, layers: Layer[]): void;
|
|
17
|
-
export declare function handleLayerPropertyChange(map: MapBase, propertyChange: ObjectEvent, initiatorIgoLayer: Layer): void;
|
|
1
|
+
import type { AnyLayer } from '../../layer/shared/layers/any-layer';
|
|
2
|
+
import type { Layer } from '../../layer/shared/layers/layer';
|
|
3
|
+
import { LayersLinkProperties, LinkedProperties } from '../../layer/shared/layers/linked/linked-layer.interface';
|
|
4
|
+
import { MapViewController } from '../../map/shared/controllers/view';
|
|
5
|
+
import { LayerWatcherChange } from '../utils/layer-watcher';
|
|
6
|
+
export declare function getRootParentByProperty(layers: AnyLayer[], layer: Layer, property: LinkedProperties): Layer;
|
|
7
|
+
export declare function getAllChildLayersByProperty(layers: AnyLayer[], layer: Layer, knownChildLayers: AnyLayer[], property: LinkedProperties): AnyLayer[];
|
|
8
|
+
export declare function getRootParentByDeletion(layer: Layer, layers: AnyLayer[]): Layer;
|
|
9
|
+
export declare function getAllChildLayersByDeletion(layers: Layer[], layer: Layer, knownChildLayers: Layer[]): Layer[];
|
|
10
|
+
export declare function getLinkedLayersOptions(layer: Layer): import("../../layer/shared/layers/linked/linked-layer.interface").LayersLink;
|
|
11
|
+
export declare function findLayerByLinkId(layers: Layer[], id: string): Layer;
|
|
12
|
+
export declare function getLayersByDeletion(layers: Layer[], links: LayersLinkProperties[]): Layer[];
|
|
13
|
+
export declare function handleLayerPropertyChange(layers: AnyLayer[], change: LayerWatcherChange, viewController: MapViewController): void;
|
|
@@ -1,25 +1,21 @@
|
|
|
1
1
|
import { SubjectStatus } from '@igo2/utils';
|
|
2
|
-
import { ObjectEvent } from 'ol/Object';
|
|
3
|
-
import { Layer as OlLayer } from 'ol/layer';
|
|
4
2
|
import { Projection } from 'ol/proj';
|
|
5
|
-
import { Source } from 'ol/source';
|
|
6
3
|
import { Map } from 'ol';
|
|
7
4
|
import { BehaviorSubject, Subject } from 'rxjs';
|
|
8
5
|
import { FeatureDataSource } from '../../datasource/shared/datasources';
|
|
9
|
-
import {
|
|
6
|
+
import { LayerController } from '../../layer/shared/layer-controller';
|
|
7
|
+
import type { AnyLayer } from '../../layer/shared/layers/any-layer';
|
|
8
|
+
import type { Layer } from '../../layer/shared/layers/layer';
|
|
10
9
|
import { Overlay } from '../../overlay/shared/overlay';
|
|
11
10
|
import { MapGeolocationController, MapViewController } from '../shared/controllers';
|
|
12
|
-
import { MapControlsOptions, MapExtent, MapViewOptions } from '../shared/map.interface';
|
|
11
|
+
import { MapControlsOptions, MapExtent, MapOptions, MapViewOptions } from '../shared/map.interface';
|
|
12
|
+
import { LayerWatcher, LayerWatcherChange } from '../utils';
|
|
13
13
|
export declare abstract class MapBase {
|
|
14
14
|
ol: Map;
|
|
15
15
|
forcedOffline$: BehaviorSubject<boolean>;
|
|
16
|
-
|
|
17
|
-
layersAddedByClick$: BehaviorSubject<Layer[]>;
|
|
16
|
+
layersAddedByClick$: BehaviorSubject<AnyLayer[]>;
|
|
18
17
|
status$: Subject<SubjectStatus>;
|
|
19
|
-
propertyChange$: Subject<
|
|
20
|
-
event: ObjectEvent;
|
|
21
|
-
layer: Layer;
|
|
22
|
-
}>;
|
|
18
|
+
propertyChange$: Subject<LayerWatcherChange>;
|
|
23
19
|
overlay: Overlay;
|
|
24
20
|
queryResultsOverlay: Overlay;
|
|
25
21
|
searchResultsOverlay: Overlay;
|
|
@@ -29,11 +25,12 @@ export declare abstract class MapBase {
|
|
|
29
25
|
mapCenter$: BehaviorSubject<boolean>;
|
|
30
26
|
selectedFeatures$: BehaviorSubject<Layer[]>;
|
|
31
27
|
bufferDataSource: FeatureDataSource;
|
|
32
|
-
|
|
28
|
+
layerWatcher: LayerWatcher;
|
|
29
|
+
readonly options: MapOptions;
|
|
30
|
+
layerController: LayerController;
|
|
33
31
|
projection: string;
|
|
34
32
|
viewProjection: Projection;
|
|
35
33
|
projectionCode: string;
|
|
36
|
-
abstract init(): void;
|
|
37
34
|
abstract setTarget(id: string): void;
|
|
38
35
|
abstract updateView(options: MapViewOptions): void;
|
|
39
36
|
abstract setView(options: MapViewOptions): void;
|
|
@@ -41,20 +38,6 @@ export declare abstract class MapBase {
|
|
|
41
38
|
abstract getCenter(projection?: string | Projection): [number, number];
|
|
42
39
|
abstract getExtent(projection?: string | Projection): MapExtent;
|
|
43
40
|
abstract getZoom(): number;
|
|
44
|
-
|
|
45
|
-
abstract
|
|
46
|
-
abstract getLayerById(id: string): Layer | undefined;
|
|
47
|
-
abstract getLayerByAlias(alias: string): Layer;
|
|
48
|
-
abstract getLayerByOlUId(olUId: string): Layer;
|
|
49
|
-
abstract getLayerByOlLayer(olLayer: OlLayer<Source>): Layer;
|
|
50
|
-
abstract addLayer(layer: Layer, push: boolean): void;
|
|
51
|
-
abstract addLayers(layers: Layer[], push?: boolean): void;
|
|
52
|
-
abstract removeLayer(layer: Layer): void;
|
|
53
|
-
abstract removeLayers(layers: Layer[]): void;
|
|
54
|
-
abstract removeAllLayers(): void;
|
|
55
|
-
abstract raiseLayer(layer: Layer): void;
|
|
56
|
-
abstract raiseLayers(layers: Layer[]): void;
|
|
57
|
-
abstract lowerLayer(layer: Layer): void;
|
|
58
|
-
abstract lowerLayers(layers: Layer[]): void;
|
|
59
|
-
abstract moveLayer(layer: Layer, from: number, to: number): void;
|
|
41
|
+
/** @deprecated find a way to remove this method. For now we discourage to use it until we find the way to remove it */
|
|
42
|
+
abstract getLayerByOlUId(olUId: string): AnyLayer;
|
|
60
43
|
}
|
package/lib/map/shared/map.d.ts
CHANGED
|
@@ -2,15 +2,14 @@ import { ConfigService } from '@igo2/core/config';
|
|
|
2
2
|
import { StorageService } from '@igo2/core/storage';
|
|
3
3
|
import { SubjectStatus } from '@igo2/utils';
|
|
4
4
|
import olMap from 'ol/Map';
|
|
5
|
-
import { ObjectEvent } from 'ol/Object';
|
|
6
|
-
import olLayer from 'ol/layer/Layer';
|
|
7
5
|
import * as olproj from 'ol/proj';
|
|
8
6
|
import OlProjection from 'ol/proj/Projection';
|
|
9
|
-
import olSource from 'ol/source/Source';
|
|
10
7
|
import { BehaviorSubject, Subject } from 'rxjs';
|
|
11
8
|
import { FeatureDataSource } from '../../datasource/shared/datasources/feature-datasource';
|
|
12
|
-
import
|
|
9
|
+
import { LayerController } from '../../layer';
|
|
10
|
+
import type { AnyLayer, Layer } from '../../layer/shared/layers';
|
|
13
11
|
import { Overlay } from '../../overlay/shared/overlay';
|
|
12
|
+
import { LayerWatcher, LayerWatcherChange } from '../utils/layer-watcher';
|
|
14
13
|
import { MapGeolocationController } from './controllers/geolocation';
|
|
15
14
|
import { MapViewController } from './controllers/view';
|
|
16
15
|
import type { MapBase } from './map.abstract';
|
|
@@ -20,27 +19,23 @@ export declare class IgoMap implements MapBase {
|
|
|
20
19
|
private configService?;
|
|
21
20
|
ol: olMap;
|
|
22
21
|
forcedOffline$: BehaviorSubject<boolean>;
|
|
23
|
-
|
|
24
|
-
layersAddedByClick$: BehaviorSubject<Layer[]>;
|
|
22
|
+
layersAddedByClick$: BehaviorSubject<AnyLayer[]>;
|
|
25
23
|
status$: Subject<SubjectStatus>;
|
|
26
|
-
propertyChange$: Subject<
|
|
27
|
-
event: ObjectEvent;
|
|
28
|
-
layer: Layer;
|
|
29
|
-
}>;
|
|
24
|
+
propertyChange$: Subject<LayerWatcherChange>;
|
|
30
25
|
overlay: Overlay;
|
|
31
26
|
queryResultsOverlay: Overlay;
|
|
32
27
|
searchResultsOverlay: Overlay;
|
|
33
28
|
viewController: MapViewController;
|
|
29
|
+
layerController: LayerController;
|
|
34
30
|
geolocationController: MapGeolocationController;
|
|
35
31
|
swipeEnabled$: BehaviorSubject<boolean>;
|
|
36
32
|
mapCenter$: BehaviorSubject<boolean>;
|
|
37
33
|
selectedFeatures$: BehaviorSubject<Layer[]>;
|
|
38
34
|
bufferDataSource: FeatureDataSource;
|
|
39
|
-
|
|
40
|
-
|
|
35
|
+
layerWatcher: LayerWatcher;
|
|
36
|
+
readonly options: MapOptions;
|
|
41
37
|
private mapViewOptions;
|
|
42
38
|
private defaultOptions;
|
|
43
|
-
get layers(): Layer[];
|
|
44
39
|
/** @deprecated use projectionCode */
|
|
45
40
|
get projection(): string;
|
|
46
41
|
get viewProjection(): olproj.Projection;
|
|
@@ -70,76 +65,6 @@ export declare class IgoMap implements MapBase {
|
|
|
70
65
|
* TODO: Move to ViewController and update every place it's used
|
|
71
66
|
*/
|
|
72
67
|
getZoom(): number;
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
getLayerById(id: string): Layer;
|
|
76
|
-
getLayerByAlias(alias: string): Layer;
|
|
77
|
-
getLayerByOlUId(olUId: string): Layer;
|
|
78
|
-
getLayerByOlLayer(olLayer: olLayer<olSource>): Layer;
|
|
79
|
-
/**
|
|
80
|
-
* Add a single layer
|
|
81
|
-
* @param layer Layer to add
|
|
82
|
-
* @param push DEPRECATED
|
|
83
|
-
*/
|
|
84
|
-
addLayer(layer: Layer): void;
|
|
85
|
-
/**
|
|
86
|
-
* Add many layers
|
|
87
|
-
* @param layers Layers to add
|
|
88
|
-
* @param push DEPRECATED
|
|
89
|
-
*/
|
|
90
|
-
addLayers(layers: Layer[]): void;
|
|
91
|
-
/**
|
|
92
|
-
* Remove a single layer
|
|
93
|
-
* @param layer Layer to remove
|
|
94
|
-
*/
|
|
95
|
-
removeLayer(layer: Layer): void;
|
|
96
|
-
/**
|
|
97
|
-
* Remove many layers
|
|
98
|
-
* @param layers Layers to remove
|
|
99
|
-
*/
|
|
100
|
-
removeLayers(layers: Layer[]): void;
|
|
101
|
-
/**
|
|
102
|
-
* Build a list of linked layers to delete
|
|
103
|
-
* @param srcLayer Layer that has triggered the deletion
|
|
104
|
-
* @param layersToRemove list to append the layer to delete into
|
|
105
|
-
*/
|
|
106
|
-
handleLinkedLayersDeletion(srcLayer: Layer, layersToRemove: Layer[]): void;
|
|
107
|
-
/**
|
|
108
|
-
* Remove all layers
|
|
109
|
-
*/
|
|
110
|
-
removeAllLayers(): void;
|
|
111
|
-
raiseLayer(layer: Layer): void;
|
|
112
|
-
raiseLayers(layers: Layer[]): void;
|
|
113
|
-
lowerLayer(layer: Layer): void;
|
|
114
|
-
lowerLayers(layers: Layer[]): void;
|
|
115
|
-
moveLayer(layer: Layer, from: number, to: number): void;
|
|
116
|
-
/**
|
|
117
|
-
* Add a layer to the OL map and start watching. If the layer is already
|
|
118
|
-
* added to this map, make it visible but don't add it one again.
|
|
119
|
-
* @param layer Layer
|
|
120
|
-
* @returns The layer added, if any
|
|
121
|
-
*/
|
|
122
|
-
private doAddLayer;
|
|
123
|
-
/**
|
|
124
|
-
* Remove a layer from the OL map and stop watching
|
|
125
|
-
* @param layer Layer
|
|
126
|
-
*/
|
|
127
|
-
private doRemoveLayer;
|
|
128
|
-
/**
|
|
129
|
-
* Update the layers observable
|
|
130
|
-
* @param layers Layers
|
|
131
|
-
*/
|
|
132
|
-
private setLayers;
|
|
133
|
-
/**
|
|
134
|
-
* Sort layers by descending zIndex
|
|
135
|
-
* @param layers Array of layers
|
|
136
|
-
* @returns The original array, sorted by zIndex
|
|
137
|
-
*/
|
|
138
|
-
private sortLayersByZIndex;
|
|
139
|
-
/**
|
|
140
|
-
* Get layer index in the map's inenr array of layers
|
|
141
|
-
* @param layer Layer
|
|
142
|
-
* @returns The layer index
|
|
143
|
-
*/
|
|
144
|
-
private getLayerIndex;
|
|
68
|
+
/** @deprecated find a way to remove this method. For now we discourage to use it until we find the way to remove it */
|
|
69
|
+
getLayerByOlUId(olUId: string): AnyLayer;
|
|
145
70
|
}
|