@igo2/geo 1.12.1 → 1.13.0-alpha.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/assets/icons/cross_black_18px.svg +88 -88
- package/assets/icons/place_blue_36px.svg +55 -55
- package/assets/icons/place_green_36px.svg +55 -55
- package/assets/icons/place_red_36px.svg +55 -55
- package/assets/icons/place_yellow_36px.svg +55 -55
- package/{esm2015/igo2-geo.js → esm2020/igo2-geo.mjs} +0 -0
- package/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +299 -0
- package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +268 -0
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +244 -0
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs +80 -0
- package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +209 -0
- package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +79 -0
- package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +217 -0
- package/esm2020/lib/catalog/catalog-library/catalog-library.module.mjs +95 -0
- package/esm2020/lib/catalog/catalog.module.mjs +53 -0
- package/esm2020/lib/catalog/index.mjs +5 -0
- package/esm2020/lib/catalog/shared/catalog.abstract.mjs +95 -0
- package/esm2020/lib/catalog/shared/catalog.enum.mjs +16 -0
- package/esm2020/lib/catalog/shared/catalog.interface.mjs +2 -0
- package/esm2020/lib/catalog/shared/catalog.service.mjs +606 -0
- package/esm2020/lib/catalog/shared/index.mjs +5 -0
- package/esm2020/lib/datasource/datasource.module.mjs +22 -0
- package/esm2020/lib/datasource/index.mjs +3 -0
- package/esm2020/lib/datasource/shared/capabilities.service.mjs +426 -0
- package/esm2020/lib/datasource/shared/datasource.service.mjs +236 -0
- package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +145 -0
- package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +109 -0
- package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +15 -0
- package/esm2020/lib/datasource/shared/datasources/data.service.mjs +3 -0
- package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/datasource.mjs +29 -0
- package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +43 -0
- package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +57 -0
- package/esm2020/lib/datasource/shared/datasources/index.mjs +36 -0
- package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +28 -0
- package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +12 -0
- package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +49 -0
- package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +15 -0
- package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +54 -0
- package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +74 -0
- package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +152 -0
- package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +205 -0
- package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +207 -0
- package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +16 -0
- package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +9 -0
- package/esm2020/lib/datasource/shared/index.mjs +5 -0
- package/esm2020/lib/datasource/shared/options/index.mjs +5 -0
- package/esm2020/lib/datasource/shared/options/options-api.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +15 -0
- package/esm2020/lib/datasource/shared/options/options-api.service.mjs +81 -0
- package/esm2020/lib/datasource/shared/options/options.service.mjs +3 -0
- package/esm2020/lib/datasource/utils/esri-style-generator.mjs +357 -0
- package/esm2020/lib/datasource/utils/index.mjs +3 -0
- package/esm2020/lib/datasource/utils/tilegrid.mjs +20 -0
- package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +224 -0
- package/esm2020/lib/directions/directions-buttons/index.mjs +2 -0
- package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +290 -0
- package/esm2020/lib/directions/directions-inputs/index.mjs +2 -0
- package/esm2020/lib/directions/directions-results/directions-results.component.mjs +196 -0
- package/esm2020/lib/directions/directions-results/index.mjs +2 -0
- package/esm2020/lib/directions/directions-sources/directions-source.interface.mjs +2 -0
- package/esm2020/lib/directions/directions-sources/directions-source.mjs +3 -0
- package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +16 -0
- package/esm2020/lib/directions/directions-sources/index.mjs +5 -0
- package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +99 -0
- package/esm2020/lib/directions/directions.component.mjs +311 -0
- package/esm2020/lib/directions/directions.module.mjs +102 -0
- package/esm2020/lib/directions/index.mjs +7 -0
- package/esm2020/lib/directions/shared/directions-source.service.mjs +17 -0
- package/esm2020/lib/directions/shared/directions.enum.mjs +28 -0
- package/esm2020/lib/directions/shared/directions.interface.mjs +2 -0
- package/esm2020/lib/directions/shared/directions.service.mjs +29 -0
- package/esm2020/lib/directions/shared/directions.utils.mjs +510 -0
- package/esm2020/lib/directions/shared/index.mjs +6 -0
- package/esm2020/lib/directions/shared/store.mjs +24 -0
- package/esm2020/lib/download/download-button/download-button.component.mjs +61 -0
- package/esm2020/lib/download/download-button/index.mjs +2 -0
- package/esm2020/lib/download/download.module.mjs +42 -0
- package/esm2020/lib/download/index.mjs +3 -0
- package/esm2020/lib/download/shared/download.interface.mjs +2 -0
- package/esm2020/lib/download/shared/download.service.mjs +65 -0
- package/esm2020/lib/download/shared/index.mjs +3 -0
- package/esm2020/lib/draw/draw/draw-popup.component.mjs +61 -0
- package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +48 -0
- package/esm2020/lib/draw/draw/draw.component.mjs +714 -0
- package/esm2020/lib/draw/draw/draw.module.mjs +100 -0
- package/esm2020/lib/draw/drawingTool.module.mjs +20 -0
- package/esm2020/lib/draw/index.mjs +3 -0
- package/esm2020/lib/draw/shared/draw-icon.service.mjs +27 -0
- package/esm2020/lib/draw/shared/draw-style.service.mjs +173 -0
- package/esm2020/lib/draw/shared/draw.enum.mjs +24 -0
- package/esm2020/lib/draw/shared/draw.interface.mjs +2 -0
- package/esm2020/lib/draw/shared/draw.utils.mjs +104 -0
- package/esm2020/lib/draw/shared/index.mjs +6 -0
- package/esm2020/lib/feature/feature-details/feature-details.component.mjs +377 -0
- package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +54 -0
- package/esm2020/lib/feature/feature-details/feature-details.module.mjs +48 -0
- package/esm2020/lib/feature/feature-form/feature-form.component.mjs +112 -0
- package/esm2020/lib/feature/feature-form/feature-form.module.mjs +34 -0
- package/esm2020/lib/feature/feature.module.mjs +28 -0
- package/esm2020/lib/feature/index.mjs +4 -0
- package/esm2020/lib/feature/shared/feature.enums.mjs +9 -0
- package/esm2020/lib/feature/shared/feature.interfaces.mjs +2 -0
- package/esm2020/lib/feature/shared/feature.utils.mjs +348 -0
- package/esm2020/lib/feature/shared/index.mjs +7 -0
- package/esm2020/lib/feature/shared/store.mjs +112 -0
- package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +113 -0
- package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +94 -0
- package/esm2020/lib/feature/shared/strategies/index.mjs +6 -0
- package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +104 -0
- package/esm2020/lib/feature/shared/strategies/loading.mjs +133 -0
- package/esm2020/lib/feature/shared/strategies/selection.mjs +370 -0
- package/esm2020/lib/feature/shared/strategies.utils.mjs +37 -0
- package/esm2020/lib/filter/filter.module.mjs +289 -0
- package/esm2020/lib/filter/index.mjs +16 -0
- package/esm2020/lib/filter/ogc-filter-button/index.mjs +2 -0
- package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +140 -0
- package/esm2020/lib/filter/ogc-filter-form/index.mjs +2 -0
- package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +645 -0
- package/esm2020/lib/filter/ogc-filter-selection/index.mjs +2 -0
- package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +1302 -0
- package/esm2020/lib/filter/ogc-filter-time/index.mjs +3 -0
- package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +177 -0
- package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +871 -0
- package/esm2020/lib/filter/ogc-filterable-form/index.mjs +2 -0
- package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +59 -0
- package/esm2020/lib/filter/ogc-filterable-item/index.mjs +2 -0
- package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +302 -0
- package/esm2020/lib/filter/ogc-filterable-list/index.mjs +3 -0
- package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +31 -0
- package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +31 -0
- package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +55 -0
- package/esm2020/lib/filter/shared/index.mjs +12 -0
- package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +72 -0
- package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +30 -0
- package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +2 -0
- package/esm2020/lib/filter/shared/ogc-filter.mjs +692 -0
- package/esm2020/lib/filter/shared/ogc-filter.service.mjs +46 -0
- package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +23 -0
- package/esm2020/lib/filter/shared/spatial-filter.interface.mjs +2 -0
- package/esm2020/lib/filter/shared/spatial-filter.service.mjs +269 -0
- package/esm2020/lib/filter/shared/time-filter.enum.mjs +13 -0
- package/esm2020/lib/filter/shared/time-filter.interface.mjs +2 -0
- package/esm2020/lib/filter/shared/time-filter.service.mjs +107 -0
- package/esm2020/lib/filter/spatial-filter/spatial-filter-item/index.mjs +2 -0
- package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +1076 -0
- package/esm2020/lib/filter/spatial-filter/spatial-filter-list/index.mjs +2 -0
- package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +208 -0
- package/esm2020/lib/filter/spatial-filter/spatial-filter-type/index.mjs +2 -0
- package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +144 -0
- package/esm2020/lib/filter/time-filter-button/index.mjs +2 -0
- package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +78 -0
- package/esm2020/lib/filter/time-filter-form/index.mjs +2 -0
- package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +734 -0
- package/esm2020/lib/filter/time-filter-item/index.mjs +2 -0
- package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +119 -0
- package/esm2020/lib/filter/time-filter-list/index.mjs +3 -0
- package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +31 -0
- package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +39 -0
- package/esm2020/lib/geo.module.mjs +102 -0
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +511 -0
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +189 -0
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +64 -0
- package/esm2020/lib/geometry/geometry.module.mjs +27 -0
- package/esm2020/lib/geometry/index.mjs +4 -0
- package/esm2020/lib/geometry/shared/controls/draw.mjs +271 -0
- package/esm2020/lib/geometry/shared/controls/index.mjs +4 -0
- package/esm2020/lib/geometry/shared/controls/modify.mjs +521 -0
- package/esm2020/lib/geometry/shared/controls/slice.mjs +177 -0
- package/esm2020/lib/geometry/shared/geometry.errors.mjs +26 -0
- package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +2 -0
- package/esm2020/lib/geometry/shared/geometry.utils.mjs +122 -0
- package/esm2020/lib/geometry/shared/index.mjs +5 -0
- package/esm2020/lib/import-export/export-button/export-button.component.mjs +64 -0
- package/esm2020/lib/import-export/export-button/index.mjs +2 -0
- package/esm2020/lib/import-export/import-export/import-export.component.mjs +1190 -0
- package/esm2020/lib/import-export/import-export/index.mjs +2 -0
- package/esm2020/lib/import-export/import-export.module.mjs +93 -0
- package/esm2020/lib/import-export/index.mjs +5 -0
- package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +135 -0
- package/esm2020/lib/import-export/shared/export.errors.mjs +15 -0
- package/esm2020/lib/import-export/shared/export.interface.mjs +2 -0
- package/esm2020/lib/import-export/shared/export.service.mjs +195 -0
- package/esm2020/lib/import-export/shared/export.type.mjs +4 -0
- package/esm2020/lib/import-export/shared/export.utils.mjs +55 -0
- package/esm2020/lib/import-export/shared/import.errors.mjs +39 -0
- package/esm2020/lib/import-export/shared/import.interface.mjs +2 -0
- package/esm2020/lib/import-export/shared/import.service.mjs +195 -0
- package/esm2020/lib/import-export/shared/import.utils.mjs +234 -0
- package/esm2020/lib/import-export/shared/index.mjs +11 -0
- package/esm2020/lib/import-export/style-list/index.mjs +5 -0
- package/esm2020/lib/import-export/style-list/style-list.interface.mjs +2 -0
- package/esm2020/lib/import-export/style-list/style-list.module.mjs +23 -0
- package/esm2020/lib/import-export/style-list/style-list.provider.mjs +21 -0
- package/esm2020/lib/import-export/style-list/style-list.service.mjs +51 -0
- package/esm2020/lib/layer/index.mjs +10 -0
- package/esm2020/lib/layer/layer-item/index.mjs +2 -0
- package/esm2020/lib/layer/layer-item/layer-item.component.mjs +300 -0
- package/esm2020/lib/layer/layer-legend/index.mjs +2 -0
- package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +382 -0
- package/esm2020/lib/layer/layer-legend-item/index.mjs +2 -0
- package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +84 -0
- package/esm2020/lib/layer/layer-legend-list/index.mjs +3 -0
- package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +48 -0
- package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +195 -0
- package/esm2020/lib/layer/layer-list/index.mjs +4 -0
- package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +59 -0
- package/esm2020/lib/layer/layer-list/layer-list.component.mjs +1024 -0
- package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +19 -0
- package/esm2020/lib/layer/layer-list-tool/index.mjs +5 -0
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +165 -0
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +7 -0
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +2 -0
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +22 -0
- package/esm2020/lib/layer/layer.module.mjs +173 -0
- package/esm2020/lib/layer/shared/clusterParam.mjs +2 -0
- package/esm2020/lib/layer/shared/index.mjs +7 -0
- package/esm2020/lib/layer/shared/layer.enums.mjs +2 -0
- package/esm2020/lib/layer/shared/layer.service.mjs +186 -0
- package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +2 -0
- package/esm2020/lib/layer/shared/layers/any-layer.mjs +2 -0
- package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +2 -0
- package/esm2020/lib/layer/shared/layers/image-layer.mjs +68 -0
- package/esm2020/lib/layer/shared/layers/index.mjs +13 -0
- package/esm2020/lib/layer/shared/layers/layer.interface.mjs +17 -0
- package/esm2020/lib/layer/shared/layers/layer.mjs +170 -0
- package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +2 -0
- package/esm2020/lib/layer/shared/layers/tile-layer.mjs +47 -0
- package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +2 -0
- package/esm2020/lib/layer/shared/layers/vector-layer.mjs +376 -0
- package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +2 -0
- package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +104 -0
- package/esm2020/lib/layer/shared/style.service.mjs +356 -0
- package/esm2020/lib/layer/shared/vector-style.interface.mjs +2 -0
- package/esm2020/lib/layer/track-feature-button/index.mjs +2 -0
- package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +59 -0
- package/esm2020/lib/layer/utils/image-watcher.mjs +62 -0
- package/esm2020/lib/layer/utils/index.mjs +7 -0
- package/esm2020/lib/layer/utils/layer.utils.mjs +10 -0
- package/esm2020/lib/layer/utils/layerSync-watcher.mjs +242 -0
- package/esm2020/lib/layer/utils/outputLegend.mjs +27 -0
- package/esm2020/lib/layer/utils/tile-watcher.mjs +50 -0
- package/esm2020/lib/layer/utils/vector-watcher.mjs +48 -0
- package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +20 -0
- package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +97 -0
- package/esm2020/lib/map/baselayers-switcher/index.mjs +3 -0
- package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +133 -0
- package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +76 -0
- package/esm2020/lib/map/geolocate-button/index.mjs +2 -0
- package/esm2020/lib/map/home-extent-button/home-extent-button.component.mjs +63 -0
- package/{esm2015/lib/map/home-extent-button/index.js → esm2020/lib/map/home-extent-button/index.mjs} +0 -0
- package/esm2020/lib/map/index.mjs +14 -0
- package/esm2020/lib/map/info-section/index.mjs +2 -0
- package/esm2020/lib/map/info-section/info-section.component.mjs +30 -0
- package/esm2020/lib/map/map-browser/index.mjs +2 -0
- package/esm2020/lib/map/map-browser/map-browser.component.mjs +66 -0
- package/esm2020/lib/map/map-center/index.mjs +2 -0
- package/esm2020/lib/map/map-center/map-center.component.mjs +50 -0
- package/esm2020/lib/map/map.module.mjs +127 -0
- package/esm2020/lib/map/menu-button/index.mjs +2 -0
- package/esm2020/lib/map/menu-button/menu-button.component.mjs +62 -0
- package/esm2020/lib/map/offline-button/index.mjs +2 -0
- package/esm2020/lib/map/offline-button/offline-button.component.mjs +76 -0
- package/esm2020/lib/map/rotation-button/index.mjs +2 -0
- package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +91 -0
- package/esm2020/lib/map/shared/controllers/controller.mjs +42 -0
- package/esm2020/lib/map/shared/controllers/geolocation.mjs +308 -0
- package/esm2020/lib/map/shared/controllers/index.mjs +4 -0
- package/esm2020/lib/map/shared/controllers/view.mjs +342 -0
- package/esm2020/lib/map/shared/hover-feature.directive.mjs +506 -0
- package/esm2020/lib/map/shared/index.mjs +13 -0
- package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +107 -0
- package/esm2020/lib/map/shared/map.enums.mjs +6 -0
- package/esm2020/lib/map/shared/map.interface.mjs +2 -0
- package/esm2020/lib/map/shared/map.mjs +417 -0
- package/esm2020/lib/map/shared/map.service.mjs +29 -0
- package/esm2020/lib/map/shared/map.utils.mjs +459 -0
- package/esm2020/lib/map/shared/mapOffline.directive.mjs +163 -0
- package/esm2020/lib/map/shared/projection.interfaces.mjs +2 -0
- package/esm2020/lib/map/shared/projection.service.mjs +65 -0
- package/esm2020/lib/map/shared/projection.utils.mjs +64 -0
- package/esm2020/lib/map/swipe-control/index.mjs +2 -0
- package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +193 -0
- package/esm2020/lib/map/utils/layer-watcher.mjs +58 -0
- package/esm2020/lib/map/wake-lock-button/index.mjs +2 -0
- package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +114 -0
- package/esm2020/lib/map/zoom-button/index.mjs +2 -0
- package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +40 -0
- package/esm2020/lib/measure/index.mjs +4 -0
- package/esm2020/lib/measure/measure.module.mjs +20 -0
- package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +37 -0
- package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +180 -0
- package/esm2020/lib/measure/measurer/measurer-item.component.mjs +140 -0
- package/esm2020/lib/measure/measurer/measurer.component.mjs +1042 -0
- package/esm2020/lib/measure/measurer/measurer.module.mjs +94 -0
- package/esm2020/lib/measure/shared/index.mjs +4 -0
- package/esm2020/lib/measure/shared/measure.enum.mjs +37 -0
- package/esm2020/lib/measure/shared/measure.interfaces.mjs +2 -0
- package/esm2020/lib/measure/shared/measure.utils.mjs +489 -0
- package/esm2020/lib/metadata/index.mjs +3 -0
- package/esm2020/lib/metadata/metadata-button/index.mjs +2 -0
- package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +134 -0
- package/esm2020/lib/metadata/metadata.module.mjs +55 -0
- package/esm2020/lib/metadata/shared/index.mjs +3 -0
- package/esm2020/lib/metadata/shared/metadata.interface.mjs +2 -0
- package/esm2020/lib/metadata/shared/metadata.service.mjs +19 -0
- package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +6 -0
- package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +2 -0
- package/esm2020/lib/offline/geoDB/geoDB.service.mjs +161 -0
- package/esm2020/lib/offline/geoDB/index.mjs +4 -0
- package/esm2020/lib/offline/index.mjs +3 -0
- package/esm2020/lib/offline/shared/geo-network.service.mjs +66 -0
- package/esm2020/lib/offline/shared/index.mjs +2 -0
- package/esm2020/lib/overlay/index.mjs +2 -0
- package/esm2020/lib/overlay/overlay.module.mjs +23 -0
- package/esm2020/lib/overlay/shared/index.mjs +7 -0
- package/esm2020/lib/overlay/shared/overlay-marker-style.utils.mjs +69 -0
- package/esm2020/lib/overlay/shared/overlay.directive.mjs +33 -0
- package/esm2020/lib/overlay/shared/overlay.enum.mjs +8 -0
- package/esm2020/lib/overlay/shared/overlay.mjs +130 -0
- package/esm2020/lib/overlay/shared/overlay.service.mjs +27 -0
- package/esm2020/lib/overlay/shared/overlay.utils.mjs +103 -0
- package/esm2020/lib/print/index.mjs +4 -0
- package/esm2020/lib/print/print/print.component.mjs +123 -0
- package/esm2020/lib/print/print-form/index.mjs +2 -0
- package/esm2020/lib/print/print-form/print-form.component.mjs +405 -0
- package/esm2020/lib/print/print.module.mjs +65 -0
- package/esm2020/lib/print/shared/index.mjs +4 -0
- package/esm2020/lib/print/shared/print.interface.mjs +2 -0
- package/esm2020/lib/print/shared/print.service.mjs +807 -0
- package/esm2020/lib/print/shared/print.type.mjs +30 -0
- package/esm2020/lib/query/index.mjs +2 -0
- package/esm2020/lib/query/query.module.mjs +29 -0
- package/esm2020/lib/query/shared/index.mjs +7 -0
- package/esm2020/lib/query/shared/query-search-source.mjs +35 -0
- package/esm2020/lib/query/shared/query-search-source.providers.mjs +22 -0
- package/esm2020/lib/query/shared/query.directive.mjs +261 -0
- package/esm2020/lib/query/shared/query.enums.mjs +30 -0
- package/esm2020/lib/query/shared/query.interfaces.mjs +2 -0
- package/esm2020/lib/query/shared/query.service.mjs +613 -0
- package/esm2020/lib/query/shared/query.utils.mjs +37 -0
- package/esm2020/lib/search/index.mjs +12 -0
- package/esm2020/lib/search/search-bar/search-bar.component.mjs +489 -0
- package/esm2020/lib/search/search-bar/search-bar.module.mjs +75 -0
- package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +35 -0
- package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +193 -0
- package/esm2020/lib/search/search-results/search-results-item.component.mjs +124 -0
- package/esm2020/lib/search/search-results/search-results.component.mjs +331 -0
- package/esm2020/lib/search/search-results/search-results.module.mjs +77 -0
- package/esm2020/lib/search/search-selector/search-selector.component.mjs +123 -0
- package/esm2020/lib/search/search-selector/search-selector.module.mjs +56 -0
- package/esm2020/lib/search/search-settings/search-settings.component.mjs +418 -0
- package/esm2020/lib/search/search-settings/search-settings.module.mjs +60 -0
- package/esm2020/lib/search/search.module.mjs +67 -0
- package/esm2020/lib/search/shared/index.mjs +9 -0
- package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +322 -0
- package/esm2020/lib/search/shared/search-source-service.providers.mjs +20 -0
- package/esm2020/lib/search/shared/search-source.service.mjs +47 -0
- package/esm2020/lib/search/shared/search.enums.mjs +4 -0
- package/esm2020/lib/search/shared/search.interfaces.mjs +2 -0
- package/esm2020/lib/search/shared/search.service.mjs +118 -0
- package/esm2020/lib/search/shared/search.utils.mjs +78 -0
- package/esm2020/lib/search/shared/sources/cadastre.mjs +126 -0
- package/esm2020/lib/search/shared/sources/cadastre.providers.mjs +23 -0
- package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +2 -0
- package/esm2020/lib/search/shared/sources/coordinates.mjs +147 -0
- package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +40 -0
- package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +2 -0
- package/esm2020/lib/search/shared/sources/icherche.mjs +755 -0
- package/esm2020/lib/search/shared/sources/icherche.providers.mjs +66 -0
- package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +2 -0
- package/esm2020/lib/search/shared/sources/ilayer.mjs +320 -0
- package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +40 -0
- package/esm2020/lib/search/shared/sources/index.mjs +20 -0
- package/esm2020/lib/search/shared/sources/nominatim.interfaces.mjs +2 -0
- package/esm2020/lib/search/shared/sources/nominatim.mjs +253 -0
- package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +23 -0
- package/esm2020/lib/search/shared/sources/source.interfaces.mjs +2 -0
- package/esm2020/lib/search/shared/sources/source.mjs +179 -0
- package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +2 -0
- package/esm2020/lib/search/shared/sources/storedqueries.mjs +425 -0
- package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +41 -0
- package/esm2020/lib/toast/index.mjs +2 -0
- package/esm2020/lib/toast/toast.component.mjs +113 -0
- package/esm2020/lib/toast/toast.module.mjs +45 -0
- package/esm2020/lib/utils/commonVectorStyle.interface.mjs +2 -0
- package/esm2020/lib/utils/commonVectorStyle.mjs +75 -0
- package/esm2020/lib/utils/googleLinks.mjs +13 -0
- package/esm2020/lib/utils/id-generator.mjs +110 -0
- package/esm2020/lib/utils/index.mjs +6 -0
- package/esm2020/lib/utils/osmLinks.mjs +10 -0
- package/esm2020/lib/wkt/index.mjs +2 -0
- package/esm2020/lib/wkt/shared/index.mjs +2 -0
- package/esm2020/lib/wkt/shared/wkt.service.mjs +239 -0
- package/esm2020/lib/wkt/wkt.module.mjs +22 -0
- package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +48 -0
- package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +36 -0
- package/esm2020/lib/workspace/confirmation-popup/index.mjs +3 -0
- package/esm2020/lib/workspace/index.mjs +8 -0
- package/esm2020/lib/workspace/shared/edition-workspace.mjs +278 -0
- package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +642 -0
- package/esm2020/lib/workspace/shared/feature-workspace.mjs +35 -0
- package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +150 -0
- package/esm2020/lib/workspace/shared/index.mjs +8 -0
- package/esm2020/lib/workspace/shared/wfs-workspace.mjs +35 -0
- package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +150 -0
- package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +261 -0
- package/esm2020/lib/workspace/shared/workspace.utils.mjs +24 -0
- package/esm2020/lib/workspace/widgets/index.mjs +4 -0
- package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +47 -0
- package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +36 -0
- package/esm2020/lib/workspace/widgets/widgets.mjs +15 -0
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +133 -0
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +28 -0
- package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +113 -0
- package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +28 -0
- package/esm2020/lib/workspace/workspace.module.mjs +62 -0
- package/esm2020/public_api.mjs +55 -0
- package/fesm2015/igo2-geo.mjs +42904 -0
- package/fesm2015/igo2-geo.mjs.map +1 -0
- package/fesm2020/igo2-geo.mjs +41183 -0
- package/fesm2020/igo2-geo.mjs.map +1 -0
- package/{igo2-geo.d.ts → index.d.ts} +0 -0
- package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +1 -1
- package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +1 -1
- package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +1 -1
- package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +4 -4
- package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +1 -1
- package/lib/catalog/catalog-library/catalog-library.component.d.ts +1 -1
- package/lib/directions/directions-buttons/directions-buttons.component.d.ts +1 -1
- package/lib/directions/directions-inputs/directions-inputs.component.d.ts +1 -1
- package/lib/directions/directions-results/directions-results.component.d.ts +1 -1
- package/lib/directions/directions.component.d.ts +1 -1
- package/lib/download/download-button/download-button.component.d.ts +1 -1
- package/lib/draw/draw/draw-popup.component.d.ts +1 -1
- package/lib/draw/draw/draw-shorcuts.component.d.ts +1 -1
- package/lib/draw/draw/draw.component.d.ts +4 -4
- package/lib/feature/feature-details/feature-details.component.d.ts +1 -1
- package/lib/feature/feature-details/feature-details.directive.d.ts +1 -1
- package/lib/feature/feature-form/feature-form.component.d.ts +1 -1
- package/lib/feature/shared/feature.interfaces.d.ts +2 -2
- package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +1 -1
- package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +1 -1
- package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +4 -4
- package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +1 -1
- package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +6 -6
- package/lib/filter/ogc-filterable-form/ogc-filterable-form.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-binding.directive.d.ts +1 -1
- package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +1 -1
- package/lib/filter/shared/filterable-datasource.pipe.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +5 -5
- package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +4 -4
- package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +3 -3
- 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 +1 -1
- package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
- package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +1 -1
- package/lib/filter/time-filter-list/time-filter-list.component.d.ts +1 -1
- package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +1 -1
- package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +3 -3
- package/lib/import-export/export-button/export-button.component.d.ts +1 -1
- package/lib/import-export/import-export/import-export.component.d.ts +5 -5
- package/lib/import-export/shared/drop-geo-file.directive.d.ts +1 -1
- package/lib/layer/layer-item/layer-item.component.d.ts +1 -1
- package/lib/layer/layer-legend/layer-legend.component.d.ts +1 -1
- package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +1 -1
- package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +1 -1
- package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +1 -1
- package/lib/layer/layer-list/layer-list-binding.directive.d.ts +1 -1
- package/lib/layer/layer-list/layer-list.component.d.ts +1 -1
- package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +1 -1
- package/lib/layer/track-feature-button/track-feature-button.component.d.ts +1 -1
- package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +1 -1
- package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
- package/lib/map/geolocate-button/geolocate-button.component.d.ts +1 -1
- package/lib/map/home-extent-button/home-extent-button.component.d.ts +1 -1
- package/lib/map/info-section/info-section.component.d.ts +1 -1
- package/lib/map/map-browser/map-browser.component.d.ts +1 -1
- package/lib/map/map-center/map-center.component.d.ts +1 -1
- package/lib/map/menu-button/menu-button.component.d.ts +1 -1
- package/lib/map/offline-button/offline-button.component.d.ts +1 -1
- package/lib/map/rotation-button/rotation-button.component.d.ts +1 -1
- package/lib/map/shared/hover-feature.directive.d.ts +1 -1
- package/lib/map/shared/map-pointer-position.directive.d.ts +1 -1
- package/lib/map/shared/mapOffline.directive.d.ts +1 -1
- package/lib/map/swipe-control/swipe-control.component.d.ts +1 -1
- package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +1 -1
- package/lib/map/zoom-button/zoom-button.component.d.ts +1 -1
- package/lib/measure/measurer/measure-format.pipe.d.ts +1 -1
- package/lib/measure/measurer/measurer-dialog.component.d.ts +1 -1
- package/lib/measure/measurer/measurer-item.component.d.ts +1 -1
- package/lib/measure/measurer/measurer.component.d.ts +1 -1
- package/lib/metadata/metadata-button/metadata-button.component.d.ts +2 -2
- package/lib/overlay/shared/overlay.directive.d.ts +1 -1
- package/lib/print/print/print.component.d.ts +1 -1
- package/lib/print/print-form/print-form.component.d.ts +17 -17
- package/lib/print/shared/print.service.d.ts +6 -1
- package/lib/query/shared/query.directive.d.ts +1 -1
- package/lib/search/search-bar/search-bar.component.d.ts +1 -1
- package/lib/search/search-bar/search-url-param.directive.d.ts +1 -1
- package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
- package/lib/search/search-results/search-results-item.component.d.ts +1 -1
- package/lib/search/search-results/search-results.component.d.ts +1 -1
- package/lib/search/search-selector/search-selector.component.d.ts +1 -1
- package/lib/search/search-settings/search-settings.component.d.ts +1 -1
- package/lib/search/shared/search-pointer-summary.directive.d.ts +1 -1
- package/lib/toast/toast.component.d.ts +1 -1
- package/lib/wkt/shared/wkt.service.d.ts +1 -1
- package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +1 -1
- package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
- package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +1 -1
- package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +1 -1
- package/ngcc.config.js +3 -3
- package/package.json +32 -19
- package/style/geo.theming.scss +12 -12
- package/bundles/igo2-geo.umd.js +0 -47639
- package/bundles/igo2-geo.umd.js.map +0 -1
- package/esm2015/lib/catalog/catalog-browser/catalog-browser-group.component.js +0 -305
- package/esm2015/lib/catalog/catalog-browser/catalog-browser-layer.component.js +0 -274
- package/esm2015/lib/catalog/catalog-browser/catalog-browser.component.js +0 -248
- package/esm2015/lib/catalog/catalog-browser/catalog-browser.module.js +0 -82
- package/esm2015/lib/catalog/catalog-library/add-catalog-dialog.component.js +0 -235
- package/esm2015/lib/catalog/catalog-library/catalog-library-item.component.js +0 -85
- package/esm2015/lib/catalog/catalog-library/catalog-library.component.js +0 -224
- package/esm2015/lib/catalog/catalog-library/catalog-library.module.js +0 -97
- package/esm2015/lib/catalog/catalog.module.js +0 -55
- package/esm2015/lib/catalog/index.js +0 -5
- package/esm2015/lib/catalog/shared/catalog.abstract.js +0 -95
- package/esm2015/lib/catalog/shared/catalog.enum.js +0 -16
- package/esm2015/lib/catalog/shared/catalog.interface.js +0 -2
- package/esm2015/lib/catalog/shared/catalog.service.js +0 -606
- package/esm2015/lib/catalog/shared/index.js +0 -5
- package/esm2015/lib/datasource/datasource.module.js +0 -22
- package/esm2015/lib/datasource/index.js +0 -3
- package/esm2015/lib/datasource/shared/capabilities.service.js +0 -427
- package/esm2015/lib/datasource/shared/datasource.service.js +0 -236
- package/esm2015/lib/datasource/shared/datasources/any-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/any-datasource.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.js +0 -145
- package/esm2015/lib/datasource/shared/datasources/carto-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/carto-datasource.js +0 -109
- package/esm2015/lib/datasource/shared/datasources/cluster-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/cluster-datasource.js +0 -15
- package/esm2015/lib/datasource/shared/datasources/data.service.js +0 -3
- package/esm2015/lib/datasource/shared/datasources/datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/datasource.js +0 -29
- package/esm2015/lib/datasource/shared/datasources/feature-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/feature-datasource.js +0 -43
- package/esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.js +0 -57
- package/esm2015/lib/datasource/shared/datasources/index.js +0 -36
- package/esm2015/lib/datasource/shared/datasources/mvt-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/mvt-datasource.js +0 -28
- package/esm2015/lib/datasource/shared/datasources/osm-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/osm-datasource.js +0 -12
- package/esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.js +0 -49
- package/esm2015/lib/datasource/shared/datasources/tiledebug-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/tiledebug-datasource.js +0 -15
- package/esm2015/lib/datasource/shared/datasources/websocket-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/websocket-datasource.js +0 -54
- package/esm2015/lib/datasource/shared/datasources/wfs-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/wfs-datasource.js +0 -74
- package/esm2015/lib/datasource/shared/datasources/wfs.service.js +0 -153
- package/esm2015/lib/datasource/shared/datasources/wms-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/wms-datasource.js +0 -205
- package/esm2015/lib/datasource/shared/datasources/wms-wfs.utils.js +0 -207
- package/esm2015/lib/datasource/shared/datasources/wmts-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/wmts-datasource.js +0 -16
- package/esm2015/lib/datasource/shared/datasources/xyz-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/xyz-datasource.js +0 -9
- package/esm2015/lib/datasource/shared/index.js +0 -5
- package/esm2015/lib/datasource/shared/options/index.js +0 -5
- package/esm2015/lib/datasource/shared/options/options-api.interface.js +0 -2
- package/esm2015/lib/datasource/shared/options/options-api.providers.js +0 -15
- package/esm2015/lib/datasource/shared/options/options-api.service.js +0 -81
- package/esm2015/lib/datasource/shared/options/options.service.js +0 -3
- package/esm2015/lib/datasource/utils/esri-style-generator.js +0 -357
- package/esm2015/lib/datasource/utils/index.js +0 -3
- package/esm2015/lib/datasource/utils/tilegrid.js +0 -20
- package/esm2015/lib/directions/directions-buttons/directions-buttons.component.js +0 -229
- package/esm2015/lib/directions/directions-buttons/index.js +0 -2
- package/esm2015/lib/directions/directions-inputs/directions-inputs.component.js +0 -300
- package/esm2015/lib/directions/directions-inputs/index.js +0 -2
- package/esm2015/lib/directions/directions-results/directions-results.component.js +0 -204
- package/esm2015/lib/directions/directions-results/index.js +0 -2
- package/esm2015/lib/directions/directions-sources/directions-source.interface.js +0 -2
- package/esm2015/lib/directions/directions-sources/directions-source.js +0 -3
- package/esm2015/lib/directions/directions-sources/directions-source.provider.js +0 -16
- package/esm2015/lib/directions/directions-sources/index.js +0 -5
- package/esm2015/lib/directions/directions-sources/osrm-directions-source.js +0 -99
- package/esm2015/lib/directions/directions.component.js +0 -316
- package/esm2015/lib/directions/directions.module.js +0 -104
- package/esm2015/lib/directions/index.js +0 -7
- package/esm2015/lib/directions/shared/directions-source.service.js +0 -17
- package/esm2015/lib/directions/shared/directions.enum.js +0 -28
- package/esm2015/lib/directions/shared/directions.interface.js +0 -2
- package/esm2015/lib/directions/shared/directions.service.js +0 -29
- package/esm2015/lib/directions/shared/directions.utils.js +0 -510
- package/esm2015/lib/directions/shared/index.js +0 -6
- package/esm2015/lib/directions/shared/store.js +0 -24
- package/esm2015/lib/download/download-button/download-button.component.js +0 -66
- package/esm2015/lib/download/download-button/index.js +0 -2
- package/esm2015/lib/download/download.module.js +0 -44
- package/esm2015/lib/download/index.js +0 -3
- package/esm2015/lib/download/shared/download.interface.js +0 -2
- package/esm2015/lib/download/shared/download.service.js +0 -65
- package/esm2015/lib/download/shared/index.js +0 -3
- package/esm2015/lib/draw/draw/draw-popup.component.js +0 -69
- package/esm2015/lib/draw/draw/draw-shorcuts.component.js +0 -64
- package/esm2015/lib/draw/draw/draw.component.js +0 -745
- package/esm2015/lib/draw/draw/draw.module.js +0 -102
- package/esm2015/lib/draw/drawingTool.module.js +0 -20
- package/esm2015/lib/draw/index.js +0 -3
- package/esm2015/lib/draw/shared/draw-icon.service.js +0 -27
- package/esm2015/lib/draw/shared/draw-style.service.js +0 -173
- package/esm2015/lib/draw/shared/draw.enum.js +0 -24
- package/esm2015/lib/draw/shared/draw.interface.js +0 -2
- package/esm2015/lib/draw/shared/draw.utils.js +0 -104
- package/esm2015/lib/draw/shared/index.js +0 -6
- package/esm2015/lib/feature/feature-details/feature-details.component.js +0 -393
- package/esm2015/lib/feature/feature-details/feature-details.directive.js +0 -54
- package/esm2015/lib/feature/feature-details/feature-details.module.js +0 -50
- package/esm2015/lib/feature/feature-form/feature-form.component.js +0 -117
- package/esm2015/lib/feature/feature-form/feature-form.module.js +0 -36
- package/esm2015/lib/feature/feature.module.js +0 -30
- package/esm2015/lib/feature/index.js +0 -4
- package/esm2015/lib/feature/shared/feature.enums.js +0 -9
- package/esm2015/lib/feature/shared/feature.interfaces.js +0 -2
- package/esm2015/lib/feature/shared/feature.utils.js +0 -348
- package/esm2015/lib/feature/shared/index.js +0 -7
- package/esm2015/lib/feature/shared/store.js +0 -112
- package/esm2015/lib/feature/shared/strategies/in-map-extent.js +0 -114
- package/esm2015/lib/feature/shared/strategies/in-map-resolution.js +0 -94
- package/esm2015/lib/feature/shared/strategies/index.js +0 -6
- package/esm2015/lib/feature/shared/strategies/loading-layer.js +0 -104
- package/esm2015/lib/feature/shared/strategies/loading.js +0 -133
- package/esm2015/lib/feature/shared/strategies/selection.js +0 -370
- package/esm2015/lib/feature/shared/strategies.utils.js +0 -37
- package/esm2015/lib/filter/filter.module.js +0 -290
- package/esm2015/lib/filter/index.js +0 -16
- package/esm2015/lib/filter/ogc-filter-button/index.js +0 -2
- package/esm2015/lib/filter/ogc-filter-button/ogc-filter-button.component.js +0 -161
- package/esm2015/lib/filter/ogc-filter-form/index.js +0 -2
- package/esm2015/lib/filter/ogc-filter-form/ogc-filter-form.component.js +0 -657
- package/esm2015/lib/filter/ogc-filter-selection/index.js +0 -2
- package/esm2015/lib/filter/ogc-filter-selection/ogc-filter-selection.component.js +0 -1355
- package/esm2015/lib/filter/ogc-filter-time/index.js +0 -3
- package/esm2015/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.js +0 -185
- package/esm2015/lib/filter/ogc-filter-time/ogc-filter-time.component.js +0 -898
- package/esm2015/lib/filter/ogc-filterable-form/index.js +0 -2
- package/esm2015/lib/filter/ogc-filterable-form/ogc-filterable-form.component.js +0 -62
- package/esm2015/lib/filter/ogc-filterable-item/index.js +0 -2
- package/esm2015/lib/filter/ogc-filterable-item/ogc-filterable-item.component.js +0 -307
- package/esm2015/lib/filter/ogc-filterable-list/index.js +0 -3
- package/esm2015/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.js +0 -31
- package/esm2015/lib/filter/ogc-filterable-list/ogc-filterable-list.component.js +0 -35
- package/esm2015/lib/filter/shared/filterable-datasource.pipe.js +0 -55
- package/esm2015/lib/filter/shared/index.js +0 -12
- package/esm2015/lib/filter/shared/ogc-filter-time.service.js +0 -73
- package/esm2015/lib/filter/shared/ogc-filter.enum.js +0 -30
- package/esm2015/lib/filter/shared/ogc-filter.interface.js +0 -2
- package/esm2015/lib/filter/shared/ogc-filter.js +0 -693
- package/esm2015/lib/filter/shared/ogc-filter.service.js +0 -46
- package/esm2015/lib/filter/shared/spatial-filter.enum.js +0 -23
- package/esm2015/lib/filter/shared/spatial-filter.interface.js +0 -2
- package/esm2015/lib/filter/shared/spatial-filter.service.js +0 -269
- package/esm2015/lib/filter/shared/time-filter.enum.js +0 -13
- package/esm2015/lib/filter/shared/time-filter.interface.js +0 -2
- package/esm2015/lib/filter/shared/time-filter.service.js +0 -107
- package/esm2015/lib/filter/spatial-filter/spatial-filter-item/index.js +0 -2
- package/esm2015/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.js +0 -1108
- package/esm2015/lib/filter/spatial-filter/spatial-filter-list/index.js +0 -2
- package/esm2015/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.js +0 -224
- package/esm2015/lib/filter/spatial-filter/spatial-filter-type/index.js +0 -2
- package/esm2015/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.js +0 -157
- package/esm2015/lib/filter/time-filter-button/index.js +0 -2
- package/esm2015/lib/filter/time-filter-button/time-filter-button.component.js +0 -83
- package/esm2015/lib/filter/time-filter-form/index.js +0 -2
- package/esm2015/lib/filter/time-filter-form/time-filter-form.component.js +0 -772
- package/esm2015/lib/filter/time-filter-item/index.js +0 -2
- package/esm2015/lib/filter/time-filter-item/time-filter-item.component.js +0 -126
- package/esm2015/lib/filter/time-filter-list/index.js +0 -3
- package/esm2015/lib/filter/time-filter-list/time-filter-list-binding.directive.js +0 -31
- package/esm2015/lib/filter/time-filter-list/time-filter-list.component.js +0 -43
- package/esm2015/lib/geo.module.js +0 -102
- package/esm2015/lib/geometry/geometry-form-field/geometry-form-field-input.component.js +0 -515
- package/esm2015/lib/geometry/geometry-form-field/geometry-form-field.component.js +0 -199
- package/esm2015/lib/geometry/geometry-form-field/geometry-form-field.module.js +0 -66
- package/esm2015/lib/geometry/geometry.module.js +0 -29
- package/esm2015/lib/geometry/index.js +0 -4
- package/esm2015/lib/geometry/shared/controls/draw.js +0 -271
- package/esm2015/lib/geometry/shared/controls/index.js +0 -4
- package/esm2015/lib/geometry/shared/controls/modify.js +0 -521
- package/esm2015/lib/geometry/shared/controls/slice.js +0 -177
- package/esm2015/lib/geometry/shared/geometry.errors.js +0 -26
- package/esm2015/lib/geometry/shared/geometry.interfaces.js +0 -2
- package/esm2015/lib/geometry/shared/geometry.utils.js +0 -122
- package/esm2015/lib/geometry/shared/index.js +0 -5
- package/esm2015/lib/import-export/export-button/export-button.component.js +0 -70
- package/esm2015/lib/import-export/export-button/index.js +0 -2
- package/esm2015/lib/import-export/import-export/import-export.component.js +0 -1238
- package/esm2015/lib/import-export/import-export/index.js +0 -2
- package/esm2015/lib/import-export/import-export.module.js +0 -95
- package/esm2015/lib/import-export/index.js +0 -5
- package/esm2015/lib/import-export/shared/drop-geo-file.directive.js +0 -136
- package/esm2015/lib/import-export/shared/export.errors.js +0 -15
- package/esm2015/lib/import-export/shared/export.interface.js +0 -2
- package/esm2015/lib/import-export/shared/export.service.js +0 -195
- package/esm2015/lib/import-export/shared/export.type.js +0 -4
- package/esm2015/lib/import-export/shared/export.utils.js +0 -55
- package/esm2015/lib/import-export/shared/import.errors.js +0 -39
- package/esm2015/lib/import-export/shared/import.interface.js +0 -2
- package/esm2015/lib/import-export/shared/import.service.js +0 -195
- package/esm2015/lib/import-export/shared/import.utils.js +0 -234
- package/esm2015/lib/import-export/shared/index.js +0 -11
- package/esm2015/lib/import-export/style-list/index.js +0 -5
- package/esm2015/lib/import-export/style-list/style-list.interface.js +0 -2
- package/esm2015/lib/import-export/style-list/style-list.module.js +0 -23
- package/esm2015/lib/import-export/style-list/style-list.provider.js +0 -21
- package/esm2015/lib/import-export/style-list/style-list.service.js +0 -51
- package/esm2015/lib/layer/index.js +0 -10
- package/esm2015/lib/layer/layer-item/index.js +0 -2
- package/esm2015/lib/layer/layer-item/layer-item.component.js +0 -305
- package/esm2015/lib/layer/layer-legend/index.js +0 -2
- package/esm2015/lib/layer/layer-legend/layer-legend.component.js +0 -395
- package/esm2015/lib/layer/layer-legend-item/index.js +0 -2
- package/esm2015/lib/layer/layer-legend-item/layer-legend-item.component.js +0 -91
- package/esm2015/lib/layer/layer-legend-list/index.js +0 -3
- package/esm2015/lib/layer/layer-legend-list/layer-legend-list-binding.directive.js +0 -48
- package/esm2015/lib/layer/layer-legend-list/layer-legend-list.component.js +0 -200
- package/esm2015/lib/layer/layer-list/index.js +0 -4
- package/esm2015/lib/layer/layer-list/layer-list-binding.directive.js +0 -59
- package/esm2015/lib/layer/layer-list/layer-list.component.js +0 -1043
- package/esm2015/lib/layer/layer-list/layer-list.enum.js +0 -19
- package/esm2015/lib/layer/layer-list-tool/index.js +0 -5
- package/esm2015/lib/layer/layer-list-tool/layer-list-tool.component.js +0 -176
- package/esm2015/lib/layer/layer-list-tool/layer-list-tool.enum.js +0 -7
- package/esm2015/lib/layer/layer-list-tool/layer-list-tool.interface.js +0 -2
- package/esm2015/lib/layer/layer-list-tool/layer-list-tool.service.js +0 -22
- package/esm2015/lib/layer/layer.module.js +0 -174
- package/esm2015/lib/layer/shared/clusterParam.js +0 -2
- package/esm2015/lib/layer/shared/index.js +0 -7
- package/esm2015/lib/layer/shared/layer.enums.js +0 -2
- package/esm2015/lib/layer/shared/layer.service.js +0 -186
- package/esm2015/lib/layer/shared/layers/any-layer.interface.js +0 -2
- package/esm2015/lib/layer/shared/layers/any-layer.js +0 -2
- package/esm2015/lib/layer/shared/layers/image-layer.interface.js +0 -2
- package/esm2015/lib/layer/shared/layers/image-layer.js +0 -68
- package/esm2015/lib/layer/shared/layers/index.js +0 -13
- package/esm2015/lib/layer/shared/layers/layer.interface.js +0 -17
- package/esm2015/lib/layer/shared/layers/layer.js +0 -169
- package/esm2015/lib/layer/shared/layers/tile-layer.interface.js +0 -2
- package/esm2015/lib/layer/shared/layers/tile-layer.js +0 -47
- package/esm2015/lib/layer/shared/layers/vector-layer.interface.js +0 -2
- package/esm2015/lib/layer/shared/layers/vector-layer.js +0 -376
- package/esm2015/lib/layer/shared/layers/vectortile-layer.interface.js +0 -2
- package/esm2015/lib/layer/shared/layers/vectortile-layer.js +0 -104
- package/esm2015/lib/layer/shared/style.service.js +0 -358
- package/esm2015/lib/layer/shared/vector-style.interface.js +0 -2
- package/esm2015/lib/layer/track-feature-button/index.js +0 -2
- package/esm2015/lib/layer/track-feature-button/track-feature-button.component.js +0 -64
- package/esm2015/lib/layer/utils/image-watcher.js +0 -62
- package/esm2015/lib/layer/utils/index.js +0 -7
- package/esm2015/lib/layer/utils/layer.utils.js +0 -11
- package/esm2015/lib/layer/utils/layerSync-watcher.js +0 -249
- package/esm2015/lib/layer/utils/outputLegend.js +0 -27
- package/esm2015/lib/layer/utils/tile-watcher.js +0 -50
- package/esm2015/lib/layer/utils/vector-watcher.js +0 -48
- package/esm2015/lib/map/baselayers-switcher/baselayers-switcher.animation.js +0 -20
- package/esm2015/lib/map/baselayers-switcher/baselayers-switcher.component.js +0 -105
- package/esm2015/lib/map/baselayers-switcher/index.js +0 -3
- package/esm2015/lib/map/baselayers-switcher/mini-basemap.component.js +0 -137
- package/esm2015/lib/map/geolocate-button/geolocate-button.component.js +0 -82
- package/esm2015/lib/map/geolocate-button/index.js +0 -2
- package/esm2015/lib/map/home-extent-button/home-extent-button.component.js +0 -69
- package/esm2015/lib/map/index.js +0 -14
- package/esm2015/lib/map/info-section/index.js +0 -2
- package/esm2015/lib/map/info-section/info-section.component.js +0 -36
- package/esm2015/lib/map/map-browser/index.js +0 -2
- package/esm2015/lib/map/map-browser/map-browser.component.js +0 -70
- package/esm2015/lib/map/map-center/index.js +0 -2
- package/esm2015/lib/map/map-center/map-center.component.js +0 -55
- package/esm2015/lib/map/map.module.js +0 -129
- package/esm2015/lib/map/menu-button/index.js +0 -2
- package/esm2015/lib/map/menu-button/menu-button.component.js +0 -66
- package/esm2015/lib/map/offline-button/index.js +0 -2
- package/esm2015/lib/map/offline-button/offline-button.component.js +0 -84
- package/esm2015/lib/map/rotation-button/index.js +0 -2
- package/esm2015/lib/map/rotation-button/rotation-button.component.js +0 -97
- package/esm2015/lib/map/shared/controllers/controller.js +0 -42
- package/esm2015/lib/map/shared/controllers/geolocation.js +0 -310
- package/esm2015/lib/map/shared/controllers/index.js +0 -4
- package/esm2015/lib/map/shared/controllers/view.js +0 -342
- package/esm2015/lib/map/shared/hover-feature.directive.js +0 -509
- package/esm2015/lib/map/shared/index.js +0 -13
- package/esm2015/lib/map/shared/map-pointer-position.directive.js +0 -107
- package/esm2015/lib/map/shared/map.enums.js +0 -6
- package/esm2015/lib/map/shared/map.interface.js +0 -2
- package/esm2015/lib/map/shared/map.js +0 -418
- package/esm2015/lib/map/shared/map.service.js +0 -29
- package/esm2015/lib/map/shared/map.utils.js +0 -459
- package/esm2015/lib/map/shared/mapOffline.directive.js +0 -163
- package/esm2015/lib/map/shared/projection.interfaces.js +0 -2
- package/esm2015/lib/map/shared/projection.service.js +0 -65
- package/esm2015/lib/map/shared/projection.utils.js +0 -64
- package/esm2015/lib/map/swipe-control/index.js +0 -2
- package/esm2015/lib/map/swipe-control/swipe-control.component.js +0 -199
- package/esm2015/lib/map/utils/layer-watcher.js +0 -58
- package/esm2015/lib/map/wake-lock-button/index.js +0 -2
- package/esm2015/lib/map/wake-lock-button/wake-lock-button.component.js +0 -122
- package/esm2015/lib/map/zoom-button/index.js +0 -2
- package/esm2015/lib/map/zoom-button/zoom-button.component.js +0 -46
- package/esm2015/lib/measure/index.js +0 -4
- package/esm2015/lib/measure/measure.module.js +0 -20
- package/esm2015/lib/measure/measurer/measure-format.pipe.js +0 -37
- package/esm2015/lib/measure/measurer/measurer-dialog.component.js +0 -220
- package/esm2015/lib/measure/measurer/measurer-item.component.js +0 -148
- package/esm2015/lib/measure/measurer/measurer.component.js +0 -1053
- package/esm2015/lib/measure/measurer/measurer.module.js +0 -96
- package/esm2015/lib/measure/shared/index.js +0 -4
- package/esm2015/lib/measure/shared/measure.enum.js +0 -37
- package/esm2015/lib/measure/shared/measure.interfaces.js +0 -2
- package/esm2015/lib/measure/shared/measure.utils.js +0 -489
- package/esm2015/lib/metadata/index.js +0 -3
- package/esm2015/lib/metadata/metadata-button/index.js +0 -2
- package/esm2015/lib/metadata/metadata-button/metadata-button.component.js +0 -146
- package/esm2015/lib/metadata/metadata.module.js +0 -57
- package/esm2015/lib/metadata/shared/index.js +0 -3
- package/esm2015/lib/metadata/shared/metadata.interface.js +0 -2
- package/esm2015/lib/metadata/shared/metadata.service.js +0 -19
- package/esm2015/lib/offline/geoDB/geoDB.enums.js +0 -6
- package/esm2015/lib/offline/geoDB/geoDB.interface.js +0 -2
- package/esm2015/lib/offline/geoDB/geoDB.service.js +0 -161
- package/esm2015/lib/offline/geoDB/index.js +0 -4
- package/esm2015/lib/offline/index.js +0 -3
- package/esm2015/lib/offline/shared/geo-network.service.js +0 -66
- package/esm2015/lib/offline/shared/index.js +0 -2
- package/esm2015/lib/overlay/index.js +0 -2
- package/esm2015/lib/overlay/overlay.module.js +0 -23
- package/esm2015/lib/overlay/shared/index.js +0 -7
- package/esm2015/lib/overlay/shared/overlay-marker-style.utils.js +0 -69
- package/esm2015/lib/overlay/shared/overlay.directive.js +0 -33
- package/esm2015/lib/overlay/shared/overlay.enum.js +0 -8
- package/esm2015/lib/overlay/shared/overlay.js +0 -130
- package/esm2015/lib/overlay/shared/overlay.service.js +0 -27
- package/esm2015/lib/overlay/shared/overlay.utils.js +0 -103
- package/esm2015/lib/print/index.js +0 -4
- package/esm2015/lib/print/print/print.component.js +0 -126
- package/esm2015/lib/print/print-form/index.js +0 -2
- package/esm2015/lib/print/print-form/print-form.component.js +0 -447
- package/esm2015/lib/print/print.module.js +0 -67
- package/esm2015/lib/print/shared/index.js +0 -4
- package/esm2015/lib/print/shared/print.interface.js +0 -2
- package/esm2015/lib/print/shared/print.service.js +0 -820
- package/esm2015/lib/print/shared/print.type.js +0 -30
- package/esm2015/lib/query/index.js +0 -2
- package/esm2015/lib/query/query.module.js +0 -29
- package/esm2015/lib/query/shared/index.js +0 -7
- package/esm2015/lib/query/shared/query-search-source.js +0 -35
- package/esm2015/lib/query/shared/query-search-source.providers.js +0 -22
- package/esm2015/lib/query/shared/query.directive.js +0 -261
- package/esm2015/lib/query/shared/query.enums.js +0 -30
- package/esm2015/lib/query/shared/query.interfaces.js +0 -2
- package/esm2015/lib/query/shared/query.service.js +0 -619
- package/esm2015/lib/query/shared/query.utils.js +0 -37
- package/esm2015/lib/search/index.js +0 -12
- package/esm2015/lib/search/search-bar/search-bar.component.js +0 -496
- package/esm2015/lib/search/search-bar/search-bar.module.js +0 -77
- package/esm2015/lib/search/search-bar/search-url-param.directive.js +0 -35
- package/esm2015/lib/search/search-results/search-results-add-button.component.js +0 -198
- package/esm2015/lib/search/search-results/search-results-item.component.js +0 -129
- package/esm2015/lib/search/search-results/search-results.component.js +0 -337
- package/esm2015/lib/search/search-results/search-results.module.js +0 -79
- package/esm2015/lib/search/search-selector/search-selector.component.js +0 -132
- package/esm2015/lib/search/search-selector/search-selector.module.js +0 -58
- package/esm2015/lib/search/search-settings/search-settings.component.js +0 -435
- package/esm2015/lib/search/search-settings/search-settings.module.js +0 -62
- package/esm2015/lib/search/search.module.js +0 -69
- package/esm2015/lib/search/shared/index.js +0 -9
- package/esm2015/lib/search/shared/search-pointer-summary.directive.js +0 -322
- package/esm2015/lib/search/shared/search-source-service.providers.js +0 -20
- package/esm2015/lib/search/shared/search-source.service.js +0 -47
- package/esm2015/lib/search/shared/search.enums.js +0 -4
- package/esm2015/lib/search/shared/search.interfaces.js +0 -2
- package/esm2015/lib/search/shared/search.service.js +0 -118
- package/esm2015/lib/search/shared/search.utils.js +0 -78
- package/esm2015/lib/search/shared/sources/cadastre.js +0 -126
- package/esm2015/lib/search/shared/sources/cadastre.providers.js +0 -23
- package/esm2015/lib/search/shared/sources/coordinates.interfaces.js +0 -2
- package/esm2015/lib/search/shared/sources/coordinates.js +0 -147
- package/esm2015/lib/search/shared/sources/coordinates.providers.js +0 -40
- package/esm2015/lib/search/shared/sources/icherche.interfaces.js +0 -2
- package/esm2015/lib/search/shared/sources/icherche.js +0 -756
- package/esm2015/lib/search/shared/sources/icherche.providers.js +0 -66
- package/esm2015/lib/search/shared/sources/ilayer.interfaces.js +0 -2
- package/esm2015/lib/search/shared/sources/ilayer.js +0 -320
- package/esm2015/lib/search/shared/sources/ilayer.providers.js +0 -40
- package/esm2015/lib/search/shared/sources/index.js +0 -20
- package/esm2015/lib/search/shared/sources/nominatim.interfaces.js +0 -2
- package/esm2015/lib/search/shared/sources/nominatim.js +0 -253
- package/esm2015/lib/search/shared/sources/nominatim.providers.js +0 -23
- package/esm2015/lib/search/shared/sources/source.interfaces.js +0 -2
- package/esm2015/lib/search/shared/sources/source.js +0 -179
- package/esm2015/lib/search/shared/sources/storedqueries.interfaces.js +0 -2
- package/esm2015/lib/search/shared/sources/storedqueries.js +0 -425
- package/esm2015/lib/search/shared/sources/storedqueries.providers.js +0 -41
- package/esm2015/lib/toast/index.js +0 -2
- package/esm2015/lib/toast/toast.component.js +0 -119
- package/esm2015/lib/toast/toast.module.js +0 -47
- package/esm2015/lib/utils/commonVectorStyle.interface.js +0 -2
- package/esm2015/lib/utils/commonVectorStyle.js +0 -75
- package/esm2015/lib/utils/googleLinks.js +0 -13
- package/esm2015/lib/utils/id-generator.js +0 -110
- package/esm2015/lib/utils/index.js +0 -6
- package/esm2015/lib/utils/osmLinks.js +0 -10
- package/esm2015/lib/wkt/index.js +0 -2
- package/esm2015/lib/wkt/shared/index.js +0 -2
- package/esm2015/lib/wkt/shared/wkt.service.js +0 -239
- package/esm2015/lib/wkt/wkt.module.js +0 -22
- package/esm2015/lib/workspace/confirmation-popup/confirmation-popup.component.js +0 -56
- package/esm2015/lib/workspace/confirmation-popup/confirmation-popup.module.js +0 -38
- package/esm2015/lib/workspace/confirmation-popup/index.js +0 -3
- package/esm2015/lib/workspace/index.js +0 -8
- package/esm2015/lib/workspace/shared/edition-workspace.js +0 -279
- package/esm2015/lib/workspace/shared/edition-workspace.service.js +0 -646
- package/esm2015/lib/workspace/shared/feature-workspace.js +0 -37
- package/esm2015/lib/workspace/shared/feature-workspace.service.js +0 -151
- package/esm2015/lib/workspace/shared/index.js +0 -8
- package/esm2015/lib/workspace/shared/wfs-workspace.js +0 -37
- package/esm2015/lib/workspace/shared/wfs-workspace.service.js +0 -151
- package/esm2015/lib/workspace/shared/wms-workspace.service.js +0 -263
- package/esm2015/lib/workspace/shared/workspace.utils.js +0 -24
- package/esm2015/lib/workspace/widgets/index.js +0 -4
- package/esm2015/lib/workspace/widgets/ogc-filter/ogc-filter.component.js +0 -52
- package/esm2015/lib/workspace/widgets/ogc-filter/ogc-filter.module.js +0 -38
- package/esm2015/lib/workspace/widgets/widgets.js +0 -15
- package/esm2015/lib/workspace/workspace-selector/workspace-selector.directive.js +0 -135
- package/esm2015/lib/workspace/workspace-selector/workspace-selector.module.js +0 -30
- package/esm2015/lib/workspace/workspace-updator/workspace-updator.directive.js +0 -116
- package/esm2015/lib/workspace/workspace-updator/workspace-updator.module.js +0 -30
- package/esm2015/lib/workspace/workspace.module.js +0 -64
- package/esm2015/public_api.js +0 -55
- package/fesm2015/igo2-geo.js +0 -42102
- package/fesm2015/igo2-geo.js.map +0 -1
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { Directive, Input, Output, EventEmitter, Self } from '@angular/core';
|
|
2
|
+
import { transform } from 'ol/proj';
|
|
3
|
+
import { unByKey } from 'ol/Observable';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../map/map-browser/map-browser.component";
|
|
6
|
+
import * as i2 from "@igo2/core";
|
|
7
|
+
/**
|
|
8
|
+
* This directive return the pointer coordinate (on click or pointermove)
|
|
9
|
+
* in [longitude, latitude], delayed by in input (pointerMoveDelay)
|
|
10
|
+
* to avoid too many emitted values.
|
|
11
|
+
*/
|
|
12
|
+
export class PointerPositionDirective {
|
|
13
|
+
constructor(component, mediaService) {
|
|
14
|
+
this.component = component;
|
|
15
|
+
this.mediaService = mediaService;
|
|
16
|
+
/**
|
|
17
|
+
* Delay before emitting an event
|
|
18
|
+
*/
|
|
19
|
+
this.pointerPositionDelay = 1000;
|
|
20
|
+
/**
|
|
21
|
+
* Event emitted when the pointer move, delayed by pointerMoveDelay
|
|
22
|
+
*/
|
|
23
|
+
this.pointerPositionCoord = new EventEmitter();
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* IGO map
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
get map() {
|
|
30
|
+
return this.component.map;
|
|
31
|
+
}
|
|
32
|
+
get mapProjection() {
|
|
33
|
+
return this.component.map.projection;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Start listening to pointermove
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
39
|
+
ngOnInit() {
|
|
40
|
+
this.listenToMapPointerMove();
|
|
41
|
+
this.listenToMapClick();
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Stop listening to pointermove
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
ngOnDestroy() {
|
|
48
|
+
this.unlistenToMapPointerMove();
|
|
49
|
+
this.unlistenToMapClick();
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* On map pointermove
|
|
53
|
+
*/
|
|
54
|
+
listenToMapPointerMove() {
|
|
55
|
+
this.pointerMoveListener = this.map.ol.on('pointermove', (event) => this.onPointerEvent(event, this.pointerPositionDelay));
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* On map click
|
|
59
|
+
*/
|
|
60
|
+
listenToMapClick() {
|
|
61
|
+
this.mapClickListener = this.map.ol.on('singleclick', (event) => this.onPointerEvent(event, 0));
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Stop listening for map pointermove
|
|
65
|
+
*/
|
|
66
|
+
unlistenToMapPointerMove() {
|
|
67
|
+
unByKey(this.pointerMoveListener);
|
|
68
|
+
this.pointerMoveListener = undefined;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Stop listening for map clicks
|
|
72
|
+
*/
|
|
73
|
+
unlistenToMapClick() {
|
|
74
|
+
this.mapClickListener = undefined;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* emit delayed coordinate (longitude, latitude array) based on pointerMoveDelay or on click
|
|
78
|
+
* @param event OL map browser pointer event
|
|
79
|
+
*/
|
|
80
|
+
onPointerEvent(event, delay) {
|
|
81
|
+
if (event.dragging || this.mediaService.isTouchScreen()) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
if (typeof this.lastTimeoutRequest !== 'undefined') { // cancel timeout when the mouse moves
|
|
85
|
+
clearTimeout(this.lastTimeoutRequest);
|
|
86
|
+
}
|
|
87
|
+
const lonlat = transform(event.coordinate, this.mapProjection, 'EPSG:4326');
|
|
88
|
+
this.lastTimeoutRequest = setTimeout(() => {
|
|
89
|
+
this.pointerPositionCoord.emit(lonlat);
|
|
90
|
+
}, delay);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
PointerPositionDirective.ɵfac = function PointerPositionDirective_Factory(t) { return new (t || PointerPositionDirective)(i0.ɵɵdirectiveInject(i1.MapBrowserComponent, 2), i0.ɵɵdirectiveInject(i2.MediaService)); };
|
|
94
|
+
PointerPositionDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PointerPositionDirective, selectors: [["", "igoPointerPosition", ""]], inputs: { pointerPositionDelay: "pointerPositionDelay" }, outputs: { pointerPositionCoord: "pointerPositionCoord" } });
|
|
95
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PointerPositionDirective, [{
|
|
96
|
+
type: Directive,
|
|
97
|
+
args: [{
|
|
98
|
+
selector: '[igoPointerPosition]'
|
|
99
|
+
}]
|
|
100
|
+
}], function () { return [{ type: i1.MapBrowserComponent, decorators: [{
|
|
101
|
+
type: Self
|
|
102
|
+
}] }, { type: i2.MediaService }]; }, { pointerPositionDelay: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], pointerPositionCoord: [{
|
|
105
|
+
type: Output
|
|
106
|
+
}] }); })();
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXBvaW50ZXItcG9zaXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL3NoYXJlZC9tYXAtcG9pbnRlci1wb3NpdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFFWixJQUFJLEVBRUwsTUFBTSxlQUFlLENBQUM7QUFPdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVwQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBQ3hDOzs7O0dBSUc7QUFJSCxNQUFNLE9BQU8sd0JBQXdCO0lBb0NuQyxZQUNrQixTQUE4QixFQUN0QyxZQUEwQjtRQURsQixjQUFTLEdBQVQsU0FBUyxDQUFxQjtRQUN0QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXhCcEM7O1dBRUc7UUFDTSx5QkFBb0IsR0FBVyxJQUFJLENBQUM7UUFFN0M7O1dBRUc7UUFDTyx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQWlCbEUsQ0FBQztJQWZMOzs7T0FHRztJQUNILElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQVEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFjLENBQUMsVUFBVSxDQUFDO0lBQ25ELENBQUM7SUFPRDs7O09BR0c7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSyxzQkFBc0I7UUFDNUIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FDdkMsYUFBYSxFQUNiLENBQUMsS0FBa0MsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQzlGLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FDcEMsYUFBYSxFQUNiLENBQUMsS0FBa0MsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQ3RFLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyx3QkFBd0I7UUFDOUIsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ssa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGNBQWMsQ0FBQyxLQUFrQyxFQUFFLEtBQWE7UUFDdEUsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFBQyxPQUFPO1NBQUU7UUFDbkUsSUFBSSxPQUFPLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxXQUFXLEVBQUUsRUFBRSxzQ0FBc0M7WUFDMUYsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ3ZDO1FBRUQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQXFCLENBQUM7UUFDaEcsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDeEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDWixDQUFDOztnR0E1R1Usd0JBQXdCOzJFQUF4Qix3QkFBd0I7dUZBQXhCLHdCQUF3QjtjQUhwQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjthQUNqQzs7c0JBc0NJLElBQUk7bURBcEJFLG9CQUFvQjtrQkFBNUIsS0FBSztZQUtJLG9CQUFvQjtrQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT25EZXN0cm95LFxyXG4gIFNlbGYsXHJcbiAgT25Jbml0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgTWFwQnJvd3NlclBvaW50ZXJFdmVudCBmcm9tICdvbC9NYXBCcm93c2VyRXZlbnQnO1xyXG5cclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xyXG5pbXBvcnQgeyBNYXBCcm93c2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbWFwL21hcC1icm93c2VyL21hcC1icm93c2VyLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyB0cmFuc2Zvcm0gfSBmcm9tICdvbC9wcm9qJztcclxuaW1wb3J0IHsgTWVkaWFTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IHVuQnlLZXkgfSBmcm9tICdvbC9PYnNlcnZhYmxlJztcclxuLyoqXHJcbiAqIFRoaXMgZGlyZWN0aXZlIHJldHVybiB0aGUgcG9pbnRlciBjb29yZGluYXRlIChvbiBjbGljayBvciBwb2ludGVybW92ZSlcclxuICogaW4gW2xvbmdpdHVkZSwgbGF0aXR1ZGVdLCBkZWxheWVkIGJ5IGluIGlucHV0IChwb2ludGVyTW92ZURlbGF5KVxyXG4gKiB0byBhdm9pZCB0b28gbWFueSBlbWl0dGVkIHZhbHVlcy5cclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2lnb1BvaW50ZXJQb3NpdGlvbl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQb2ludGVyUG9zaXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIHByaXZhdGUgbGFzdFRpbWVvdXRSZXF1ZXN0O1xyXG5cclxuICAvKipcclxuICAgKiBMaXN0ZW5lciB0byB0aGUgcG9pbnRlciBtb3ZlIGV2ZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBwb2ludGVyTW92ZUxpc3RlbmVyO1xyXG5cclxuICAvKipcclxuICAgKiBMaXN0ZW5lciB0byB0aGUgbWFwIGNsaWNrIGV2ZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBtYXBDbGlja0xpc3RlbmVyO1xyXG5cclxuICAvKipcclxuICAgKiBEZWxheSBiZWZvcmUgZW1pdHRpbmcgYW4gZXZlbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBwb2ludGVyUG9zaXRpb25EZWxheTogbnVtYmVyID0gMTAwMDtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBwb2ludGVyIG1vdmUsIGRlbGF5ZWQgYnkgcG9pbnRlck1vdmVEZWxheVxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwb2ludGVyUG9zaXRpb25Db29yZCA9IG5ldyBFdmVudEVtaXR0ZXI8W251bWJlciwgbnVtYmVyXT4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogSUdPIG1hcFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCBtYXAoKTogSWdvTWFwIHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudC5tYXA7XHJcbiAgfVxyXG5cclxuICBnZXQgbWFwUHJvamVjdGlvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICh0aGlzLmNvbXBvbmVudC5tYXAgYXMgSWdvTWFwKS5wcm9qZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAU2VsZigpIHByaXZhdGUgY29tcG9uZW50OiBNYXBCcm93c2VyQ29tcG9uZW50LFxyXG4gICAgcHJpdmF0ZSBtZWRpYVNlcnZpY2U6IE1lZGlhU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0YXJ0IGxpc3RlbmluZyB0byBwb2ludGVybW92ZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5saXN0ZW5Ub01hcFBvaW50ZXJNb3ZlKCk7XHJcbiAgICB0aGlzLmxpc3RlblRvTWFwQ2xpY2soKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3AgbGlzdGVuaW5nIHRvIHBvaW50ZXJtb3ZlXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVubGlzdGVuVG9NYXBQb2ludGVyTW92ZSgpO1xyXG4gICAgdGhpcy51bmxpc3RlblRvTWFwQ2xpY2soKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uIG1hcCBwb2ludGVybW92ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgbGlzdGVuVG9NYXBQb2ludGVyTW92ZSgpIHtcclxuICAgIHRoaXMucG9pbnRlck1vdmVMaXN0ZW5lciA9IHRoaXMubWFwLm9sLm9uKFxyXG4gICAgICAncG9pbnRlcm1vdmUnLFxyXG4gICAgICAoZXZlbnQ6IE1hcEJyb3dzZXJQb2ludGVyRXZlbnQ8YW55PikgPT4gdGhpcy5vblBvaW50ZXJFdmVudChldmVudCwgdGhpcy5wb2ludGVyUG9zaXRpb25EZWxheSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbiBtYXAgY2xpY2tcclxuICAgKi9cclxuICBwcml2YXRlIGxpc3RlblRvTWFwQ2xpY2soKSB7XHJcbiAgICB0aGlzLm1hcENsaWNrTGlzdGVuZXIgPSB0aGlzLm1hcC5vbC5vbihcclxuICAgICAgJ3NpbmdsZWNsaWNrJyxcclxuICAgICAgKGV2ZW50OiBNYXBCcm93c2VyUG9pbnRlckV2ZW50PGFueT4pID0+IHRoaXMub25Qb2ludGVyRXZlbnQoZXZlbnQsIDApXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3RvcCBsaXN0ZW5pbmcgZm9yIG1hcCBwb2ludGVybW92ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgdW5saXN0ZW5Ub01hcFBvaW50ZXJNb3ZlKCkge1xyXG4gICAgdW5CeUtleSh0aGlzLnBvaW50ZXJNb3ZlTGlzdGVuZXIpO1xyXG4gICAgdGhpcy5wb2ludGVyTW92ZUxpc3RlbmVyID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3RvcCBsaXN0ZW5pbmcgZm9yIG1hcCBjbGlja3NcclxuICAgKi9cclxuICBwcml2YXRlIHVubGlzdGVuVG9NYXBDbGljaygpIHtcclxuICAgIHRoaXMubWFwQ2xpY2tMaXN0ZW5lciA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGVtaXQgZGVsYXllZCBjb29yZGluYXRlIChsb25naXR1ZGUsIGxhdGl0dWRlIGFycmF5KSBiYXNlZCBvbiBwb2ludGVyTW92ZURlbGF5IG9yIG9uIGNsaWNrXHJcbiAgICogQHBhcmFtIGV2ZW50IE9MIG1hcCBicm93c2VyIHBvaW50ZXIgZXZlbnRcclxuICAgKi9cclxuICBwcml2YXRlIG9uUG9pbnRlckV2ZW50KGV2ZW50OiBNYXBCcm93c2VyUG9pbnRlckV2ZW50PGFueT4sIGRlbGF5OiBudW1iZXIpIHtcclxuICAgIGlmIChldmVudC5kcmFnZ2luZyB8fCB0aGlzLm1lZGlhU2VydmljZS5pc1RvdWNoU2NyZWVuKCkpIHtyZXR1cm47IH1cclxuICAgIGlmICh0eXBlb2YgdGhpcy5sYXN0VGltZW91dFJlcXVlc3QgIT09ICd1bmRlZmluZWQnKSB7IC8vIGNhbmNlbCB0aW1lb3V0IHdoZW4gdGhlIG1vdXNlIG1vdmVzXHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbG9ubGF0ID0gdHJhbnNmb3JtKGV2ZW50LmNvb3JkaW5hdGUsIHRoaXMubWFwUHJvamVjdGlvbiwgJ0VQU0c6NDMyNicpIGFzIFtudW1iZXIsIG51bWJlcl07XHJcbiAgICB0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnBvaW50ZXJQb3NpdGlvbkNvb3JkLmVtaXQobG9ubGF0KTtcclxuICAgIH0sIGRlbGF5KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var MapViewAction;
|
|
2
|
+
(function (MapViewAction) {
|
|
3
|
+
MapViewAction[MapViewAction["Move"] = 0] = "Move";
|
|
4
|
+
MapViewAction[MapViewAction["Zoom"] = 1] = "Zoom";
|
|
5
|
+
})(MapViewAction || (MapViewAction = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmVudW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL3NoYXJlZC9tYXAuZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUN2QixpREFBSSxDQUFBO0lBQ0osaURBQUksQ0FBQTtBQUNOLENBQUMsRUFIVyxhQUFhLEtBQWIsYUFBYSxRQUd4QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIE1hcFZpZXdBY3Rpb24ge1xyXG4gIE1vdmUsXHJcbiAgWm9vbVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21hcC9zaGFyZWQvbWFwLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgTWFwRXh0ZW50ID0gW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1hcFZpZXdPcHRpb25zIHtcclxuICBwcm9qZWN0aW9uPzogc3RyaW5nO1xyXG4gIGNlbnRlcj86IFtudW1iZXIsIG51bWJlcl07XHJcbiAgbWF4Wm9vbU9uRXh0ZW50PzogbnVtYmVyO1xyXG4gIGdlb2xvY2F0ZT86IGJvb2xlYW47XHJcbiAgYnVmZmVyPzogQnVmZmVyO1xyXG4gIGFsd2F5c1RyYWNraW5nPzogYm9vbGVhbjtcclxuICBjb25zdHJhaW5Sb3RhdGlvbj86IGJvb2xlYW4gfCBudW1iZXI7XHJcbiAgZW5hYmxlUm90YXRpb24/OiBib29sZWFuO1xyXG4gIGV4dGVudD86IE1hcEV4dGVudDtcclxuICBtYXhMYXllclpvb21FeHRlbnQ/OiBNYXBFeHRlbnQ7XHJcbiAgbWF4UmVzb2x1dGlvbj86IG51bWJlcjtcclxuICBtaW5SZXNvbHV0aW9uPzogbnVtYmVyO1xyXG4gIG1heFpvb20/OiBudW1iZXI7XHJcbiAgbWluWm9vbT86IG51bWJlcjtcclxuICByZXNvbHV0aW9uPzogbnVtYmVyO1xyXG4gIHJlc29sdXRpb25zPzogbnVtYmVyW107XHJcbiAgcm90YXRpb24/OiBudW1iZXI7XHJcbiAgem9vbT86IG51bWJlcjtcclxuICB6b29tRmFjdG9yPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1hcFZpZXdTdGF0ZSB7XHJcbiAgcmVzb2x1dGlvbjogbnVtYmVyO1xyXG4gIGNlbnRlcjogW251bWJlciwgbnVtYmVyXTtcclxuICB6b29tOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWFwT3B0aW9ucyB7XHJcbiAgdmlldz86IE1hcFZpZXdPcHRpb25zO1xyXG4gIGNvbnRyb2xzPzogTWFwQ29udHJvbHNPcHRpb25zO1xyXG4gIG92ZXJsYXk/OiBib29sZWFuO1xyXG4gIGludGVyYWN0aW9ucz86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWFwQ29udHJvbHNPcHRpb25zIHtcclxuICBhdHRyaWJ1dGlvbj86IGJvb2xlYW4gfCBNYXBBdHRyaWJ1dGlvbk9wdGlvbnM7XHJcbiAgc2NhbGVMaW5lPzogYm9vbGVhbiB8IE1hcFNjYWxlTGluZU9wdGlvbnM7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWFwU2NhbGVMaW5lT3B0aW9ucyB7XHJcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xyXG4gIG1pbldpZHRoPzogbnVtYmVyO1xyXG4gIHRhcmdldD86IHN0cmluZyB8IEhUTUxFbGVtZW50O1xyXG4gIHVuaXRzPzogc3RyaW5nO1xyXG4gIGJhcj86IGJvb2xlYW47XHJcbiAgc3RlcHM/OiBudW1iZXI7XHJcbiAgdGV4dD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWFwQXR0cmlidXRpb25PcHRpb25zIHtcclxuICBodG1sPzogc3RyaW5nO1xyXG4gIGNvbGxhcHNlZDogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCdWZmZXIge1xyXG4gIGJ1ZmZlclJhZGl1cz86IG51bWJlcjtcclxuICBidWZmZXJTdHJva2U/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcclxuICBidWZmZXJGaWxsPzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XHJcbiAgc2hvd0J1ZmZlclJhZGl1cz86IGJvb2xlYW47XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
import olMap from 'ol/Map';
|
|
2
|
+
import olView from 'ol/View';
|
|
3
|
+
import olControlAttribution from 'ol/control/Attribution';
|
|
4
|
+
import olControlScaleLine from 'ol/control/ScaleLine';
|
|
5
|
+
import * as olproj from 'ol/proj';
|
|
6
|
+
import * as olproj4 from 'ol/proj/proj4';
|
|
7
|
+
import * as olinteraction from 'ol/interaction';
|
|
8
|
+
import proj4 from 'proj4';
|
|
9
|
+
import { BehaviorSubject } from 'rxjs';
|
|
10
|
+
import { Overlay } from '../../overlay/shared/overlay';
|
|
11
|
+
import { LayerWatcher } from '../utils/layer-watcher';
|
|
12
|
+
import { MapViewController } from './controllers/view';
|
|
13
|
+
import { MapGeolocationController } from './controllers/geolocation';
|
|
14
|
+
// TODO: This class is messy. Clearly define it's scope and the map browser's.
|
|
15
|
+
// Move some stuff into controllers.
|
|
16
|
+
export class IgoMap {
|
|
17
|
+
constructor(options, storageService, configService) {
|
|
18
|
+
this.storageService = storageService;
|
|
19
|
+
this.configService = configService;
|
|
20
|
+
this.offlineButtonToggle$ = new BehaviorSubject(false);
|
|
21
|
+
this.layers$ = new BehaviorSubject([]);
|
|
22
|
+
this.swipeEnabled$ = new BehaviorSubject(false);
|
|
23
|
+
this.mapCenter$ = new BehaviorSubject(false);
|
|
24
|
+
this.selectedFeatures$ = new BehaviorSubject(null);
|
|
25
|
+
this.defaultOptions = {
|
|
26
|
+
controls: { attribution: false }
|
|
27
|
+
};
|
|
28
|
+
this.options = Object.assign({}, this.defaultOptions, options);
|
|
29
|
+
this.layerWatcher = new LayerWatcher();
|
|
30
|
+
this.status$ = this.layerWatcher.status$;
|
|
31
|
+
olproj4.register(proj4);
|
|
32
|
+
this.init();
|
|
33
|
+
}
|
|
34
|
+
get layers() {
|
|
35
|
+
return this.layers$.value;
|
|
36
|
+
}
|
|
37
|
+
get projection() {
|
|
38
|
+
return this.viewController.getOlProjection().getCode();
|
|
39
|
+
}
|
|
40
|
+
init() {
|
|
41
|
+
const controls = [];
|
|
42
|
+
if (this.options.controls) {
|
|
43
|
+
if (this.options.controls.attribution) {
|
|
44
|
+
const attributionOpt = (this.options.controls.attribution === true
|
|
45
|
+
? {}
|
|
46
|
+
: this.options.controls.attribution);
|
|
47
|
+
controls.push(new olControlAttribution(attributionOpt));
|
|
48
|
+
}
|
|
49
|
+
if (this.options.controls.scaleLine) {
|
|
50
|
+
const scaleLineOpt = (this.options.controls.scaleLine === true
|
|
51
|
+
? {}
|
|
52
|
+
: this.options.controls.scaleLine);
|
|
53
|
+
controls.push(new olControlScaleLine(scaleLineOpt));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
let interactions = {};
|
|
57
|
+
if (this.options.interactions === false) {
|
|
58
|
+
interactions = {
|
|
59
|
+
altShiftDragRotate: false,
|
|
60
|
+
doubleClickZoom: false,
|
|
61
|
+
keyboard: false,
|
|
62
|
+
mouseWheelZoom: false,
|
|
63
|
+
shiftDragZoom: false,
|
|
64
|
+
dragPan: false,
|
|
65
|
+
pinchRotate: false,
|
|
66
|
+
pinchZoom: false
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
this.ol = new olMap({
|
|
70
|
+
interactions: olinteraction.defaults(interactions),
|
|
71
|
+
controls
|
|
72
|
+
});
|
|
73
|
+
this.setView(this.options.view || {});
|
|
74
|
+
this.viewController = new MapViewController({
|
|
75
|
+
stateHistory: true
|
|
76
|
+
});
|
|
77
|
+
this.viewController.setOlMap(this.ol);
|
|
78
|
+
this.overlay = new Overlay(this);
|
|
79
|
+
this.queryResultsOverlay = new Overlay(this);
|
|
80
|
+
this.searchResultsOverlay = new Overlay(this);
|
|
81
|
+
this.ol.once('rendercomplete', () => {
|
|
82
|
+
this.geolocationController = new MapGeolocationController(this, {
|
|
83
|
+
projection: this.viewController.getOlProjection()
|
|
84
|
+
}, this.storageService, this.configService);
|
|
85
|
+
this.geolocationController.setOlMap(this.ol);
|
|
86
|
+
if (this.geolocationController) {
|
|
87
|
+
this.geolocationController.updateGeolocationOptions(this.mapViewOptions);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
setTarget(id) {
|
|
92
|
+
this.ol.setTarget(id);
|
|
93
|
+
if (id !== undefined) {
|
|
94
|
+
this.layerWatcher.subscribe(() => { }, null);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
this.layerWatcher.unsubscribe();
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
updateView(options) {
|
|
101
|
+
const currentView = this.ol.getView();
|
|
102
|
+
const viewOptions = Object.assign({
|
|
103
|
+
zoom: currentView.getZoom()
|
|
104
|
+
}, currentView.getProperties());
|
|
105
|
+
this.setView(Object.assign(viewOptions, options));
|
|
106
|
+
if (options.maxZoomOnExtent) {
|
|
107
|
+
this.viewController.maxZoomOnExtent = options.maxZoomOnExtent;
|
|
108
|
+
}
|
|
109
|
+
this.mapViewOptions = options;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Set the map view
|
|
113
|
+
* @param options Map view options
|
|
114
|
+
*/
|
|
115
|
+
setView(options) {
|
|
116
|
+
if (this.viewController !== undefined) {
|
|
117
|
+
this.viewController.clearStateHistory();
|
|
118
|
+
}
|
|
119
|
+
options = Object.assign({ constrainResolution: true }, options);
|
|
120
|
+
const view = new olView(options);
|
|
121
|
+
this.ol.setView(view);
|
|
122
|
+
if (options) {
|
|
123
|
+
if (options.maxLayerZoomExtent) {
|
|
124
|
+
this.viewController.maxLayerZoomExtent = options.maxLayerZoomExtent;
|
|
125
|
+
}
|
|
126
|
+
if (options.center) {
|
|
127
|
+
const projection = view.getProjection().getCode();
|
|
128
|
+
const center = olproj.fromLonLat(options.center, projection);
|
|
129
|
+
view.setCenter(center);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
updateControls(value) {
|
|
134
|
+
if (value === undefined) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
const controls = [];
|
|
138
|
+
if (value.attribution) {
|
|
139
|
+
const attributionOpt = (value.attribution === true
|
|
140
|
+
? {}
|
|
141
|
+
: value.attribution);
|
|
142
|
+
controls.push(new olControlAttribution(attributionOpt));
|
|
143
|
+
}
|
|
144
|
+
if (value.scaleLine) {
|
|
145
|
+
const scaleLineOpt = (value.scaleLine === true
|
|
146
|
+
? {}
|
|
147
|
+
: value.scaleLine);
|
|
148
|
+
controls.push(new olControlScaleLine(scaleLineOpt));
|
|
149
|
+
}
|
|
150
|
+
const currentControls = Object.assign([], this.ol.getControls().getArray());
|
|
151
|
+
currentControls.forEach(control => {
|
|
152
|
+
this.ol.removeControl(control);
|
|
153
|
+
});
|
|
154
|
+
controls.forEach(control => {
|
|
155
|
+
this.ol.addControl(control);
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Deprecated
|
|
160
|
+
* TODO: Move to ViewController and update every place it's used
|
|
161
|
+
*/
|
|
162
|
+
getCenter(projection) {
|
|
163
|
+
return this.viewController.getCenter(projection);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Deprecated
|
|
167
|
+
* TODO: Move to ViewController and update every place it's used
|
|
168
|
+
*/
|
|
169
|
+
getExtent(projection) {
|
|
170
|
+
return this.viewController.getExtent(projection);
|
|
171
|
+
}
|
|
172
|
+
// TODO: Move to ViewController and update every place it's used
|
|
173
|
+
getZoom() {
|
|
174
|
+
return this.viewController.getZoom();
|
|
175
|
+
}
|
|
176
|
+
changeBaseLayer(baseLayer) {
|
|
177
|
+
if (!baseLayer) {
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
for (const bl of this.getBaseLayers()) {
|
|
181
|
+
bl.visible = false;
|
|
182
|
+
}
|
|
183
|
+
baseLayer.visible = true;
|
|
184
|
+
this.viewController.olView.setMinZoom(baseLayer.dataSource.options.minZoom || (this.options.view || {}).minZoom);
|
|
185
|
+
this.viewController.olView.setMaxZoom(baseLayer.dataSource.options.maxZoom || (this.options.view || {}).maxZoom);
|
|
186
|
+
}
|
|
187
|
+
getBaseLayers() {
|
|
188
|
+
return this.layers.filter((layer) => layer.baseLayer === true);
|
|
189
|
+
}
|
|
190
|
+
getLayerById(id) {
|
|
191
|
+
return this.layers.find((layer) => layer.id && layer.id === id);
|
|
192
|
+
}
|
|
193
|
+
getLayerByAlias(alias) {
|
|
194
|
+
return this.layers.find((layer) => layer.alias && layer.alias === alias);
|
|
195
|
+
}
|
|
196
|
+
getLayerByOlUId(olUId) {
|
|
197
|
+
return this.layers.find((layer) => layer.ol.ol_uid && layer.ol.ol_uid === olUId);
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Add a single layer
|
|
201
|
+
* @param layer Layer to add
|
|
202
|
+
* @param push DEPRECATED
|
|
203
|
+
*/
|
|
204
|
+
addLayer(layer, push = true) {
|
|
205
|
+
this.addLayers([layer]);
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Add many layers
|
|
209
|
+
* @param layers Layers to add
|
|
210
|
+
* @param push DEPRECATED
|
|
211
|
+
*/
|
|
212
|
+
addLayers(layers, push = true) {
|
|
213
|
+
let offsetZIndex = 0;
|
|
214
|
+
let offsetBaseLayerZIndex = 0;
|
|
215
|
+
const addedLayers = layers
|
|
216
|
+
.map((layer) => {
|
|
217
|
+
if (!layer) {
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
const offset = layer.zIndex
|
|
221
|
+
? 0
|
|
222
|
+
: layer.baseLayer
|
|
223
|
+
? offsetBaseLayerZIndex++
|
|
224
|
+
: offsetZIndex++;
|
|
225
|
+
return this.doAddLayer(layer, offset);
|
|
226
|
+
})
|
|
227
|
+
.filter((layer) => layer !== undefined);
|
|
228
|
+
this.setLayers([].concat(this.layers, addedLayers));
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Remove a single layer
|
|
232
|
+
* @param layer Layer to remove
|
|
233
|
+
*/
|
|
234
|
+
removeLayer(layer) {
|
|
235
|
+
this.removeLayers([layer]);
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Remove many layers
|
|
239
|
+
* @param layers Layers to remove
|
|
240
|
+
*/
|
|
241
|
+
removeLayers(layers) {
|
|
242
|
+
const newLayers = this.layers$.value.slice(0);
|
|
243
|
+
const layersToRemove = [];
|
|
244
|
+
layers.forEach((layer) => {
|
|
245
|
+
const index = newLayers.indexOf(layer);
|
|
246
|
+
if (index >= 0) {
|
|
247
|
+
layersToRemove.push(layer);
|
|
248
|
+
newLayers.splice(index, 1);
|
|
249
|
+
this.handleLinkedLayersDeletion(layer, layersToRemove);
|
|
250
|
+
layersToRemove.map(linkedLayer => {
|
|
251
|
+
layersToRemove.push(linkedLayer);
|
|
252
|
+
const linkedIndex = newLayers.indexOf(linkedLayer);
|
|
253
|
+
if (linkedIndex >= 0) {
|
|
254
|
+
newLayers.splice(linkedIndex, 1);
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
});
|
|
259
|
+
layersToRemove.forEach((layer) => this.doRemoveLayer(layer));
|
|
260
|
+
this.setLayers(newLayers);
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Build a list of linked layers to delete
|
|
264
|
+
* @param srcLayer Layer that has triggered the deletion
|
|
265
|
+
* @param layersToRemove list to append the layer to delete into
|
|
266
|
+
*/
|
|
267
|
+
handleLinkedLayersDeletion(srcLayer, layersToRemove) {
|
|
268
|
+
const linkedLayers = srcLayer.options.linkedLayers;
|
|
269
|
+
if (!linkedLayers) {
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
const currentLinkedId = linkedLayers.linkId;
|
|
273
|
+
const currentLinks = linkedLayers.links;
|
|
274
|
+
const isParentLayer = currentLinks ? true : false;
|
|
275
|
+
if (isParentLayer) {
|
|
276
|
+
// search for child layers
|
|
277
|
+
currentLinks.map(link => {
|
|
278
|
+
if (!link.syncedDelete) {
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
link.linkedIds.map(linkedId => {
|
|
282
|
+
const layerToApply = this.layers.find(layer => layer.options.linkedLayers?.linkId === linkedId);
|
|
283
|
+
if (layerToApply) {
|
|
284
|
+
layersToRemove.push(layerToApply);
|
|
285
|
+
}
|
|
286
|
+
});
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
// search for parent layer
|
|
291
|
+
this.layers.map(layer => {
|
|
292
|
+
if (layer.options.linkedLayers?.links) {
|
|
293
|
+
layer.options.linkedLayers.links.map(l => {
|
|
294
|
+
if (l.syncedDelete && l.bidirectionnal !== false &&
|
|
295
|
+
l.linkedIds.indexOf(currentLinkedId) !== -1) {
|
|
296
|
+
layersToRemove.push(layer);
|
|
297
|
+
this.handleLinkedLayersDeletion(layer, layersToRemove);
|
|
298
|
+
}
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Remove all layers
|
|
306
|
+
*/
|
|
307
|
+
removeAllLayers() {
|
|
308
|
+
this.layers.forEach((layer) => this.doRemoveLayer(layer));
|
|
309
|
+
this.layers$.next([]);
|
|
310
|
+
}
|
|
311
|
+
raiseLayer(layer) {
|
|
312
|
+
const index = this.getLayerIndex(layer);
|
|
313
|
+
if (index > 1) {
|
|
314
|
+
this.moveLayer(layer, index, index - 1);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
raiseLayers(layers) {
|
|
318
|
+
for (const layer of layers) {
|
|
319
|
+
this.raiseLayer(layer);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
lowerLayer(layer) {
|
|
323
|
+
const index = this.getLayerIndex(layer);
|
|
324
|
+
if (index < this.layers.length - 1) {
|
|
325
|
+
this.moveLayer(layer, index, index + 1);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
lowerLayers(layers) {
|
|
329
|
+
const reverseLayers = layers.reverse();
|
|
330
|
+
for (const layer of reverseLayers) {
|
|
331
|
+
this.lowerLayer(layer);
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
moveLayer(layer, from, to) {
|
|
335
|
+
const layerTo = this.layers[to];
|
|
336
|
+
const zIndexTo = layerTo.zIndex;
|
|
337
|
+
const zIndexFrom = layer.zIndex;
|
|
338
|
+
if (layerTo.baseLayer || layer.baseLayer) {
|
|
339
|
+
return;
|
|
340
|
+
}
|
|
341
|
+
layer.zIndex = zIndexTo;
|
|
342
|
+
layerTo.zIndex = zIndexFrom;
|
|
343
|
+
this.layers[to] = layer;
|
|
344
|
+
this.layers[from] = layerTo;
|
|
345
|
+
this.layers$.next(this.layers.slice(0));
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Add a layer to the OL map and start watching. If the layer is already
|
|
349
|
+
* added to this map, make it visible but don't add it one again.
|
|
350
|
+
* @param layer Layer
|
|
351
|
+
* @returns The layer added, if any
|
|
352
|
+
*/
|
|
353
|
+
doAddLayer(layer, offsetZIndex) {
|
|
354
|
+
if (layer.baseLayer && layer.visible) {
|
|
355
|
+
this.changeBaseLayer(layer);
|
|
356
|
+
}
|
|
357
|
+
const existingLayer = this.getLayerById(layer.id);
|
|
358
|
+
if (existingLayer !== undefined) {
|
|
359
|
+
existingLayer.visible = true;
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
362
|
+
if (!layer.baseLayer && layer.zIndex) {
|
|
363
|
+
layer.zIndex += 10;
|
|
364
|
+
}
|
|
365
|
+
if (layer.zIndex === undefined || layer.zIndex === 0) {
|
|
366
|
+
const maxZIndex = Math.max(layer.baseLayer ? 0 : 10, ...this.layers
|
|
367
|
+
.filter((l) => l.baseLayer === layer.baseLayer && l.zIndex < 200 // zIndex > 200 = system layer
|
|
368
|
+
)
|
|
369
|
+
.map((l) => l.zIndex));
|
|
370
|
+
layer.zIndex = maxZIndex + 1 + offsetZIndex;
|
|
371
|
+
}
|
|
372
|
+
if (layer.baseLayer && layer.zIndex > 9) {
|
|
373
|
+
layer.zIndex = 10; // baselayer must have zIndex < 10
|
|
374
|
+
}
|
|
375
|
+
layer.setMap(this);
|
|
376
|
+
this.layerWatcher.watchLayer(layer);
|
|
377
|
+
this.ol.addLayer(layer.ol);
|
|
378
|
+
return layer;
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* Remove a layer from the OL map and stop watching
|
|
382
|
+
* @param layer Layer
|
|
383
|
+
*/
|
|
384
|
+
doRemoveLayer(layer) {
|
|
385
|
+
this.layerWatcher.unwatchLayer(layer);
|
|
386
|
+
this.ol.removeLayer(layer.ol);
|
|
387
|
+
layer.setMap(undefined);
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* Update the layers observable
|
|
391
|
+
* @param layers Layers
|
|
392
|
+
*/
|
|
393
|
+
setLayers(layers) {
|
|
394
|
+
this.layers$.next(this.sortLayersByZIndex(layers).slice(0));
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* Sort layers by descending zIndex
|
|
398
|
+
* @param layers Array of layers
|
|
399
|
+
* @returns The original array, sorted by zIndex
|
|
400
|
+
*/
|
|
401
|
+
sortLayersByZIndex(layers) {
|
|
402
|
+
// Sort by descending zIndex
|
|
403
|
+
return layers.sort((layer1, layer2) => layer2.zIndex - layer1.zIndex);
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* Get layer index in the map's inenr array of layers
|
|
407
|
+
* @param layer Layer
|
|
408
|
+
* @returns The layer index
|
|
409
|
+
*/
|
|
410
|
+
getLayerIndex(layer) {
|
|
411
|
+
return this.layers.findIndex((_layer) => _layer === layer);
|
|
412
|
+
}
|
|
413
|
+
onOfflineToggle(offline) {
|
|
414
|
+
this.offlineButtonToggle$.next(offline);
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL3NoYXJlZC9tYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sUUFBUSxDQUFDO0FBQzNCLE9BQU8sTUFBTSxNQUFNLFNBQVMsQ0FBQztBQUM3QixPQUFPLG9CQUFvQixNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sa0JBQWtCLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxLQUFLLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxLQUFLLGFBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGVBQWUsRUFBVyxNQUFNLE1BQU0sQ0FBQztBQUtoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBU3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3JFLDhFQUE4RTtBQUM5RSxvQ0FBb0M7QUFDcEMsTUFBTSxPQUFPLE1BQU07SUFnQ2pCLFlBQ0UsT0FBb0IsRUFDWixjQUErQixFQUMvQixhQUE2QjtRQUQ3QixtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBakNoQyx5QkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUMzRCxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQVUsRUFBRSxDQUFDLENBQUM7UUFPM0Msa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxL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QyxDQUFDO0lBQzlELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssa0JBQWtCLENBQUMsTUFBZTtRQUN4Qyw0QkFBNEI7UUFDNUIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUNoQixDQUFDLE1BQWEsRUFBRSxNQUFhLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDaEUsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssYUFBYSxDQUFDLEtBQVk7UUFDaEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQWEsRUFBRSxFQUFFLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxlQUFlLENBQUMsT0FBZ0I7UUFDOUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgb2xNYXAgZnJvbSAnb2wvTWFwJztcclxuaW1wb3J0IG9sVmlldyBmcm9tICdvbC9WaWV3JztcclxuaW1wb3J0IG9sQ29udHJvbEF0dHJpYnV0aW9uIGZyb20gJ29sL2NvbnRyb2wvQXR0cmlidXRpb24nO1xyXG5pbXBvcnQgb2xDb250cm9sU2NhbGVMaW5lIGZyb20gJ29sL2NvbnRyb2wvU2NhbGVMaW5lJztcclxuaW1wb3J0ICogYXMgb2xwcm9qIGZyb20gJ29sL3Byb2onO1xyXG5pbXBvcnQgKiBhcyBvbHByb2o0IGZyb20gJ29sL3Byb2ovcHJvajQnO1xyXG5pbXBvcnQgT2xQcm9qZWN0aW9uIGZyb20gJ29sL3Byb2ovUHJvamVjdGlvbic7XHJcbmltcG9ydCAqIGFzIG9saW50ZXJhY3Rpb24gZnJvbSAnb2wvaW50ZXJhY3Rpb24nO1xyXG5cclxuaW1wb3J0IHByb2o0IGZyb20gJ3Byb2o0JztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBTdWJqZWN0U3RhdHVzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5cclxuaW1wb3J0IHsgTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzJztcclxuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJy4uLy4uL292ZXJsYXkvc2hhcmVkL292ZXJsYXknO1xyXG5cclxuaW1wb3J0IHsgTGF5ZXJXYXRjaGVyIH0gZnJvbSAnLi4vdXRpbHMvbGF5ZXItd2F0Y2hlcic7XHJcbmltcG9ydCB7XHJcbiAgTWFwVmlld09wdGlvbnMsXHJcbiAgTWFwT3B0aW9ucyxcclxuICBNYXBBdHRyaWJ1dGlvbk9wdGlvbnMsXHJcbiAgTWFwU2NhbGVMaW5lT3B0aW9ucyxcclxuICBNYXBFeHRlbnQsXHJcbiAgTWFwQ29udHJvbHNPcHRpb25zXHJcbn0gZnJvbSAnLi9tYXAuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgTWFwVmlld0NvbnRyb2xsZXIgfSBmcm9tICcuL2NvbnRyb2xsZXJzL3ZpZXcnO1xyXG5pbXBvcnQgeyBGZWF0dXJlRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2ZlYXR1cmUtZGF0YXNvdXJjZSc7XHJcbmltcG9ydCB7IE1hcEdlb2xvY2F0aW9uQ29udHJvbGxlciB9IGZyb20gJy4vY29udHJvbGxlcnMvZ2VvbG9jYXRpb24nO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSwgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuLy8gVE9ETzogVGhpcyBjbGFzcyBpcyBtZXNzeS4gQ2xlYXJseSBkZWZpbmUgaXQncyBzY29wZSBhbmQgdGhlIG1hcCBicm93c2VyJ3MuXHJcbi8vIE1vdmUgc29tZSBzdHVmZiBpbnRvIGNvbnRyb2xsZXJzLlxyXG5leHBvcnQgY2xhc3MgSWdvTWFwIHtcclxuICBwdWJsaWMgb2w6IG9sTWFwO1xyXG4gIHB1YmxpYyBvZmZsaW5lQnV0dG9uVG9nZ2xlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHB1YmxpYyBsYXllcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMYXllcltdPihbXSk7XHJcbiAgcHVibGljIHN0YXR1cyQ6IFN1YmplY3Q8U3ViamVjdFN0YXR1cz47XHJcbiAgcHVibGljIG92ZXJsYXk6IE92ZXJsYXk7XHJcbiAgcHVibGljIHF1ZXJ5UmVzdWx0c092ZXJsYXk6IE92ZXJsYXk7XHJcbiAgcHVibGljIHNlYXJjaFJlc3VsdHNPdmVybGF5OiBPdmVybGF5O1xyXG4gIHB1YmxpYyB2aWV3Q29udHJvbGxlcjogTWFwVmlld0NvbnRyb2xsZXI7XHJcbiAgcHVibGljIGdlb2xvY2F0aW9uQ29udHJvbGxlcjogTWFwR2VvbG9jYXRpb25Db250cm9sbGVyO1xyXG4gIHB1YmxpYyBzd2lwZUVuYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgcHVibGljIG1hcENlbnRlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBwdWJsaWMgc2VsZWN0ZWRGZWF0dXJlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExheWVyW10+KG51bGwpO1xyXG5cclxuICBwdWJsaWMgYnVmZmVyRGF0YVNvdXJjZTogRmVhdHVyZURhdGFTb3VyY2U7XHJcblxyXG4gIHByaXZhdGUgbGF5ZXJXYXRjaGVyOiBMYXllcldhdGNoZXI7XHJcblxyXG4gIHByaXZhdGUgb3B0aW9uczogTWFwT3B0aW9ucztcclxuICBwcml2YXRlIG1hcFZpZXdPcHRpb25zOiBNYXBWaWV3T3B0aW9ucztcclxuICBwcml2YXRlIGRlZmF1bHRPcHRpb25zOiBQYXJ0aWFsPE1hcE9wdGlvbnM+ID0ge1xyXG4gICAgY29udHJvbHM6IHsgYXR0cmlidXRpb246IGZhbHNlIH1cclxuICB9O1xyXG5cclxuICBnZXQgbGF5ZXJzKCk6IExheWVyW10ge1xyXG4gICAgcmV0dXJuIHRoaXMubGF5ZXJzJC52YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBwcm9qZWN0aW9uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy52aWV3Q29udHJvbGxlci5nZXRPbFByb2plY3Rpb24oKS5nZXRDb2RlKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIG9wdGlvbnM/OiBNYXBPcHRpb25zLFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZT86IFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlPzogQ29uZmlnU2VydmljZSkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5kZWZhdWx0T3B0aW9ucywgb3B0aW9ucyk7XHJcbiAgICB0aGlzLmxheWVyV2F0Y2hlciA9IG5ldyBMYXllcldhdGNoZXIoKTtcclxuICAgIHRoaXMuc3RhdHVzJCA9IHRoaXMubGF5ZXJXYXRjaGVyLnN0YXR1cyQ7XHJcbiAgICBvbHByb2o0LnJlZ2lzdGVyKHByb2o0KTtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgaW5pdCgpIHtcclxuICAgIGNvbnN0IGNvbnRyb2xzID0gW107XHJcbiAgICBpZiAodGhpcy5vcHRpb25zLmNvbnRyb2xzKSB7XHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMuY29udHJvbHMuYXR0cmlidXRpb24pIHtcclxuICAgICAgICBjb25zdCBhdHRyaWJ1dGlvbk9wdCA9ICh0aGlzLm9wdGlvbnMuY29udHJvbHMuYXR0cmlidXRpb24gPT09IHRydWVcclxuICAgICAgICAgID8ge31cclxuICAgICAgICAgIDogdGhpcy5vcHRpb25zLmNvbnRyb2xzLmF0dHJpYnV0aW9uKSBhcyBNYXBBdHRyaWJ1dGlvbk9wdGlvbnM7XHJcbiAgICAgICAgY29udHJvbHMucHVzaChuZXcgb2xDb250cm9sQXR0cmlidXRpb24oYXR0cmlidXRpb25PcHQpKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5vcHRpb25zLmNvbnRyb2xzLnNjYWxlTGluZSkge1xyXG4gICAgICAgIGNvbnN0IHNjYWxlTGluZU9wdCA9ICh0aGlzLm9wdGlvbnMuY29udHJvbHMuc2NhbGVMaW5lID09PSB0cnVlXHJcbiAgICAgICAgICA/IHt9XHJcbiAgICAgICAgICA6IHRoaXMub3B0aW9ucy5jb250cm9scy5zY2FsZUxpbmUpIGFzIE1hcFNjYWxlTGluZU9wdGlvbnM7XHJcbiAgICAgICAgY29udHJvbHMucHVzaChuZXcgb2xDb250cm9sU2NhbGVMaW5lKHNjYWxlTGluZU9wdCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgaW50ZXJhY3Rpb25zID0ge307XHJcbiAgICBpZiAodGhpcy5vcHRpb25zLmludGVyYWN0aW9ucyA9PT0gZmFsc2UpIHtcclxuICAgICAgaW50ZXJhY3Rpb25zID0ge1xyXG4gICAgICAgIGFsdFNoaWZ0RHJhZ1JvdGF0ZTogZmFsc2UsXHJcbiAgICAgICAgZG91YmxlQ2xpY2tab29tOiBmYWxzZSxcclxuICAgICAgICBrZXlib2FyZDogZmFsc2UsXHJcbiAgICAgICAgbW91c2VXaGVlbFpvb206IGZhbHNlLFxyXG4gICAgICAgIHNoaWZ0RHJhZ1pvb206IGZhbHNlLFxyXG4gICAgICAgIGRyYWdQYW46IGZhbHNlLFxyXG4gICAgICAgIHBpbmNoUm90YXRlOiBmYWxzZSxcclxuICAgICAgICBwaW5jaFpvb206IGZhbHNlXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vbCA9IG5ldyBvbE1hcCh7XHJcbiAgICAgIGludGVyYWN0aW9uczogb2xpbnRlcmFjdGlvbi5kZWZhdWx0cyhpbnRlcmFjdGlvbnMpLFxyXG4gICAgICBjb250cm9sc1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5zZXRWaWV3KHRoaXMub3B0aW9ucy52aWV3IHx8IHt9KTtcclxuICAgIHRoaXMudmlld0NvbnRyb2xsZXIgPSBuZXcgTWFwVmlld0NvbnRyb2xsZXIoe1xyXG4gICAgICBzdGF0ZUhpc3Rvcnk6IHRydWVcclxuICAgIH0pO1xyXG4gICAgdGhpcy52aWV3Q29udHJvbGxlci5zZXRPbE1hcCh0aGlzLm9sKTtcclxuICAgIHRoaXMub3ZlcmxheSA9IG5ldyBPdmVybGF5KHRoaXMpO1xyXG4gICAgdGhpcy5xdWVyeVJlc3VsdHNPdmVybGF5ID0gbmV3IE92ZXJsYXkodGhpcyk7XHJcbiAgICB0aGlzLnNlYXJjaFJlc3VsdHNPdmVybGF5ID0gbmV3IE92ZXJsYXkodGhpcyk7XHJcbiAgICB0aGlzLm9sLm9uY2UoJ3JlbmRlcmNvbXBsZXRlJywgKCkgPT4ge1xyXG4gICAgICB0aGlzLmdlb2xvY2F0aW9uQ29udHJvbGxlciA9IG5ldyBNYXBHZW9sb2NhdGlvbkNvbnRyb2xsZXIoXHJcbiAgICAgICAgdGhpcyxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm9qZWN0aW9uOiB0aGlzLnZpZXdDb250cm9sbGVyLmdldE9sUHJvamVjdGlvbigpXHJcbiAgICAgICAgfSxcclxuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgICAgIHRoaXMuY29uZmlnU2VydmljZSk7XHJcbiAgICAgIHRoaXMuZ2VvbG9jYXRpb25Db250cm9sbGVyLnNldE9sTWFwKHRoaXMub2wpO1xyXG4gICAgICBpZiAodGhpcy5nZW9sb2NhdGlvbkNvbnRyb2xsZXIpIHtcclxuICAgICAgICB0aGlzLmdlb2xvY2F0aW9uQ29udHJvbGxlci51cGRhdGVHZW9sb2NhdGlvbk9wdGlvbnModGhpcy5tYXBWaWV3T3B0aW9ucyk7XHJcbiAgICAgIH1cclxuICB9KTtcclxuICB9XHJcblxyXG4gIHNldFRhcmdldChpZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLm9sLnNldFRhcmdldChpZCk7XHJcbiAgICBpZiAoaWQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmxheWVyV2F0Y2hlci5zdWJzY3JpYmUoKCkgPT4geyB9LCBudWxsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubGF5ZXJXYXRjaGVyLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVWaWV3KG9wdGlvbnM6IE1hcFZpZXdPcHRpb25zKSB7XHJcbiAgICBjb25zdCBjdXJyZW50VmlldyA9IHRoaXMub2wuZ2V0VmlldygpO1xyXG4gICAgY29uc3Qgdmlld09wdGlvbnMgPSBPYmplY3QuYXNzaWduKFxyXG4gICAgICB7XHJcbiAgICAgICAgem9vbTogY3VycmVudFZpZXcuZ2V0Wm9vbSgpXHJcbiAgICAgIH0sXHJcbiAgICAgIGN1cnJlbnRWaWV3LmdldFByb3BlcnRpZXMoKVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnNldFZpZXcoT2JqZWN0LmFzc2lnbih2aWV3T3B0aW9ucywgb3B0aW9ucykpO1xyXG4gICAgaWYgKG9wdGlvbnMubWF4Wm9vbU9uRXh0ZW50KSB7XHJcbiAgICAgIHRoaXMudmlld0NvbnRyb2xsZXIubWF4Wm9vbU9uRXh0ZW50ID0gb3B0aW9ucy5tYXhab29tT25FeHRlbnQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLm1hcFZpZXdPcHRpb25zID0gb3B0aW9ucztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0aGUgbWFwIHZpZXdcclxuICAgKiBAcGFyYW0gb3B0aW9ucyBNYXAgdmlldyBvcHRpb25zXHJcbiAgICovXHJcbiAgc2V0VmlldyhvcHRpb25zOiBNYXBWaWV3T3B0aW9ucykge1xyXG4gICAgaWYgKHRoaXMudmlld0NvbnRyb2xsZXIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnZpZXdDb250cm9sbGVyLmNsZWFyU3RhdGVIaXN0b3J5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oeyBjb25zdHJhaW5SZXNvbHV0aW9uOiB0cnVlIH0sIG9wdGlvbnMpO1xyXG4gICAgY29uc3QgdmlldyA9IG5ldyBvbFZpZXcob3B0aW9ucyk7XHJcbiAgICB0aGlzLm9sLnNldFZpZXcodmlldyk7XHJcblxyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgaWYgKG9wdGlvbnMubWF4TGF5ZXJab29tRXh0ZW50KSB7XHJcbiAgICAgICAgdGhpcy52aWV3Q29udHJvbGxlci5tYXhMYXllclpvb21FeHRlbnQgPSBvcHRpb25zLm1heExheWVyWm9vbUV4dGVudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKG9wdGlvbnMuY2VudGVyKSB7XHJcbiAgICAgICAgY29uc3QgcHJvamVjdGlvbiA9IHZpZXcuZ2V0UHJvamVjdGlvbigpLmdldENvZGUoKTtcclxuICAgICAgICBjb25zdCBjZW50ZXIgPSBvbHByb2ouZnJvbUxvbkxhdChvcHRpb25zLmNlbnRlciwgcHJvamVjdGlvbik7XHJcbiAgICAgICAgdmlldy5zZXRDZW50ZXIoY2VudGVyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ29udHJvbHModmFsdWU6IE1hcENvbnRyb2xzT3B0aW9ucykge1xyXG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNvbnRyb2xzID0gW107XHJcbiAgICBpZiAodmFsdWUuYXR0cmlidXRpb24pIHtcclxuICAgICAgY29uc3QgYXR0cmlidXRpb25PcHQgPSAodmFsdWUuYXR0cmlidXRpb24gPT09IHRydWVcclxuICAgICAgICA/IHt9XHJcbiAgICAgICAgOiB2YWx1ZS5hdHRyaWJ1dGlvbikgYXMgTWFwQXR0cmlidXRpb25PcHRpb25zO1xyXG4gICAgICBjb250cm9scy5wdXNoKG5ldyBvbENvbnRyb2xBdHRyaWJ1dGlvbihhdHRyaWJ1dGlvbk9wdCkpO1xyXG4gICAgfVxyXG4gICAgaWYgKHZhbHVlLnNjYWxlTGluZSkge1xyXG4gICAgICBjb25zdCBzY2FsZUxpbmVPcHQgPSAodmFsdWUuc2NhbGVMaW5lID09PSB0cnVlXHJcbiAgICAgICAgPyB7fVxyXG4gICAgICAgIDogdmFsdWUuc2NhbGVMaW5lKSBhcyBNYXBTY2FsZUxpbmVPcHRpb25zO1xyXG4gICAgICBjb250cm9scy5wdXNoKG5ldyBvbENvbnRyb2xTY2FsZUxpbmUoc2NhbGVMaW5lT3B0KSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY3VycmVudENvbnRyb2xzID0gT2JqZWN0LmFzc2lnbihbXSwgdGhpcy5vbC5nZXRDb250cm9scygpLmdldEFycmF5KCkpO1xyXG4gICAgY3VycmVudENvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XHJcbiAgICAgIHRoaXMub2wucmVtb3ZlQ29udHJvbChjb250cm9sKTtcclxuICAgIH0pO1xyXG4gICAgY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcclxuICAgICAgdGhpcy5vbC5hZGRDb250cm9sKGNvbnRyb2wpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXByZWNhdGVkXHJcbiAgICogVE9ETzogTW92ZSB0byBWaWV3Q29udHJvbGxlciBhbmQgdXBkYXRlIGV2ZXJ5IHBsYWNlIGl0J3MgdXNlZFxyXG4gICAqL1xyXG4gIGdldENlbnRlcihwcm9qZWN0aW9uPzogc3RyaW5nIHwgT2xQcm9qZWN0aW9uKTogW251bWJlciwgbnVtYmVyXSB7XHJcbiAgICByZXR1cm4gdGhpcy52aWV3Q29udHJvbGxlci5nZXRDZW50ZXIocHJvamVjdGlvbik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXByZWNhdGVkXHJcbiAgICogVE9ETzogTW92ZSB0byBWaWV3Q29udHJvbGxlciBhbmQgdXBkYXRlIGV2ZXJ5IHBsYWNlIGl0J3MgdXNlZFxyXG4gICAqL1xyXG4gIGdldEV4dGVudChwcm9qZWN0aW9uPzogc3RyaW5nIHwgT2xQcm9qZWN0aW9uKTogTWFwRXh0ZW50IHtcclxuICAgIHJldHVybiB0aGlzLnZpZXdDb250cm9sbGVyLmdldEV4dGVudChwcm9qZWN0aW9uKTtcclxuICB9XHJcblxyXG4gIC8vIFRPRE86IE1vdmUgdG8gVmlld0NvbnRyb2xsZXIgYW5kIHVwZGF0ZSBldmVyeSBwbGFjZSBpdCdzIHVzZWRcclxuICBnZXRab29tKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy52aWV3Q29udHJvbGxlci5nZXRab29tKCk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VCYXNlTGF5ZXIoYmFzZUxheWVyOiBMYXllcikge1xyXG4gICAgaWYgKCFiYXNlTGF5ZXIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAoY29uc3QgYmwgb2YgdGhpcy5nZXRCYXNlTGF5ZXJzKCkpIHtcclxuICAgICAgYmwudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGJhc2VMYXllci52aXNpYmxlID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLnZpZXdDb250cm9sbGVyLm9sVmlldy5zZXRNaW5ab29tKFxyXG4gICAgICBiYXNlTGF5ZXIuZGF0YVNvdXJjZS5vcHRpb25zLm1pblpvb20gfHwgKHRoaXMub3B0aW9ucy52aWV3IHx8IHt9KS5taW5ab29tXHJcbiAgICApO1xyXG4gICAgdGhpcy52aWV3Q29udHJvbGxlci5vbFZpZXcuc2V0TWF4Wm9vbShcclxuICAgICAgYmFzZUxheWVyLmRhdGFTb3VyY2Uub3B0aW9ucy5tYXhab29tIHx8ICh0aGlzLm9wdGlvbnMudmlldyB8fCB7fSkubWF4Wm9vbVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldEJhc2VMYXllcnMoKTogTGF5ZXJbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5sYXllcnMuZmlsdGVyKChsYXllcjogTGF5ZXIpID0+IGxheWVyLmJhc2VMYXllciA9PT0gdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBnZXRMYXllckJ5SWQoaWQ6IHN0cmluZyk6IExheWVyIHtcclxuICAgIHJldHVybiB0aGlzLmxheWVycy5maW5kKChsYXllcjogTGF5ZXIpID0+IGxheWVyLmlkICYmIGxheWVyLmlkID09PSBpZCk7XHJcbiAgfVxyXG5cclxuICBnZXRMYXllckJ5QWxpYXMoYWxpYXM6IHN0cmluZyk6IExheWVyIHtcclxuICAgIHJldHVybiB0aGlzLmxheWVycy5maW5kKFxyXG4gICAgICAobGF5ZXI6IExheWVyKSA9PiBsYXllci5hbGlhcyAmJiBsYXllci5hbGlhcyA9PT0gYWxpYXNcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRMYXllckJ5T2xVSWQob2xVSWQ6IHN0cmluZyk6IExheWVyIHtcclxuICAgIHJldHVybiB0aGlzLmxheWVycy5maW5kKFxyXG4gICAgICAobGF5ZXI6IExheWVyKSA9PiAobGF5ZXIub2wgYXMgYW55KS5vbF91aWQgJiYgKGxheWVyLm9sIGFzIGFueSkub2xfdWlkID09PSBvbFVJZFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBhIHNpbmdsZSBsYXllclxyXG4gICAqIEBwYXJhbSBsYXllciBMYXllciB0byBhZGRcclxuICAgKiBAcGFyYW0gcHVzaCBERVBSRUNBVEVEXHJcbiAgICovXHJcbiAgYWRkTGF5ZXIobGF5ZXI6IExheWVyLCBwdXNoID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5hZGRMYXllcnMoW2xheWVyXSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgbWFueSBsYXllcnNcclxuICAgKiBAcGFyYW0gbGF5ZXJzIExheWVycyB0byBhZGRcclxuICAgKiBAcGFyYW0gcHVzaCBERVBSRUNBVEVEXHJcbiAgICovXHJcbiAgYWRkTGF5ZXJzKGxheWVyczogTGF5ZXJbXSwgcHVzaCA9IHRydWUpIHtcclxuICAgIGxldCBvZmZzZXRaSW5kZXggPSAwO1xyXG4gICAgbGV0IG9mZnNldEJhc2VMYXllclpJbmRleCA9IDA7XHJcbiAgICBjb25zdCBhZGRlZExheWVycyA9IGxheWVyc1xyXG4gICAgICAubWFwKChsYXllcjogTGF5ZXIpID0+IHtcclxuICAgICAgICBpZiAoIWxheWVyKSB7IHJldHVybjsgfVxyXG4gICAgICAgIGNvbnN0IG9mZnNldCA9IGxheWVyLnpJbmRleFxyXG4gICAgICAgICAgPyAwXHJcbiAgICAgICAgICA6IGxheWVyLmJhc2VMYXllclxyXG4gICAgICAgICAgICA/IG9mZnNldEJhc2VMYXllclpJbmRleCsrXHJcbiAgICAgICAgICAgIDogb2Zmc2V0WkluZGV4Kys7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZG9BZGRMYXllcihsYXllciwgb2Zmc2V0KTtcclxuICAgICAgfSlcclxuICAgICAgLmZpbHRlcigobGF5ZXI6IExheWVyIHwgdW5kZWZpbmVkKSA9PiBsYXllciAhPT0gdW5kZWZpbmVkKTtcclxuICAgIHRoaXMuc2V0TGF5ZXJzKFtdLmNvbmNhdCh0aGlzLmxheWVycywgYWRkZWRMYXllcnMpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBhIHNpbmdsZSBsYXllclxyXG4gICAqIEBwYXJhbSBsYXllciBMYXllciB0byByZW1vdmVcclxuICAgKi9cclxuICByZW1vdmVMYXllcihsYXllcjogTGF5ZXIpIHtcclxuICAgIHRoaXMucmVtb3ZlTGF5ZXJzKFtsYXllcl0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIG1hbnkgbGF5ZXJzXHJcbiAgICogQHBhcmFtIGxheWVycyBMYXllcnMgdG8gcmVtb3ZlXHJcbiAgICovXHJcbiAgcmVtb3ZlTGF5ZXJzKGxheWVyczogTGF5ZXJbXSkge1xyXG4gICAgY29uc3QgbmV3TGF5ZXJzID0gdGhpcy5sYXllcnMkLnZhbHVlLnNsaWNlKDApO1xyXG4gICAgY29uc3QgbGF5ZXJzVG9SZW1vdmUgPSBbXTtcclxuICAgIGxheWVycy5mb3JFYWNoKChsYXllcjogTGF5ZXIpID0+IHtcclxuICAgICAgY29uc3QgaW5kZXggPSBuZXdMYXllcnMuaW5kZXhPZihsYXllcik7XHJcbiAgICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgICAgbGF5ZXJzVG9SZW1vdmUucHVzaChsYXllcik7XHJcbiAgICAgICAgbmV3TGF5ZXJzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVMaW5rZWRMYXllcnNEZWxldGlvbihsYXllciwgbGF5ZXJzVG9SZW1vdmUpO1xyXG4gICAgICAgIGxheWVyc1RvUmVtb3ZlLm1hcChsaW5rZWRMYXllciA9PiB7XHJcbiAgICAgICAgICBsYXllcnNUb1JlbW92ZS5wdXNoKGxpbmtlZExheWVyKTtcclxuICAgICAgICAgIGNvbnN0IGxpbmtlZEluZGV4ID0gbmV3TGF5ZXJzLmluZGV4T2YobGlua2VkTGF5ZXIpO1xyXG4gICAgICAgICAgaWYgKGxpbmtlZEluZGV4ID49IDApIHtcclxuICAgICAgICAgICAgbmV3TGF5ZXJzLnNwbGljZShsaW5rZWRJbmRleCwgMSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGxheWVyc1RvUmVtb3ZlLmZvckVhY2goKGxheWVyOiBMYXllcikgPT4gdGhpcy5kb1JlbW92ZUxheWVyKGxheWVyKSk7XHJcbiAgICB0aGlzLnNldExheWVycyhuZXdMYXllcnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQnVpbGQgYSBsaXN0IG9mIGxpbmtlZCBsYXllcnMgdG8gZGVsZXRlXHJcbiAgICogQHBhcmFtIHNyY0xheWVyIExheWVyIHRoYXQgaGFzIHRyaWdnZXJlZCB0aGUgZGVsZXRpb25cclxuICAgKiBAcGFyYW0gbGF5ZXJzVG9SZW1vdmUgbGlzdCB0byBhcHBlbmQgdGhlIGxheWVyIHRvIGRlbGV0ZSBpbnRvXHJcbiAgICovXHJcbiAgaGFuZGxlTGlua2VkTGF5ZXJzRGVsZXRpb24oc3JjTGF5ZXI6IExheWVyLCBsYXllcnNUb1JlbW92ZTogTGF5ZXJbXSkge1xyXG4gICAgY29uc3QgbGlua2VkTGF5ZXJzID0gc3JjTGF5ZXIub3B0aW9ucy5saW5rZWRMYXllcnM7XHJcbiAgICBpZiAoIWxpbmtlZExheWVycykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBjdXJyZW50TGlua2VkSWQgPSBsaW5rZWRMYXllcnMubGlua0lkO1xyXG4gICAgY29uc3QgY3VycmVudExpbmtzID0gbGlua2VkTGF5ZXJzLmxpbmtzO1xyXG4gICAgY29uc3QgaXNQYXJlbnRMYXllciA9IGN1cnJlbnRMaW5rcyA/IHRydWUgOiBmYWxzZTtcclxuICAgIGlmIChpc1BhcmVudExheWVyKSB7XHJcbiAgICAgIC8vIHNlYXJjaCBmb3IgY2hpbGQgbGF5ZXJzXHJcbiAgICAgIGN1cnJlbnRMaW5rcy5tYXAobGluayA9PiB7XHJcbiAgICAgICAgaWYgKCFsaW5rLnN5bmNlZERlbGV0ZSkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsaW5rLmxpbmtlZElkcy5tYXAobGlua2VkSWQgPT4ge1xyXG4gICAgICAgICAgY29uc3QgbGF5ZXJUb0FwcGx5ID0gdGhpcy5sYXllcnMuZmluZChsYXllciA9PiBsYXllci5vcHRpb25zLmxpbmtlZExheWVycz8ubGlua0lkID09PSBsaW5rZWRJZCk7XHJcbiAgICAgICAgICBpZiAobGF5ZXJUb0FwcGx5KSB7XHJcbiAgICAgICAgICAgIGxheWVyc1RvUmVtb3ZlLnB1c2gobGF5ZXJUb0FwcGx5KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBzZWFyY2ggZm9yIHBhcmVudCBsYXllclxyXG4gICAgICB0aGlzLmxheWVycy5tYXAobGF5ZXIgPT4ge1xyXG4gICAgICAgIGlmIChsYXllci5vcHRpb25zLmxpbmtlZExheWVycz8ubGlua3MpIHtcclxuICAgICAgICAgIGxheWVyLm9wdGlvbnMubGlua2VkTGF5ZXJzLmxpbmtzLm1hcChsID0+IHtcclxuICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgIGwuc3luY2VkRGVsZXRlICYmIGwuYmlkaXJlY3Rpb25uYWwgIT09IGZhbHNlICYmXHJcbiAgICAgICAgICAgICAgbC5saW5rZWRJZHMuaW5kZXhPZihjdXJyZW50TGlua2VkSWQpICE9PSAtMSkge1xyXG4gICAgICAgICAgICAgIGxheWVyc1RvUmVtb3ZlLnB1c2gobGF5ZXIpO1xyXG4gICAgICAgICAgICAgIHRoaXMuaGFuZGxlTGlua2VkTGF5ZXJzRGVsZXRpb24obGF5ZXIsIGxheWVyc1RvUmVtb3ZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSBhbGwgbGF5ZXJzXHJcbiAgICovXHJcbiAgcmVtb3ZlQWxsTGF5ZXJzKCkge1xyXG4gICAgdGhpcy5sYXllcnMuZm9yRWFjaCgobGF5ZXI6IExheWVyKSA9PiB0aGlzLmRvUmVtb3ZlTGF5ZXIobGF5ZXIpKTtcclxuICAgIHRoaXMubGF5ZXJzJC5uZXh0KFtdKTtcclxuICB9XHJcblxyXG4gIHJhaXNlTGF5ZXIobGF5ZXI6IExheWVyKSB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZ2V0TGF5ZXJJbmRleChsYXllcik7XHJcbiAgICBpZiAoaW5kZXggPiAxKSB7XHJcbiAgICAgIHRoaXMubW92ZUxheWVyKGxheWVyLCBpbmRleCwgaW5kZXggLSAxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJhaXNlTGF5ZXJzKGxheWVyczogTGF5ZXJbXSkge1xyXG4gICAgZm9yIChjb25zdCBsYXllciBvZiBsYXllcnMpIHtcclxuICAgICAgdGhpcy5yYWlzZUxheWVyKGxheWVyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxvd2VyTGF5ZXIobGF5ZXI6IExheWVyKSB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZ2V0TGF5ZXJJbmRleChsYXllcik7XHJcbiAgICBpZiAoaW5kZXggPCB0aGlzLmxheWVycy5sZW5ndGggLSAxKSB7XHJcbiAgICAgIHRoaXMubW92ZUxheWVyKGxheWVyLCBpbmRleCwgaW5kZXggKyAxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxvd2VyTGF5ZXJzKGxheWVyczogTGF5ZXJbXSkge1xyXG4gICAgY29uc3QgcmV2ZXJzZUxheWVycyA9IGxheWVycy5yZXZlcnNlKCk7XHJcbiAgICBmb3IgKGNvbnN0IGxheWVyIG9mIHJldmVyc2VMYXllcnMpIHtcclxuICAgICAgdGhpcy5sb3dlckxheWVyKGxheWVyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1vdmVMYXllcihsYXllcjogTGF5ZXIsIGZyb206IG51bWJlciwgdG86IG51bWJlcikge1xyXG4gICAgY29uc3QgbGF5ZXJUbyA9IHRoaXMubGF5ZXJzW3RvXTtcclxuICAgIGNvbnN0IHpJbmRleFRvID0gbGF5ZXJUby56SW5kZXg7XHJcbiAgICBjb25zdCB6SW5kZXhGcm9tID0gbGF5ZXIuekluZGV4O1xyXG5cclxuICAgIGlmIChsYXllclRvLmJhc2VMYXllciB8fCBsYXllci5iYXNlTGF5ZXIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxheWVyLnpJbmRleCA9IHpJbmRleFRvO1xyXG4gICAgbGF5ZXJUby56SW5kZXggPSB6SW5kZXhGcm9tO1xyXG5cclxuICAgIHRoaXMubGF5ZXJzW3RvXSA9IGxheWVyO1xyXG4gICAgdGhpcy5sYXllcnNbZnJvbV0gPSBsYXllclRvO1xyXG4gICAgdGhpcy5sYXllcnMkLm5leHQodGhpcy5sYXllcnMuc2xpY2UoMCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIGEgbGF5ZXIgdG8gdGhlIE9MIG1hcCBhbmQgc3RhcnQgd2F0Y2hpbmcuIElmIHRoZSBsYXllciBpcyBhbHJlYWR5XHJcbiAgICogYWRkZWQgdG8gdGhpcyBtYXAsIG1ha2UgaXQgdmlzaWJsZSBidXQgZG9uJ3QgYWRkIGl0IG9uZSBhZ2Fpbi5cclxuICAgKiBAcGFyYW0gbGF5ZXIgTGF5ZXJcclxuICAgKiBAcmV0dXJucyBUaGUgbGF5ZXIgYWRkZWQsIGlmIGFueVxyXG4gICAqL1xyXG4gIHByaXZhdGUgZG9BZGRMYXllcihsYXllcjogTGF5ZXIsIG9mZnNldFpJbmRleDogbnVtYmVyKSB7XHJcbiAgICBpZiAobGF5ZXIuYmFzZUxheWVyICYmIGxheWVyLnZpc2libGUpIHtcclxuICAgICAgdGhpcy5jaGFuZ2VCYXNlTGF5ZXIobGF5ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGV4aXN0aW5nTGF5ZXIgPSB0aGlzLmdldExheWVyQnlJZChsYXllci5pZCk7XHJcbiAgICBpZiAoZXhpc3RpbmdMYXllciAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGV4aXN0aW5nTGF5ZXIudmlzaWJsZSA9IHRydWU7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWxheWVyLmJhc2VMYXllciAmJiBsYXllci56SW5kZXgpIHtcclxuICAgICAgbGF5ZXIuekluZGV4ICs9IDEwO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChsYXllci56SW5kZXggPT09IHVuZGVmaW5lZCB8fCBsYXllci56SW5kZXggPT09IDApIHtcclxuICAgICAgY29uc3QgbWF4WkluZGV4ID0gTWF0aC5tYXgoXHJcbiAgICAgICAgbGF5ZXIuYmFzZUxheWVyID8gMCA6IDEwLFxyXG4gICAgICAgIC4uLnRoaXMubGF5ZXJzXHJcbiAgICAgICAgICAuZmlsdGVyKFxyXG4gICAgICAgICAgICAobCkgPT4gbC5iYXNlTGF5ZXIgPT09IGxheWVyLmJhc2VMYXllciAmJiBsLnpJbmRleCA8IDIwMCAvLyB6SW5kZXggPiAyMDAgPSBzeXN0ZW0gbGF5ZXJcclxuICAgICAgICAgIClcclxuICAgICAgICAgIC5tYXAoKGwpID0+IGwuekluZGV4KVxyXG4gICAgICApO1xyXG4gICAgICBsYXllci56SW5kZXggPSBtYXhaSW5kZXggKyAxICsgb2Zmc2V0WkluZGV4O1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChsYXllci5iYXNlTGF5ZXIgJiYgbGF5ZXIuekluZGV4ID4gOSkge1xyXG4gICAgICBsYXllci56SW5kZXggPSAxMDsgLy8gYmFzZWxheWVyIG11c3QgaGF2ZSB6SW5kZXggPCAxMFxyXG4gICAgfVxyXG5cclxuICAgIGxheWVyLnNldE1hcCh0aGlzKTtcclxuICAgIHRoaXMubGF5ZXJXYXRjaGVyLndhdGNoTGF5ZXIobGF5ZXIpO1xyXG4gICAgdGhpcy5vbC5hZGRMYXllcihsYXllci5vbCk7XHJcblxyXG4gICAgcmV0dXJuIGxheWVyO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIGEgbGF5ZXIgZnJvbSB0aGUgT0wgbWFwIGFuZCBzdG9wIHdhdGNoaW5nXHJcbiAgICogQHBhcmFtIGxheWVyIExheWVyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBkb1JlbW92ZUxheWVyKGxheWVyOiBMYXllcikge1xyXG4gICAgdGhpcy5sYXllcldhdGNoZXIudW53YXRjaExheWVyKGxheWVyKTtcclxuICAgIHRoaXMub2wucmVtb3ZlTGF5ZXIobGF5ZXIub2wpO1xyXG4gICAgbGF5ZXIuc2V0TWFwKHVuZGVmaW5lZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgdGhlIGxheWVycyBvYnNlcnZhYmxlXHJcbiAgICogQHBhcmFtIGxheWVycyBMYXllcnNcclxuICAgKi9cclxuICBwcml2YXRlIHNldExheWVycyhsYXllcnM6IExheWVyW10pIHtcclxuICAgIHRoaXMubGF5ZXJzJC5uZXh0KHRoaXMuc29ydExheWVyc0J5WkluZGV4KGxheWVycykuc2xpY2UoMCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU29ydCBsYXllcnMgYnkgZGVzY2VuZGluZyB6SW5kZXhcclxuICAgKiBAcGFyYW0gbGF5ZXJzIEFycmF5IG9mIGxheWVyc1xyXG4gICAqIEByZXR1cm5zIFRoZSBvcmlnaW5hbCBhcnJheSwgc29ydGVkIGJ5IHpJbmRleFxyXG4gICAqL1xyXG4gIHByaXZhdGUgc29ydExheWVyc0J5WkluZGV4KGxheWVyczogTGF5ZXJbXSkge1xyXG4gICAgLy8gU29ydCBieSBkZXNjZW5kaW5nIHpJbmRleFxyXG4gICAgcmV0dXJuIGxheWVycy5zb3J0KFxyXG4gICAgICAobGF5ZXIxOiBMYXllciwgbGF5ZXIyOiBMYXllcikgPT4gbGF5ZXIyLnpJbmRleCAtIGxheWVyMS56SW5kZXhcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgbGF5ZXIgaW5kZXggaW4gdGhlIG1hcCdzIGluZW5yIGFycmF5IG9mIGxheWVyc1xyXG4gICAqIEBwYXJhbSBsYXllciBMYXllclxyXG4gICAqIEByZXR1cm5zIFRoZSBsYXllciBpbmRleFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0TGF5ZXJJbmRleChsYXllcjogTGF5ZXIpIHtcclxuICAgIHJldHVybiB0aGlzLmxheWVycy5maW5kSW5kZXgoKF9sYXllcjogTGF5ZXIpID0+IF9sYXllciA9PT0gbGF5ZXIpO1xyXG4gIH1cclxuXHJcbiAgb25PZmZsaW5lVG9nZ2xlKG9mZmxpbmU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMub2ZmbGluZUJ1dHRvblRvZ2dsZSQubmV4dChvZmZsaW5lKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* MapService
|
|
5
|
+
*
|
|
6
|
+
* This service tracks the IgoMap instance, if any.
|
|
7
|
+
* Currently, only one map instance is supported
|
|
8
|
+
* but support for multiple maps may be added in the future.
|
|
9
|
+
* This will impact other services such as the OverlayService
|
|
10
|
+
* because these maps won't be sharing overlayed features.
|
|
11
|
+
*/
|
|
12
|
+
export class MapService {
|
|
13
|
+
constructor() { }
|
|
14
|
+
getMap() {
|
|
15
|
+
return this.map;
|
|
16
|
+
}
|
|
17
|
+
setMap(map) {
|
|
18
|
+
this.map = map;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
MapService.ɵfac = function MapService_Factory(t) { return new (t || MapService)(); };
|
|
22
|
+
MapService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MapService, factory: MapService.ɵfac, providedIn: 'root' });
|
|
23
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapService, [{
|
|
24
|
+
type: Injectable,
|
|
25
|
+
args: [{
|
|
26
|
+
providedIn: 'root'
|
|
27
|
+
}]
|
|
28
|
+
}], function () { return []; }, null); })();
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvc2hhcmVkL21hcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDOzs7Ozs7OztHQVFHO0FBSUgsTUFBTSxPQUFPLFVBQVU7SUFHckIsZ0JBQWUsQ0FBQztJQUVoQixNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBVztRQUNoQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqQixDQUFDOztvRUFYVSxVQUFVO2dFQUFWLFVBQVUsV0FBVixVQUFVLG1CQUZULE1BQU07dUZBRVAsVUFBVTtjQUh0QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuL21hcCc7XHJcblxyXG4vKipcclxuICogTWFwU2VydmljZVxyXG4gKlxyXG4gKiBUaGlzIHNlcnZpY2UgdHJhY2tzIHRoZSBJZ29NYXAgaW5zdGFuY2UsIGlmIGFueS5cclxuICogQ3VycmVudGx5LCBvbmx5IG9uZSBtYXAgaW5zdGFuY2UgaXMgc3VwcG9ydGVkXHJcbiAqIGJ1dCBzdXBwb3J0IGZvciBtdWx0aXBsZSBtYXBzIG1heSBiZSBhZGRlZCBpbiB0aGUgZnV0dXJlLlxyXG4gKiBUaGlzIHdpbGwgaW1wYWN0IG90aGVyIHNlcnZpY2VzIHN1Y2ggYXMgdGhlIE92ZXJsYXlTZXJ2aWNlXHJcbiAqIGJlY2F1c2UgdGhlc2UgbWFwcyB3b24ndCBiZSBzaGFyaW5nIG92ZXJsYXllZCBmZWF0dXJlcy5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1hcFNlcnZpY2Uge1xyXG4gIHByaXZhdGUgbWFwOiBJZ29NYXA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgZ2V0TWFwKCk6IElnb01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXA7XHJcbiAgfVxyXG5cclxuICBzZXRNYXAobWFwOiBJZ29NYXApIHtcclxuICAgIHRoaXMubWFwID0gbWFwO1xyXG4gIH1cclxufVxyXG4iXX0=
|