@igo2/geo 18.0.1-next.2 → 18.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/igo2-geo.mjs +5 -0
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +234 -0
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +272 -0
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +246 -0
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +19 -0
- package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +136 -0
- package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +60 -0
- package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +232 -0
- package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +24 -0
- package/esm2022/lib/catalog/catalog-library/index.mjs +4 -0
- package/esm2022/lib/catalog/catalog.module.mjs +26 -0
- package/esm2022/lib/catalog/index.mjs +6 -0
- package/esm2022/lib/catalog/shared/catalog.abstract.mjs +32 -0
- package/esm2022/lib/catalog/shared/catalog.enum.mjs +16 -0
- package/esm2022/lib/catalog/shared/catalog.interface.mjs +2 -0
- package/esm2022/lib/catalog/shared/catalog.service.mjs +706 -0
- package/esm2022/lib/catalog/shared/catalogs.mjs +75 -0
- package/esm2022/lib/catalog/shared/index.mjs +5 -0
- package/esm2022/lib/datasource/index.mjs +3 -0
- package/esm2022/lib/datasource/shared/capabilities.interface.mjs +17 -0
- package/esm2022/lib/datasource/shared/capabilities.service.mjs +441 -0
- package/esm2022/lib/datasource/shared/datasource.service.mjs +258 -0
- package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +222 -0
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +118 -0
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +24 -0
- package/esm2022/lib/datasource/shared/datasources/data.service.mjs +3 -0
- package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/datasource.mjs +42 -0
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +52 -0
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +70 -0
- package/esm2022/lib/datasource/shared/datasources/index.mjs +36 -0
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +33 -0
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +14 -0
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +60 -0
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +17 -0
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +56 -0
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +137 -0
- package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +170 -0
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +227 -0
- package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +224 -0
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +18 -0
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +11 -0
- package/esm2022/lib/datasource/shared/index.mjs +6 -0
- package/esm2022/lib/datasource/shared/options/index.mjs +5 -0
- package/esm2022/lib/datasource/shared/options/options-api.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +15 -0
- package/esm2022/lib/datasource/shared/options/options-api.service.mjs +85 -0
- package/esm2022/lib/datasource/shared/options/options.service.mjs +3 -0
- package/esm2022/lib/datasource/utils/index.mjs +2 -0
- package/esm2022/lib/datasource/utils/tilegrid.mjs +20 -0
- package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +246 -0
- package/esm2022/lib/directions/directions-buttons/index.mjs +2 -0
- package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +312 -0
- package/esm2022/lib/directions/directions-inputs/index.mjs +2 -0
- package/esm2022/lib/directions/directions-results/directions-results.component.mjs +192 -0
- package/esm2022/lib/directions/directions-results/index.mjs +2 -0
- package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +5 -0
- package/esm2022/lib/directions/directions-sources/directions-source.mjs +3 -0
- package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +23 -0
- package/esm2022/lib/directions/directions-sources/index.mjs +5 -0
- package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +159 -0
- package/esm2022/lib/directions/directions.component.mjs +437 -0
- package/esm2022/lib/directions/directions.module.mjs +46 -0
- package/esm2022/lib/directions/directions.provider.mjs +16 -0
- package/esm2022/lib/directions/index.mjs +8 -0
- package/esm2022/lib/directions/shared/directions-source.service.mjs +18 -0
- package/esm2022/lib/directions/shared/directions.enum.mjs +72 -0
- package/esm2022/lib/directions/shared/directions.interface.mjs +2 -0
- package/esm2022/lib/directions/shared/directions.service.mjs +239 -0
- package/esm2022/lib/directions/shared/directions.utils.mjs +522 -0
- package/esm2022/lib/directions/shared/index.mjs +6 -0
- package/esm2022/lib/directions/shared/store.mjs +21 -0
- package/esm2022/lib/download/download-button/download-button.component.mjs +48 -0
- package/esm2022/lib/download/download-button/index.mjs +2 -0
- package/esm2022/lib/download/download.module.mjs +24 -0
- package/esm2022/lib/download/index.mjs +3 -0
- package/esm2022/lib/download/shared/download.interface.mjs +2 -0
- package/esm2022/lib/download/shared/download.service.mjs +67 -0
- package/esm2022/lib/download/shared/index.mjs +3 -0
- package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +42 -0
- package/esm2022/lib/draw/draw/draw-popup.component.mjs +421 -0
- package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +28 -0
- package/esm2022/lib/draw/draw/draw.component.mjs +1136 -0
- package/esm2022/lib/draw/draw/draw.module.mjs +19 -0
- package/esm2022/lib/draw/drawingTool.module.mjs +18 -0
- package/esm2022/lib/draw/index.mjs +3 -0
- package/esm2022/lib/draw/shared/draw-icon.service.mjs +30 -0
- package/esm2022/lib/draw/shared/draw.enum.mjs +21 -0
- package/esm2022/lib/draw/shared/draw.interface.mjs +2 -0
- package/esm2022/lib/draw/shared/draw.utils.mjs +125 -0
- package/esm2022/lib/draw/shared/index.mjs +5 -0
- package/esm2022/lib/environment/environment.interface.mjs +2 -0
- package/esm2022/lib/environment/index.mjs +2 -0
- package/esm2022/lib/feature/feature-details/feature-details.component.mjs +306 -0
- package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +56 -0
- package/esm2022/lib/feature/feature-details/feature-details.module.mjs +26 -0
- package/esm2022/lib/feature/feature-details/index.mjs +4 -0
- package/esm2022/lib/feature/feature-form/feature-form.component.mjs +101 -0
- package/esm2022/lib/feature/feature-form/feature-form.module.mjs +19 -0
- package/esm2022/lib/feature/feature.module.mjs +26 -0
- package/esm2022/lib/feature/index.mjs +5 -0
- package/esm2022/lib/feature/shared/feature-store.utils.mjs +28 -0
- package/esm2022/lib/feature/shared/feature.enums.mjs +9 -0
- package/esm2022/lib/feature/shared/feature.interfaces.mjs +2 -0
- package/esm2022/lib/feature/shared/feature.utils.mjs +332 -0
- package/esm2022/lib/feature/shared/index.mjs +8 -0
- package/esm2022/lib/feature/shared/store.mjs +143 -0
- package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +216 -0
- package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +119 -0
- package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +99 -0
- package/esm2022/lib/feature/shared/strategies/index.mjs +8 -0
- package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +103 -0
- package/esm2022/lib/feature/shared/strategies/loading.mjs +136 -0
- package/esm2022/lib/feature/shared/strategies/search.mjs +158 -0
- package/esm2022/lib/feature/shared/strategies/selection.mjs +385 -0
- package/esm2022/lib/feature/shared/strategies.utils.mjs +37 -0
- package/esm2022/lib/filter/filter.module.mjs +131 -0
- package/esm2022/lib/filter/index.mjs +17 -0
- package/esm2022/lib/filter/ogc-filter-button/index.mjs +2 -0
- package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +141 -0
- package/esm2022/lib/filter/ogc-filter-form/index.mjs +2 -0
- package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +325 -0
- package/esm2022/lib/filter/ogc-filter-selection/index.mjs +2 -0
- package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +787 -0
- package/esm2022/lib/filter/ogc-filter-time/index.mjs +3 -0
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +201 -0
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +665 -0
- package/esm2022/lib/filter/ogc-filterable-form/index.mjs +2 -0
- package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +66 -0
- package/esm2022/lib/filter/ogc-filterable-item/index.mjs +2 -0
- package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +244 -0
- package/esm2022/lib/filter/ogc-filterable-list/index.mjs +3 -0
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +39 -0
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +32 -0
- package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +63 -0
- package/esm2022/lib/filter/shared/index.mjs +12 -0
- package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +72 -0
- package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +30 -0
- package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +2 -0
- package/esm2022/lib/filter/shared/ogc-filter.mjs +756 -0
- package/esm2022/lib/filter/shared/ogc-filter.service.mjs +47 -0
- package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +23 -0
- package/esm2022/lib/filter/shared/spatial-filter.interface.mjs +2 -0
- package/esm2022/lib/filter/shared/spatial-filter.service.mjs +282 -0
- package/esm2022/lib/filter/shared/time-filter.enum.mjs +13 -0
- package/esm2022/lib/filter/shared/time-filter.interface.mjs +2 -0
- package/esm2022/lib/filter/shared/time-filter.service.mjs +107 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/index.mjs +2 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +875 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/index.mjs +2 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +191 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/index.mjs +2 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +120 -0
- package/esm2022/lib/filter/time-filter-button/index.mjs +2 -0
- package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +70 -0
- package/esm2022/lib/filter/time-filter-form/index.mjs +2 -0
- package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +537 -0
- package/esm2022/lib/filter/time-filter-item/index.mjs +2 -0
- package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +90 -0
- package/esm2022/lib/filter/time-filter-list/index.mjs +3 -0
- package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +39 -0
- package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +24 -0
- package/esm2022/lib/geo.module.mjs +63 -0
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +559 -0
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +170 -0
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +24 -0
- package/esm2022/lib/geometry/geometry-form-field/index.mjs +4 -0
- package/esm2022/lib/geometry/geometry.module.mjs +18 -0
- package/esm2022/lib/geometry/index.mjs +3 -0
- package/esm2022/lib/geometry/shared/controls/draw.mjs +340 -0
- package/esm2022/lib/geometry/shared/controls/index.mjs +4 -0
- package/esm2022/lib/geometry/shared/controls/modify.mjs +538 -0
- package/esm2022/lib/geometry/shared/controls/slice.mjs +190 -0
- package/esm2022/lib/geometry/shared/geometry.errors.mjs +24 -0
- package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +2 -0
- package/esm2022/lib/geometry/shared/geometry.utils.mjs +113 -0
- package/esm2022/lib/geometry/shared/index.mjs +5 -0
- package/esm2022/lib/import-export/export-button/export-button.component.mjs +49 -0
- package/esm2022/lib/import-export/export-button/index.mjs +2 -0
- package/esm2022/lib/import-export/import-export/import-export.component.mjs +876 -0
- package/esm2022/lib/import-export/import-export/index.mjs +2 -0
- package/esm2022/lib/import-export/import-export.module.mjs +31 -0
- package/esm2022/lib/import-export/index.mjs +5 -0
- package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +114 -0
- package/esm2022/lib/import-export/shared/export.errors.mjs +15 -0
- package/esm2022/lib/import-export/shared/export.interface.mjs +2 -0
- package/esm2022/lib/import-export/shared/export.service.mjs +378 -0
- package/esm2022/lib/import-export/shared/export.type.mjs +13 -0
- package/esm2022/lib/import-export/shared/export.utils.mjs +51 -0
- package/esm2022/lib/import-export/shared/import.errors.mjs +39 -0
- package/esm2022/lib/import-export/shared/import.interface.mjs +2 -0
- package/esm2022/lib/import-export/shared/import.service.mjs +221 -0
- package/esm2022/lib/import-export/shared/import.utils.mjs +203 -0
- package/esm2022/lib/import-export/shared/index.mjs +11 -0
- package/esm2022/lib/layer/index.mjs +16 -0
- package/esm2022/lib/layer/layer-group/index.mjs +2 -0
- package/esm2022/lib/layer/layer-group/layer-group.component.mjs +103 -0
- package/esm2022/lib/layer/layer-item/index.mjs +2 -0
- package/esm2022/lib/layer/layer-item/layer-item.component.mjs +196 -0
- package/esm2022/lib/layer/layer-legend/index.mjs +2 -0
- package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +287 -0
- package/esm2022/lib/layer/layer-legend-item/index.mjs +2 -0
- package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +85 -0
- package/esm2022/lib/layer/layer-legend-list/index.mjs +3 -0
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +54 -0
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +104 -0
- package/esm2022/lib/layer/layer-list/index.mjs +2 -0
- package/esm2022/lib/layer/layer-list/layer-list.component.mjs +232 -0
- package/esm2022/lib/layer/layer-list-tool/index.mjs +4 -0
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +92 -0
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +7 -0
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +61 -0
- package/esm2022/lib/layer/layer-search/index.mjs +2 -0
- package/esm2022/lib/layer/layer-search/layer-search.component.mjs +65 -0
- package/esm2022/lib/layer/layer-unavailable/index.mjs +3 -0
- package/esm2022/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.mjs +26 -0
- package/esm2022/lib/layer/layer-unavailable/layer-unavailable.component.mjs +35 -0
- package/esm2022/lib/layer/layer-viewer/index.mjs +3 -0
- package/esm2022/lib/layer/layer-viewer/layer-viewer.component.mjs +226 -0
- package/esm2022/lib/layer/layer-viewer/layer-viewer.interface.mjs +2 -0
- package/esm2022/lib/layer/layer-viewer-bottom-actions/index.mjs +2 -0
- package/esm2022/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.mjs +207 -0
- package/esm2022/lib/layer/layer-visibility-button/index.mjs +2 -0
- package/esm2022/lib/layer/layer-visibility-button/layer-visibility-button.component.mjs +83 -0
- package/esm2022/lib/layer/layer.module.mjs +107 -0
- package/esm2022/lib/layer/shared/clusterParam.mjs +2 -0
- package/esm2022/lib/layer/shared/index.mjs +6 -0
- package/esm2022/lib/layer/shared/layer-controller.mjs +316 -0
- package/esm2022/lib/layer/shared/layer-selection.mjs +38 -0
- package/esm2022/lib/layer/shared/layer.enums.mjs +2 -0
- package/esm2022/lib/layer/shared/layer.service.mjs +315 -0
- package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/any-layer.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/image-layer.mjs +75 -0
- package/esm2022/lib/layer/shared/layers/index.mjs +18 -0
- package/esm2022/lib/layer/shared/layers/layer-base.mjs +199 -0
- package/esm2022/lib/layer/shared/layers/layer-group.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/layer-group.mjs +120 -0
- package/esm2022/lib/layer/shared/layers/layer.interface.mjs +7 -0
- package/esm2022/lib/layer/shared/layers/layer.mjs +178 -0
- package/esm2022/lib/layer/shared/layers/legend.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/linked/index.mjs +4 -0
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.interface.mjs +12 -0
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.mjs +242 -0
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.utils.mjs +70 -0
- package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/tile-layer.mjs +55 -0
- package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/vector-layer.mjs +576 -0
- package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +112 -0
- package/esm2022/lib/layer/track-feature-button/index.mjs +2 -0
- package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +54 -0
- package/esm2022/lib/layer/utils/image-watcher.mjs +62 -0
- package/esm2022/lib/layer/utils/index.mjs +6 -0
- package/esm2022/lib/layer/utils/layer.utils.mjs +57 -0
- package/esm2022/lib/layer/utils/outputLegend.mjs +32 -0
- package/esm2022/lib/layer/utils/tile-watcher.mjs +52 -0
- package/esm2022/lib/layer/utils/vector-watcher.mjs +50 -0
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +20 -0
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +87 -0
- package/esm2022/lib/map/baselayers-switcher/index.mjs +3 -0
- package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +122 -0
- package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +78 -0
- package/esm2022/lib/map/geolocate-button/index.mjs +2 -0
- package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +73 -0
- package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +2 -0
- package/esm2022/lib/map/home-extent-button/index.mjs +3 -0
- package/esm2022/lib/map/index.mjs +14 -0
- package/esm2022/lib/map/info-section/index.mjs +2 -0
- package/esm2022/lib/map/info-section/info-section.component.mjs +15 -0
- package/esm2022/lib/map/map-browser/index.mjs +2 -0
- package/esm2022/lib/map/map-browser/map-browser.component.mjs +67 -0
- package/esm2022/lib/map/map-center/index.mjs +2 -0
- package/esm2022/lib/map/map-center/map-center.component.mjs +56 -0
- package/esm2022/lib/map/map.module.mjs +89 -0
- package/esm2022/lib/map/menu-button/index.mjs +2 -0
- package/esm2022/lib/map/menu-button/menu-button.component.mjs +57 -0
- package/esm2022/lib/map/offline-button/index.mjs +2 -0
- package/esm2022/lib/map/offline-button/offline-button.component.mjs +53 -0
- package/esm2022/lib/map/rotation-button/index.mjs +2 -0
- package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +58 -0
- package/esm2022/lib/map/shared/controllers/controller.mjs +44 -0
- package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +8 -0
- package/esm2022/lib/map/shared/controllers/geolocation.mjs +431 -0
- package/esm2022/lib/map/shared/controllers/index.mjs +5 -0
- package/esm2022/lib/map/shared/controllers/view.mjs +361 -0
- package/esm2022/lib/map/shared/hover-feature.directive.mjs +481 -0
- package/esm2022/lib/map/shared/index.mjs +15 -0
- package/esm2022/lib/map/shared/linkedLayers.utils.mjs +238 -0
- package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +122 -0
- package/esm2022/lib/map/shared/map.abstract.mjs +24 -0
- package/esm2022/lib/map/shared/map.enums.mjs +6 -0
- package/esm2022/lib/map/shared/map.interface.mjs +2 -0
- package/esm2022/lib/map/shared/map.mjs +201 -0
- package/esm2022/lib/map/shared/map.service.mjs +29 -0
- package/esm2022/lib/map/shared/map.utils.mjs +455 -0
- package/esm2022/lib/map/shared/mapOffline.directive.mjs +114 -0
- package/esm2022/lib/map/shared/projection.interfaces.mjs +2 -0
- package/esm2022/lib/map/shared/projection.service.mjs +67 -0
- package/esm2022/lib/map/shared/projection.utils.mjs +122 -0
- package/esm2022/lib/map/swipe-control/index.mjs +2 -0
- package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +211 -0
- package/esm2022/lib/map/utils/index.mjs +2 -0
- package/esm2022/lib/map/utils/layer-watcher.mjs +112 -0
- package/esm2022/lib/map/wake-lock-button/index.mjs +2 -0
- package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +103 -0
- package/esm2022/lib/map/zoom-button/index.mjs +2 -0
- package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +35 -0
- package/esm2022/lib/measure/index.mjs +3 -0
- package/esm2022/lib/measure/measure.module.mjs +20 -0
- package/esm2022/lib/measure/measurer/index.mjs +6 -0
- package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +40 -0
- package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +38 -0
- package/esm2022/lib/measure/measurer/measurer-item.component.mjs +143 -0
- package/esm2022/lib/measure/measurer/measurer.component.mjs +948 -0
- package/esm2022/lib/measure/measurer/measurer.module.mjs +20 -0
- package/esm2022/lib/measure/shared/index.mjs +4 -0
- package/esm2022/lib/measure/shared/measure.enum.mjs +37 -0
- package/esm2022/lib/measure/shared/measure.interfaces.mjs +2 -0
- package/esm2022/lib/measure/shared/measure.utils.mjs +497 -0
- package/esm2022/lib/metadata/index.mjs +4 -0
- package/esm2022/lib/metadata/metadata-button/index.mjs +2 -0
- package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +96 -0
- package/esm2022/lib/metadata/metadata.module.mjs +29 -0
- package/esm2022/lib/metadata/shared/index.mjs +3 -0
- package/esm2022/lib/metadata/shared/metadata.interface.mjs +2 -0
- package/esm2022/lib/metadata/shared/metadata.service.mjs +18 -0
- package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +130 -0
- package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +6 -0
- package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +2 -0
- package/esm2022/lib/offline/geoDB/geoDB.service.mjs +172 -0
- package/esm2022/lib/offline/geoDB/index.mjs +5 -0
- package/esm2022/lib/offline/index.mjs +6 -0
- package/esm2022/lib/offline/layerDB/index.mjs +3 -0
- package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +2 -0
- package/esm2022/lib/offline/layerDB/layerDB.service.mjs +83 -0
- package/esm2022/lib/offline/offline.interface.mjs +2 -0
- package/esm2022/lib/offline/offline.provider.mjs +50 -0
- package/esm2022/lib/offline/shared/geo-network.service.mjs +79 -0
- package/esm2022/lib/offline/shared/index.mjs +2 -0
- package/esm2022/lib/overlay/index.mjs +2 -0
- package/esm2022/lib/overlay/shared/index.mjs +4 -0
- package/esm2022/lib/overlay/shared/overlay.enum.mjs +8 -0
- package/esm2022/lib/overlay/shared/overlay.mjs +139 -0
- package/esm2022/lib/overlay/shared/overlay.utils.mjs +17 -0
- package/esm2022/lib/print/index.mjs +4 -0
- package/esm2022/lib/print/print/print.component.mjs +116 -0
- package/esm2022/lib/print/print-form/index.mjs +2 -0
- package/esm2022/lib/print/print-form/print-form.component.mjs +320 -0
- package/esm2022/lib/print/print.module.mjs +20 -0
- package/esm2022/lib/print/shared/geopdf.mjs +68 -0
- package/esm2022/lib/print/shared/index.mjs +5 -0
- package/esm2022/lib/print/shared/print.interface.mjs +2 -0
- package/esm2022/lib/print/shared/print.service.mjs +1136 -0
- package/esm2022/lib/print/shared/print.type.mjs +30 -0
- package/esm2022/lib/query/index.mjs +2 -0
- package/esm2022/lib/query/query.module.mjs +27 -0
- package/esm2022/lib/query/shared/index.mjs +8 -0
- package/esm2022/lib/query/shared/query-search-source.mjs +35 -0
- package/esm2022/lib/query/shared/query-search-source.providers.mjs +22 -0
- package/esm2022/lib/query/shared/query.directive.mjs +290 -0
- package/esm2022/lib/query/shared/query.enums.mjs +32 -0
- package/esm2022/lib/query/shared/query.interfaces.mjs +2 -0
- package/esm2022/lib/query/shared/query.service.mjs +753 -0
- package/esm2022/lib/query/shared/query.utils.mjs +45 -0
- package/esm2022/lib/search/index.mjs +10 -0
- package/esm2022/lib/search/search-bar/search-bar.component.mjs +483 -0
- package/esm2022/lib/search/search-bar/search-bar.module.mjs +19 -0
- package/esm2022/lib/search/search-results/index.mjs +5 -0
- package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +101 -0
- package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +433 -0
- package/esm2022/lib/search/search-results/search-results-item.component.mjs +119 -0
- package/esm2022/lib/search/search-results/search-results.component.mjs +297 -0
- package/esm2022/lib/search/search-results/search-results.directive.mjs +7 -0
- package/esm2022/lib/search/search-results/search-results.module.mjs +20 -0
- package/esm2022/lib/search/search-selector/search-selector.component.mjs +118 -0
- package/esm2022/lib/search/search-selector/search-selector.module.mjs +19 -0
- package/esm2022/lib/search/search-settings/search-settings.component.mjs +264 -0
- package/esm2022/lib/search/search-settings/search-settings.module.mjs +19 -0
- package/esm2022/lib/search/search.module.mjs +77 -0
- package/esm2022/lib/search/shared/index.mjs +10 -0
- package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +328 -0
- package/esm2022/lib/search/shared/search-source-service.providers.mjs +20 -0
- package/esm2022/lib/search/shared/search-source.service.mjs +56 -0
- package/esm2022/lib/search/shared/search.enums.mjs +4 -0
- package/esm2022/lib/search/shared/search.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/search.provider.mjs +20 -0
- package/esm2022/lib/search/shared/search.service.mjs +149 -0
- package/esm2022/lib/search/shared/search.utils.mjs +92 -0
- package/esm2022/lib/search/shared/sources/cadastre.mjs +142 -0
- package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +32 -0
- package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/coordinates.mjs +168 -0
- package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +52 -0
- package/esm2022/lib/search/shared/sources/icherche-icons.mjs +32 -0
- package/esm2022/lib/search/shared/sources/icherche.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/icherche.mjs +816 -0
- package/esm2022/lib/search/shared/sources/icherche.providers.mjs +87 -0
- package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/ilayer.mjs +339 -0
- package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +58 -0
- package/esm2022/lib/search/shared/sources/index.mjs +23 -0
- package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/nominatim.mjs +263 -0
- package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +31 -0
- package/esm2022/lib/search/shared/sources/source.interfaces.mjs +13 -0
- package/esm2022/lib/search/shared/sources/source.mjs +221 -0
- package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/storedqueries.mjs +454 -0
- package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +56 -0
- package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/workspace.mjs +192 -0
- package/esm2022/lib/search/shared/sources/workspace.providers.mjs +31 -0
- package/esm2022/lib/style/index.mjs +5 -0
- package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +360 -0
- package/esm2022/lib/style/shared/datasource/index.mjs +2 -0
- package/esm2022/lib/style/shared/feature/feature-style.mjs +162 -0
- package/esm2022/lib/style/shared/feature/index.mjs +2 -0
- package/esm2022/lib/style/shared/font.enum.mjs +17 -0
- package/esm2022/lib/style/shared/index.mjs +5 -0
- package/esm2022/lib/style/shared/overlay/index.mjs +3 -0
- package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +39 -0
- package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +88 -0
- package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +78 -0
- package/esm2022/lib/style/shared/vector/conversion.utils.mjs +27 -0
- package/esm2022/lib/style/shared/vector/index.mjs +4 -0
- package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +2 -0
- package/esm2022/lib/style/style-list/index.mjs +5 -0
- package/esm2022/lib/style/style-list/style-list.interface.mjs +2 -0
- package/esm2022/lib/style/style-list/style-list.module.mjs +23 -0
- package/esm2022/lib/style/style-list/style-list.provider.mjs +21 -0
- package/esm2022/lib/style/style-list/style-list.service.mjs +52 -0
- package/esm2022/lib/style/style-modal/drawing/index.mjs +2 -0
- package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +193 -0
- package/esm2022/lib/style/style-modal/index.mjs +5 -0
- package/esm2022/lib/style/style-modal/layer/index.mjs +2 -0
- package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +142 -0
- package/esm2022/lib/style/style-modal/layer-button/index.mjs +2 -0
- package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +44 -0
- package/esm2022/lib/style/style-modal/shared/index.mjs +2 -0
- package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +2 -0
- package/esm2022/lib/style/style-service/draw-style.service.mjs +255 -0
- package/esm2022/lib/style/style-service/index.mjs +3 -0
- package/esm2022/lib/style/style-service/style.service.mjs +393 -0
- package/esm2022/lib/style/style.module.mjs +46 -0
- package/esm2022/lib/toast/index.mjs +2 -0
- package/esm2022/lib/toast/toast.component.mjs +99 -0
- package/esm2022/lib/toast/toast.module.mjs +24 -0
- package/esm2022/lib/utils/googleLinks.mjs +13 -0
- package/esm2022/lib/utils/id-generator.mjs +112 -0
- package/esm2022/lib/utils/index.mjs +5 -0
- package/esm2022/lib/utils/osmLinks.mjs +9 -0
- package/esm2022/lib/utils/propertyTypeDetector/index.mjs +3 -0
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +2 -0
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +64 -0
- package/esm2022/lib/wkt/index.mjs +2 -0
- package/esm2022/lib/wkt/shared/index.mjs +2 -0
- package/esm2022/lib/wkt/shared/wkt.service.mjs +235 -0
- package/esm2022/lib/wkt/wkt.module.mjs +25 -0
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +36 -0
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +19 -0
- package/esm2022/lib/workspace/confirmation-popup/index.mjs +3 -0
- package/esm2022/lib/workspace/index.mjs +8 -0
- package/esm2022/lib/workspace/shared/edition-workspace.mjs +301 -0
- package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +720 -0
- package/esm2022/lib/workspace/shared/feature-workspace.mjs +41 -0
- package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +113 -0
- package/esm2022/lib/workspace/shared/index.mjs +8 -0
- package/esm2022/lib/workspace/shared/wfs-workspace.mjs +41 -0
- package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +121 -0
- package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +248 -0
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +188 -0
- package/esm2022/lib/workspace/widgets/index.mjs +4 -0
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +48 -0
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +19 -0
- package/esm2022/lib/workspace/widgets/widgets.mjs +15 -0
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +172 -0
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +19 -0
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +137 -0
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +19 -0
- package/esm2022/lib/workspace/workspace.module.mjs +32 -0
- package/esm2022/public_api.mjs +56 -0
- package/fesm2022/igo2-geo.mjs +717 -691
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/lib/datasource/shared/datasources/datasource.d.ts +2 -2
- package/lib/directions/shared/directions.service.d.ts +0 -1
- package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
- package/lib/offline/layerDB/layerDB.service.d.ts +1 -1
- package/lib/style/style-list/style-list.provider.d.ts +8 -1
- package/lib/style/style-list/style-list.service.d.ts +1 -1
- package/package.json +16 -14
- package/src/lib/layer/layer-list/layer-list.theme.scss +1 -2
- package/src/lib/map/menu-button/menu-button.theming.scss +3 -3
- package/src/style/style.scss +1 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { ToastComponent } from './toast.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated import the ToastComponent directly
|
|
6
|
+
*/
|
|
7
|
+
export class IgoToastModule {
|
|
8
|
+
static forRoot() {
|
|
9
|
+
return {
|
|
10
|
+
ngModule: IgoToastModule
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoToastModule, imports: [ToastComponent], exports: [ToastComponent] });
|
|
15
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoToastModule, imports: [ToastComponent] });
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoToastModule, decorators: [{
|
|
18
|
+
type: NgModule,
|
|
19
|
+
args: [{
|
|
20
|
+
imports: [ToastComponent],
|
|
21
|
+
exports: [ToastComponent]
|
|
22
|
+
}]
|
|
23
|
+
}] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdG9hc3QvdG9hc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFbkQ7O0dBRUc7QUFLSCxNQUFNLE9BQU8sY0FBYztJQUN6QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztTQUN6QixDQUFDO0lBQ0osQ0FBQzt3R0FMVSxjQUFjO3lHQUFkLGNBQWMsWUFIZixjQUFjLGFBQ2QsY0FBYzt5R0FFYixjQUFjLFlBSGYsY0FBYzs7NEZBR2IsY0FBYztrQkFKMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQ3pCLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUb2FzdENvbXBvbmVudCB9IGZyb20gJy4vdG9hc3QuY29tcG9uZW50JztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBpbXBvcnQgdGhlIFRvYXN0Q29tcG9uZW50IGRpcmVjdGx5XG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtUb2FzdENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtUb2FzdENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgSWdvVG9hc3RNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPElnb1RvYXN0TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJZ29Ub2FzdE1vZHVsZVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class GoogleLinks {
|
|
2
|
+
static getGoogleMapsCoordLink(lon, lat) {
|
|
3
|
+
return `https://www.google.com/maps/search/?api=1&query=${lat}%2C${lon}`;
|
|
4
|
+
}
|
|
5
|
+
static getGoogleStreetViewLink(lon, lat) {
|
|
6
|
+
return `https://www.google.com/maps/@?api=1&map_action=pano&viewpoint=${lat}%2C${lon}`;
|
|
7
|
+
}
|
|
8
|
+
static getGoogleMapsNameLink(name) {
|
|
9
|
+
const encodedName = encodeURI(name);
|
|
10
|
+
return `https://www.google.com/maps/search/?api=1&query=${encodedName}`;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlTGlua3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi91dGlscy9nb29nbGVMaW5rcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sV0FBVztJQUN0QixNQUFNLENBQUMsc0JBQXNCLENBQUMsR0FBRyxFQUFFLEdBQUc7UUFDcEMsT0FBTyxtREFBbUQsR0FBRyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQzNFLENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQUMsR0FBRyxFQUFFLEdBQUc7UUFDckMsT0FBTyxpRUFBaUUsR0FBRyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ3pGLENBQUM7SUFFRCxNQUFNLENBQUMscUJBQXFCLENBQUMsSUFBSTtRQUMvQixNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsT0FBTyxtREFBbUQsV0FBVyxFQUFFLENBQUM7SUFDMUUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEdvb2dsZUxpbmtzIHtcbiAgc3RhdGljIGdldEdvb2dsZU1hcHNDb29yZExpbmsobG9uLCBsYXQpIHtcbiAgICByZXR1cm4gYGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9zZWFyY2gvP2FwaT0xJnF1ZXJ5PSR7bGF0fSUyQyR7bG9ufWA7XG4gIH1cblxuICBzdGF0aWMgZ2V0R29vZ2xlU3RyZWV0Vmlld0xpbmsobG9uLCBsYXQpIHtcbiAgICByZXR1cm4gYGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9AP2FwaT0xJm1hcF9hY3Rpb249cGFubyZ2aWV3cG9pbnQ9JHtsYXR9JTJDJHtsb259YDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRHb29nbGVNYXBzTmFtZUxpbmsobmFtZSkge1xuICAgIGNvbnN0IGVuY29kZWROYW1lID0gZW5jb2RlVVJJKG5hbWUpO1xuICAgIHJldHVybiBgaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL3NlYXJjaC8/YXBpPTEmcXVlcnk9JHtlbmNvZGVkTmFtZX1gO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { uuid } from '@igo2/utils';
|
|
2
|
+
import { Md5 } from 'ts-md5';
|
|
3
|
+
/**
|
|
4
|
+
* Generate a id from it's datasource options.
|
|
5
|
+
* @param options Data source options
|
|
6
|
+
* @returns A id
|
|
7
|
+
*/
|
|
8
|
+
export function generateIdFromSourceOptions(options) {
|
|
9
|
+
const generators = {
|
|
10
|
+
wms: generateWMSIdFromSourceOptions,
|
|
11
|
+
wmts: generateWMTSIdFromSourceOptions,
|
|
12
|
+
xyz: generateXYZIdFromSourceOptions,
|
|
13
|
+
feature: generateFeatureIdFromSourceOptions,
|
|
14
|
+
wfs: generateWfsIdFromSourceOptions,
|
|
15
|
+
arcgisrest: generateArcgisRestIdFromSourceOptions,
|
|
16
|
+
imagearcgisrest: generateArcgisRestIdFromSourceOptions,
|
|
17
|
+
tilearcgisrest: generateArcgisRestIdFromSourceOptions,
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
19
|
+
osm: (_options) => 'OSM',
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
21
|
+
tiledebug: (_options) => 'tiledebug'
|
|
22
|
+
};
|
|
23
|
+
const generator = generators[options.type] || generateId;
|
|
24
|
+
return generator(options);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Generate a id from WMS data source options
|
|
28
|
+
* @param options WMS data source options
|
|
29
|
+
* @returns A md5 hash of the the url and layers
|
|
30
|
+
*/
|
|
31
|
+
export function generateWMSIdFromSourceOptions(options) {
|
|
32
|
+
const layers = options.params.LAYERS;
|
|
33
|
+
const url = standardizeUrl(options.url);
|
|
34
|
+
const chain = 'wms' + url + layers;
|
|
35
|
+
return Md5.hashStr(chain);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Generate a id from WMTS data source options
|
|
39
|
+
* @param options WMTS data source options
|
|
40
|
+
* @returns A md5 hash of the the url and layer
|
|
41
|
+
*/
|
|
42
|
+
export function generateWMTSIdFromSourceOptions(options) {
|
|
43
|
+
const layer = options.layer;
|
|
44
|
+
const url = standardizeUrl(options.url);
|
|
45
|
+
const chain = 'wmts' + url + layer;
|
|
46
|
+
return Md5.hashStr(chain);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Generate a id from XYZ data source options
|
|
50
|
+
* @param options XYZ data source options
|
|
51
|
+
* @returns A md5 hash of the the url and layer
|
|
52
|
+
*/
|
|
53
|
+
export function generateXYZIdFromSourceOptions(options) {
|
|
54
|
+
const url = standardizeUrl(options.url);
|
|
55
|
+
const chain = 'xyz' + url;
|
|
56
|
+
return Md5.hashStr(chain);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Generate a id from feature data source options
|
|
60
|
+
* @param options XYZ data source options
|
|
61
|
+
* @returns A md5 hash of the the url and layer
|
|
62
|
+
*/
|
|
63
|
+
export function generateFeatureIdFromSourceOptions(options) {
|
|
64
|
+
if (!options.url) {
|
|
65
|
+
return generateId();
|
|
66
|
+
}
|
|
67
|
+
const url = standardizeUrl(options.url);
|
|
68
|
+
const chain = 'feature' + url;
|
|
69
|
+
return Md5.hashStr(chain);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Generate a id from feature data source options
|
|
73
|
+
* @param options XYZ data source options
|
|
74
|
+
* @returns A md5 hash of the the url and layer
|
|
75
|
+
*/
|
|
76
|
+
export function generateWfsIdFromSourceOptions(options) {
|
|
77
|
+
if (!options.url || !options.params) {
|
|
78
|
+
return generateId();
|
|
79
|
+
}
|
|
80
|
+
const url = standardizeUrl(options.url);
|
|
81
|
+
const chain = 'wfs' + url + options.params.featureTypes;
|
|
82
|
+
return Md5.hashStr(chain);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Generate a id from ArcGIS Rest data source options
|
|
86
|
+
* @param options ArcGIS Rest data source options
|
|
87
|
+
* @returns A md5 hash of the url and layers
|
|
88
|
+
*/
|
|
89
|
+
export function generateArcgisRestIdFromSourceOptions(options) {
|
|
90
|
+
const layers = options.layer;
|
|
91
|
+
const url = standardizeUrl(options.url);
|
|
92
|
+
const chain = (options.type || 'arcgis') + url + layers;
|
|
93
|
+
return Md5.hashStr(chain);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Generate a unique id
|
|
97
|
+
* @returns A uuid
|
|
98
|
+
*/
|
|
99
|
+
export function generateId() {
|
|
100
|
+
return uuid();
|
|
101
|
+
}
|
|
102
|
+
export function standardizeUrl(url) {
|
|
103
|
+
const absUrl = url.charAt(0) === '/' ? window.location.origin + url : url;
|
|
104
|
+
const urlDecomposed = absUrl.split(/[?&]/);
|
|
105
|
+
let urlStandardized = urlDecomposed.shift();
|
|
106
|
+
const paramsToKeep = urlDecomposed.filter((p) => p.length !== 0 && p.charAt(0) !== '_');
|
|
107
|
+
if (paramsToKeep.length) {
|
|
108
|
+
urlStandardized += '?' + paramsToKeep.join('&');
|
|
109
|
+
}
|
|
110
|
+
return urlStandardized;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdXRpbHMvaWQtZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQVM3Qjs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLDJCQUEyQixDQUN6QyxPQUEwQjtJQUUxQixNQUFNLFVBQVUsR0FBRztRQUNqQixHQUFHLEVBQUUsOEJBQThCO1FBQ25DLElBQUksRUFBRSwrQkFBK0I7UUFDckMsR0FBRyxFQUFFLDhCQUE4QjtRQUNuQyxPQUFPLEVBQUUsa0NBQWtDO1FBQzNDLEdBQUcsRUFBRSw4QkFBOEI7UUFDbkMsVUFBVSxFQUFFLHFDQUFxQztRQUNqRCxlQUFlLEVBQUUscUNBQXFDO1FBQ3RELGNBQWMsRUFBRSxxQ0FBcUM7UUFDckQsNkRBQTZEO1FBQzdELEdBQUcsRUFBRSxDQUFDLFFBQThCLEVBQUUsRUFBRSxDQUFDLEtBQUs7UUFDOUMsNkRBQTZEO1FBQzdELFNBQVMsRUFBRSxDQUFDLFFBQThCLEVBQUUsRUFBRSxDQUFDLFdBQVc7S0FDM0QsQ0FBQztJQUNGLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDO0lBQ3pELE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLDhCQUE4QixDQUFDLE9BQTZCO0lBQzFFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3JDLE1BQU0sR0FBRyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsTUFBTSxLQUFLLEdBQUcs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QUFNLENBQ3ZDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FDN0MsQ0FBQztJQUNGLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3hCLGVBQWUsSUFBSSxHQUFHLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsT0FBTyxlQUFlLENBQUM7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHV1aWQgfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCB7IE1kNSB9IGZyb20gJ3RzLW1kNSc7XG5cbmltcG9ydCB0eXBlIHsgQW55RGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9hbnktZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHR5cGUgeyBEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2RhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB0eXBlIHsgV0ZTRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93ZnMtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHR5cGUgeyBXTVNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dtcy1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgdHlwZSB7IFdNVFNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dtdHMtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHR5cGUgeyBBcmNHSVNSZXN0RGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2FyY2dpc3Jlc3QtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEdlbmVyYXRlIGEgaWQgZnJvbSBpdCdzIGRhdGFzb3VyY2Ugb3B0aW9ucy5cbiAqIEBwYXJhbSBvcHRpb25zIERhdGEgc291cmNlIG9wdGlvbnNcbiAqIEByZXR1cm5zIEEgaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlSWRGcm9tU291cmNlT3B0aW9ucyhcbiAgb3B0aW9uczogRGF0YVNvdXJjZU9wdGlvbnNcbik6IHN0cmluZyB7XG4gIGNvbnN0IGdlbmVyYXRvcnMgPSB7XG4gICAgd21zOiBnZW5lcmF0ZVdNU0lkRnJvbVNvdXJjZU9wdGlvbnMsXG4gICAgd210czogZ2VuZXJhdGVXTVRTSWRGcm9tU291cmNlT3B0aW9ucyxcbiAgICB4eXo6IGdlbmVyYXRlWFlaSWRGcm9tU291cmNlT3B0aW9ucyxcbiAgICBmZWF0dXJlOiBnZW5lcmF0ZUZlYXR1cmVJZEZyb21Tb3VyY2VPcHRpb25zLFxuICAgIHdmczogZ2VuZXJhdGVXZnNJZEZyb21Tb3VyY2VPcHRpb25zLFxuICAgIGFyY2dpc3Jlc3Q6IGdlbmVyYXRlQXJjZ2lzUmVzdElkRnJvbVNvdXJjZU9wdGlvbnMsXG4gICAgaW1hZ2VhcmNnaXNyZXN0OiBnZW5lcmF0ZUFyY2dpc1Jlc3RJZEZyb21Tb3VyY2VPcHRpb25zLFxuICAgIHRpbGVhcmNnaXNyZXN0OiBnZW5lcmF0ZUFyY2dpc1Jlc3RJZEZyb21Tb3VyY2VPcHRpb25zLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBvc206IChfb3B0aW9uczogQW55RGF0YVNvdXJjZU9wdGlvbnMpID0+ICdPU00nLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICB0aWxlZGVidWc6IChfb3B0aW9uczogQW55RGF0YVNvdXJjZU9wdGlvbnMpID0+ICd0aWxlZGVidWcnXG4gIH07XG4gIGNvbnN0IGdlbmVyYXRvciA9IGdlbmVyYXRvcnNbb3B0aW9ucy50eXBlXSB8fCBnZW5lcmF0ZUlkO1xuICByZXR1cm4gZ2VuZXJhdG9yKG9wdGlvbnMpO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlIGEgaWQgZnJvbSBXTVMgZGF0YSBzb3VyY2Ugb3B0aW9uc1xuICogQHBhcmFtIG9wdGlvbnMgV01TIGRhdGEgc291cmNlIG9wdGlvbnNcbiAqIEByZXR1cm5zIEEgbWQ1IGhhc2ggb2YgdGhlIHRoZSB1cmwgYW5kIGxheWVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVXTVNJZEZyb21Tb3VyY2VPcHRpb25zKG9wdGlvbnM6IFdNU0RhdGFTb3VyY2VPcHRpb25zKSB7XG4gIGNvbnN0IGxheWVycyA9IG9wdGlvbnMucGFyYW1zLkxBWUVSUztcbiAgY29uc3QgdXJsID0gc3RhbmRhcmRpemVVcmwob3B0aW9ucy51cmwpO1xuICBjb25zdCBjaGFpbiA9ICd3bXMnICsgdXJsICsgbGF5ZXJzO1xuICByZXR1cm4gTWQ1Lmhhc2hTdHIoY2hhaW4pIGFzIHN0cmluZztcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBhIGlkIGZyb20gV01UUyBkYXRhIHNvdXJjZSBvcHRpb25zXG4gKiBAcGFyYW0gb3B0aW9ucyBXTVRTIGRhdGEgc291cmNlIG9wdGlvbnNcbiAqIEByZXR1cm5zIEEgbWQ1IGhhc2ggb2YgdGhlIHRoZSB1cmwgYW5kIGxheWVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVdNVFNJZEZyb21Tb3VyY2VPcHRpb25zKFxuICBvcHRpb25zOiBXTVRTRGF0YVNvdXJjZU9wdGlvbnNcbikge1xuICBjb25zdCBsYXllciA9IG9wdGlvbnMubGF5ZXI7XG4gIGNvbnN0IHVybCA9IHN0YW5kYXJkaXplVXJsKG9wdGlvbnMudXJsKTtcbiAgY29uc3QgY2hhaW4gPSAnd210cycgKyB1cmwgKyBsYXllcjtcbiAgcmV0dXJuIE1kNS5oYXNoU3RyKGNoYWluKSBhcyBzdHJpbmc7XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSBpZCBmcm9tIFhZWiBkYXRhIHNvdXJjZSBvcHRpb25zXG4gKiBAcGFyYW0gb3B0aW9ucyBYWVogZGF0YSBzb3VyY2Ugb3B0aW9uc1xuICogQHJldHVybnMgQSBtZDUgaGFzaCBvZiB0aGUgdGhlIHVybCBhbmQgbGF5ZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlWFlaSWRGcm9tU291cmNlT3B0aW9ucyhvcHRpb25zOiBXTVRTRGF0YVNvdXJjZU9wdGlvbnMpIHtcbiAgY29uc3QgdXJsID0gc3RhbmRhcmRpemVVcmwob3B0aW9ucy51cmwpO1xuICBjb25zdCBjaGFpbiA9ICd4eXonICsgdXJsO1xuICByZXR1cm4gTWQ1Lmhhc2hTdHIoY2hhaW4pIGFzIHN0cmluZztcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBhIGlkIGZyb20gZmVhdHVyZSBkYXRhIHNvdXJjZSBvcHRpb25zXG4gKiBAcGFyYW0gb3B0aW9ucyBYWVogZGF0YSBzb3VyY2Ugb3B0aW9uc1xuICogQHJldHVybnMgQSBtZDUgaGFzaCBvZiB0aGUgdGhlIHVybCBhbmQgbGF5ZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlRmVhdHVyZUlkRnJvbVNvdXJjZU9wdGlvbnMoXG4gIG9wdGlvbnM6IFdNVFNEYXRhU291cmNlT3B0aW9uc1xuKSB7XG4gIGlmICghb3B0aW9ucy51cmwpIHtcbiAgICByZXR1cm4gZ2VuZXJhdGVJZCgpO1xuICB9XG4gIGNvbnN0IHVybCA9IHN0YW5kYXJkaXplVXJsKG9wdGlvbnMudXJsKTtcbiAgY29uc3QgY2hhaW4gPSAnZmVhdHVyZScgKyB1cmw7XG4gIHJldHVybiBNZDUuaGFzaFN0cihjaGFpbikgYXMgc3RyaW5nO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlIGEgaWQgZnJvbSBmZWF0dXJlIGRhdGEgc291cmNlIG9wdGlvbnNcbiAqIEBwYXJhbSBvcHRpb25zIFhZWiBkYXRhIHNvdXJjZSBvcHRpb25zXG4gKiBAcmV0dXJucyBBIG1kNSBoYXNoIG9mIHRoZSB0aGUgdXJsIGFuZCBsYXllclxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVXZnNJZEZyb21Tb3VyY2VPcHRpb25zKG9wdGlvbnM6IFdGU0RhdGFTb3VyY2VPcHRpb25zKSB7XG4gIGlmICghb3B0aW9ucy51cmwgfHwgIW9wdGlvbnMucGFyYW1zKSB7XG4gICAgcmV0dXJuIGdlbmVyYXRlSWQoKTtcbiAgfVxuICBjb25zdCB1cmwgPSBzdGFuZGFyZGl6ZVVybChvcHRpb25zLnVybCk7XG4gIGNvbnN0IGNoYWluID0gJ3dmcycgKyB1cmwgKyBvcHRpb25zLnBhcmFtcy5mZWF0dXJlVHlwZXM7XG4gIHJldHVybiBNZDUuaGFzaFN0cihjaGFpbikgYXMgc3RyaW5nO1xufVxuLyoqXG4gKiBHZW5lcmF0ZSBhIGlkIGZyb20gQXJjR0lTIFJlc3QgZGF0YSBzb3VyY2Ugb3B0aW9uc1xuICogQHBhcmFtIG9wdGlvbnMgQXJjR0lTIFJlc3QgZGF0YSBzb3VyY2Ugb3B0aW9uc1xuICogQHJldHVybnMgQSBtZDUgaGFzaCBvZiB0aGUgdXJsIGFuZCBsYXllcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlQXJjZ2lzUmVzdElkRnJvbVNvdXJjZU9wdGlvbnMoXG4gIG9wdGlvbnM6IEFyY0dJU1Jlc3REYXRhU291cmNlT3B0aW9uc1xuKSB7XG4gIGNvbnN0IGxheWVycyA9IG9wdGlvbnMubGF5ZXI7XG4gIGNvbnN0IHVybCA9IHN0YW5kYXJkaXplVXJsKG9wdGlvbnMudXJsKTtcbiAgY29uc3QgY2hhaW4gPSAob3B0aW9ucy50eXBlIHx8ICdhcmNnaXMnKSArIHVybCArIGxheWVycztcbiAgcmV0dXJuIE1kNS5oYXNoU3RyKGNoYWluKSBhcyBzdHJpbmc7XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSB1bmlxdWUgaWRcbiAqIEByZXR1cm5zIEEgdXVpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVJZCgpIHtcbiAgcmV0dXJuIHV1aWQoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YW5kYXJkaXplVXJsKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgYWJzVXJsID0gdXJsLmNoYXJBdCgwKSA9PT0gJy8nID8gd2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHVybCA6IHVybDtcbiAgY29uc3QgdXJsRGVjb21wb3NlZCA9IGFic1VybC5zcGxpdCgvWz8mXS8pO1xuICBsZXQgdXJsU3RhbmRhcmRpemVkID0gdXJsRGVjb21wb3NlZC5zaGlmdCgpO1xuICBjb25zdCBwYXJhbXNUb0tlZXAgPSB1cmxEZWNvbXBvc2VkLmZpbHRlcihcbiAgICAocCkgPT4gcC5sZW5ndGggIT09IDAgJiYgcC5jaGFyQXQoMCkgIT09ICdfJ1xuICApO1xuICBpZiAocGFyYW1zVG9LZWVwLmxlbmd0aCkge1xuICAgIHVybFN0YW5kYXJkaXplZCArPSAnPycgKyBwYXJhbXNUb0tlZXAuam9pbignJicpO1xuICB9XG4gIHJldHVybiB1cmxTdGFuZGFyZGl6ZWQ7XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './googleLinks';
|
|
2
|
+
export * from './id-generator';
|
|
3
|
+
export * from './osmLinks';
|
|
4
|
+
export * from './propertyTypeDetector';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dvb2dsZUxpbmtzJztcbmV4cG9ydCAqIGZyb20gJy4vaWQtZ2VuZXJhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vb3NtTGlua3MnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9wZXJ0eVR5cGVEZXRlY3Rvcic7XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export class OsmLinks {
|
|
2
|
+
static getOpenStreetMapLink(lon, lat, zoom = 17) {
|
|
3
|
+
return `https://www.openstreetmap.org/?mlat=${lat}&mlon=${lon}#map=${zoom}/${lat}/${lon}`;
|
|
4
|
+
}
|
|
5
|
+
static getOpenStreetCamLink(lon, lat, zoom = 17) {
|
|
6
|
+
return `https://openstreetcam.org/map/@${lat},${lon},${zoom}z`;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3NtTGlua3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi91dGlscy9vc21MaW5rcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sUUFBUTtJQUNuQixNQUFNLENBQUMsb0JBQW9CLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEdBQUcsRUFBRTtRQUM3QyxPQUFPLHVDQUF1QyxHQUFHLFNBQVMsR0FBRyxRQUFRLElBQUksSUFBSSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDNUYsQ0FBQztJQUVELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksR0FBRyxFQUFFO1FBQzdDLE9BQU8sa0NBQWtDLEdBQUcsSUFBSSxHQUFHLElBQUksSUFBSSxHQUFHLENBQUM7SUFDakUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIE9zbUxpbmtzIHtcbiAgc3RhdGljIGdldE9wZW5TdHJlZXRNYXBMaW5rKGxvbiwgbGF0LCB6b29tID0gMTcpIHtcbiAgICByZXR1cm4gYGh0dHBzOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnLz9tbGF0PSR7bGF0fSZtbG9uPSR7bG9ufSNtYXA9JHt6b29tfS8ke2xhdH0vJHtsb259YDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRPcGVuU3RyZWV0Q2FtTGluayhsb24sIGxhdCwgem9vbSA9IDE3KSB7XG4gICAgcmV0dXJuIGBodHRwczovL29wZW5zdHJlZXRjYW0ub3JnL21hcC9AJHtsYXR9LCR7bG9ufSwke3pvb219emA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './propertyTypeDetector.service';
|
|
2
|
+
export * from './propertyTypeDetector.interface';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi91dGlscy9wcm9wZXJ0eVR5cGVEZXRlY3Rvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Byb3BlcnR5VHlwZURldGVjdG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9wZXJ0eVR5cGVEZXRlY3Rvci5pbnRlcmZhY2UnO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHlUeXBlRGV0ZWN0b3IuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdXRpbHMvcHJvcGVydHlUeXBlRGV0ZWN0b3IvcHJvcGVydHlUeXBlRGV0ZWN0b3IuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEdlb1NlcnZpY2VEZWZpbml0aW9uIHtcbiAgdXJsOiBzdHJpbmc7XG4gIHR5cGU6XG4gICAgfCAnd21zJ1xuICAgIHwgJ3dmcydcbiAgICB8ICd2ZWN0b3InXG4gICAgfCAnd210cydcbiAgICB8ICd4eXonXG4gICAgfCAnb3NtJ1xuICAgIHwgJ3RpbGVkZWJ1ZydcbiAgICB8ICdjYXJ0bydcbiAgICB8ICdhcmNnaXNyZXN0J1xuICAgIHwgJ2ltYWdlYXJjZ2lzcmVzdCdcbiAgICB8ICd0aWxlYXJjZ2lzcmVzdCdcbiAgICB8ICd3ZWJzb2NrZXQnXG4gICAgfCAnbXZ0J1xuICAgIHwgJ2NsdXN0ZXInO1xuICBwcm9wZXJ0aWVzRm9yTGF5ZXJOYW1lOiBzdHJpbmdbXTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { RegexService } from '@igo2/core/regex';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@igo2/core/regex";
|
|
5
|
+
export class PropertyTypeDetectorService {
|
|
6
|
+
regexService;
|
|
7
|
+
geoServiceRegexes = [];
|
|
8
|
+
constructor(regexService) {
|
|
9
|
+
this.regexService = regexService;
|
|
10
|
+
this.geoServiceRegexes = this.getGeoServiceRegexes();
|
|
11
|
+
}
|
|
12
|
+
getPropertyType(value) {
|
|
13
|
+
return typeof value;
|
|
14
|
+
}
|
|
15
|
+
isUrl(value) {
|
|
16
|
+
const regex = /^https?:\/\//;
|
|
17
|
+
return regex.test(value.toString());
|
|
18
|
+
}
|
|
19
|
+
isGeoService(value) {
|
|
20
|
+
let isGeoService = false;
|
|
21
|
+
if (!this.isUrl) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
for (const geoServiceRegex of this.geoServiceRegexes) {
|
|
25
|
+
const domainRegex = new RegExp(geoServiceRegex.url);
|
|
26
|
+
if (domainRegex.test(value)) {
|
|
27
|
+
isGeoService = true;
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return isGeoService;
|
|
32
|
+
}
|
|
33
|
+
getGeoService(url, availableProperties) {
|
|
34
|
+
if (!this.isGeoService(url)) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
let matchingGeoservice;
|
|
38
|
+
for (const geoServiceRegex of this.geoServiceRegexes) {
|
|
39
|
+
const domainRegex = new RegExp(geoServiceRegex.url);
|
|
40
|
+
if (domainRegex.test(url)) {
|
|
41
|
+
// providing the the first matching regex;
|
|
42
|
+
const matchingProperties = availableProperties.filter((p) => geoServiceRegex.propertiesForLayerName.includes(p));
|
|
43
|
+
matchingGeoservice = matchingProperties ? geoServiceRegex : undefined;
|
|
44
|
+
if (matchingGeoservice) {
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return matchingGeoservice;
|
|
50
|
+
}
|
|
51
|
+
getGeoServiceRegexes() {
|
|
52
|
+
return (this.regexService.get('geoservice') ||
|
|
53
|
+
[]);
|
|
54
|
+
}
|
|
55
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PropertyTypeDetectorService, deps: [{ token: i1.RegexService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
56
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PropertyTypeDetectorService, providedIn: 'root' });
|
|
57
|
+
}
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PropertyTypeDetectorService, decorators: [{
|
|
59
|
+
type: Injectable,
|
|
60
|
+
args: [{
|
|
61
|
+
providedIn: 'root'
|
|
62
|
+
}]
|
|
63
|
+
}], ctorParameters: () => [{ type: i1.RegexService }] });
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHlUeXBlRGV0ZWN0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3V0aWxzL3Byb3BlcnR5VHlwZURldGVjdG9yL3Byb3BlcnR5VHlwZURldGVjdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQU9oRCxNQUFNLE9BQU8sMkJBQTJCO0lBR2xCO0lBRmIsaUJBQWlCLEdBQTJCLEVBQUUsQ0FBQztJQUV0RCxZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUM1QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFLO1FBQ25CLE9BQU8sT0FBTyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVPLEtBQUssQ0FBQyxLQUFLO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQztRQUM3QixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFLO1FBQ2hCLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hCLE9BQU87UUFDVCxDQUFDO1FBQ0QsS0FBSyxNQUFNLGVBQWUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNyRCxNQUFNLFdBQVcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEQsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzVCLFlBQVksR0FBRyxJQUFJLENBQUM7Z0JBQ3BCLE1BQU07WUFDUixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxhQUFhLENBQ1gsR0FBVyxFQUNYLG1CQUE2QjtRQUU3QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxrQkFBd0MsQ0FBQztRQUM3QyxLQUFLLE1BQU0sZUFBZSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3JELE1BQU0sV0FBVyxHQUFHLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwRCxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDMUIsMENBQTBDO2dCQUMxQyxNQUFNLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQzFELGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQ25ELENBQUM7Z0JBQ0Ysa0JBQWtCLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUN0RSxJQUFJLGtCQUFrQixFQUFFLENBQUM7b0JBQ3ZCLE1BQU07Z0JBQ1IsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7WUFDekMsRUFBRSxDQUEyQixDQUFDO0lBQ2xDLENBQUM7d0dBMURVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLGNBRjFCLE1BQU07OzRGQUVQLDJCQUEyQjtrQkFIdkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJlZ2V4U2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvcmVnZXgnO1xuXG5pbXBvcnQgeyBHZW9TZXJ2aWNlRGVmaW5pdGlvbiB9IGZyb20gJy4vcHJvcGVydHlUeXBlRGV0ZWN0b3IuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJvcGVydHlUeXBlRGV0ZWN0b3JTZXJ2aWNlIHtcbiAgcHVibGljIGdlb1NlcnZpY2VSZWdleGVzOiBHZW9TZXJ2aWNlRGVmaW5pdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWdleFNlcnZpY2U6IFJlZ2V4U2VydmljZSkge1xuICAgIHRoaXMuZ2VvU2VydmljZVJlZ2V4ZXMgPSB0aGlzLmdldEdlb1NlcnZpY2VSZWdleGVzKCk7XG4gIH1cblxuICBnZXRQcm9wZXJ0eVR5cGUodmFsdWUpIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1VybCh2YWx1ZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlZ2V4ID0gL15odHRwcz86XFwvXFwvLztcbiAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZS50b1N0cmluZygpKTtcbiAgfVxuXG4gIGlzR2VvU2VydmljZSh2YWx1ZSk6IGJvb2xlYW4ge1xuICAgIGxldCBpc0dlb1NlcnZpY2UgPSBmYWxzZTtcbiAgICBpZiAoIXRoaXMuaXNVcmwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZm9yIChjb25zdCBnZW9TZXJ2aWNlUmVnZXggb2YgdGhpcy5nZW9TZXJ2aWNlUmVnZXhlcykge1xuICAgICAgY29uc3QgZG9tYWluUmVnZXggPSBuZXcgUmVnRXhwKGdlb1NlcnZpY2VSZWdleC51cmwpO1xuICAgICAgaWYgKGRvbWFpblJlZ2V4LnRlc3QodmFsdWUpKSB7XG4gICAgICAgIGlzR2VvU2VydmljZSA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaXNHZW9TZXJ2aWNlO1xuICB9XG5cbiAgZ2V0R2VvU2VydmljZShcbiAgICB1cmw6IHN0cmluZyxcbiAgICBhdmFpbGFibGVQcm9wZXJ0aWVzOiBzdHJpbmdbXVxuICApOiBHZW9TZXJ2aWNlRGVmaW5pdGlvbiB7XG4gICAgaWYgKCF0aGlzLmlzR2VvU2VydmljZSh1cmwpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBtYXRjaGluZ0dlb3NlcnZpY2U6IEdlb1NlcnZpY2VEZWZpbml0aW9uO1xuICAgIGZvciAoY29uc3QgZ2VvU2VydmljZVJlZ2V4IG9mIHRoaXMuZ2VvU2VydmljZVJlZ2V4ZXMpIHtcbiAgICAgIGNvbnN0IGRvbWFpblJlZ2V4ID0gbmV3IFJlZ0V4cChnZW9TZXJ2aWNlUmVnZXgudXJsKTtcbiAgICAgIGlmIChkb21haW5SZWdleC50ZXN0KHVybCkpIHtcbiAgICAgICAgLy8gcHJvdmlkaW5nIHRoZSB0aGUgZmlyc3QgbWF0Y2hpbmcgcmVnZXg7XG4gICAgICAgIGNvbnN0IG1hdGNoaW5nUHJvcGVydGllcyA9IGF2YWlsYWJsZVByb3BlcnRpZXMuZmlsdGVyKChwKSA9PlxuICAgICAgICAgIGdlb1NlcnZpY2VSZWdleC5wcm9wZXJ0aWVzRm9yTGF5ZXJOYW1lLmluY2x1ZGVzKHApXG4gICAgICAgICk7XG4gICAgICAgIG1hdGNoaW5nR2Vvc2VydmljZSA9IG1hdGNoaW5nUHJvcGVydGllcyA/IGdlb1NlcnZpY2VSZWdleCA6IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKG1hdGNoaW5nR2Vvc2VydmljZSkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtYXRjaGluZ0dlb3NlcnZpY2U7XG4gIH1cblxuICBwcml2YXRlIGdldEdlb1NlcnZpY2VSZWdleGVzKCk6IEdlb1NlcnZpY2VEZWZpbml0aW9uW10ge1xuICAgIHJldHVybiAodGhpcy5yZWdleFNlcnZpY2UuZ2V0KCdnZW9zZXJ2aWNlJykgfHxcbiAgICAgIFtdKSBhcyBHZW9TZXJ2aWNlRGVmaW5pdGlvbltdO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './shared';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi93a3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './wkt.service';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi93a3Qvc2hhcmVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi93a3Quc2VydmljZSc7XG4iXX0=
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import olWKT from 'ol/format/WKT';
|
|
3
|
+
import * as olproj from 'ol/proj';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class WktService {
|
|
6
|
+
wktToFeature(wkt, wktProj, featureProj) {
|
|
7
|
+
return new olWKT().readFeature(wkt, {
|
|
8
|
+
dataProjection: wktProj,
|
|
9
|
+
featureProjection: featureProj
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
extentToWkt(epsgTO, extent, extentProj) {
|
|
13
|
+
const currentExtent = olproj.transformExtent(extent, extentProj, epsgTO);
|
|
14
|
+
this.roundCoordinateArray(currentExtent, epsgTO, 0);
|
|
15
|
+
const wktPoly = `POLYGON((
|
|
16
|
+
${extent[0]} ${extent[1]},
|
|
17
|
+
${extent[0]} ${extent[3]},
|
|
18
|
+
${extent[2]} ${extent[3]},
|
|
19
|
+
${extent[2]} ${extent[1]},
|
|
20
|
+
${extent[0]} ${extent[1]}))`;
|
|
21
|
+
const wktLine = `LINESTRING(
|
|
22
|
+
${extent[0]} ${extent[1]},
|
|
23
|
+
${extent[0]} ${extent[3]},
|
|
24
|
+
${extent[2]} ${extent[3]},
|
|
25
|
+
${extent[2]} ${extent[1]},
|
|
26
|
+
${extent[0]} ${extent[1]})`;
|
|
27
|
+
const wktMultiPoints = `MULTIPOINT(
|
|
28
|
+
${extent[0]} ${extent[1]},
|
|
29
|
+
${extent[0]} ${extent[3]},
|
|
30
|
+
${extent[2]} ${extent[3]},
|
|
31
|
+
${extent[2]} ${extent[1]})`;
|
|
32
|
+
return {
|
|
33
|
+
wktPoly,
|
|
34
|
+
wktLine,
|
|
35
|
+
wktMultiPoints
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
roundCoordinateArray(coordinateArray, projection, decimal = 0) {
|
|
39
|
+
const lproj = olproj.get(projection);
|
|
40
|
+
const units = lproj.getUnits();
|
|
41
|
+
const olUnits = ['ft', 'm', 'us-ft'];
|
|
42
|
+
if (olUnits.indexOf(units) !== -1) {
|
|
43
|
+
coordinateArray = this.roundArray(coordinateArray, decimal);
|
|
44
|
+
}
|
|
45
|
+
return coordinateArray;
|
|
46
|
+
}
|
|
47
|
+
roundArray(array, decimal = 0) {
|
|
48
|
+
let x = 0;
|
|
49
|
+
while (x < array.length) {
|
|
50
|
+
array[x] = array[x].toFixed(decimal);
|
|
51
|
+
x++;
|
|
52
|
+
}
|
|
53
|
+
return array;
|
|
54
|
+
}
|
|
55
|
+
snrcToWkt(snrc, epsgTO) {
|
|
56
|
+
snrc = snrc.toLowerCase();
|
|
57
|
+
let wktPoly;
|
|
58
|
+
const ew = {
|
|
59
|
+
1: { from: -56, to: -64 },
|
|
60
|
+
2: { from: -64, to: -72 },
|
|
61
|
+
3: { from: -72, to: -80 },
|
|
62
|
+
4: { from: -80, to: -88 },
|
|
63
|
+
5: { from: -88, to: -96 },
|
|
64
|
+
6: { from: -96, to: -104 },
|
|
65
|
+
7: { from: -104, to: -112 },
|
|
66
|
+
8: { from: -112, to: -120 },
|
|
67
|
+
9: { from: -120, to: -128 },
|
|
68
|
+
10: { from: -128, to: -136 }
|
|
69
|
+
};
|
|
70
|
+
const sn = {
|
|
71
|
+
1: { from: 44, to: 48 },
|
|
72
|
+
2: { from: 48, to: 52 },
|
|
73
|
+
3: { from: 52, to: 56 },
|
|
74
|
+
4: { from: 56, to: 60 },
|
|
75
|
+
5: { from: 60, to: 64 },
|
|
76
|
+
6: { from: 64, to: 68 },
|
|
77
|
+
7: { from: 68, to: 72 },
|
|
78
|
+
8: { from: 72, to: 76 },
|
|
79
|
+
9: { from: 76, to: -128 }
|
|
80
|
+
};
|
|
81
|
+
const snrc250kIndex = [
|
|
82
|
+
['m', 'n', 'o', 'p'],
|
|
83
|
+
['l', 'k', 'j', 'i'],
|
|
84
|
+
['e', 'f', 'g', 'h'],
|
|
85
|
+
['d', 'c', 'b', 'a']
|
|
86
|
+
];
|
|
87
|
+
const snrc50kIndex = [
|
|
88
|
+
['13', '14', '15', '16'],
|
|
89
|
+
['12', '11', '10', '09'],
|
|
90
|
+
['05', '06', '07', '08'],
|
|
91
|
+
['04', '03', '02', '01']
|
|
92
|
+
];
|
|
93
|
+
const checkSNRC50k = /\d{2,3}[a-p][0,1][0-9]/gi;
|
|
94
|
+
const checkSNRC250k = /\d{2,3}[a-p]/gi;
|
|
95
|
+
const checkSNRC1m = /\d{2,3}/gi;
|
|
96
|
+
let snrc1m = false;
|
|
97
|
+
let snrc250k = false;
|
|
98
|
+
let snrc50k = false;
|
|
99
|
+
if (checkSNRC50k.test(snrc)) {
|
|
100
|
+
snrc50k = true;
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
if (checkSNRC250k.test(snrc)) {
|
|
104
|
+
snrc250k = true;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
if (checkSNRC1m.test(snrc)) {
|
|
108
|
+
snrc1m = true;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
if (snrc1m) {
|
|
113
|
+
snrc += 'a01';
|
|
114
|
+
}
|
|
115
|
+
else if (snrc250k) {
|
|
116
|
+
snrc += '01';
|
|
117
|
+
}
|
|
118
|
+
if (/\d{2,3}[a-p][0,1][0-9]/gi.test(snrc)) {
|
|
119
|
+
const regex1m = /(?=[a-p])/gi;
|
|
120
|
+
const ar1m = snrc.split(regex1m);
|
|
121
|
+
const part1m = ar1m[0];
|
|
122
|
+
const part250k = ar1m[1][0];
|
|
123
|
+
const part50k = ar1m[1].split(part250k)[1];
|
|
124
|
+
let separator = 1;
|
|
125
|
+
if (part1m.length === 3) {
|
|
126
|
+
separator = 2;
|
|
127
|
+
}
|
|
128
|
+
const partEW = part1m.substring(0, separator);
|
|
129
|
+
const partSN = part1m.substring(separator);
|
|
130
|
+
const unit1mEW = 8;
|
|
131
|
+
const unit1mSN = 4;
|
|
132
|
+
const unit250kEW = 2;
|
|
133
|
+
const unit250kSN = 1;
|
|
134
|
+
const unit50kEW = 0.5;
|
|
135
|
+
const unit50kSN = 0.25;
|
|
136
|
+
let index250kEW = 0;
|
|
137
|
+
let index250kSN = 0;
|
|
138
|
+
let index50kEW = 0;
|
|
139
|
+
let index50kSN = 0;
|
|
140
|
+
snrc250kIndex.forEach((element) => {
|
|
141
|
+
if (element.indexOf(part250k) !== -1) {
|
|
142
|
+
index250kSN = snrc250kIndex.indexOf(element);
|
|
143
|
+
index250kEW = element.indexOf(part250k);
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
snrc50kIndex.forEach((element) => {
|
|
147
|
+
if (element.indexOf(part50k) !== -1) {
|
|
148
|
+
index50kSN = snrc50kIndex.indexOf(element);
|
|
149
|
+
index50kEW = element.indexOf(part50k);
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
let increment250kEW = 0;
|
|
153
|
+
let increment250kSN = 0;
|
|
154
|
+
let increment50kEW = 0;
|
|
155
|
+
let increment50kSN = 0;
|
|
156
|
+
let unitPerTypeEW = unit1mEW;
|
|
157
|
+
let unitPerTypeSN = unit1mSN;
|
|
158
|
+
if (snrc250k) {
|
|
159
|
+
increment250kEW = index250kEW * unit250kEW;
|
|
160
|
+
increment250kSN = index250kSN * unit250kSN;
|
|
161
|
+
increment50kEW = 0;
|
|
162
|
+
increment50kSN = 0;
|
|
163
|
+
unitPerTypeEW = unit250kEW;
|
|
164
|
+
unitPerTypeSN = unit250kSN;
|
|
165
|
+
}
|
|
166
|
+
else if (snrc50k) {
|
|
167
|
+
increment250kEW = index250kEW * unit250kEW;
|
|
168
|
+
increment250kSN = index250kSN * unit250kSN;
|
|
169
|
+
increment50kEW = index50kEW * unit50kEW;
|
|
170
|
+
increment50kSN = index50kSN * unit50kSN;
|
|
171
|
+
unitPerTypeEW = unit50kEW;
|
|
172
|
+
unitPerTypeSN = unit50kSN;
|
|
173
|
+
}
|
|
174
|
+
const coord = {
|
|
175
|
+
ul: [
|
|
176
|
+
ew[partEW].to + increment250kEW + increment50kEW,
|
|
177
|
+
sn[partSN].to - increment250kSN - increment50kSN
|
|
178
|
+
]
|
|
179
|
+
};
|
|
180
|
+
coord.lr = [coord.ul[0] + unitPerTypeEW, coord.ul[1] - unitPerTypeSN];
|
|
181
|
+
coord.ur = [coord.ul[0], coord.ul[1] - unitPerTypeSN];
|
|
182
|
+
coord.ll = [coord.ul[0] + unitPerTypeEW, coord.ul[1]];
|
|
183
|
+
coord.ul = olproj.transform([coord.ul[0], coord.ul[1]], 'EPSG:4326', epsgTO);
|
|
184
|
+
coord.lr = olproj.transform([coord.lr[0], coord.lr[1]], 'EPSG:4326', epsgTO);
|
|
185
|
+
coord.ur = olproj.transform([coord.ur[0], coord.ur[1]], 'EPSG:4326', epsgTO);
|
|
186
|
+
coord.ll = olproj.transform([coord.ll[0], coord.ll[1]], 'EPSG:4326', epsgTO);
|
|
187
|
+
// Rounded coordinate to shorten url in get
|
|
188
|
+
coord.ul = this.roundCoordinateArray(coord.ul, epsgTO, 0);
|
|
189
|
+
coord.lr = this.roundCoordinateArray(coord.lr, epsgTO, 0);
|
|
190
|
+
coord.ur = this.roundCoordinateArray(coord.ur, epsgTO, 0);
|
|
191
|
+
coord.ll = this.roundCoordinateArray(coord.ll, epsgTO, 0);
|
|
192
|
+
wktPoly =
|
|
193
|
+
'POLYGON((' +
|
|
194
|
+
[
|
|
195
|
+
coord.ul.join(' '),
|
|
196
|
+
coord.ur.join(' '),
|
|
197
|
+
coord.lr.join(' '),
|
|
198
|
+
coord.ll.join(' '),
|
|
199
|
+
coord.ul.join(' ')
|
|
200
|
+
].join(',') +
|
|
201
|
+
'))';
|
|
202
|
+
const wktLine = 'LINESTRING(' +
|
|
203
|
+
[
|
|
204
|
+
coord.ul.join(' '),
|
|
205
|
+
coord.ur.join(' '),
|
|
206
|
+
coord.lr.join(' '),
|
|
207
|
+
coord.ll.join(' '),
|
|
208
|
+
coord.ul.join(' ')
|
|
209
|
+
].join(',') +
|
|
210
|
+
')';
|
|
211
|
+
const wktMultiPoints = 'MULTIPOINT(' +
|
|
212
|
+
[
|
|
213
|
+
coord.ul.join(' '),
|
|
214
|
+
coord.ur.join(' '),
|
|
215
|
+
coord.lr.join(' '),
|
|
216
|
+
coord.ll.join(' ')
|
|
217
|
+
].join(',') +
|
|
218
|
+
')';
|
|
219
|
+
return {
|
|
220
|
+
wktPoly,
|
|
221
|
+
wktLine,
|
|
222
|
+
wktMultiPoints
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WktService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
227
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WktService, providedIn: 'root' });
|
|
228
|
+
}
|
|
229
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WktService, decorators: [{
|
|
230
|
+
type: Injectable,
|
|
231
|
+
args: [{
|
|
232
|
+
providedIn: 'root'
|
|
233
|
+
}]
|
|
234
|
+
}] });
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2t0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi93a3Qvc2hhcmVkL3drdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxLQUFLLE1BQU0sZUFBZSxDQUFDO0FBQ2xDLE9BQU8sS0FBSyxNQUFNLE1BQU0sU0FBUyxDQUFDOztBQUtsQyxNQUFNLE9BQU8sVUFBVTtJQUNkLFlBQVksQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLFdBQVc7UUFDM0MsT0FBTyxJQUFJLEtBQUssRUFBRSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDbEMsY0FBYyxFQUFFLE9BQU87WUFDdkIsaUJBQWlCLEVBQUUsV0FBVztTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ00sV0FBVyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVTtRQUMzQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEQsTUFBTSxPQUFPLEdBQUc7UUFDWixNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN0QixNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN0QixNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN0QixNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN0QixNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxJ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Q0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFO1lBQzNCLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUU7WUFDM0IsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRTtZQUMzQixFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFO1NBQzdCLENBQUM7UUFDRixNQUFNLEVBQUUsR0FBRztZQUNULENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtZQUN2QixDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDdkIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1lBQ3ZCLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtZQUN2QixDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDdkIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1lBQ3ZCLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtZQUN2QixDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7WUFDdkIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUU7U0FDMUIsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHO1lBQ3BCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxH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QUMsR0FBRyxDQUFDO2lCQUNuQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQ1gsR0FBRyxDQUFDO1lBQ04sT0FBTztnQkFDTCxPQUFPO2dCQUNQLE9BQU87Z0JBQ1AsY0FBYzthQUNmLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQzt3R0F4UFUsVUFBVTs0R0FBVixVQUFVLGNBRlQsTUFBTTs7NEZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCBvbFdLVCBmcm9tICdvbC9mb3JtYXQvV0tUJztcbmltcG9ydCAqIGFzIG9scHJvaiBmcm9tICdvbC9wcm9qJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgV2t0U2VydmljZSB7XG4gIHB1YmxpYyB3a3RUb0ZlYXR1cmUod2t0LCB3a3RQcm9qLCBmZWF0dXJlUHJvaikge1xuICAgIHJldHVybiBuZXcgb2xXS1QoKS5yZWFkRmVhdHVyZSh3a3QsIHtcbiAgICAgIGRhdGFQcm9qZWN0aW9uOiB3a3RQcm9qLFxuICAgICAgZmVhdHVyZVByb2plY3Rpb246IGZlYXR1cmVQcm9qXG4gICAgfSk7XG4gIH1cbiAgcHVibGljIGV4dGVudFRvV2t0KGVwc2dUTywgZXh0ZW50LCBleHRlbnRQcm9qKSB7XG4gICAgY29uc3QgY3VycmVudEV4dGVudCA9IG9scHJvai50cmFuc2Zvcm1FeHRlbnQoZXh0ZW50LCBleHRlbnRQcm9qLCBlcHNnVE8pO1xuICAgIHRoaXMucm91bmRDb29yZGluYXRlQXJyYXkoY3VycmVudEV4dGVudCwgZXBzZ1RPLCAwKTtcbiAgICBjb25zdCB3a3RQb2x5ID0gYFBPTFlHT04oKFxuICAgICAgJHtleHRlbnRbMF19ICR7ZXh0ZW50WzFdfSxcbiAgICAgICR7ZXh0ZW50WzBdfSAke2V4dGVudFszXX0sXG4gICAgICAke2V4dGVudFsyXX0gJHtleHRlbnRbM119LFxuICAgICAgJHtleHRlbnRbMl19ICR7ZXh0ZW50WzFdfSxcbiAgICAgICR7ZXh0ZW50WzBdfSAke2V4dGVudFsxXX0pKWA7XG4gICAgY29uc3Qgd2t0TGluZSA9IGBMSU5FU1RSSU5HKFxuICAgICAgJHtleHRlbnRbMF19ICR7ZXh0ZW50WzFdfSxcbiAgICAgICR7ZXh0ZW50WzBdfSAke2V4dGVudFszXX0sXG4gICAgICAke2V4dGVudFsyXX0gJHtleHRlbnRbM119LFxuICAgICAgJHtleHRlbnRbMl19ICR7ZXh0ZW50WzFdfSxcbiAgICAgICR7ZXh0ZW50WzBdfSAke2V4dGVudFsxXX0pYDtcbiAgICBjb25zdCB3a3RNdWx0aVBvaW50cyA9IGBNVUxUSVBPSU5UKFxuICAgICAgICAke2V4dGVudFswXX0gJHtleHRlbnRbMV19LFxuICAgICAgICAke2V4dGVudFswXX0gJHtleHRlbnRbM119LFxuICAgICAgICAke2V4dGVudFsyXX0gJHtleHRlbnRbM119LFxuICAgICAgICAke2V4dGVudFsyXX0gJHtleHRlbnRbMV19KWA7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdrdFBvbHksXG4gICAgICB3a3RMaW5lLFxuICAgICAgd2t0TXVsdGlQb2ludHNcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByb3VuZENvb3JkaW5hdGVBcnJheShjb29yZGluYXRlQXJyYXksIHByb2plY3Rpb24sIGRlY2ltYWwgPSAwKSB7XG4gICAgY29uc3QgbHByb2ogPSBvbHByb2ouZ2V0KHByb2plY3Rpb24pO1xuICAgIGNvbnN0IHVuaXRzID0gbHByb2ouZ2V0VW5pdHMoKTtcbiAgICBjb25zdCBvbFVuaXRzID0gWydmdCcsICdtJywgJ3VzLWZ0J107XG4gICAgaWYgKG9sVW5pdHMuaW5kZXhPZih1bml0cykgIT09IC0xKSB7XG4gICAgICBjb29yZGluYXRlQXJyYXkgPSB0aGlzLnJvdW5kQXJyYXkoY29vcmRpbmF0ZUFycmF5LCBkZWNpbWFsKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvb3JkaW5hdGVBcnJheTtcbiAgfVxuXG4gIHByaXZhdGUgcm91bmRBcnJheShhcnJheSwgZGVjaW1hbCA9IDApIHtcbiAgICBsZXQgeCA9IDA7XG4gICAgd2hpbGUgKHggPCBhcnJheS5sZW5ndGgpIHtcbiAgICAgIGFycmF5W3hdID0gYXJyYXlbeF0udG9GaXhlZChkZWNpbWFsKTtcbiAgICAgIHgrKztcbiAgICB9XG4gICAgcmV0dXJuIGFycmF5O1xuICB9XG5cbiAgcHVibGljIHNucmNUb1drdChzbnJjLCBlcHNnVE8pIHtcbiAgICBzbnJjID0gc25yYy50b0xvd2VyQ2FzZSgpO1xuICAgIGxldCB3a3RQb2x5O1xuICAgIGNvbnN0IGV3ID0ge1xuICAgICAgMTogeyBmcm9tOiAtNTYsIHRvOiAtNjQgfSxcbiAgICAgIDI6IHsgZnJvbTogLTY0LCB0bzogLTcyIH0sXG4gICAgICAzOiB7IGZyb206IC03MiwgdG86IC04MCB9LFxuICAgICAgNDogeyBmcm9tOiAtODAsIHRvOiAtODggfSxcbiAgICAgIDU6IHsgZnJvbTogLTg4LCB0bzogLTk2IH0sXG4gICAgICA2OiB7IGZyb206IC05NiwgdG86IC0xMDQgfSxcbiAgICAgIDc6IHsgZnJvbTogLTEwNCwgdG86IC0xMTIgfSxcbiAgICAgIDg6IHsgZnJvbTogLTExMiwgdG86IC0xMjAgfSxcbiAgICAgIDk6IHsgZnJvbTogLTEyMCwgdG86IC0xMjggfSxcbiAgICAgIDEwOiB7IGZyb206IC0xMjgsIHRvOiAtMTM2IH1cbiAgICB9O1xuICAgIGNvbnN0IHNuID0ge1xuICAgICAgMTogeyBmcm9tOiA0NCwgdG86IDQ4IH0sXG4gICAgICAyOiB7IGZyb206IDQ4LCB0bzogNTIgfSxcbiAgICAgIDM6IHsgZnJvbTogNTIsIHRvOiA1NiB9LFxuICAgICAgNDogeyBmcm9tOiA1NiwgdG86IDYwIH0sXG4gICAgICA1OiB7IGZyb206IDYwLCB0bzogNjQgfSxcbiAgICAgIDY6IHsgZnJvbTogNjQsIHRvOiA2OCB9LFxuICAgICAgNzogeyBmcm9tOiA2OCwgdG86IDcyIH0sXG4gICAgICA4OiB7IGZyb206IDcyLCB0bzogNzYgfSxcbiAgICAgIDk6IHsgZnJvbTogNzYsIHRvOiAtMTI4IH1cbiAgICB9O1xuICAgIGNvbnN0IHNucmMyNTBrSW5kZXggPSBbXG4gICAgICBbJ20nLCAnbicsICdvJywgJ3AnXSxcbiAgICAgIFsnbCcsICdrJywgJ2onLCAnaSddLFxuICAgICAgWydlJywgJ2YnLCAnZycsICdoJ10sXG4gICAgICBbJ2QnLCAnYycsICdiJywgJ2EnXVxuICAgIF07XG5cbiAgICBjb25zdCBzbnJjNTBrSW5kZXggPSBbXG4gICAgICBbJzEzJywgJzE0JywgJzE1JywgJzE2J10sXG4gICAgICBbJzEyJywgJzExJywgJzEwJywgJzA5J10sXG4gICAgICBbJzA1JywgJzA2JywgJzA3JywgJzA4J10sXG4gICAgICBbJzA0JywgJzAzJywgJzAyJywgJzAxJ11cbiAgICBdO1xuICAgIGNvbnN0IGNoZWNrU05SQzUwayA9IC9cXGR7MiwzfVthLXBdWzAsMV1bMC05XS9naTtcbiAgICBjb25zdCBjaGVja1NOUkMyNTBrID0gL1xcZHsyLDN9W2EtcF0vZ2k7XG4gICAgY29uc3QgY2hlY2tTTlJDMW0gPSAvXFxkezIsM30vZ2k7XG5cbiAgICBsZXQgc25yYzFtID0gZmFsc2U7XG4gICAgbGV0IHNucmMyNTBrID0gZmFsc2U7XG4gICAgbGV0IHNucmM1MGsgPSBmYWxzZTtcblxuICAgIGlmIChjaGVja1NOUkM1MGsudGVzdChzbnJjKSkge1xuICAgICAgc25yYzUwayA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChjaGVja1NOUkMyNTBrLnRlc3Qoc25yYykpIHtcbiAgICAgICAgc25yYzI1MGsgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGNoZWNrU05SQzFtLnRlc3Qoc25yYykpIHtcbiAgICAgICAgICBzbnJjMW0gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHNucmMxbSkge1xuICAgICAgc25yYyArPSAnYTAxJztcbiAgICB9IGVsc2UgaWYgKHNucmMyNTBrKSB7XG4gICAgICBzbnJjICs9ICcwMSc7XG4gICAgfVxuICAgIGlmICgvXFxkezIsM31bYS1wXVswLDFdWzAtOV0vZ2kudGVzdChzbnJjKSkge1xuICAgICAgY29uc3QgcmVnZXgxbSA9IC8oPz1bYS1wXSkvZ2k7XG4gICAgICBjb25zdCBhcjFtID0gc25yYy5zcGxpdChyZWdleDFtKTtcbiAgICAgIGNvbnN0IHBhcnQxbSA9IGFyMW1bMF07XG4gICAgICBjb25zdCBwYXJ0MjUwayA9IGFyMW1bMV1bMF07XG4gICAgICBjb25zdCBwYXJ0NTBrID0gYXIxbVsxXS5zcGxpdChwYXJ0MjUwaylbMV07XG4gICAgICBsZXQgc2VwYXJhdG9yID0gMTtcbiAgICAgIGlmIChwYXJ0MW0ubGVuZ3RoID09PSAzKSB7XG4gICAgICAgIHNlcGFyYXRvciA9IDI7XG4gICAgICB9XG4gICAgICBjb25zdCBwYXJ0RVcgPSBwYXJ0MW0uc3Vic3RyaW5nKDAsIHNlcGFyYXRvcik7XG4gICAgICBjb25zdCBwYXJ0U04gPSBwYXJ0MW0uc3Vic3RyaW5nKHNlcGFyYXRvcik7XG4gICAgICBjb25zdCB1bml0MW1FVyA9IDg7XG4gICAgICBjb25zdCB1bml0MW1TTiA9IDQ7XG4gICAgICBjb25zdCB1bml0MjUwa0VXID0gMjtcbiAgICAgIGNvbnN0IHVuaXQyNTBrU04gPSAxO1xuICAgICAgY29uc3QgdW5pdDUwa0VXID0gMC41O1xuICAgICAgY29uc3QgdW5pdDUwa1NOID0gMC4yNTtcbiAgICAgIGxldCBpbmRleDI1MGtFVyA9IDA7XG4gICAgICBsZXQgaW5kZXgyNTBrU04gPSAwO1xuICAgICAgbGV0IGluZGV4NTBrRVcgPSAwO1xuICAgICAgbGV0IGluZGV4NTBrU04gPSAwO1xuICAgICAgc25yYzI1MGtJbmRleC5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChlbGVtZW50LmluZGV4T2YocGFydDI1MGspICE9PSAtMSkge1xuICAgICAgICAgIGluZGV4MjUwa1NOID0gc25yYzI1MGtJbmRleC5pbmRleE9mKGVsZW1lbnQpO1xuICAgICAgICAgIGluZGV4MjUwa0VXID0gZWxlbWVudC5pbmRleE9mKHBhcnQyNTBrKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBzbnJjNTBrSW5kZXguZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoZWxlbWVudC5pbmRleE9mKHBhcnQ1MGspICE9PSAtMSkge1xuICAgICAgICAgIGluZGV4NTBrU04gPSBzbnJjNTBrSW5kZXguaW5kZXhPZihlbGVtZW50KTtcbiAgICAgICAgICBpbmRleDUwa0VXID0gZWxlbWVudC5pbmRleE9mKHBhcnQ1MGspO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgbGV0IGluY3JlbWVudDI1MGtFVyA9IDA7XG4gICAgICBsZXQgaW5jcmVtZW50MjUwa1NOID0gMDtcbiAgICAgIGxldCBpbmNyZW1lbnQ1MGtFVyA9IDA7XG4gICAgICBsZXQgaW5jcmVtZW50NTBrU04gPSAwO1xuICAgICAgbGV0IHVuaXRQZXJUeXBlRVcgPSB1bml0MW1FVztcbiAgICAgIGxldCB1bml0UGVyVHlwZVNOID0gdW5pdDFtU047XG4gICAgICBpZiAoc25yYzI1MGspIHtcbiAgICAgICAgaW5jcmVtZW50MjUwa0VXID0gaW5kZXgyNTBrRVcgKiB1bml0MjUwa0VXO1xuICAgICAgICBpbmNyZW1lbnQyNTBrU04gPSBpbmRleDI1MGtTTiAqIHVuaXQyNTBrU047XG4gICAgICAgIGluY3JlbWVudDUwa0VXID0gMDtcbiAgICAgICAgaW5jcmVtZW50NTBrU04gPSAwO1xuICAgICAgICB1bml0UGVyVHlwZUVXID0gdW5pdDI1MGtFVztcbiAgICAgICAgdW5pdFBlclR5cGVTTiA9IHVuaXQyNTBrU047XG4gICAgICB9IGVsc2UgaWYgKHNucmM1MGspIHtcbiAgICAgICAgaW5jcmVtZW50MjUwa0VXID0gaW5kZXgyNTBrRVcgKiB1bml0MjUwa0VXO1xuICAgICAgICBpbmNyZW1lbnQyNTBrU04gPSBpbmRleDI1MGtTTiAqIHVuaXQyNTBrU047XG4gICAgICAgIGluY3JlbWVudDUwa0VXID0gaW5kZXg1MGtFVyAqIHVuaXQ1MGtFVztcbiAgICAgICAgaW5jcmVtZW50NTBrU04gPSBpbmRleDUwa1NOICogdW5pdDUwa1NOO1xuICAgICAgICB1bml0UGVyVHlwZUVXID0gdW5pdDUwa0VXO1xuICAgICAgICB1bml0UGVyVHlwZVNOID0gdW5pdDUwa1NOO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjb29yZDogeyB1bD86IGFueTsgbHI/OiBhbnk7IHVyPzogYW55OyBsbD86IGFueSB9ID0ge1xuICAgICAgICB1bDogW1xuICAgICAgICAgIGV3W3BhcnRFV10udG8gKyBpbmNyZW1lbnQyNTBrRVcgKyBpbmNyZW1lbnQ1MGtFVyxcbiAgICAgICAgICBzbltwYXJ0U05dLnRvIC0gaW5jcmVtZW50MjUwa1NOIC0gaW5jcmVtZW50NTBrU05cbiAgICAgICAgXVxuICAgICAgfTtcblxuICAgICAgY29vcmQubHIgPSBbY29vcmQudWxbMF0gKyB1bml0UGVyVHlwZUVXLCBjb29yZC51bFsxXSAtIHVuaXRQZXJUeXBlU05dO1xuICAgICAgY29vcmQudXIgPSBbY29vcmQudWxbMF0sIGNvb3JkLnVsWzFdIC0gdW5pdFBlclR5cGVTTl07XG4gICAgICBjb29yZC5sbCA9IFtjb29yZC51bFswXSArIHVuaXRQZXJUeXBlRVcsIGNvb3JkLnVsWzFdXTtcblxuICAgICAgY29vcmQudWwgPSBvbHByb2oudHJhbnNmb3JtKFxuICAgICAgICBbY29vcmQudWxbMF0sIGNvb3JkLnVsWzFdXSxcbiAgICAgICAgJ0VQU0c6NDMyNicsXG4gICAgICAgIGVwc2dUT1xuICAgICAgKTtcbiAgICAgIGNvb3JkLmxyID0gb2xwcm9qLnRyYW5zZm9ybShcbiAgICAgICAgW2Nvb3JkLmxyWzBdLCBjb29yZC5sclsxXV0sXG4gICAgICAgICdFUFNHOjQzMjYnLFxuICAgICAgICBlcHNnVE9cbiAgICAgICk7XG4gICAgICBjb29yZC51ciA9IG9scHJvai50cmFuc2Zvcm0oXG4gICAgICAgIFtjb29yZC51clswXSwgY29vcmQudXJbMV1dLFxuICAgICAgICAnRVBTRzo0MzI2JyxcbiAgICAgICAgZXBzZ1RPXG4gICAgICApO1xuICAgICAgY29vcmQubGwgPSBvbHByb2oudHJhbnNmb3JtKFxuICAgICAgICBbY29vcmQubGxbMF0sIGNvb3JkLmxsWzFdXSxcbiAgICAgICAgJ0VQU0c6NDMyNicsXG4gICAgICAgIGVwc2dUT1xuICAgICAgKTtcblxuICAgICAgLy8gUm91bmRlZCBjb29yZGluYXRlIHRvIHNob3J0ZW4gdXJsIGluIGdldFxuICAgICAgY29vcmQudWwgPSB0aGlzLnJvdW5kQ29vcmRpbmF0ZUFycmF5KGNvb3JkLnVsLCBlcHNnVE8sIDApO1xuICAgICAgY29vcmQubHIgPSB0aGlzLnJvdW5kQ29vcmRpbmF0ZUFycmF5KGNvb3JkLmxyLCBlcHNnVE8sIDApO1xuICAgICAgY29vcmQudXIgPSB0aGlzLnJvdW5kQ29vcmRpbmF0ZUFycmF5KGNvb3JkLnVyLCBlcHNnVE8sIDApO1xuICAgICAgY29vcmQubGwgPSB0aGlzLnJvdW5kQ29vcmRpbmF0ZUFycmF5KGNvb3JkLmxsLCBlcHNnVE8sIDApO1xuXG4gICAgICB3a3RQb2x5ID1cbiAgICAgICAgJ1BPTFlHT04oKCcgK1xuICAgICAgICBbXG4gICAgICAgICAgY29vcmQudWwuam9pbignICcpLFxuICAgICAgICAgIGNvb3JkLnVyLmpvaW4oJyAnKSxcbiAgICAgICAgICBjb29yZC5sci5qb2luKCcgJyksXG4gICAgICAgICAgY29vcmQubGwuam9pbignICcpLFxuICAgICAgICAgIGNvb3JkLnVsLmpvaW4oJyAnKVxuICAgICAgICBdLmpvaW4oJywnKSArXG4gICAgICAgICcpKSc7XG4gICAgICBjb25zdCB3a3RMaW5lID1cbiAgICAgICAgJ0xJTkVTVFJJTkcoJyArXG4gICAgICAgIFtcbiAgICAgICAgICBjb29yZC51bC5qb2luKCcgJyksXG4gICAgICAgICAgY29vcmQudXIuam9pbignICcpLFxuICAgICAgICAgIGNvb3JkLmxyLmpvaW4oJyAnKSxcbiAgICAgICAgICBjb29yZC5sbC5qb2luKCcgJyksXG4gICAgICAgICAgY29vcmQudWwuam9pbignICcpXG4gICAgICAgIF0uam9pbignLCcpICtcbiAgICAgICAgJyknO1xuXG4gICAgICBjb25zdCB3a3RNdWx0aVBvaW50cyA9XG4gICAgICAgICdNVUxUSVBPSU5UKCcgK1xuICAgICAgICBbXG4gICAgICAgICAgY29vcmQudWwuam9pbignICcpLFxuICAgICAgICAgIGNvb3JkLnVyLmpvaW4oJyAnKSxcbiAgICAgICAgICBjb29yZC5sci5qb2luKCcgJyksXG4gICAgICAgICAgY29vcmQubGwuam9pbignICcpXG4gICAgICAgIF0uam9pbignLCcpICtcbiAgICAgICAgJyknO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgd2t0UG9seSxcbiAgICAgICAgd2t0TGluZSxcbiAgICAgICAgd2t0TXVsdGlQb2ludHNcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated UNUSED
|
|
5
|
+
*/
|
|
6
|
+
export class IgoWktModule {
|
|
7
|
+
static forRoot() {
|
|
8
|
+
return {
|
|
9
|
+
ngModule: IgoWktModule,
|
|
10
|
+
providers: []
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoWktModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoWktModule });
|
|
15
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoWktModule });
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoWktModule, decorators: [{
|
|
18
|
+
type: NgModule,
|
|
19
|
+
args: [{
|
|
20
|
+
imports: [],
|
|
21
|
+
exports: [],
|
|
22
|
+
declarations: []
|
|
23
|
+
}]
|
|
24
|
+
}] });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2t0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3drdC93a3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUU5RDs7R0FFRztBQU1ILE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztJQUNKLENBQUM7d0dBTlUsWUFBWTt5R0FBWixZQUFZO3lHQUFaLFlBQVk7OzRGQUFaLFlBQVk7a0JBTHhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLEVBQUU7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVTlVTRURcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGV4cG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIElnb1drdE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvV2t0TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJZ29Xa3RNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtdXG4gICAgfTtcbiAgfVxufVxuIl19
|