@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
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
2
|
+
import { getResolutionFromScale } from '../../../map/shared/map.utils';
|
|
3
|
+
export class LayerBase {
|
|
4
|
+
options;
|
|
5
|
+
collapsed;
|
|
6
|
+
firstLoadComponent = true;
|
|
7
|
+
map;
|
|
8
|
+
olLoadingProblem = false;
|
|
9
|
+
status$;
|
|
10
|
+
dataSource;
|
|
11
|
+
/**
|
|
12
|
+
* Define if a layer is generated by code OR defined by layer/context user layer.
|
|
13
|
+
* Useful for filtering layers list in mapOffline.directive or in the sharemap...
|
|
14
|
+
* return false by default.
|
|
15
|
+
*/
|
|
16
|
+
get isIgoInternalLayer() {
|
|
17
|
+
return this.options.isIgoInternalLayer || false;
|
|
18
|
+
}
|
|
19
|
+
get id() {
|
|
20
|
+
return String(this.options.id);
|
|
21
|
+
}
|
|
22
|
+
get parentId() {
|
|
23
|
+
return this.options.parentId;
|
|
24
|
+
}
|
|
25
|
+
get alias() {
|
|
26
|
+
return this.options.alias;
|
|
27
|
+
}
|
|
28
|
+
get title() {
|
|
29
|
+
return this.options.title;
|
|
30
|
+
}
|
|
31
|
+
set title(title) {
|
|
32
|
+
this.options.title = title;
|
|
33
|
+
}
|
|
34
|
+
get zIndex() {
|
|
35
|
+
return this.ol.getZIndex();
|
|
36
|
+
}
|
|
37
|
+
set zIndex(zIndex) {
|
|
38
|
+
if (zIndex === this.zIndex) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
this.ol.setZIndex(zIndex);
|
|
42
|
+
}
|
|
43
|
+
get baseLayer() {
|
|
44
|
+
return this.options.baseLayer;
|
|
45
|
+
}
|
|
46
|
+
set baseLayer(baseLayer) {
|
|
47
|
+
this.options.baseLayer = baseLayer;
|
|
48
|
+
}
|
|
49
|
+
get opacity() {
|
|
50
|
+
return this.ol.get('opacity');
|
|
51
|
+
}
|
|
52
|
+
set opacity(opacity) {
|
|
53
|
+
this.ol.setOpacity(opacity);
|
|
54
|
+
}
|
|
55
|
+
set isInResolutionsRange(value) {
|
|
56
|
+
this.isInResolutionsRange$.next(value);
|
|
57
|
+
}
|
|
58
|
+
get isInResolutionsRange() {
|
|
59
|
+
return this.isInResolutionsRange$.value;
|
|
60
|
+
}
|
|
61
|
+
isInResolutionsRange$ = new BehaviorSubject(false);
|
|
62
|
+
set maxResolution(value) {
|
|
63
|
+
this.ol.setMaxResolution(value === 0 ? 0 : value || Infinity);
|
|
64
|
+
}
|
|
65
|
+
get maxResolution() {
|
|
66
|
+
return this.ol.getMaxResolution();
|
|
67
|
+
}
|
|
68
|
+
set minResolution(value) {
|
|
69
|
+
this.ol.setMinResolution(value || 0);
|
|
70
|
+
}
|
|
71
|
+
get minResolution() {
|
|
72
|
+
return this.ol.getMinResolution();
|
|
73
|
+
}
|
|
74
|
+
set visible(value) {
|
|
75
|
+
if (value === this.visible) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
this.ol.setVisible(value);
|
|
79
|
+
this._visible$.next(value);
|
|
80
|
+
}
|
|
81
|
+
get visible() {
|
|
82
|
+
return this._visible$.value;
|
|
83
|
+
}
|
|
84
|
+
_visible$ = new BehaviorSubject(undefined);
|
|
85
|
+
visible$ = this._visible$.asObservable();
|
|
86
|
+
get displayed() {
|
|
87
|
+
return this._displayed$.value;
|
|
88
|
+
}
|
|
89
|
+
set displayed(value) {
|
|
90
|
+
if (value === this.displayed) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
this._displayed$.next(value);
|
|
94
|
+
}
|
|
95
|
+
_displayed$ = new BehaviorSubject(undefined);
|
|
96
|
+
displayed$ = this._displayed$.asObservable();
|
|
97
|
+
displayed$$;
|
|
98
|
+
get showInLayerList() {
|
|
99
|
+
return this.options.showInLayerList !== false;
|
|
100
|
+
}
|
|
101
|
+
get saveableOptions() {
|
|
102
|
+
return {
|
|
103
|
+
title: this.options.title,
|
|
104
|
+
zIndex: this.zIndex,
|
|
105
|
+
visible: this.visible,
|
|
106
|
+
security: this.options.security,
|
|
107
|
+
opacity: this.opacity
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
constructor(options) {
|
|
111
|
+
this.options = options;
|
|
112
|
+
this.initDisplayed$$();
|
|
113
|
+
}
|
|
114
|
+
afterCreated() {
|
|
115
|
+
if (this.options.zIndex !== undefined) {
|
|
116
|
+
this.zIndex = this.options.zIndex;
|
|
117
|
+
}
|
|
118
|
+
if (this.options.baseLayer && this.options.visible === undefined) {
|
|
119
|
+
this.options.visible = false;
|
|
120
|
+
}
|
|
121
|
+
this.maxResolution =
|
|
122
|
+
this.options.maxResolution ||
|
|
123
|
+
getResolutionFromScale(Number(this.options.maxScaleDenom));
|
|
124
|
+
this.minResolution =
|
|
125
|
+
this.options.minResolution ||
|
|
126
|
+
getResolutionFromScale(Number(this.options.minScaleDenom));
|
|
127
|
+
this.visible =
|
|
128
|
+
this.options.visible === undefined ? true : this.options.visible;
|
|
129
|
+
this.opacity =
|
|
130
|
+
this.options.opacity === undefined ? 1 : this.options.opacity;
|
|
131
|
+
}
|
|
132
|
+
init(map) {
|
|
133
|
+
this.map = map;
|
|
134
|
+
}
|
|
135
|
+
add(parent) {
|
|
136
|
+
this._add(parent);
|
|
137
|
+
}
|
|
138
|
+
_add(parent) {
|
|
139
|
+
this.addParent(parent);
|
|
140
|
+
this.parent ? this.parent.addChild(this) : this.map.ol.addLayer(this.ol);
|
|
141
|
+
}
|
|
142
|
+
addParent(parent) {
|
|
143
|
+
if (this.parent && this.parent === parent) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
this.parent = parent;
|
|
147
|
+
if (!this.map && this.parent) {
|
|
148
|
+
this.map = this.parent.map;
|
|
149
|
+
}
|
|
150
|
+
this.initDisplayed$$();
|
|
151
|
+
}
|
|
152
|
+
remove() {
|
|
153
|
+
this._remove();
|
|
154
|
+
}
|
|
155
|
+
_remove() {
|
|
156
|
+
if (!this.map) {
|
|
157
|
+
console.error(`No map for ${this.title}`);
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
this.parent
|
|
161
|
+
? this.parent.removeChild(this)
|
|
162
|
+
: this.map.ol.removeLayer(this.ol);
|
|
163
|
+
}
|
|
164
|
+
reset(parent) {
|
|
165
|
+
this._remove();
|
|
166
|
+
this._add(parent);
|
|
167
|
+
}
|
|
168
|
+
moveTo(parent) {
|
|
169
|
+
if (parent == null && this.parent == null) {
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
if (this.parent) {
|
|
173
|
+
if (this.parent.id === parent?.id) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
this.reset(parent);
|
|
178
|
+
}
|
|
179
|
+
clone() {
|
|
180
|
+
const clone = Object.assign({}, this);
|
|
181
|
+
return Object.setPrototypeOf(clone, LayerBase.prototype);
|
|
182
|
+
}
|
|
183
|
+
initDisplayed$$() {
|
|
184
|
+
this.displayed$$?.unsubscribe();
|
|
185
|
+
const obs$ = [this.isInResolutionsRange$, this.visible$];
|
|
186
|
+
if (this.parent) {
|
|
187
|
+
obs$.push(this.parent.displayed$);
|
|
188
|
+
}
|
|
189
|
+
this.displayed$$ = combineLatest(obs$).subscribe(([inRes, visible, parentDisplayed = null]) => {
|
|
190
|
+
const isVisible = this.parent ? parentDisplayed && visible : visible;
|
|
191
|
+
this.displayed = isVisible && inRes;
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
export class LayerGroupBase extends LayerBase {
|
|
196
|
+
type = 'group';
|
|
197
|
+
children;
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2xheWVyL3NoYXJlZC9sYXllcnMvbGF5ZXItYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsZUFBZSxFQUF5QixhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFLdkUsTUFBTSxPQUFnQixTQUFTO0lBK0hWO0lBekhaLFNBQVMsQ0FBVTtJQUNuQixrQkFBa0IsR0FBRyxJQUFJLENBQUM7SUFDMUIsR0FBRyxDQUFVO0lBQ2IsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLE9BQU8sQ0FBeUI7SUFDdkMsVUFBVSxDQUF5QjtJQUVuQzs7OztPQUlHO0lBQ0gsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixJQUFJLEtBQUssQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxFQUFFO1FBQ0osT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFD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LEtBQUssRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUVoQyxNQUFNLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFekQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQzlDLENBQUMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQzNDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGVBQWUsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUNyRSxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsSUFBSSxLQUFLLENBQUM7UUFDdEMsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQWdCLGNBQWUsU0FBUSxTQUFTO0lBQ3BELElBQUksR0FBYyxPQUFPLENBQUM7SUFDMUIsUUFBUSxDQUFjO0NBT3ZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdFN0YXR1cyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IEJhc2VMYXllciBmcm9tICdvbC9sYXllci9CYXNlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHR5cGUgeyBEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZGF0YXNvdXJjZSc7XG5pbXBvcnQgdHlwZSB7IE1hcEJhc2UgfSBmcm9tICcuLi8uLi8uLi9tYXAvc2hhcmVkL21hcC5hYnN0cmFjdCc7XG5pbXBvcnQgeyBnZXRSZXNvbHV0aW9uRnJvbVNjYWxlIH0gZnJvbSAnLi4vLi4vLi4vbWFwL3NoYXJlZC9tYXAudXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBMYXllck9wdGlvbnMsIExheWVyVHlwZSB9IGZyb20gJy4vbGF5ZXIuaW50ZXJmYWNlJztcblxuZXhwb3J0IHR5cGUgQW55TGF5ZXJCYXNlID0gTGF5ZXJCYXNlIHwgTGF5ZXJHcm91cEJhc2U7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMYXllckJhc2Uge1xuICBhYnN0cmFjdCB0eXBlOiBMYXllclR5cGU7XG4gIGFic3RyYWN0IG9sOiBCYXNlTGF5ZXI7XG4gIGFic3RyYWN0IHBhcmVudDogTGF5ZXJHcm91cEJhc2U7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBjcmVhdGVPbExheWVyKCk6IEJhc2VMYXllcjtcblxuICBwdWJsaWMgY29sbGFwc2VkOiBib29sZWFuO1xuICBwdWJsaWMgZmlyc3RMb2FkQ29tcG9uZW50ID0gdHJ1ZTtcbiAgcHVibGljIG1hcDogTWFwQmFzZTtcbiAgcHVibGljIG9sTG9hZGluZ1Byb2JsZW0gPSBmYWxzZTtcbiAgcHVibGljIHN0YXR1cyQ6IFN1YmplY3Q8U3ViamVjdFN0YXR1cz47XG4gIGRhdGFTb3VyY2U6IERhdGFTb3VyY2UgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIERlZmluZSBpZiBhIGxheWVyIGlzIGdlbmVyYXRlZCBieSBjb2RlIE9SIGRlZmluZWQgYnkgbGF5ZXIvY29udGV4dCB1c2VyIGxheWVyLlxuICAgKiBVc2VmdWwgZm9yIGZpbHRlcmluZyBsYXllcnMgbGlzdCBpbiBtYXBPZmZsaW5lLmRpcmVjdGl2ZSBvciBpbiB0aGUgc2hhcmVtYXAuLi5cbiAgICogcmV0dXJuIGZhbHNlIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBnZXQgaXNJZ29JbnRlcm5hbExheWVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuaXNJZ29JbnRlcm5hbExheWVyIHx8IGZhbHNlO1xuICB9XG5cbiAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFN0cmluZyh0aGlzLm9wdGlvbnMuaWQpO1xuICB9XG5cbiAgZ2V0IHBhcmVudElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5wYXJlbnRJZDtcbiAgfVxuXG4gIGdldCBhbGlhcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuYWxpYXM7XG4gIH1cblxuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnRpdGxlO1xuICB9XG4gIHNldCB0aXRsZSh0aXRsZTogc3RyaW5nKSB7XG4gICAgdGhpcy5vcHRpb25zLnRpdGxlID0gdGl0bGU7XG4gIH1cblxuICBnZXQgekluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMub2wuZ2V0WkluZGV4KCk7XG4gIH1cbiAgc2V0IHpJbmRleCh6SW5kZXg6IG51bWJlcikge1xuICAgIGlmICh6SW5kZXggPT09IHRoaXMuekluZGV4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMub2wuc2V0WkluZGV4KHpJbmRleCk7XG4gIH1cblxuICBnZXQgYmFzZUxheWVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuYmFzZUxheWVyO1xuICB9XG4gIHNldCBiYXNlTGF5ZXIoYmFzZUxheWVyOiBib29sZWFuKSB7XG4gICAgdGhpcy5vcHRpb25zLmJhc2VMYXllciA9IGJhc2VMYXllcjtcbiAgfVxuXG4gIGdldCBvcGFjaXR5KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMub2wuZ2V0KCdvcGFjaXR5Jyk7XG4gIH1cbiAgc2V0IG9wYWNpdHkob3BhY2l0eTogbnVtYmVyKSB7XG4gICAgdGhpcy5vbC5zZXRPcGFjaXR5KG9wYWNpdHkpO1xuICB9XG5cbiAgc2V0IGlzSW5SZXNvbHV0aW9uc1JhbmdlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc0luUmVzb2x1dGlvbnNSYW5nZSQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IGlzSW5SZXNvbHV0aW9uc1JhbmdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzSW5SZXNvbHV0aW9uc1JhbmdlJC52YWx1ZTtcbiAgfVxuICByZWFkb25seSBpc0luUmVzb2x1dGlvbnNSYW5nZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBzZXQgbWF4UmVzb2x1dGlvbih2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5vbC5zZXRNYXhSZXNvbHV0aW9uKHZhbHVlID09PSAwID8gMCA6IHZhbHVlIHx8IEluZmluaXR5KTtcbiAgfVxuICBnZXQgbWF4UmVzb2x1dGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm9sLmdldE1heFJlc29sdXRpb24oKTtcbiAgfVxuXG4gIHNldCBtaW5SZXNvbHV0aW9uKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLm9sLnNldE1pblJlc29sdXRpb24odmFsdWUgfHwgMCk7XG4gIH1cbiAgZ2V0IG1pblJlc29sdXRpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5vbC5nZXRNaW5SZXNvbHV0aW9uKCk7XG4gIH1cblxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy52aXNpYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMub2wuc2V0VmlzaWJsZSh2YWx1ZSk7XG4gICAgdGhpcy5fdmlzaWJsZSQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGUkLnZhbHVlO1xuICB9XG4gIHByaXZhdGUgX3Zpc2libGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih1bmRlZmluZWQpO1xuICByZWFkb25seSB2aXNpYmxlJCA9IHRoaXMuX3Zpc2libGUkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGdldCBkaXNwbGF5ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXllZCQudmFsdWU7XG4gIH1cbiAgc2V0IGRpc3BsYXllZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5kaXNwbGF5ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fZGlzcGxheWVkJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIF9kaXNwbGF5ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih1bmRlZmluZWQpO1xuICBkaXNwbGF5ZWQkID0gdGhpcy5fZGlzcGxheWVkJC5hc09ic2VydmFibGUoKTtcbiAgcHJpdmF0ZSBkaXNwbGF5ZWQkJDogU3Vic2NyaXB0aW9uO1xuXG4gIGdldCBzaG93SW5MYXllckxpc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5zaG93SW5MYXllckxpc3QgIT09IGZhbHNlO1xuICB9XG5cbiAgZ2V0IHNhdmVhYmxlT3B0aW9ucygpOiBQYXJ0aWFsPExheWVyT3B0aW9ucz4ge1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogdGhpcy5vcHRpb25zLnRpdGxlLFxuICAgICAgekluZGV4OiB0aGlzLnpJbmRleCxcbiAgICAgIHZpc2libGU6IHRoaXMudmlzaWJsZSxcbiAgICAgIHNlY3VyaXR5OiB0aGlzLm9wdGlvbnMuc2VjdXJpdHksXG4gICAgICBvcGFjaXR5OiB0aGlzLm9wYWNpdHlcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIG9wdGlvbnM6IExheWVyT3B0aW9ucykge1xuICAgIHRoaXMuaW5pdERpc3BsYXllZCQkKCk7XG4gIH1cblxuICBhZnRlckNyZWF0ZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy56SW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy56SW5kZXggPSB0aGlzLm9wdGlvbnMuekluZGV4O1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wdGlvbnMuYmFzZUxheWVyICYmIHRoaXMub3B0aW9ucy52aXNpYmxlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMub3B0aW9ucy52aXNpYmxlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5tYXhSZXNvbHV0aW9uID1cbiAgICAgIHRoaXMub3B0aW9ucy5tYXhSZXNvbHV0aW9uIHx8XG4gICAgICBnZXRSZXNvbHV0aW9uRnJvbVNjYWxlKE51bWJlcih0aGlzLm9wdGlvbnMubWF4U2NhbGVEZW5vbSkpO1xuICAgIHRoaXMubWluUmVzb2x1dGlvbiA9XG4gICAgICB0aGlzLm9wdGlvbnMubWluUmVzb2x1dGlvbiB8fFxuICAgICAgZ2V0UmVzb2x1dGlvbkZyb21TY2FsZShOdW1iZXIodGhpcy5vcHRpb25zLm1pblNjYWxlRGVub20pKTtcblxuICAgIHRoaXMudmlzaWJsZSA9XG4gICAgICB0aGlzLm9wdGlvbnMudmlzaWJsZSA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IHRoaXMub3B0aW9ucy52aXNpYmxlO1xuICAgIHRoaXMub3BhY2l0eSA9XG4gICAgICB0aGlzLm9wdGlvbnMub3BhY2l0eSA9PT0gdW5kZWZpbmVkID8gMSA6IHRoaXMub3B0aW9ucy5vcGFjaXR5O1xuICB9XG5cbiAgaW5pdChtYXA6IE1hcEJhc2UpOiB2b2lkIHtcbiAgICB0aGlzLm1hcCA9IG1hcDtcbiAgfVxuXG4gIGFkZChwYXJlbnQ/OiBMYXllckdyb3VwQmFzZSk6IHZvaWQge1xuICAgIHRoaXMuX2FkZChwYXJlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkKHBhcmVudD86IExheWVyR3JvdXBCYXNlKTogdm9pZCB7XG4gICAgdGhpcy5hZGRQYXJlbnQocGFyZW50KTtcbiAgICB0aGlzLnBhcmVudCA/IHRoaXMucGFyZW50LmFkZENoaWxkKHRoaXMpIDogdGhpcy5tYXAub2wuYWRkTGF5ZXIodGhpcy5vbCk7XG4gIH1cblxuICBhZGRQYXJlbnQocGFyZW50PzogTGF5ZXJHcm91cEJhc2UpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wYXJlbnQgJiYgdGhpcy5wYXJlbnQgPT09IHBhcmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuXG4gICAgaWYgKCF0aGlzLm1hcCAmJiB0aGlzLnBhcmVudCkge1xuICAgICAgdGhpcy5tYXAgPSB0aGlzLnBhcmVudC5tYXA7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0RGlzcGxheWVkJCQoKTtcbiAgfVxuXG4gIHJlbW92ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9yZW1vdmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubWFwKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBObyBtYXAgZm9yICR7dGhpcy50aXRsZX1gKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5wYXJlbnRcbiAgICAgID8gdGhpcy5wYXJlbnQucmVtb3ZlQ2hpbGQodGhpcylcbiAgICAgIDogdGhpcy5tYXAub2wucmVtb3ZlTGF5ZXIodGhpcy5vbCk7XG4gIH1cblxuICByZXNldChwYXJlbnQ/OiBMYXllckdyb3VwQmFzZSk6IHZvaWQge1xuICAgIHRoaXMuX3JlbW92ZSgpO1xuICAgIHRoaXMuX2FkZChwYXJlbnQpO1xuICB9XG5cbiAgbW92ZVRvKHBhcmVudD86IExheWVyR3JvdXBCYXNlKTogdm9pZCB7XG4gICAgaWYgKHBhcmVudCA9PSBudWxsICYmIHRoaXMucGFyZW50ID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wYXJlbnQpIHtcbiAgICAgIGlmICh0aGlzLnBhcmVudC5pZCA9PT0gcGFyZW50Py5pZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5yZXNldChwYXJlbnQpO1xuICB9XG5cbiAgY2xvbmUoKTogTGF5ZXJCYXNlIHtcbiAgICBjb25zdCBjbG9uZSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMpO1xuICAgIHJldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2YoY2xvbmUsIExheWVyQmFzZS5wcm90b3R5cGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0RGlzcGxheWVkJCQoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5ZWQkJD8udW5zdWJzY3JpYmUoKTtcblxuICAgIGNvbnN0IG9icyQgPSBbdGhpcy5pc0luUmVzb2x1dGlvbnNSYW5nZSQsIHRoaXMudmlzaWJsZSRdO1xuXG4gICAgaWYgKHRoaXMucGFyZW50KSB7XG4gICAgICBvYnMkLnB1c2godGhpcy5wYXJlbnQuZGlzcGxheWVkJCk7XG4gICAgfVxuXG4gICAgdGhpcy5kaXNwbGF5ZWQkJCA9IGNvbWJpbmVMYXRlc3Qob2JzJCkuc3Vic2NyaWJlKFxuICAgICAgKFtpblJlcywgdmlzaWJsZSwgcGFyZW50RGlzcGxheWVkID0gbnVsbF0pID0+IHtcbiAgICAgICAgY29uc3QgaXNWaXNpYmxlID0gdGhpcy5wYXJlbnQgPyBwYXJlbnREaXNwbGF5ZWQgJiYgdmlzaWJsZSA6IHZpc2libGU7XG4gICAgICAgIHRoaXMuZGlzcGxheWVkID0gaXNWaXNpYmxlICYmIGluUmVzO1xuICAgICAgfVxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExheWVyR3JvdXBCYXNlIGV4dGVuZHMgTGF5ZXJCYXNlIHtcbiAgdHlwZTogTGF5ZXJUeXBlID0gJ2dyb3VwJztcbiAgY2hpbGRyZW46IExheWVyQmFzZVtdO1xuXG4gIGFic3RyYWN0IGdldCBkZXNjZW5kYW50cygpOiBMYXllckJhc2VbXTtcblxuICBhYnN0cmFjdCBhZGRDaGlsZChsYXllcjogTGF5ZXJCYXNlKTogdm9pZDtcbiAgYWJzdHJhY3QgcmVtb3ZlQ2hpbGQobGF5ZXI6IExheWVyQmFzZSk6IHZvaWQ7XG4gIGFic3RyYWN0IGlzRGVzY2VuZGFudChsYXllcjogTGF5ZXJCYXNlKTogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItZ3JvdXAuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllci1ncm91cC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFueUxheWVyT3B0aW9ucyB9IGZyb20gJy4vYW55LWxheWVyLmludGVyZmFjZSc7XG5pbXBvcnQgdHlwZSB7IExheWVyT3B0aW9uc0Jhc2UgfSBmcm9tICcuL2xheWVyLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJHcm91cE9wdGlvbnMgZXh0ZW5kcyBPbWl0PExheWVyT3B0aW9uc0Jhc2UsICd0aXRsZSc+IHtcbiAgdHlwZTogJ2dyb3VwJztcbiAgdGl0bGU6IHN0cmluZztcbiAgZXhwYW5kZWQ/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IEFueUxheWVyT3B0aW9uc1tdO1xufVxuIl19
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { uuid } from '@igo2/utils';
|
|
2
|
+
import { Group } from 'ol/layer.js';
|
|
3
|
+
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
4
|
+
import { LayerGroupBase } from './layer-base';
|
|
5
|
+
const ID_PREFIX = 'local-group_';
|
|
6
|
+
export class LayerGroup extends LayerGroupBase {
|
|
7
|
+
children;
|
|
8
|
+
options;
|
|
9
|
+
parent;
|
|
10
|
+
expanded;
|
|
11
|
+
isInResolutionsRange$$;
|
|
12
|
+
isInResolutionsRange$ = new BehaviorSubject(true);
|
|
13
|
+
get saveableOptions() {
|
|
14
|
+
return {
|
|
15
|
+
...super.saveableOptions,
|
|
16
|
+
id: String(this.options.id).includes(ID_PREFIX) ? null : this.options.id,
|
|
17
|
+
type: this.options.type,
|
|
18
|
+
children: [...this.children]
|
|
19
|
+
.map((layer) => layer.saveableOptions)
|
|
20
|
+
.filter(Boolean),
|
|
21
|
+
expanded: this.expanded
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
get descendants() {
|
|
25
|
+
return this._getDescendants();
|
|
26
|
+
}
|
|
27
|
+
get descendantsLevel() {
|
|
28
|
+
return this._getDescendantsLevel();
|
|
29
|
+
}
|
|
30
|
+
constructor(children, options) {
|
|
31
|
+
super(options);
|
|
32
|
+
this.children = children;
|
|
33
|
+
this.options = options;
|
|
34
|
+
this.children = children ?? [];
|
|
35
|
+
this.expanded = options.expanded === undefined ? false : options.expanded;
|
|
36
|
+
if (!options.id) {
|
|
37
|
+
options.id = ID_PREFIX + uuid();
|
|
38
|
+
}
|
|
39
|
+
this.ol = this.createOlLayer();
|
|
40
|
+
super.afterCreated();
|
|
41
|
+
}
|
|
42
|
+
init(map) {
|
|
43
|
+
super.init(map);
|
|
44
|
+
this.children.forEach((child) => child.init(map));
|
|
45
|
+
}
|
|
46
|
+
add(parent) {
|
|
47
|
+
super.add(parent);
|
|
48
|
+
this.setChildrenObserver();
|
|
49
|
+
this.children.forEach((layer) => {
|
|
50
|
+
layer.add(this);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
addChild(...layers) {
|
|
54
|
+
this.ol.getLayers().extend(layers.map((layer) => layer.ol));
|
|
55
|
+
layers.forEach((layer) => {
|
|
56
|
+
if (this.hasChildren(layer)) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
layer.addParent(this);
|
|
60
|
+
this.children.push(layer);
|
|
61
|
+
});
|
|
62
|
+
this.setChildrenObserver();
|
|
63
|
+
}
|
|
64
|
+
remove() {
|
|
65
|
+
super.remove();
|
|
66
|
+
this.children.forEach((layer) => layer.remove());
|
|
67
|
+
}
|
|
68
|
+
removeChild(layer) {
|
|
69
|
+
this.ol.getLayers().remove(layer.ol);
|
|
70
|
+
const index = this.children.indexOf(layer);
|
|
71
|
+
if (index >= 0) {
|
|
72
|
+
this.children.splice(index, 1);
|
|
73
|
+
}
|
|
74
|
+
layer.parent = null;
|
|
75
|
+
layer.options.parentId = null;
|
|
76
|
+
this.setChildrenObserver();
|
|
77
|
+
}
|
|
78
|
+
isDescendant(layer) {
|
|
79
|
+
return this._getDescendants().some((descendant) => descendant.id === layer.id);
|
|
80
|
+
}
|
|
81
|
+
setChildrenObserver() {
|
|
82
|
+
this.isInResolutionsRange$$?.unsubscribe();
|
|
83
|
+
if (!this.children) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
const observers = this.children.map((layer) => layer.isInResolutionsRange$);
|
|
87
|
+
this.isInResolutionsRange$$ = combineLatest(observers).subscribe((values) => {
|
|
88
|
+
this.isInResolutionsRange = values.some((value) => value);
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
createOlLayer() {
|
|
92
|
+
return new Group({ properties: { title: this.title } });
|
|
93
|
+
}
|
|
94
|
+
hasChildren(layer) {
|
|
95
|
+
return this.children.some((child) => child.id === layer.id);
|
|
96
|
+
}
|
|
97
|
+
/** recursive */
|
|
98
|
+
_getDescendants(children = this.children) {
|
|
99
|
+
return children.reduce((list, child) => {
|
|
100
|
+
if (child instanceof LayerGroup) {
|
|
101
|
+
return list.concat(child, ...this._getDescendants(child.children));
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
return list.concat(child);
|
|
105
|
+
}
|
|
106
|
+
}, []);
|
|
107
|
+
}
|
|
108
|
+
/** recursive */
|
|
109
|
+
_getDescendantsLevel(children = this.children) {
|
|
110
|
+
return children.reduce((level, child) => {
|
|
111
|
+
if (child instanceof LayerGroup) {
|
|
112
|
+
level = level + 1;
|
|
113
|
+
const descendantLevel = this._getDescendantsLevel(child.children);
|
|
114
|
+
return level + descendantLevel;
|
|
115
|
+
}
|
|
116
|
+
return level;
|
|
117
|
+
}, 0);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9zaGFyZWQvbGF5ZXJzL2xheWVyLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwQyxPQUFPLEVBQUUsZUFBZSxFQUFnQixhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUc5QyxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUM7QUFFakMsTUFBTSxPQUFPLFVBQVcsU0FBUSxjQUFjO0lBNEJuQztJQUNBO0lBNUJULE1BQU0sQ0FBYTtJQUVuQixRQUFRLENBQVU7SUFDVixzQkFBc0IsQ0FBZTtJQUNwQyxxQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUzRCxJQUFJLGVBQWU7UUFDakIsT0FBTztZQUNMLEdBQUcsS0FBSyxDQUFDLGVBQWU7WUFDeEIsRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDeEUsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSTtZQUN2QixRQUFRLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7aUJBQ3pCLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQztpQkFDckMsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUNsQixRQUFRLEVBQUUsSUFB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USxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELGdCQUFnQjtJQUNSLGVBQWUsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVE7UUFDOUMsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3JDLElBQUksS0FBSyxZQUFZLFVBQVUsRUFBRSxDQUFDO2dCQUNoQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNyRSxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVCLENBQUM7UUFDSCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDO0lBRUQsZ0JBQWdCO0lBQ1Isb0JBQW9CLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRO1FBQ25ELE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN0QyxJQUFJLEtBQUssWUFBWSxVQUFVLEVBQUUsQ0FBQztnQkFDaEMsS0FBSyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2xFLE9BQU8sS0FBSyxHQUFHLGVBQWUsQ0FBQztZQUNqQyxDQUFDO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1dWlkIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJ29sL2xheWVyLmpzJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHR5cGUgeyBNYXBCYXNlIH0gZnJvbSAnLi4vLi4vLi4vbWFwL3NoYXJlZC9tYXAuYWJzdHJhY3QnO1xuaW1wb3J0IHsgdHlwZSBBbnlMYXllciB9IGZyb20gJy4vYW55LWxheWVyJztcbmltcG9ydCB7IExheWVyR3JvdXBCYXNlIH0gZnJvbSAnLi9sYXllci1iYXNlJztcbmltcG9ydCB7IHR5cGUgTGF5ZXJHcm91cE9wdGlvbnMgfSBmcm9tICcuL2xheWVyLWdyb3VwLmludGVyZmFjZSc7XG5cbmNvbnN0IElEX1BSRUZJWCA9ICdsb2NhbC1ncm91cF8nO1xuXG5leHBvcnQgY2xhc3MgTGF5ZXJHcm91cCBleHRlbmRzIExheWVyR3JvdXBCYXNlIHtcbiAgcGFyZW50OiBMYXllckdyb3VwO1xuICBkZWNsYXJlIG9sOiBHcm91cDtcbiAgZXhwYW5kZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgaXNJblJlc29sdXRpb25zUmFuZ2UkJDogU3Vic2NyaXB0aW9uO1xuICByZWFkb25seSBpc0luUmVzb2x1dGlvbnNSYW5nZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRydWUpO1xuXG4gIGdldCBzYXZlYWJsZU9wdGlvbnMoKTogUGFydGlhbDxMYXllckdyb3VwT3B0aW9ucz4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdXBlci5zYXZlYWJsZU9wdGlvbnMsXG4gICAgICBpZDogU3RyaW5nKHRoaXMub3B0aW9ucy5pZCkuaW5jbHVkZXMoSURfUFJFRklYKSA/IG51bGwgOiB0aGlzLm9wdGlvbnMuaWQsXG4gICAgICB0eXBlOiB0aGlzLm9wdGlvbnMudHlwZSxcbiAgICAgIGNoaWxkcmVuOiBbLi4udGhpcy5jaGlsZHJlbl1cbiAgICAgICAgLm1hcCgobGF5ZXIpID0+IGxheWVyLnNhdmVhYmxlT3B0aW9ucylcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKSxcbiAgICAgIGV4cGFuZGVkOiB0aGlzLmV4cGFuZGVkXG4gICAgfTtcbiAgfVxuXG4gIGdldCBkZXNjZW5kYW50cygpOiBBbnlMYXllcltdIHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0RGVzY2VuZGFudHMoKTtcbiAgfVxuXG4gIGdldCBkZXNjZW5kYW50c0xldmVsKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2dldERlc2NlbmRhbnRzTGV2ZWwoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjaGlsZHJlbjogQW55TGF5ZXJbXSB8IG51bGwsXG4gICAgcHVibGljIG9wdGlvbnM6IExheWVyR3JvdXBPcHRpb25zXG4gICkge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuXG4gICAgdGhpcy5jaGlsZHJlbiA9IGNoaWxkcmVuID8/IFtdO1xuXG4gICAgdGhpcy5leHBhbmRlZCA9IG9wdGlvbnMuZXhwYW5kZWQgPT09IHVuZGVmaW5lZCA/IGZhbHNlIDogb3B0aW9ucy5leHBhbmRlZDtcblxuICAgIGlmICghb3B0aW9ucy5pZCkge1xuICAgICAgb3B0aW9ucy5pZCA9IElEX1BSRUZJWCArIHV1aWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLm9sID0gdGhpcy5jcmVhdGVPbExheWVyKCk7XG5cbiAgICBzdXBlci5hZnRlckNyZWF0ZWQoKTtcbiAgfVxuXG4gIGluaXQobWFwOiBNYXBCYXNlKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdChtYXApO1xuICAgIHRoaXMuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IGNoaWxkLmluaXQobWFwKSk7XG4gIH1cblxuICBhZGQocGFyZW50PzogTGF5ZXJHcm91cEJhc2UpOiB2b2lkIHtcbiAgICBzdXBlci5hZGQocGFyZW50KTtcblxuICAgIHRoaXMuc2V0Q2hpbGRyZW5PYnNlcnZlcigpO1xuXG4gICAgdGhpcy5jaGlsZHJlbi5mb3JFYWNoKChsYXllcikgPT4ge1xuICAgICAgbGF5ZXIuYWRkKHRoaXMpO1xuICAgIH0pO1xuICB9XG5cbiAgYWRkQ2hpbGQoLi4ubGF5ZXJzOiBBbnlMYXllcltdKTogdm9pZCB7XG4gICAgdGhpcy5vbC5nZXRMYXllcnMoKS5leHRlbmQobGF5ZXJzLm1hcCgobGF5ZXIpID0+IGxheWVyLm9sKSk7XG5cbiAgICBsYXllcnMuZm9yRWFjaCgobGF5ZXIpID0+IHtcbiAgICAgIGlmICh0aGlzLmhhc0NoaWxkcmVuKGxheWVyKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBsYXllci5hZGRQYXJlbnQodGhpcyk7XG4gICAgICB0aGlzLmNoaWxkcmVuLnB1c2gobGF5ZXIpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZXRDaGlsZHJlbk9ic2VydmVyKCk7XG4gIH1cblxuICByZW1vdmUoKTogdm9pZCB7XG4gICAgc3VwZXIucmVtb3ZlKCk7XG4gICAgdGhpcy5jaGlsZHJlbi5mb3JFYWNoKChsYXllcikgPT4gbGF5ZXIucmVtb3ZlKCkpO1xuICB9XG5cbiAgcmVtb3ZlQ2hpbGQobGF5ZXI6IEFueUxheWVyKTogdm9pZCB7XG4gICAgdGhpcy5vbC5nZXRMYXllcnMoKS5yZW1vdmUobGF5ZXIub2wpO1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jaGlsZHJlbi5pbmRleE9mKGxheWVyKTtcbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgdGhpcy5jaGlsZHJlbi5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgICBsYXllci5wYXJlbnQgPSBudWxsO1xuICAgIGxheWVyLm9wdGlvbnMucGFyZW50SWQgPSBudWxsO1xuXG4gICAgdGhpcy5zZXRDaGlsZHJlbk9ic2VydmVyKCk7XG4gIH1cblxuICBpc0Rlc2NlbmRhbnQobGF5ZXI6IEFueUxheWVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2dldERlc2NlbmRhbnRzKCkuc29tZShcbiAgICAgIChkZXNjZW5kYW50KSA9PiBkZXNjZW5kYW50LmlkID09PSBsYXllci5pZFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNldENoaWxkcmVuT2JzZXJ2ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5pc0luUmVzb2x1dGlvbnNSYW5nZSQkPy51bnN1YnNjcmliZSgpO1xuXG4gICAgaWYgKCF0aGlzLmNoaWxkcmVuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb2JzZXJ2ZXJzID0gdGhpcy5jaGlsZHJlbi5tYXAoKGxheWVyKSA9PiBsYXllci5pc0luUmVzb2x1dGlvbnNSYW5nZSQpO1xuICAgIHRoaXMuaXNJblJlc29sdXRpb25zUmFuZ2UkJCA9IGNvbWJpbmVMYXRlc3Qob2JzZXJ2ZXJzKS5zdWJzY3JpYmUoXG4gICAgICAodmFsdWVzKSA9PiB7XG4gICAgICAgIHRoaXMuaXNJblJlc29sdXRpb25zUmFuZ2UgPSB2YWx1ZXMuc29tZSgodmFsdWUpID0+IHZhbHVlKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sTGF5ZXIoKTogR3JvdXAge1xuICAgIHJldHVybiBuZXcgR3JvdXAoeyBwcm9wZXJ0aWVzOiB7IHRpdGxlOiB0aGlzLnRpdGxlIH0gfSk7XG4gIH1cblxuICBwcml2YXRlIGhhc0NoaWxkcmVuKGxheWVyOiBBbnlMYXllcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNoaWxkcmVuLnNvbWUoKGNoaWxkKSA9PiBjaGlsZC5pZCA9PT0gbGF5ZXIuaWQpO1xuICB9XG5cbiAgLyoqIHJlY3Vyc2l2ZSAqL1xuICBwcml2YXRlIF9nZXREZXNjZW5kYW50cyhjaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW4pOiBBbnlMYXllcltdIHtcbiAgICByZXR1cm4gY2hpbGRyZW4ucmVkdWNlKChsaXN0LCBjaGlsZCkgPT4ge1xuICAgICAgaWYgKGNoaWxkIGluc3RhbmNlb2YgTGF5ZXJHcm91cCkge1xuICAgICAgICByZXR1cm4gbGlzdC5jb25jYXQoY2hpbGQsIC4uLnRoaXMuX2dldERlc2NlbmRhbnRzKGNoaWxkLmNoaWxkcmVuKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbGlzdC5jb25jYXQoY2hpbGQpO1xuICAgICAgfVxuICAgIH0sIFtdKTtcbiAgfVxuXG4gIC8qKiByZWN1cnNpdmUgKi9cbiAgcHJpdmF0ZSBfZ2V0RGVzY2VuZGFudHNMZXZlbChjaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW4pOiBudW1iZXIge1xuICAgIHJldHVybiBjaGlsZHJlbi5yZWR1Y2UoKGxldmVsLCBjaGlsZCkgPT4ge1xuICAgICAgaWYgKGNoaWxkIGluc3RhbmNlb2YgTGF5ZXJHcm91cCkge1xuICAgICAgICBsZXZlbCA9IGxldmVsICsgMTtcbiAgICAgICAgY29uc3QgZGVzY2VuZGFudExldmVsID0gdGhpcy5fZ2V0RGVzY2VuZGFudHNMZXZlbChjaGlsZC5jaGlsZHJlbik7XG4gICAgICAgIHJldHVybiBsZXZlbCArIGRlc2NlbmRhbnRMZXZlbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGxldmVsO1xuICAgIH0sIDApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,17 +1,7 @@
|
|
|
1
|
-
export var LinkedProperties;
|
|
2
|
-
(function (LinkedProperties) {
|
|
3
|
-
LinkedProperties["OPACITY"] = "opacity";
|
|
4
|
-
LinkedProperties["VISIBLE"] = "visible";
|
|
5
|
-
LinkedProperties["OGCFILTERS"] = "ogcFilters";
|
|
6
|
-
LinkedProperties["MINRESOLUTION"] = "minResolution";
|
|
7
|
-
LinkedProperties["MAXRESOLUTION"] = "maxResolution";
|
|
8
|
-
LinkedProperties["ZINDEX"] = "zIndex";
|
|
9
|
-
LinkedProperties["TIMEFILTER"] = "timeFilter";
|
|
10
|
-
})(LinkedProperties || (LinkedProperties = {}));
|
|
11
1
|
export var TooltipType;
|
|
12
2
|
(function (TooltipType) {
|
|
13
3
|
TooltipType["TITLE"] = "title";
|
|
14
4
|
TooltipType["ABSTRACT"] = "abstract";
|
|
15
5
|
TooltipType["CUSTOM"] = "custom";
|
|
16
6
|
})(TooltipType || (TooltipType = {}));
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXIuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllci5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkVBLE1BQU0sQ0FBTixJQUFZLFdBSVg7QUFKRCxXQUFZLFdBQVc7SUFDckIsOEJBQWUsQ0FBQTtJQUNmLG9DQUFxQixDQUFBO0lBQ3JCLGdDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxXQUFXLEtBQVgsV0FBVyxRQUl0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2UgfSBmcm9tICdAaWdvMi9jb3JlL21lc3NhZ2UnO1xuXG5pbXBvcnQgb2xMYXllciBmcm9tICdvbC9sYXllci9MYXllcic7XG5pbXBvcnQgb2xTb3VyY2UgZnJvbSAnb2wvc291cmNlL1NvdXJjZSc7XG5cbmltcG9ydCB0eXBlIHtcbiAgQW55RGF0YVNvdXJjZU9wdGlvbnMsXG4gIERhdGFTb3VyY2Vcbn0gZnJvbSAnLi4vLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMnO1xuaW1wb3J0IHR5cGUgeyBNYXBFeHRlbnQgfSBmcm9tICcuLi8uLi8uLi9tYXAvc2hhcmVkL21hcC5pbnRlcmZhY2UnO1xuaW1wb3J0IHR5cGUgeyBMZWdlbmRPcHRpb25zIH0gZnJvbSAnLi9sZWdlbmQuaW50ZXJmYWNlJztcbmltcG9ydCB0eXBlIHsgTGF5ZXJzTGluayB9IGZyb20gJy4vbGlua2VkL2xpbmtlZC1sYXllci5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyT3B0aW9ucyBleHRlbmRzIExheWVyT3B0aW9uc0Jhc2Uge1xuICBpc0lnb0ludGVybmFsTGF5ZXI/OiBib29sZWFuOyAvLyB1c2VmdWwgd2hlbiBtYXBPZmZsaW5lIGRpcmVjdGl2ZSBzZXQgdGhlIHJlc29sdXRpb24gb2YgdGhlIGxheWVycy5cbiAgc291cmNlPzogRGF0YVNvdXJjZTtcbiAgc291cmNlT3B0aW9ucz86IEFueURhdGFTb3VyY2VPcHRpb25zO1xuICBhbGlhcz86IHN0cmluZztcbiAgc2VjdXJpdHk/OiBMYXllclNlY3VyaXR5T3B0aW9ucztcbiAgYmFzZUxheWVyPzogYm9vbGVhbjtcbiAgbWVzc2FnZXM/OiBNZXNzYWdlW107XG4gIG1pblNjYWxlRGVub20/OiBudW1iZXI7XG4gIG1heFNjYWxlRGVub20/OiBudW1iZXI7XG4gIHJlbW92YWJsZT86IGJvb2xlYW47XG4gIHdvcmtzcGFjZT86IEdlb1dvcmtzcGFjZU9wdGlvbnM7XG4gIGxlZ2VuZE9wdGlvbnM/OiBMZWdlbmRPcHRpb25zO1xuICBvbD86IG9sTGF5ZXI8b2xTb3VyY2U+O1xuICB0b29sdGlwPzogVG9vbHRpcENvbnRlbnQ7XG4gIF9pbnRlcm5hbD86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGxpbmtlZExheWVycz86IExheWVyc0xpbms7XG4gIHNob3dCdXR0b25ab29tVG9FeHRlbnQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyT3B0aW9uc0Jhc2Uge1xuICBpZD86IHN0cmluZyB8IG51bWJlcjtcbiAgLyoqXG4gICAqIEFuIHVuaXF1ZSBpZGVudGlmaWVyIGNhbGN1bGF0ZWQgY2xpZW50IHNpZGVcbiAgICogVGhlIG5hbWUgcHJvcCBwcm92aWRlIGEgd2F5IHRvIGhhdmUgYSB1bmlxdWUgaWRlbnRpZmllciBiZXR3ZWVuIGFsbCBsYXllcnNcbiAgICoqL1xuICBuYW1lPzogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgb3BhY2l0eT86IG51bWJlcjtcbiAgdmlzaWJsZT86IGJvb2xlYW47XG4gIGV4dGVudD86IE1hcEV4dGVudDtcbiAgekluZGV4PzogbnVtYmVyO1xuICBtaW5SZXNvbHV0aW9uPzogbnVtYmVyO1xuICBtYXhSZXNvbHV0aW9uPzogbnVtYmVyO1xuICBzaG93SW5MYXllckxpc3Q/OiBib29sZWFuO1xuICBwYXJlbnRJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllclNlY3VyaXR5T3B0aW9ucyB7XG4gIHByb2ZpbHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZW9Xb3Jrc3BhY2VPcHRpb25zIHtcbiAgc3JjSWQ/OiBzdHJpbmc7XG4gIHdvcmtzcGFjZUlkPzogc3RyaW5nO1xuICBtaW5SZXNvbHV0aW9uPzogbnVtYmVyO1xuICBtYXhSZXNvbHV0aW9uPzogbnVtYmVyO1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgcXVlcnlPcHRpb25zPzogR2VvV29ya3NwYWNlUXVlcnlPcHRpb25zO1xuICBwYWdlU2l6ZT86IG51bWJlcjtcbiAgcGFnZVNpemVPcHRpb25zPzogbnVtYmVyW107XG4gIHNlYXJjaEluZGV4RW5hYmxlZD86IGJvb2xlYW47XG4gIHByaW50YWJsZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VvV29ya3NwYWNlUXVlcnlPcHRpb25zIHtcbiAgbWFwUXVlcnlPbk9wZW5UYWI/OiBib29sZWFuO1xuICB0YWJRdWVyeT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9vbHRpcENvbnRlbnQge1xuICB0eXBlPzogVG9vbHRpcFR5cGU7XG4gIHRleHQ/OiBzdHJpbmc7XG59XG5leHBvcnQgZW51bSBUb29sdGlwVHlwZSB7XG4gIFRJVExFID0gJ3RpdGxlJyxcbiAgQUJTVFJBQ1QgPSAnYWJzdHJhY3QnLFxuICBDVVNUT00gPSAnY3VzdG9tJ1xufVxuZXhwb3J0IHR5cGUgTGF5ZXJUeXBlID0gJ3ZlY3RvcicgfCAncmFzdGVyJyB8ICdncm91cCc7XG4iXX0=
|