@igo2/geo 1.12.0 → 1.13.0-alpha.1
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/{esm2015/igo2-geo.js → esm2020/igo2-geo.mjs} +0 -0
- package/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +299 -0
- package/{esm2015/lib/catalog/catalog-browser/catalog-browser-layer.component.js → esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs} +13 -19
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +244 -0
- package/{esm2015/lib/catalog/catalog-browser/catalog-browser.module.js → esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs} +17 -19
- 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/{esm2015/lib/catalog/catalog-library/catalog-library.module.js → esm2020/lib/catalog/catalog-library/catalog-library.module.mjs} +21 -23
- package/{esm2015/lib/catalog/catalog.module.js → esm2020/lib/catalog/catalog.module.mjs} +9 -11
- package/{esm2015/lib/catalog/index.js → esm2020/lib/catalog/index.mjs} +0 -0
- package/{esm2015/lib/catalog/shared/catalog.abstract.js → esm2020/lib/catalog/shared/catalog.abstract.mjs} +0 -0
- package/{esm2015/lib/catalog/shared/catalog.enum.js → esm2020/lib/catalog/shared/catalog.enum.mjs} +0 -0
- package/{esm2015/lib/catalog/shared/catalog.interface.js → esm2020/lib/catalog/shared/catalog.interface.mjs} +0 -0
- package/esm2020/lib/catalog/shared/catalog.service.mjs +606 -0
- package/{esm2015/lib/catalog/shared/index.js → esm2020/lib/catalog/shared/index.mjs} +0 -0
- package/{esm2015/lib/datasource/datasource.module.js → esm2020/lib/datasource/datasource.module.mjs} +2 -2
- package/{esm2015/lib/datasource/index.js → esm2020/lib/datasource/index.mjs} +0 -0
- package/esm2020/lib/datasource/shared/capabilities.service.mjs +426 -0
- package/{esm2015/lib/datasource/shared/datasource.service.js → esm2020/lib/datasource/shared/datasource.service.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/any-datasource.interface.js → esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/any-datasource.js → esm2020/lib/datasource/shared/datasources/any-datasource.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.interface.js → esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.js → esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/carto-datasource.interface.js → esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/carto-datasource.js → esm2020/lib/datasource/shared/datasources/carto-datasource.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/cluster-datasource.interface.js → esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/cluster-datasource.js → esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/data.service.js → esm2020/lib/datasource/shared/datasources/data.service.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/datasource.interface.js → esm2020/lib/datasource/shared/datasources/datasource.interface.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/datasource.js → esm2020/lib/datasource/shared/datasources/datasource.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/feature-datasource.interface.js → esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/feature-datasource.js → esm2020/lib/datasource/shared/datasources/feature-datasource.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.js → esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.js → esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/index.js → esm2020/lib/datasource/shared/datasources/index.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/mvt-datasource.interface.js → esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/mvt-datasource.js → esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/osm-datasource.interface.js → esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/osm-datasource.js → esm2020/lib/datasource/shared/datasources/osm-datasource.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.js → esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.js → esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/tiledebug-datasource.interface.js → esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/tiledebug-datasource.js → esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/websocket-datasource.interface.js → esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/websocket-datasource.js → esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/wfs-datasource.interface.js → esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs} +0 -0
- package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +74 -0
- package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +152 -0
- package/{esm2015/lib/datasource/shared/datasources/wms-datasource.interface.js → esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs} +0 -0
- package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +205 -0
- package/{esm2015/lib/datasource/shared/datasources/wms-wfs.utils.js → esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs} +4 -4
- package/{esm2015/lib/datasource/shared/datasources/wmts-datasource.interface.js → esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/wmts-datasource.js → esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/xyz-datasource.interface.js → esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/datasources/xyz-datasource.js → esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/index.js → esm2020/lib/datasource/shared/index.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/options/index.js → esm2020/lib/datasource/shared/options/index.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/options/options-api.interface.js → esm2020/lib/datasource/shared/options/options-api.interface.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/options/options-api.providers.js → esm2020/lib/datasource/shared/options/options-api.providers.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/options/options-api.service.js → esm2020/lib/datasource/shared/options/options-api.service.mjs} +0 -0
- package/{esm2015/lib/datasource/shared/options/options.service.js → esm2020/lib/datasource/shared/options/options.service.mjs} +0 -0
- package/{esm2015/lib/datasource/utils/esri-style-generator.js → esm2020/lib/datasource/utils/esri-style-generator.mjs} +0 -0
- package/{esm2015/lib/datasource/utils/index.js → esm2020/lib/datasource/utils/index.mjs} +0 -0
- package/{esm2015/lib/datasource/utils/tilegrid.js → esm2020/lib/datasource/utils/tilegrid.mjs} +0 -0
- package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +224 -0
- package/{esm2015/lib/directions/directions-buttons/index.js → esm2020/lib/directions/directions-buttons/index.mjs} +0 -0
- package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +290 -0
- package/{esm2015/lib/directions/directions-inputs/index.js → esm2020/lib/directions/directions-inputs/index.mjs} +0 -0
- package/esm2020/lib/directions/directions-results/directions-results.component.mjs +196 -0
- package/{esm2015/lib/directions/directions-results/index.js → esm2020/lib/directions/directions-results/index.mjs} +0 -0
- package/{esm2015/lib/directions/directions-sources/directions-source.interface.js → esm2020/lib/directions/directions-sources/directions-source.interface.mjs} +0 -0
- package/{esm2015/lib/directions/directions-sources/directions-source.js → esm2020/lib/directions/directions-sources/directions-source.mjs} +0 -0
- package/{esm2015/lib/directions/directions-sources/directions-source.provider.js → esm2020/lib/directions/directions-sources/directions-source.provider.mjs} +0 -0
- package/{esm2015/lib/directions/directions-sources/index.js → esm2020/lib/directions/directions-sources/index.mjs} +0 -0
- package/{esm2015/lib/directions/directions-sources/osrm-directions-source.js → esm2020/lib/directions/directions-sources/osrm-directions-source.mjs} +0 -0
- package/esm2020/lib/directions/directions.component.mjs +311 -0
- package/{esm2015/lib/directions/directions.module.js → esm2020/lib/directions/directions.module.mjs} +16 -18
- package/{esm2015/lib/directions/index.js → esm2020/lib/directions/index.mjs} +0 -0
- package/{esm2015/lib/directions/shared/directions-source.service.js → esm2020/lib/directions/shared/directions-source.service.mjs} +0 -0
- package/{esm2015/lib/directions/shared/directions.enum.js → esm2020/lib/directions/shared/directions.enum.mjs} +0 -0
- package/{esm2015/lib/directions/shared/directions.interface.js → esm2020/lib/directions/shared/directions.interface.mjs} +0 -0
- package/{esm2015/lib/directions/shared/directions.service.js → esm2020/lib/directions/shared/directions.service.mjs} +0 -0
- package/esm2020/lib/directions/shared/directions.utils.mjs +510 -0
- package/{esm2015/lib/directions/shared/index.js → esm2020/lib/directions/shared/index.mjs} +0 -0
- package/{esm2015/lib/directions/shared/store.js → esm2020/lib/directions/shared/store.mjs} +0 -0
- package/esm2020/lib/download/download-button/download-button.component.mjs +61 -0
- package/{esm2015/lib/download/download-button/index.js → esm2020/lib/download/download-button/index.mjs} +0 -0
- package/{esm2015/lib/download/download.module.js → esm2020/lib/download/download.module.mjs} +6 -8
- package/{esm2015/lib/download/index.js → esm2020/lib/download/index.mjs} +0 -0
- package/{esm2015/lib/download/shared/download.interface.js → esm2020/lib/download/shared/download.interface.mjs} +0 -0
- package/{esm2015/lib/download/shared/download.service.js → esm2020/lib/download/shared/download.service.mjs} +0 -0
- package/{esm2015/lib/download/shared/index.js → esm2020/lib/download/shared/index.mjs} +0 -0
- package/{esm2015/lib/draw/draw/draw-popup.component.js → esm2020/lib/draw/draw/draw-popup.component.mjs} +11 -19
- package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +48 -0
- package/esm2020/lib/draw/draw/draw.component.mjs +714 -0
- package/{esm2015/lib/draw/draw/draw.module.js → esm2020/lib/draw/draw/draw.module.mjs} +19 -21
- package/{esm2015/lib/draw/drawingTool.module.js → esm2020/lib/draw/drawingTool.module.mjs} +2 -2
- package/{esm2015/lib/draw/index.js → esm2020/lib/draw/index.mjs} +0 -0
- package/{esm2015/lib/draw/shared/draw-icon.service.js → esm2020/lib/draw/shared/draw-icon.service.mjs} +0 -0
- package/{esm2015/lib/draw/shared/draw-style.service.js → esm2020/lib/draw/shared/draw-style.service.mjs} +0 -0
- package/{esm2015/lib/draw/shared/draw.enum.js → esm2020/lib/draw/shared/draw.enum.mjs} +0 -0
- package/{esm2015/lib/draw/shared/draw.interface.js → esm2020/lib/draw/shared/draw.interface.mjs} +0 -0
- package/{esm2015/lib/draw/shared/draw.utils.js → esm2020/lib/draw/shared/draw.utils.mjs} +0 -0
- package/{esm2015/lib/draw/shared/index.js → esm2020/lib/draw/shared/index.mjs} +0 -0
- package/esm2020/lib/feature/feature-details/feature-details.component.mjs +377 -0
- package/{esm2015/lib/feature/feature-details/feature-details.directive.js → esm2020/lib/feature/feature-details/feature-details.directive.mjs} +0 -0
- package/{esm2015/lib/feature/feature-details/feature-details.module.js → esm2020/lib/feature/feature-details/feature-details.module.mjs} +6 -8
- package/{esm2015/lib/feature/feature-form/feature-form.component.js → esm2020/lib/feature/feature-form/feature-form.component.mjs} +3 -8
- package/{esm2015/lib/feature/feature-form/feature-form.module.js → esm2020/lib/feature/feature-form/feature-form.module.mjs} +3 -5
- package/{esm2015/lib/feature/feature.module.js → esm2020/lib/feature/feature.module.mjs} +2 -4
- package/{esm2015/lib/feature/index.js → esm2020/lib/feature/index.mjs} +0 -0
- package/{esm2015/lib/feature/shared/feature.enums.js → esm2020/lib/feature/shared/feature.enums.mjs} +0 -0
- package/{esm2015/lib/feature/shared/feature.interfaces.js → esm2020/lib/feature/shared/feature.interfaces.mjs} +0 -0
- package/{esm2015/lib/feature/shared/feature.utils.js → esm2020/lib/feature/shared/feature.utils.mjs} +0 -0
- package/{esm2015/lib/feature/shared/index.js → esm2020/lib/feature/shared/index.mjs} +0 -0
- package/{esm2015/lib/feature/shared/store.js → esm2020/lib/feature/shared/store.mjs} +0 -0
- package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +113 -0
- package/{esm2015/lib/feature/shared/strategies/in-map-resolution.js → esm2020/lib/feature/shared/strategies/in-map-resolution.mjs} +0 -0
- package/{esm2015/lib/feature/shared/strategies/index.js → esm2020/lib/feature/shared/strategies/index.mjs} +0 -0
- package/{esm2015/lib/feature/shared/strategies/loading-layer.js → esm2020/lib/feature/shared/strategies/loading-layer.mjs} +0 -0
- package/{esm2015/lib/feature/shared/strategies/loading.js → esm2020/lib/feature/shared/strategies/loading.mjs} +0 -0
- package/{esm2015/lib/feature/shared/strategies/selection.js → esm2020/lib/feature/shared/strategies/selection.mjs} +0 -0
- package/{esm2015/lib/feature/shared/strategies.utils.js → esm2020/lib/feature/shared/strategies.utils.mjs} +0 -0
- package/esm2020/lib/filter/filter.module.mjs +289 -0
- package/{esm2015/lib/filter/index.js → esm2020/lib/filter/index.mjs} +0 -0
- package/{esm2015/lib/filter/ogc-filter-button/index.js → esm2020/lib/filter/ogc-filter-button/index.mjs} +0 -0
- package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +140 -0
- package/{esm2015/lib/filter/ogc-filter-form/index.js → esm2020/lib/filter/ogc-filter-form/index.mjs} +0 -0
- package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +645 -0
- package/{esm2015/lib/filter/ogc-filter-selection/index.js → esm2020/lib/filter/ogc-filter-selection/index.mjs} +0 -0
- package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +1302 -0
- package/{esm2015/lib/filter/ogc-filter-time/index.js → esm2020/lib/filter/ogc-filter-time/index.mjs} +0 -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/{esm2015/lib/filter/ogc-filterable-form/index.js → esm2020/lib/filter/ogc-filterable-form/index.mjs} +0 -0
- package/{esm2015/lib/filter/ogc-filterable-form/ogc-filterable-form.component.js → esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs} +3 -6
- package/{esm2015/lib/filter/ogc-filterable-item/index.js → esm2020/lib/filter/ogc-filterable-item/index.mjs} +0 -0
- package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +302 -0
- package/{esm2015/lib/filter/ogc-filterable-list/index.js → esm2020/lib/filter/ogc-filterable-list/index.mjs} +0 -0
- package/{esm2015/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.js → esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs} +0 -0
- package/{esm2015/lib/filter/ogc-filterable-list/ogc-filterable-list.component.js → esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs} +2 -6
- package/{esm2015/lib/filter/shared/filterable-datasource.pipe.js → esm2020/lib/filter/shared/filterable-datasource.pipe.mjs} +0 -0
- package/{esm2015/lib/filter/shared/index.js → esm2020/lib/filter/shared/index.mjs} +0 -0
- package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +72 -0
- package/{esm2015/lib/filter/shared/ogc-filter.enum.js → esm2020/lib/filter/shared/ogc-filter.enum.mjs} +0 -0
- package/{esm2015/lib/filter/shared/ogc-filter.interface.js → esm2020/lib/filter/shared/ogc-filter.interface.mjs} +0 -0
- package/esm2020/lib/filter/shared/ogc-filter.mjs +692 -0
- package/{esm2015/lib/filter/shared/ogc-filter.service.js → esm2020/lib/filter/shared/ogc-filter.service.mjs} +0 -0
- package/{esm2015/lib/filter/shared/spatial-filter.enum.js → esm2020/lib/filter/shared/spatial-filter.enum.mjs} +0 -0
- package/{esm2015/lib/filter/shared/spatial-filter.interface.js → esm2020/lib/filter/shared/spatial-filter.interface.mjs} +0 -0
- package/{esm2015/lib/filter/shared/spatial-filter.service.js → esm2020/lib/filter/shared/spatial-filter.service.mjs} +0 -0
- package/{esm2015/lib/filter/shared/time-filter.enum.js → esm2020/lib/filter/shared/time-filter.enum.mjs} +0 -0
- package/{esm2015/lib/filter/shared/time-filter.interface.js → esm2020/lib/filter/shared/time-filter.interface.mjs} +0 -0
- package/{esm2015/lib/filter/shared/time-filter.service.js → esm2020/lib/filter/shared/time-filter.service.mjs} +0 -0
- package/{esm2015/lib/filter/spatial-filter/spatial-filter-item/index.js → esm2020/lib/filter/spatial-filter/spatial-filter-item/index.mjs} +0 -0
- package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +1076 -0
- package/{esm2015/lib/filter/spatial-filter/spatial-filter-list/index.js → esm2020/lib/filter/spatial-filter/spatial-filter-list/index.mjs} +0 -0
- package/{esm2015/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.js → esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs} +16 -32
- package/{esm2015/lib/filter/spatial-filter/spatial-filter-type/index.js → esm2020/lib/filter/spatial-filter/spatial-filter-type/index.mjs} +0 -0
- package/{esm2015/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.js → esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs} +7 -20
- package/{esm2015/lib/filter/time-filter-button/index.js → esm2020/lib/filter/time-filter-button/index.mjs} +0 -0
- package/{esm2015/lib/filter/time-filter-button/time-filter-button.component.js → esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs} +3 -8
- package/{esm2015/lib/filter/time-filter-form/index.js → esm2020/lib/filter/time-filter-form/index.mjs} +0 -0
- package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +734 -0
- package/{esm2015/lib/filter/time-filter-item/index.js → esm2020/lib/filter/time-filter-item/index.mjs} +0 -0
- package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +119 -0
- package/{esm2015/lib/filter/time-filter-list/index.js → esm2020/lib/filter/time-filter-list/index.mjs} +0 -0
- package/{esm2015/lib/filter/time-filter-list/time-filter-list-binding.directive.js → esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs} +0 -0
- package/{esm2015/lib/filter/time-filter-list/time-filter-list.component.js → esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs} +2 -6
- package/{esm2015/lib/geo.module.js → esm2020/lib/geo.module.mjs} +2 -2
- package/{esm2015/lib/geometry/geometry-form-field/geometry-form-field-input.component.js → esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs} +2 -6
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +189 -0
- package/{esm2015/lib/geometry/geometry-form-field/geometry-form-field.module.js → esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs} +10 -12
- package/{esm2015/lib/geometry/geometry.module.js → esm2020/lib/geometry/geometry.module.mjs} +3 -5
- package/{esm2015/lib/geometry/index.js → esm2020/lib/geometry/index.mjs} +0 -0
- package/{esm2015/lib/geometry/shared/controls/draw.js → esm2020/lib/geometry/shared/controls/draw.mjs} +0 -0
- package/{esm2015/lib/geometry/shared/controls/index.js → esm2020/lib/geometry/shared/controls/index.mjs} +0 -0
- package/{esm2015/lib/geometry/shared/controls/modify.js → esm2020/lib/geometry/shared/controls/modify.mjs} +1 -1
- package/{esm2015/lib/geometry/shared/controls/slice.js → esm2020/lib/geometry/shared/controls/slice.mjs} +0 -0
- package/{esm2015/lib/geometry/shared/geometry.errors.js → esm2020/lib/geometry/shared/geometry.errors.mjs} +0 -0
- package/{esm2015/lib/geometry/shared/geometry.interfaces.js → esm2020/lib/geometry/shared/geometry.interfaces.mjs} +0 -0
- package/{esm2015/lib/geometry/shared/geometry.utils.js → esm2020/lib/geometry/shared/geometry.utils.mjs} +0 -0
- package/{esm2015/lib/geometry/shared/index.js → esm2020/lib/geometry/shared/index.mjs} +0 -0
- package/esm2020/lib/import-export/export-button/export-button.component.mjs +64 -0
- package/{esm2015/lib/import-export/export-button/index.js → esm2020/lib/import-export/export-button/index.mjs} +0 -0
- package/esm2020/lib/import-export/import-export/import-export.component.mjs +1190 -0
- package/{esm2015/lib/import-export/import-export/index.js → esm2020/lib/import-export/import-export/index.mjs} +0 -0
- package/{esm2015/lib/import-export/import-export.module.js → esm2020/lib/import-export/import-export.module.mjs} +19 -21
- package/{esm2015/lib/import-export/index.js → esm2020/lib/import-export/index.mjs} +0 -0
- package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +135 -0
- package/{esm2015/lib/import-export/shared/export.errors.js → esm2020/lib/import-export/shared/export.errors.mjs} +0 -0
- package/{esm2015/lib/import-export/shared/export.interface.js → esm2020/lib/import-export/shared/export.interface.mjs} +0 -0
- package/{esm2015/lib/import-export/shared/export.service.js → esm2020/lib/import-export/shared/export.service.mjs} +0 -0
- package/{esm2015/lib/import-export/shared/export.type.js → esm2020/lib/import-export/shared/export.type.mjs} +0 -0
- package/{esm2015/lib/import-export/shared/export.utils.js → esm2020/lib/import-export/shared/export.utils.mjs} +0 -0
- package/{esm2015/lib/import-export/shared/import.errors.js → esm2020/lib/import-export/shared/import.errors.mjs} +0 -0
- package/{esm2015/lib/import-export/shared/import.interface.js → esm2020/lib/import-export/shared/import.interface.mjs} +0 -0
- package/{esm2015/lib/import-export/shared/import.service.js → esm2020/lib/import-export/shared/import.service.mjs} +0 -0
- package/{esm2015/lib/import-export/shared/import.utils.js → esm2020/lib/import-export/shared/import.utils.mjs} +0 -0
- package/{esm2015/lib/import-export/shared/index.js → esm2020/lib/import-export/shared/index.mjs} +0 -0
- package/{esm2015/lib/import-export/style-list/index.js → esm2020/lib/import-export/style-list/index.mjs} +0 -0
- package/{esm2015/lib/import-export/style-list/style-list.interface.js → esm2020/lib/import-export/style-list/style-list.interface.mjs} +0 -0
- package/{esm2015/lib/import-export/style-list/style-list.module.js → esm2020/lib/import-export/style-list/style-list.module.mjs} +2 -2
- package/{esm2015/lib/import-export/style-list/style-list.provider.js → esm2020/lib/import-export/style-list/style-list.provider.mjs} +0 -0
- package/{esm2015/lib/import-export/style-list/style-list.service.js → esm2020/lib/import-export/style-list/style-list.service.mjs} +0 -0
- package/{esm2015/lib/layer/index.js → esm2020/lib/layer/index.mjs} +0 -0
- package/{esm2015/lib/layer/layer-item/index.js → esm2020/lib/layer/layer-item/index.mjs} +0 -0
- package/esm2020/lib/layer/layer-item/layer-item.component.mjs +300 -0
- package/{esm2015/lib/layer/layer-legend/index.js → esm2020/lib/layer/layer-legend/index.mjs} +0 -0
- package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +382 -0
- package/{esm2015/lib/layer/layer-legend-item/index.js → esm2020/lib/layer/layer-legend-item/index.mjs} +0 -0
- package/{esm2015/lib/layer/layer-legend-item/layer-legend-item.component.js → esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs} +4 -11
- package/{esm2015/lib/layer/layer-legend-list/index.js → esm2020/lib/layer/layer-legend-list/index.mjs} +0 -0
- package/{esm2015/lib/layer/layer-legend-list/layer-legend-list-binding.directive.js → esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs} +0 -0
- package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +195 -0
- package/{esm2015/lib/layer/layer-list/index.js → esm2020/lib/layer/layer-list/index.mjs} +0 -0
- package/{esm2015/lib/layer/layer-list/layer-list-binding.directive.js → esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs} +0 -0
- package/esm2020/lib/layer/layer-list/layer-list.component.mjs +1024 -0
- package/{esm2015/lib/layer/layer-list/layer-list.enum.js → esm2020/lib/layer/layer-list/layer-list.enum.mjs} +0 -0
- package/{esm2015/lib/layer/layer-list-tool/index.js → esm2020/lib/layer/layer-list-tool/index.mjs} +0 -0
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +165 -0
- package/{esm2015/lib/layer/layer-list-tool/layer-list-tool.enum.js → esm2020/lib/layer/layer-list-tool/layer-list-tool.enum.mjs} +0 -0
- package/{esm2015/lib/layer/layer-list-tool/layer-list-tool.interface.js → esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs} +0 -0
- package/{esm2015/lib/layer/layer-list-tool/layer-list-tool.service.js → esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs} +0 -0
- package/esm2020/lib/layer/layer.module.mjs +173 -0
- package/{esm2015/lib/layer/shared/clusterParam.js → esm2020/lib/layer/shared/clusterParam.mjs} +0 -0
- package/{esm2015/lib/layer/shared/index.js → esm2020/lib/layer/shared/index.mjs} +0 -0
- package/{esm2015/lib/layer/shared/layer.enums.js → esm2020/lib/layer/shared/layer.enums.mjs} +0 -0
- package/esm2020/lib/layer/shared/layer.service.mjs +186 -0
- package/{esm2015/lib/layer/shared/layers/any-layer.interface.js → esm2020/lib/layer/shared/layers/any-layer.interface.mjs} +0 -0
- package/{esm2015/lib/layer/shared/layers/any-layer.js → esm2020/lib/layer/shared/layers/any-layer.mjs} +0 -0
- package/{esm2015/lib/layer/shared/layers/image-layer.interface.js → esm2020/lib/layer/shared/layers/image-layer.interface.mjs} +0 -0
- package/{esm2015/lib/layer/shared/layers/image-layer.js → esm2020/lib/layer/shared/layers/image-layer.mjs} +0 -0
- package/{esm2015/lib/layer/shared/layers/index.js → esm2020/lib/layer/shared/layers/index.mjs} +0 -0
- package/{esm2015/lib/layer/shared/layers/layer.interface.js → esm2020/lib/layer/shared/layers/layer.interface.mjs} +0 -0
- package/esm2020/lib/layer/shared/layers/layer.mjs +170 -0
- package/{esm2015/lib/layer/shared/layers/tile-layer.interface.js → esm2020/lib/layer/shared/layers/tile-layer.interface.mjs} +0 -0
- package/{esm2015/lib/layer/shared/layers/tile-layer.js → esm2020/lib/layer/shared/layers/tile-layer.mjs} +0 -0
- package/{esm2015/lib/layer/shared/layers/vector-layer.interface.js → esm2020/lib/layer/shared/layers/vector-layer.interface.mjs} +0 -0
- package/esm2020/lib/layer/shared/layers/vector-layer.mjs +376 -0
- package/{esm2015/lib/layer/shared/layers/vectortile-layer.interface.js → esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs} +0 -0
- package/{esm2015/lib/layer/shared/layers/vectortile-layer.js → esm2020/lib/layer/shared/layers/vectortile-layer.mjs} +0 -0
- package/esm2020/lib/layer/shared/style.service.mjs +356 -0
- package/{esm2015/lib/layer/shared/vector-style.interface.js → esm2020/lib/layer/shared/vector-style.interface.mjs} +0 -0
- package/{esm2015/lib/layer/track-feature-button/index.js → esm2020/lib/layer/track-feature-button/index.mjs} +0 -0
- package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +59 -0
- package/{esm2015/lib/layer/utils/image-watcher.js → esm2020/lib/layer/utils/image-watcher.mjs} +0 -0
- package/{esm2015/lib/layer/utils/index.js → esm2020/lib/layer/utils/index.mjs} +0 -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/{esm2015/lib/layer/utils/tile-watcher.js → esm2020/lib/layer/utils/tile-watcher.mjs} +0 -0
- package/{esm2015/lib/layer/utils/vector-watcher.js → esm2020/lib/layer/utils/vector-watcher.mjs} +0 -0
- package/{esm2015/lib/map/baselayers-switcher/baselayers-switcher.animation.js → esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs} +0 -0
- package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +97 -0
- package/{esm2015/lib/map/baselayers-switcher/index.js → esm2020/lib/map/baselayers-switcher/index.mjs} +0 -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/{esm2015/lib/map/geolocate-button/index.js → esm2020/lib/map/geolocate-button/index.mjs} +0 -0
- package/{esm2015/lib/map/home-extent-button/home-extent-button.component.js → esm2020/lib/map/home-extent-button/home-extent-button.component.mjs} +8 -14
- package/{esm2015/lib/map/home-extent-button/index.js → esm2020/lib/map/home-extent-button/index.mjs} +0 -0
- package/{esm2015/lib/map/index.js → esm2020/lib/map/index.mjs} +0 -0
- package/{esm2015/lib/map/info-section/index.js → esm2020/lib/map/info-section/index.mjs} +0 -0
- package/esm2020/lib/map/info-section/info-section.component.mjs +30 -0
- package/{esm2015/lib/map/map-browser/index.js → esm2020/lib/map/map-browser/index.mjs} +0 -0
- package/esm2020/lib/map/map-browser/map-browser.component.mjs +66 -0
- package/{esm2015/lib/map/map-center/index.js → esm2020/lib/map/map-center/index.mjs} +0 -0
- package/{esm2015/lib/map/map-center/map-center.component.js → esm2020/lib/map/map-center/map-center.component.mjs} +3 -8
- package/{esm2015/lib/map/map.module.js → esm2020/lib/map/map.module.mjs} +11 -13
- package/{esm2015/lib/map/menu-button/index.js → esm2020/lib/map/menu-button/index.mjs} +0 -0
- package/{esm2015/lib/map/menu-button/menu-button.component.js → esm2020/lib/map/menu-button/menu-button.component.mjs} +7 -11
- package/{esm2015/lib/map/offline-button/index.js → esm2020/lib/map/offline-button/index.mjs} +0 -0
- package/esm2020/lib/map/offline-button/offline-button.component.mjs +76 -0
- package/{esm2015/lib/map/rotation-button/index.js → esm2020/lib/map/rotation-button/index.mjs} +0 -0
- package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +91 -0
- package/{esm2015/lib/map/shared/controllers/controller.js → esm2020/lib/map/shared/controllers/controller.mjs} +0 -0
- package/esm2020/lib/map/shared/controllers/geolocation.mjs +308 -0
- package/{esm2015/lib/map/shared/controllers/index.js → esm2020/lib/map/shared/controllers/index.mjs} +0 -0
- package/{esm2015/lib/map/shared/controllers/view.js → esm2020/lib/map/shared/controllers/view.mjs} +0 -0
- package/esm2020/lib/map/shared/hover-feature.directive.mjs +506 -0
- package/{esm2015/lib/map/shared/index.js → esm2020/lib/map/shared/index.mjs} +0 -0
- package/{esm2015/lib/map/shared/map-pointer-position.directive.js → esm2020/lib/map/shared/map-pointer-position.directive.mjs} +0 -0
- package/{esm2015/lib/map/shared/map.enums.js → esm2020/lib/map/shared/map.enums.mjs} +0 -0
- package/{esm2015/lib/map/shared/map.interface.js → esm2020/lib/map/shared/map.interface.mjs} +0 -0
- package/esm2020/lib/map/shared/map.mjs +417 -0
- package/{esm2015/lib/map/shared/map.service.js → esm2020/lib/map/shared/map.service.mjs} +0 -0
- package/{esm2015/lib/map/shared/map.utils.js → esm2020/lib/map/shared/map.utils.mjs} +0 -0
- package/{esm2015/lib/map/shared/mapOffline.directive.js → esm2020/lib/map/shared/mapOffline.directive.mjs} +0 -0
- package/{esm2015/lib/map/shared/projection.interfaces.js → esm2020/lib/map/shared/projection.interfaces.mjs} +0 -0
- package/{esm2015/lib/map/shared/projection.service.js → esm2020/lib/map/shared/projection.service.mjs} +0 -0
- package/{esm2015/lib/map/shared/projection.utils.js → esm2020/lib/map/shared/projection.utils.mjs} +0 -0
- package/{esm2015/lib/map/swipe-control/index.js → esm2020/lib/map/swipe-control/index.mjs} +0 -0
- package/{esm2015/lib/map/swipe-control/swipe-control.component.js → esm2020/lib/map/swipe-control/swipe-control.component.mjs} +4 -10
- package/{esm2015/lib/map/utils/layer-watcher.js → esm2020/lib/map/utils/layer-watcher.mjs} +0 -0
- package/{esm2015/lib/map/wake-lock-button/index.js → esm2020/lib/map/wake-lock-button/index.mjs} +0 -0
- package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +114 -0
- package/{esm2015/lib/map/zoom-button/index.js → esm2020/lib/map/zoom-button/index.mjs} +0 -0
- package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +40 -0
- package/{esm2015/lib/measure/index.js → esm2020/lib/measure/index.mjs} +0 -0
- package/{esm2015/lib/measure/measure.module.js → esm2020/lib/measure/measure.module.mjs} +2 -2
- package/{esm2015/lib/measure/measurer/measure-format.pipe.js → esm2020/lib/measure/measurer/measure-format.pipe.mjs} +0 -0
- package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +180 -0
- package/{esm2015/lib/measure/measurer/measurer-item.component.js → esm2020/lib/measure/measurer/measurer-item.component.mjs} +12 -20
- package/esm2020/lib/measure/measurer/measurer.component.mjs +1042 -0
- package/esm2020/lib/measure/measurer/measurer.module.mjs +94 -0
- package/{esm2015/lib/measure/shared/index.js → esm2020/lib/measure/shared/index.mjs} +0 -0
- package/{esm2015/lib/measure/shared/measure.enum.js → esm2020/lib/measure/shared/measure.enum.mjs} +0 -0
- package/{esm2015/lib/measure/shared/measure.interfaces.js → esm2020/lib/measure/shared/measure.interfaces.mjs} +0 -0
- package/{esm2015/lib/measure/shared/measure.utils.js → esm2020/lib/measure/shared/measure.utils.mjs} +0 -0
- package/{esm2015/lib/metadata/index.js → esm2020/lib/metadata/index.mjs} +0 -0
- package/{esm2015/lib/metadata/metadata-button/index.js → esm2020/lib/metadata/metadata-button/index.mjs} +0 -0
- package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +134 -0
- package/{esm2015/lib/metadata/metadata.module.js → esm2020/lib/metadata/metadata.module.mjs} +7 -9
- package/{esm2015/lib/metadata/shared/index.js → esm2020/lib/metadata/shared/index.mjs} +0 -0
- package/{esm2015/lib/metadata/shared/metadata.interface.js → esm2020/lib/metadata/shared/metadata.interface.mjs} +0 -0
- package/{esm2015/lib/metadata/shared/metadata.service.js → esm2020/lib/metadata/shared/metadata.service.mjs} +0 -0
- package/{esm2015/lib/offline/geoDB/geoDB.enums.js → esm2020/lib/offline/geoDB/geoDB.enums.mjs} +0 -0
- package/{esm2015/lib/offline/geoDB/geoDB.interface.js → esm2020/lib/offline/geoDB/geoDB.interface.mjs} +0 -0
- package/{esm2015/lib/offline/geoDB/geoDB.service.js → esm2020/lib/offline/geoDB/geoDB.service.mjs} +0 -0
- package/{esm2015/lib/offline/geoDB/index.js → esm2020/lib/offline/geoDB/index.mjs} +0 -0
- package/{esm2015/lib/offline/index.js → esm2020/lib/offline/index.mjs} +0 -0
- package/{esm2015/lib/offline/shared/geo-network.service.js → esm2020/lib/offline/shared/geo-network.service.mjs} +0 -0
- package/{esm2015/lib/offline/shared/index.js → esm2020/lib/offline/shared/index.mjs} +0 -0
- package/{esm2015/lib/overlay/index.js → esm2020/lib/overlay/index.mjs} +0 -0
- package/{esm2015/lib/overlay/overlay.module.js → esm2020/lib/overlay/overlay.module.mjs} +2 -2
- package/{esm2015/lib/overlay/shared/index.js → esm2020/lib/overlay/shared/index.mjs} +0 -0
- package/{esm2015/lib/overlay/shared/overlay-marker-style.utils.js → esm2020/lib/overlay/shared/overlay-marker-style.utils.mjs} +0 -0
- package/{esm2015/lib/overlay/shared/overlay.directive.js → esm2020/lib/overlay/shared/overlay.directive.mjs} +0 -0
- package/{esm2015/lib/overlay/shared/overlay.enum.js → esm2020/lib/overlay/shared/overlay.enum.mjs} +0 -0
- package/{esm2015/lib/overlay/shared/overlay.js → esm2020/lib/overlay/shared/overlay.mjs} +0 -0
- package/{esm2015/lib/overlay/shared/overlay.service.js → esm2020/lib/overlay/shared/overlay.service.mjs} +0 -0
- package/{esm2015/lib/overlay/shared/overlay.utils.js → esm2020/lib/overlay/shared/overlay.utils.mjs} +0 -0
- package/{esm2015/lib/print/index.js → esm2020/lib/print/index.mjs} +0 -0
- package/{esm2015/lib/print/print/print.component.js → esm2020/lib/print/print/print.component.mjs} +3 -6
- package/{esm2015/lib/print/print-form/index.js → esm2020/lib/print/print-form/index.mjs} +0 -0
- package/esm2020/lib/print/print-form/print-form.component.mjs +405 -0
- package/{esm2015/lib/print/print.module.js → esm2020/lib/print/print.module.mjs} +13 -15
- package/{esm2015/lib/print/shared/index.js → esm2020/lib/print/shared/index.mjs} +0 -0
- package/{esm2015/lib/print/shared/print.interface.js → esm2020/lib/print/shared/print.interface.mjs} +0 -0
- package/esm2020/lib/print/shared/print.service.mjs +807 -0
- package/{esm2015/lib/print/shared/print.type.js → esm2020/lib/print/shared/print.type.mjs} +0 -0
- package/{esm2015/lib/query/index.js → esm2020/lib/query/index.mjs} +0 -0
- package/{esm2015/lib/query/query.module.js → esm2020/lib/query/query.module.mjs} +2 -2
- package/{esm2015/lib/query/shared/index.js → esm2020/lib/query/shared/index.mjs} +0 -0
- package/{esm2015/lib/query/shared/query-search-source.js → esm2020/lib/query/shared/query-search-source.mjs} +0 -0
- package/{esm2015/lib/query/shared/query-search-source.providers.js → esm2020/lib/query/shared/query-search-source.providers.mjs} +0 -0
- package/{esm2015/lib/query/shared/query.directive.js → esm2020/lib/query/shared/query.directive.mjs} +0 -0
- package/{esm2015/lib/query/shared/query.enums.js → esm2020/lib/query/shared/query.enums.mjs} +0 -0
- package/{esm2015/lib/query/shared/query.interfaces.js → esm2020/lib/query/shared/query.interfaces.mjs} +0 -0
- package/esm2020/lib/query/shared/query.service.mjs +613 -0
- package/{esm2015/lib/query/shared/query.utils.js → esm2020/lib/query/shared/query.utils.mjs} +0 -0
- package/{esm2015/lib/search/index.js → esm2020/lib/search/index.mjs} +0 -0
- package/esm2020/lib/search/search-bar/search-bar.component.mjs +489 -0
- package/{esm2015/lib/search/search-bar/search-bar.module.js → esm2020/lib/search/search-bar/search-bar.module.mjs} +13 -15
- package/{esm2015/lib/search/search-bar/search-url-param.directive.js → esm2020/lib/search/search-bar/search-url-param.directive.mjs} +0 -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/{esm2015/lib/search/search-results/search-results.module.js → esm2020/lib/search/search-results/search-results.module.mjs} +13 -15
- package/esm2020/lib/search/search-selector/search-selector.component.mjs +123 -0
- package/{esm2015/lib/search/search-selector/search-selector.module.js → esm2020/lib/search/search-selector/search-selector.module.mjs} +10 -12
- package/esm2020/lib/search/search-settings/search-settings.component.mjs +418 -0
- package/{esm2015/lib/search/search-settings/search-settings.module.js → esm2020/lib/search/search-settings/search-settings.module.mjs} +11 -13
- package/{esm2015/lib/search/search.module.js → esm2020/lib/search/search.module.mjs} +6 -8
- package/{esm2015/lib/search/shared/index.js → esm2020/lib/search/shared/index.mjs} +0 -0
- package/{esm2015/lib/search/shared/search-pointer-summary.directive.js → esm2020/lib/search/shared/search-pointer-summary.directive.mjs} +0 -0
- package/{esm2015/lib/search/shared/search-source-service.providers.js → esm2020/lib/search/shared/search-source-service.providers.mjs} +0 -0
- package/{esm2015/lib/search/shared/search-source.service.js → esm2020/lib/search/shared/search-source.service.mjs} +0 -0
- package/{esm2015/lib/search/shared/search.enums.js → esm2020/lib/search/shared/search.enums.mjs} +0 -0
- package/{esm2015/lib/search/shared/search.interfaces.js → esm2020/lib/search/shared/search.interfaces.mjs} +0 -0
- package/esm2020/lib/search/shared/search.service.mjs +118 -0
- package/{esm2015/lib/search/shared/search.utils.js → esm2020/lib/search/shared/search.utils.mjs} +0 -0
- package/{esm2015/lib/search/shared/sources/cadastre.js → esm2020/lib/search/shared/sources/cadastre.mjs} +1 -1
- package/{esm2015/lib/search/shared/sources/cadastre.providers.js → esm2020/lib/search/shared/sources/cadastre.providers.mjs} +0 -0
- package/{esm2015/lib/search/shared/sources/coordinates.interfaces.js → esm2020/lib/search/shared/sources/coordinates.interfaces.mjs} +0 -0
- package/{esm2015/lib/search/shared/sources/coordinates.js → esm2020/lib/search/shared/sources/coordinates.mjs} +0 -0
- package/{esm2015/lib/search/shared/sources/coordinates.providers.js → esm2020/lib/search/shared/sources/coordinates.providers.mjs} +0 -0
- package/{esm2015/lib/search/shared/sources/icherche.interfaces.js → esm2020/lib/search/shared/sources/icherche.interfaces.mjs} +0 -0
- package/esm2020/lib/search/shared/sources/icherche.mjs +755 -0
- package/{esm2015/lib/search/shared/sources/icherche.providers.js → esm2020/lib/search/shared/sources/icherche.providers.mjs} +0 -0
- package/{esm2015/lib/search/shared/sources/ilayer.interfaces.js → esm2020/lib/search/shared/sources/ilayer.interfaces.mjs} +0 -0
- package/{esm2015/lib/search/shared/sources/ilayer.js → esm2020/lib/search/shared/sources/ilayer.mjs} +0 -0
- package/{esm2015/lib/search/shared/sources/ilayer.providers.js → esm2020/lib/search/shared/sources/ilayer.providers.mjs} +0 -0
- package/{esm2015/lib/search/shared/sources/index.js → esm2020/lib/search/shared/sources/index.mjs} +0 -0
- package/{esm2015/lib/search/shared/sources/nominatim.interfaces.js → esm2020/lib/search/shared/sources/nominatim.interfaces.mjs} +0 -0
- package/{esm2015/lib/search/shared/sources/nominatim.js → esm2020/lib/search/shared/sources/nominatim.mjs} +0 -0
- package/{esm2015/lib/search/shared/sources/nominatim.providers.js → esm2020/lib/search/shared/sources/nominatim.providers.mjs} +0 -0
- package/{esm2015/lib/search/shared/sources/source.interfaces.js → esm2020/lib/search/shared/sources/source.interfaces.mjs} +0 -0
- package/{esm2015/lib/search/shared/sources/source.js → esm2020/lib/search/shared/sources/source.mjs} +0 -0
- package/{esm2015/lib/search/shared/sources/storedqueries.interfaces.js → esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs} +0 -0
- package/{esm2015/lib/search/shared/sources/storedqueries.js → esm2020/lib/search/shared/sources/storedqueries.mjs} +1 -1
- package/{esm2015/lib/search/shared/sources/storedqueries.providers.js → esm2020/lib/search/shared/sources/storedqueries.providers.mjs} +0 -0
- package/{esm2015/lib/toast/index.js → esm2020/lib/toast/index.mjs} +0 -0
- package/esm2020/lib/toast/toast.component.mjs +113 -0
- package/{esm2015/lib/toast/toast.module.js → esm2020/lib/toast/toast.module.mjs} +7 -9
- package/{esm2015/lib/utils/commonVectorStyle.interface.js → esm2020/lib/utils/commonVectorStyle.interface.mjs} +0 -0
- package/{esm2015/lib/utils/commonVectorStyle.js → esm2020/lib/utils/commonVectorStyle.mjs} +0 -0
- package/{esm2015/lib/utils/googleLinks.js → esm2020/lib/utils/googleLinks.mjs} +0 -0
- package/{esm2015/lib/utils/id-generator.js → esm2020/lib/utils/id-generator.mjs} +0 -0
- package/{esm2015/lib/utils/index.js → esm2020/lib/utils/index.mjs} +0 -0
- package/{esm2015/lib/utils/osmLinks.js → esm2020/lib/utils/osmLinks.mjs} +0 -0
- package/{esm2015/lib/wkt/index.js → esm2020/lib/wkt/index.mjs} +0 -0
- package/{esm2015/lib/wkt/shared/index.js → esm2020/lib/wkt/shared/index.mjs} +0 -0
- package/{esm2015/lib/wkt/shared/wkt.service.js → esm2020/lib/wkt/shared/wkt.service.mjs} +0 -0
- package/{esm2015/lib/wkt/wkt.module.js → esm2020/lib/wkt/wkt.module.mjs} +2 -2
- package/{esm2015/lib/workspace/confirmation-popup/confirmation-popup.component.js → esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs} +7 -15
- package/{esm2015/lib/workspace/confirmation-popup/confirmation-popup.module.js → esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs} +5 -7
- package/{esm2015/lib/workspace/confirmation-popup/index.js → esm2020/lib/workspace/confirmation-popup/index.mjs} +0 -0
- package/{esm2015/lib/workspace/index.js → esm2020/lib/workspace/index.mjs} +0 -0
- package/{esm2015/lib/workspace/shared/edition-workspace.js → esm2020/lib/workspace/shared/edition-workspace.mjs} +2 -3
- package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +642 -0
- package/esm2020/lib/workspace/shared/feature-workspace.mjs +35 -0
- package/{esm2015/lib/workspace/shared/wfs-workspace.service.js → esm2020/lib/workspace/shared/feature-workspace.service.mjs} +8 -9
- package/{esm2015/lib/workspace/shared/index.js → esm2020/lib/workspace/shared/index.mjs} +0 -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/{esm2015/lib/workspace/shared/workspace.utils.js → esm2020/lib/workspace/shared/workspace.utils.mjs} +0 -0
- package/{esm2015/lib/workspace/widgets/index.js → esm2020/lib/workspace/widgets/index.mjs} +0 -0
- package/{esm2015/lib/workspace/widgets/ogc-filter/ogc-filter.component.js → esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs} +3 -8
- package/{esm2015/lib/workspace/widgets/ogc-filter/ogc-filter.module.js → esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs} +5 -7
- package/{esm2015/lib/workspace/widgets/widgets.js → esm2020/lib/workspace/widgets/widgets.mjs} +0 -0
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +133 -0
- package/{esm2015/lib/workspace/workspace-selector/workspace-selector.module.js → esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs} +2 -4
- package/{esm2015/lib/workspace/workspace-updator/workspace-updator.directive.js → esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs} +8 -11
- package/{esm2015/lib/workspace/workspace-updator/workspace-updator.module.js → esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs} +2 -4
- package/{esm2015/lib/workspace/workspace.module.js → esm2020/lib/workspace/workspace.module.mjs} +8 -10
- package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
- package/fesm2015/igo2-geo.mjs +42904 -0
- package/fesm2015/igo2-geo.mjs.map +1 -0
- package/{fesm2015/igo2-geo.js → fesm2020/igo2-geo.mjs} +1635 -2527
- 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 +1 -1
- 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 +1 -1
- 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/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 +1 -1
- 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 +5 -5
- 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 +4 -4
- package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +3 -3
- package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +2 -2
- 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 +1 -1
- package/lib/import-export/export-button/export-button.component.d.ts +1 -1
- package/lib/import-export/import-export/import-export.component.d.ts +1 -1
- 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/controllers/geolocation.d.ts +3 -2
- 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/map.d.ts +3 -2
- 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 +14 -14
- 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/package.json +31 -18
- package/bundles/igo2-geo.umd.js +0 -47612
- 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.component.js +0 -248
- 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/shared/catalog.service.js +0 -606
- package/esm2015/lib/datasource/shared/capabilities.service.js +0 -427
- 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.js +0 -205
- package/esm2015/lib/directions/directions-buttons/directions-buttons.component.js +0 -229
- package/esm2015/lib/directions/directions-inputs/directions-inputs.component.js +0 -300
- package/esm2015/lib/directions/directions-results/directions-results.component.js +0 -204
- package/esm2015/lib/directions/directions.component.js +0 -316
- package/esm2015/lib/directions/shared/directions.utils.js +0 -510
- package/esm2015/lib/download/download-button/download-button.component.js +0 -66
- package/esm2015/lib/draw/draw/draw-shorcuts.component.js +0 -64
- package/esm2015/lib/draw/draw/draw.component.js +0 -745
- package/esm2015/lib/feature/feature-details/feature-details.component.js +0 -393
- package/esm2015/lib/feature/shared/strategies/in-map-extent.js +0 -114
- package/esm2015/lib/filter/filter.module.js +0 -290
- package/esm2015/lib/filter/ogc-filter-button/ogc-filter-button.component.js +0 -161
- package/esm2015/lib/filter/ogc-filter-form/ogc-filter-form.component.js +0 -657
- package/esm2015/lib/filter/ogc-filter-selection/ogc-filter-selection.component.js +0 -1355
- 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-item/ogc-filterable-item.component.js +0 -307
- package/esm2015/lib/filter/shared/ogc-filter-time.service.js +0 -73
- package/esm2015/lib/filter/shared/ogc-filter.js +0 -693
- package/esm2015/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.js +0 -1108
- package/esm2015/lib/filter/time-filter-form/time-filter-form.component.js +0 -772
- package/esm2015/lib/filter/time-filter-item/time-filter-item.component.js +0 -126
- package/esm2015/lib/geometry/geometry-form-field/geometry-form-field.component.js +0 -199
- package/esm2015/lib/import-export/export-button/export-button.component.js +0 -70
- package/esm2015/lib/import-export/import-export/import-export.component.js +0 -1238
- package/esm2015/lib/import-export/shared/drop-geo-file.directive.js +0 -136
- package/esm2015/lib/layer/layer-item/layer-item.component.js +0 -305
- package/esm2015/lib/layer/layer-legend/layer-legend.component.js +0 -395
- package/esm2015/lib/layer/layer-legend-list/layer-legend-list.component.js +0 -200
- package/esm2015/lib/layer/layer-list/layer-list.component.js +0 -1043
- package/esm2015/lib/layer/layer-list-tool/layer-list-tool.component.js +0 -176
- package/esm2015/lib/layer/layer.module.js +0 -174
- package/esm2015/lib/layer/shared/layer.service.js +0 -186
- package/esm2015/lib/layer/shared/layers/layer.js +0 -169
- package/esm2015/lib/layer/shared/layers/vector-layer.js +0 -376
- package/esm2015/lib/layer/shared/style.service.js +0 -358
- package/esm2015/lib/layer/track-feature-button/track-feature-button.component.js +0 -64
- 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/map/baselayers-switcher/baselayers-switcher.component.js +0 -105
- 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/info-section/info-section.component.js +0 -36
- package/esm2015/lib/map/map-browser/map-browser.component.js +0 -70
- package/esm2015/lib/map/offline-button/offline-button.component.js +0 -84
- package/esm2015/lib/map/rotation-button/rotation-button.component.js +0 -97
- package/esm2015/lib/map/shared/controllers/geolocation.js +0 -295
- package/esm2015/lib/map/shared/hover-feature.directive.js +0 -509
- package/esm2015/lib/map/shared/map.js +0 -417
- package/esm2015/lib/map/wake-lock-button/wake-lock-button.component.js +0 -122
- package/esm2015/lib/map/zoom-button/zoom-button.component.js +0 -46
- package/esm2015/lib/measure/measurer/measurer-dialog.component.js +0 -220
- package/esm2015/lib/measure/measurer/measurer.component.js +0 -1053
- package/esm2015/lib/measure/measurer/measurer.module.js +0 -96
- package/esm2015/lib/metadata/metadata-button/metadata-button.component.js +0 -135
- package/esm2015/lib/print/print-form/print-form.component.js +0 -447
- package/esm2015/lib/print/shared/print.service.js +0 -820
- package/esm2015/lib/query/shared/query.service.js +0 -619
- package/esm2015/lib/search/search-bar/search-bar.component.js +0 -496
- 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-selector/search-selector.component.js +0 -132
- package/esm2015/lib/search/search-settings/search-settings.component.js +0 -435
- package/esm2015/lib/search/shared/search.service.js +0 -118
- package/esm2015/lib/search/shared/sources/icherche.js +0 -756
- package/esm2015/lib/toast/toast.component.js +0 -119
- 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/wfs-workspace.js +0 -37
- package/esm2015/lib/workspace/shared/wms-workspace.service.js +0 -263
- package/esm2015/lib/workspace/workspace-selector/workspace-selector.directive.js +0 -135
- package/fesm2015/igo2-geo.js.map +0 -1
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { combineLatest, Observable, of } from 'rxjs';
|
|
3
|
-
import { DataService } from './data.service';
|
|
4
|
-
import { formatWFSQueryString, gmlRegex, defaultEpsg, defaultMaxFeatures, getFormatFromOptions } from './wms-wfs.utils';
|
|
5
|
-
import { concatMap } from 'rxjs/operators';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common/http";
|
|
8
|
-
export class WFSService extends DataService {
|
|
9
|
-
constructor(http) {
|
|
10
|
-
super();
|
|
11
|
-
this.http = http;
|
|
12
|
-
}
|
|
13
|
-
getData() {
|
|
14
|
-
console.log('This is defining a data service.');
|
|
15
|
-
return 'This is defining a data service.';
|
|
16
|
-
}
|
|
17
|
-
getSourceFieldsFromWFS(dataSourceOptions) {
|
|
18
|
-
if (!dataSourceOptions.sourceFields || dataSourceOptions.sourceFields.length === 0) {
|
|
19
|
-
dataSourceOptions.sourceFields = [];
|
|
20
|
-
this.defineFieldAndValuefromWFS(dataSourceOptions).subscribe(getfeatureSourceField => {
|
|
21
|
-
dataSourceOptions.sourceFields = getfeatureSourceField;
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
this.defineFieldAndValuefromWFS(dataSourceOptions).subscribe(getfeatureSourceField => {
|
|
26
|
-
dataSourceOptions.sourceFields.forEach(sourcefield => {
|
|
27
|
-
if (sourcefield.alias === undefined) {
|
|
28
|
-
sourcefield.alias = sourcefield.name; // to allow only a list of sourcefield with names
|
|
29
|
-
}
|
|
30
|
-
if (sourcefield.values === undefined || sourcefield.values.length === 0) {
|
|
31
|
-
sourcefield.values = getfeatureSourceField.find(sf => sf.name === sourcefield.name).values;
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
wfsGetFeature(dataSourceOptions, nb = defaultMaxFeatures, epsgCode = defaultEpsg, propertyName, startIndex = 0, forceDefaultOutputFormat = false) {
|
|
38
|
-
const queryStringValues = formatWFSQueryString(dataSourceOptions, nb, epsgCode, propertyName, startIndex, forceDefaultOutputFormat);
|
|
39
|
-
const baseUrl = queryStringValues.find(f => f.name === 'getfeature').value;
|
|
40
|
-
const outputFormat = dataSourceOptions.paramsWFS.outputFormat;
|
|
41
|
-
if (forceDefaultOutputFormat || gmlRegex.test(outputFormat) || !outputFormat) {
|
|
42
|
-
return this.http.get(baseUrl, { responseType: 'text' });
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
return this.http.get(baseUrl);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
defineFieldAndValuefromWFS(dataSourceOptions) {
|
|
49
|
-
return new Observable(d => {
|
|
50
|
-
var _a;
|
|
51
|
-
const sourceFields = [];
|
|
52
|
-
let fieldList;
|
|
53
|
-
let fieldListWoGeom;
|
|
54
|
-
let fieldListWoGeomStr;
|
|
55
|
-
let olFormats;
|
|
56
|
-
let effectiveOlFormats;
|
|
57
|
-
olFormats = getFormatFromOptions(dataSourceOptions);
|
|
58
|
-
const gmlDataSourceOptions = JSON.parse(JSON.stringify(dataSourceOptions));
|
|
59
|
-
delete gmlDataSourceOptions.paramsWFS.outputFormat;
|
|
60
|
-
delete gmlDataSourceOptions.formatOptions;
|
|
61
|
-
effectiveOlFormats = getFormatFromOptions(gmlDataSourceOptions);
|
|
62
|
-
let sourceFieldsToRetrieveValues = (_a = dataSourceOptions.sourceFields) === null || _a === void 0 ? void 0 : _a.filter(f => !f.values).map(f => f.name);
|
|
63
|
-
// Validate if the service manage no outputformat (wfs 1.0.0 and GML is the default return)
|
|
64
|
-
this.wfsGetFeature(dataSourceOptions, 1, undefined, undefined, 0, true).pipe(concatMap(res => String(res).toLowerCase().includes('exception') ? of(false) : of(true)), concatMap(allowGml => {
|
|
65
|
-
// If the service return GML (return no exception)
|
|
66
|
-
return this.wfsGetFeature(dataSourceOptions, 1).pipe(concatMap(firstFeature => {
|
|
67
|
-
const features = olFormats.readFeatures(firstFeature);
|
|
68
|
-
fieldList = features[0].getKeys();
|
|
69
|
-
if (dataSourceOptions.sourceFields || dataSourceOptions.sourceFields.length === 0) {
|
|
70
|
-
sourceFieldsToRetrieveValues = fieldList;
|
|
71
|
-
}
|
|
72
|
-
fieldListWoGeom = fieldList.filter(field => sourceFieldsToRetrieveValues.includes(field) &&
|
|
73
|
-
field !== features[0].getGeometryName() &&
|
|
74
|
-
!field.match(/boundedby/gi));
|
|
75
|
-
fieldListWoGeomStr = fieldListWoGeom.join(',');
|
|
76
|
-
const processingArray = [];
|
|
77
|
-
let startIndex = 0;
|
|
78
|
-
// If the service do not allow gml return, dice the call in multiple
|
|
79
|
-
// calls by increment of chunkSize with the original outputFormat
|
|
80
|
-
if (!allowGml && dataSourceOptions.paramsWFS.version === '2.0.0' &&
|
|
81
|
-
dataSourceOptions.paramsWFS.maxFeatures > defaultMaxFeatures) {
|
|
82
|
-
const chunkSize = 1000;
|
|
83
|
-
while (startIndex < dataSourceOptions.paramsWFS.maxFeatures) {
|
|
84
|
-
processingArray.push(this.wfsGetFeature(dataSourceOptions, chunkSize, dataSourceOptions.paramsWFS.srsName, fieldListWoGeomStr, startIndex));
|
|
85
|
-
startIndex += chunkSize;
|
|
86
|
-
}
|
|
87
|
-
effectiveOlFormats = olFormats;
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
processingArray.push(this.wfsGetFeature(dataSourceOptions, dataSourceOptions.paramsWFS.maxFeatures || defaultMaxFeatures, dataSourceOptions.paramsWFS.srsName, fieldListWoGeomStr, 0, true));
|
|
91
|
-
}
|
|
92
|
-
return combineLatest(processingArray);
|
|
93
|
-
}));
|
|
94
|
-
})).subscribe((results) => {
|
|
95
|
-
let mfeatures = [];
|
|
96
|
-
results.map((result) => {
|
|
97
|
-
const loopFeatures = effectiveOlFormats.readFeatures(result);
|
|
98
|
-
mfeatures = mfeatures.concat(loopFeatures);
|
|
99
|
-
});
|
|
100
|
-
this.built_properties_value(mfeatures).forEach(element => {
|
|
101
|
-
sourceFields.push(element);
|
|
102
|
-
});
|
|
103
|
-
d.next(sourceFields);
|
|
104
|
-
d.complete();
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
built_properties_value(features) {
|
|
109
|
-
if (features.length === 0) {
|
|
110
|
-
return [];
|
|
111
|
-
}
|
|
112
|
-
const kv = Object.assign({}, features[0].getProperties());
|
|
113
|
-
delete kv[features[0].getGeometryName()];
|
|
114
|
-
delete kv.boundedBy;
|
|
115
|
-
const sourceFields = [];
|
|
116
|
-
for (const property in kv) {
|
|
117
|
-
if (kv.hasOwnProperty(property)) {
|
|
118
|
-
const fieldType = typeof features[0].get(property) === 'object'
|
|
119
|
-
? undefined
|
|
120
|
-
: typeof features[0].get(property);
|
|
121
|
-
sourceFields.push({
|
|
122
|
-
name: property,
|
|
123
|
-
alias: property,
|
|
124
|
-
type: fieldType,
|
|
125
|
-
values: [kv[property]]
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
features.every((element) => {
|
|
130
|
-
const featureProperties = element.getProperties();
|
|
131
|
-
for (const key in featureProperties) {
|
|
132
|
-
if (featureProperties.hasOwnProperty(key) && key in kv) {
|
|
133
|
-
sourceFields.filter(f => f.name === key).forEach(v => {
|
|
134
|
-
if (v.values.indexOf(featureProperties[key]) === -1) {
|
|
135
|
-
v.values.push(featureProperties[key]);
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
return true;
|
|
141
|
-
});
|
|
142
|
-
return sourceFields;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
WFSService.ɵfac = function WFSService_Factory(t) { return new (t || WFSService)(i0.ɵɵinject(i1.HttpClient)); };
|
|
146
|
-
WFSService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: WFSService, factory: WFSService.ɵfac, providedIn: 'root' });
|
|
147
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WFSService, [{
|
|
148
|
-
type: Injectable,
|
|
149
|
-
args: [{
|
|
150
|
-
providedIn: 'root'
|
|
151
|
-
}]
|
|
152
|
-
}], function () { return [{ type: i1.HttpClient }]; }, null); })();
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ZzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93ZnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUlyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUNuQixRQUFRLEVBQ1IsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixvQkFBb0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBSzNDLE1BQU0sT0FBTyxVQUFXLFNBQVEsV0FBVztJQUN6QyxZQUFvQixJQUFnQjtRQUNsQyxLQUFLLEVBQUUsQ0FBQztRQURVLFNBQUksR0FBSixJQUFJLENBQVk7SUFFcEMsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDaEQsT0FBTyxrQ0FBa0MsQ0FBQztJQUM1QyxDQUFDO0lBRU0sc0JBQXNCLENBQUMsaUJBQThEO1FBQzFGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLElBQUksaUJBQWlCLENBQUMsWUFBWSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUc7WUFDbkYsaUJBQWlCLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsRUFBRTtnQkFDbkYsaUJBQWlCLENBQUMsWUFBWSxHQUFHLHFCQUFxQixD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dWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IG9sRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJztcclxuaW1wb3J0IHsgV0ZTRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL3dmcy1kYXRhc291cmNlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFdNU0RhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi93bXMtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4vZGF0YS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZm9ybWF0V0ZTUXVlcnlTdHJpbmcsXHJcbiAgICAgICAgICBnbWxSZWdleCxcclxuICAgICAgICAgIGRlZmF1bHRFcHNnLFxyXG4gICAgICAgICAgZGVmYXVsdE1heEZlYXR1cmVzLFxyXG4gICAgICAgICAgZ2V0Rm9ybWF0RnJvbU9wdGlvbnN9IGZyb20gJy4vd21zLXdmcy51dGlscyc7XHJcbmltcG9ydCB7IGNvbmNhdE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgV0ZTU2VydmljZSBleHRlbmRzIERhdGFTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBnZXREYXRhKCkge1xyXG4gICAgY29uc29sZS5sb2coJ1RoaXMgaXMgZGVmaW5pbmcgYSBkYXRhIHNlcnZpY2UuJyk7XHJcbiAgICByZXR1cm4gJ1RoaXMgaXMgZGVmaW5pbmcgYSBkYXRhIHNlcnZpY2UuJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTb3VyY2VGaWVsZHNGcm9tV0ZTKGRhdGFTb3VyY2VPcHRpb25zOiBXRlNEYXRhU291cmNlT3B0aW9ucyB8IFdNU0RhdGFTb3VyY2VPcHRpb25zKSB7XHJcbiAgICBpZiAoIWRhdGFTb3VyY2VPcHRpb25zLnNvdXJjZUZpZWxkcyB8fCBkYXRhU291cmNlT3B0aW9ucy5zb3VyY2VGaWVsZHMubGVuZ3RoID09PSAwICkge1xyXG4gICAgICBkYXRhU291cmNlT3B0aW9ucy5zb3VyY2VGaWVsZHMgPSBbXTtcclxuICAgICAgdGhpcy5kZWZpbmVGaWVsZEFuZFZhbHVlZnJvbVdGUyhkYXRhU291cmNlT3B0aW9ucykuc3Vic2NyaWJlKGdldGZlYXR1cmVTb3VyY2VGaWVsZCA9PiB7XHJcbiAgICAgICAgZGF0YVNvdXJjZU9wdGlvbnMuc291cmNlRmllbGRzID0gZ2V0ZmVhdHVyZVNvdXJjZUZpZWxkO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRlZmluZUZpZWxkQW5kVmFsdWVmcm9tV0ZTKGRhdGFTb3VyY2VPcHRpb25zKS5zdWJzY3JpYmUoZ2V0ZmVhdHVyZVNvdXJjZUZpZWxkID0+IHtcclxuICAgICAgICBkYXRhU291cmNlT3B0aW9ucy5zb3VyY2VGaWVsZHMuZm9yRWFjaChzb3VyY2VmaWVsZCA9PiB7XHJcbiAgICAgICAgICBpZiAoc291cmNlZmllbGQuYWxpYXMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBzb3VyY2VmaWVsZC5hbGlhcyA9IHNvdXJjZWZpZWxkLm5hbWU7IC8vIHRvIGFsbG93IG9ubHkgYSBsaXN0IG9mIHNvdXJjZWZpZWxkIHdpdGggbmFtZXNcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChzb3VyY2VmaWVsZC52YWx1ZXMgPT09IHVuZGVmaW5lZCB8fCBzb3VyY2VmaWVsZC52YWx1ZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHNvdXJjZWZpZWxkLnZhbHVlcyA9IGdldGZlYXR1cmVTb3VyY2VGaWVsZC5maW5kKHNmID0+IHNmLm5hbWUgPT09IHNvdXJjZWZpZWxkLm5hbWUpLnZhbHVlcztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHdmc0dldEZlYXR1cmUoXHJcbiAgICBkYXRhU291cmNlT3B0aW9uczogV0ZTRGF0YVNvdXJjZU9wdGlvbnMgfCBXTVNEYXRhU291cmNlT3B0aW9ucyxcclxuICAgIG5iOiBudW1iZXIgPSBkZWZhdWx0TWF4RmVhdHVyZXMsXHJcbiAgICBlcHNnQ29kZTogc3RyaW5nID0gZGVmYXVsdEVwc2csXHJcbiAgICBwcm9wZXJ0eU5hbWU/OiBzdHJpbmcsXHJcbiAgICBzdGFydEluZGV4OiBudW1iZXIgPSAwLFxyXG4gICAgZm9yY2VEZWZhdWx0T3V0cHV0Rm9ybWF0OiBib29sZWFuID0gZmFsc2VcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgcXVlcnlTdHJpbmdWYWx1ZXMgPSBmb3JtYXRXRlNRdWVyeVN0cmluZyhkYXRhU291cmNlT3B0aW9ucywgbmIsIGVwc2dDb2RlLCBwcm9wZXJ0eU5hbWUsIHN0YXJ0SW5kZXgsIGZvcmNlRGVmYXVsdE91dHB1dEZvcm1hdCApO1xyXG4gICAgY29uc3QgYmFzZVVybCA9IHF1ZXJ5U3RyaW5nVmFsdWVzLmZpbmQoZiA9PiBmLm5hbWUgPT09ICdnZXRmZWF0dXJlJykudmFsdWU7XHJcbiAgICBjb25zdCBvdXRwdXRGb3JtYXQgPSBkYXRhU291cmNlT3B0aW9ucy5wYXJhbXNXRlMub3V0cHV0Rm9ybWF0O1xyXG4gICAgaWYgKGZvcmNlRGVmYXVsdE91dHB1dEZvcm1hdCB8fCBnbWxSZWdleC50ZXN0KG91dHB1dEZvcm1hdCkgfHwgIW91dHB1dEZvcm1hdCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldChiYXNlVXJsLCB7IHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYmFzZVVybCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkZWZpbmVGaWVsZEFuZFZhbHVlZnJvbVdGUyhcclxuICAgIGRhdGFTb3VyY2VPcHRpb25zOiBXRlNEYXRhU291cmNlT3B0aW9ucyB8IFdNU0RhdGFTb3VyY2VPcHRpb25zXHJcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShkID0+IHtcclxuICAgICAgY29uc3Qgc291cmNlRmllbGRzID0gW107XHJcbiAgICAgIGxldCBmaWVsZExpc3Q7XHJcbiAgICAgIGxldCBmaWVsZExpc3RXb0dlb207XHJcbiAgICAgIGxldCBmaWVsZExpc3RXb0dlb21TdHI7XHJcbiAgICAgIGxldCBvbEZvcm1hdHM7XHJcbiAgICAgIGxldCBlZmZlY3RpdmVPbEZvcm1hdHM7XHJcblxyXG4gICAgICBvbEZvcm1hdHMgPSBnZXRGb3JtYXRGcm9tT3B0aW9ucyhkYXRhU291cmNlT3B0aW9ucyk7XHJcbiAgICAgIGNvbnN0IGdtbERhdGFTb3VyY2VPcHRpb25zOiBXRlNEYXRhU291cmNlT3B0aW9ucyB8IFdNU0RhdGFTb3VyY2VPcHRpb25zID0gSlNPTi5wYXJzZShcclxuICAgICAgICBKU09OLnN0cmluZ2lmeShkYXRhU291cmNlT3B0aW9ucylcclxuICAgICAgKTtcclxuICAgICAgZGVsZXRlIGdtbERhdGFTb3VyY2VPcHRpb25zLnBhcmFtc1dGUy5vdXRwdXRGb3JtYXQ7XHJcbiAgICAgIGRlbGV0ZSAoZ21sRGF0YVNvdXJjZU9wdGlvbnMgYXMgV0ZTRGF0YVNvdXJjZU9wdGlvbnMpLmZvcm1hdE9wdGlvbnM7XHJcblxyXG4gICAgICBlZmZlY3RpdmVPbEZvcm1hdHMgPSBnZXRGb3JtYXRGcm9tT3B0aW9ucyhnbWxEYXRhU291cmNlT3B0aW9ucyk7XHJcbiAgICAgIGxldCBzb3VyY2VGaWVsZHNUb1JldHJpZXZlVmFsdWVzID0gZGF0YVNvdXJjZU9wdGlvbnMuc291cmNlRmllbGRzPy5maWx0ZXIoZiA9PiAhZi52YWx1ZXMpLm1hcChmID0+IGYubmFtZSk7XHJcblxyXG4gICAgICAvLyBWYWxpZGF0ZSBpZiB0aGUgc2VydmljZSBtYW5hZ2Ugbm8gb3V0cHV0Zm9ybWF0ICh3ZnMgMS4wLjAgYW5kIEdNTCBpcyB0aGUgZGVmYXVsdCByZXR1cm4pXHJcbiAgICAgIHRoaXMud2ZzR2V0RmVhdHVyZShkYXRhU291cmNlT3B0aW9ucywgMSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIDAsIHRydWUpLnBpcGUoXHJcbiAgICAgICAgY29uY2F0TWFwKHJlcyA9PiBTdHJpbmcocmVzKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdleGNlcHRpb24nKSA/IG9mKGZhbHNlKSA6IG9mKHRydWUpKSxcclxuICAgICAgICBjb25jYXRNYXAoYWxsb3dHbWwgPT4ge1xyXG4gICAgICAgICAgLy8gSWYgdGhlIHNlcnZpY2UgcmV0dXJuIEdNTCAocmV0dXJuIG5vIGV4Y2VwdGlvbilcclxuICAgICAgICAgIHJldHVybiB0aGlzLndmc0dldEZlYXR1cmUoZGF0YVNvdXJjZU9wdGlvbnMsIDEpLnBpcGUoXHJcbiAgICAgICAgICAgIGNvbmNhdE1hcChmaXJzdEZlYXR1cmUgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGZlYXR1cmVzID0gb2xGb3JtYXRzLnJlYWRGZWF0dXJlcyhmaXJzdEZlYXR1cmUpO1xyXG4gICAgICAgICAgICAgIGZpZWxkTGlzdCA9IGZlYXR1cmVzWzBdLmdldEtleXMoKTtcclxuICAgICAgICAgICAgICBpZiAoZGF0YVNvdXJjZU9wdGlvbnMuc291cmNlRmllbGRzIHx8IGRhdGFTb3VyY2VPcHRpb25zLnNvdXJjZUZpZWxkcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgICAgIHNvdXJjZUZpZWxkc1RvUmV0cmlldmVWYWx1ZXMgPSBmaWVsZExpc3Q7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGZpZWxkTGlzdFdvR2VvbSA9IGZpZWxkTGlzdC5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgICBmaWVsZCA9PlxyXG4gICAgICAgICAgICAgICAgICBzb3VyY2VGaWVsZHNUb1JldHJpZXZlVmFsdWVzLmluY2x1ZGVzKGZpZWxkKSAmJlxyXG4gICAgICAgICAgICAgICAgICBmaWVsZCAhPT0gZmVhdHVyZXNbMF0uZ2V0R2VvbWV0cnlOYW1lKCkgJiZcclxuICAgICAgICAgICAgICAgICAgIWZpZWxkLm1hdGNoKC9ib3VuZGVkYnkvZ2kpXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICBmaWVsZExpc3RXb0dlb21TdHIgPSBmaWVsZExpc3RXb0dlb20uam9pbignLCcpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NpbmdBcnJheSA9IFtdO1xyXG4gICAgICAgICAgICAgIGxldCBzdGFydEluZGV4ID0gMDtcclxuICAgICAgICAgICAgICAvLyBJZiB0aGUgc2VydmljZSBkbyBub3QgYWxsb3cgZ21sIHJldHVybiwgZGljZSB0aGUgY2FsbCBpbiBtdWx0aXBsZVxyXG4gICAgICAgICAgICAgIC8vIGNhbGxzIGJ5IGluY3JlbWVudCBvZiBjaHVua1NpemUgd2l0aCB0aGUgb3JpZ2luYWwgb3V0cHV0Rm9ybWF0XHJcbiAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgIWFsbG93R21sICYmIGRhdGFTb3VyY2VPcHRpb25zLnBhcmFtc1dGUy52ZXJzaW9uID09PSAnMi4wLjAnICYmXHJcbiAgICAgICAgICAgICAgICBkYXRhU291cmNlT3B0aW9ucy5wYXJhbXNXRlMubWF4RmVhdHVyZXMgPiBkZWZhdWx0TWF4RmVhdHVyZXMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNodW5rU2l6ZSA9IDEwMDA7XHJcbiAgICAgICAgICAgICAgICB3aGlsZSAoc3RhcnRJbmRleCA8IGRhdGFTb3VyY2VPcHRpb25zLnBhcmFtc1dGUy5tYXhGZWF0dXJlcykge1xyXG4gICAgICAgICAgICAgICAgICBwcm9jZXNzaW5nQXJyYXkucHVzaCh0aGlzLndmc0dldEZlYXR1cmUoXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YVNvdXJjZU9wdGlvbnMsXHJcbiAgICAgICAgICAgICAgICAgICAgY2h1bmtTaXplLFxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGFTb3VyY2VPcHRpb25zLnBhcmFtc1dGUy5zcnNOYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkTGlzdFdvR2VvbVN0cixcclxuICAgICAgICAgICAgICAgICAgICBzdGFydEluZGV4XHJcbiAgICAgICAgICAgICAgICAgICkpO1xyXG4gICAgICAgICAgICAgICAgICBzdGFydEluZGV4ICs9IGNodW5rU2l6ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVmZmVjdGl2ZU9sRm9ybWF0cyA9IG9sRm9ybWF0cztcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcHJvY2Vzc2luZ0FycmF5LnB1c2godGhpcy53ZnNHZXRGZWF0dXJlKFxyXG4gICAgICAgICAgICAgICAgICBkYXRhU291cmNlT3B0aW9ucyxcclxuICAgICAgICAgICAgICAgICAgZGF0YVNvdXJjZU9wdGlvbnMucGFyYW1zV0ZTLm1heEZlYXR1cmVzIHx8IGRlZmF1bHRNYXhGZWF0dXJlcyxcclxuICAgICAgICAgICAgICAgICAgZGF0YVNvdXJjZU9wdGlvbnMucGFyYW1zV0ZTLnNyc05hbWUsXHJcbiAgICAgICAgICAgICAgICAgIGZpZWxkTGlzdFdvR2VvbVN0cixcclxuICAgICAgICAgICAgICAgICAgMCwgdHJ1ZVxyXG4gICAgICAgICAgICAgICAgKSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHByb2Nlc3NpbmdBcnJheSk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0pKS5zdWJzY3JpYmUoKHJlc3VsdHMpID0+IHtcclxuICAgICAgICAgIGxldCBtZmVhdHVyZXM6IG9sRmVhdHVyZTxPbEdlb21ldHJ5PltdID0gW107XHJcbiAgICAgICAgICByZXN1bHRzLm1hcCgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGxvb3BGZWF0dXJlcyA9IGVmZmVjdGl2ZU9sRm9ybWF0cy5yZWFkRmVhdHVyZXMocmVzdWx0KTtcclxuICAgICAgICAgICAgbWZlYXR1cmVzID0gbWZlYXR1cmVzLmNvbmNhdChsb29wRmVhdHVyZXMpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLmJ1aWx0X3Byb3BlcnRpZXNfdmFsdWUobWZlYXR1cmVzKS5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICAgICAgICBzb3VyY2VGaWVsZHMucHVzaChlbGVtZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgZC5uZXh0KHNvdXJjZUZpZWxkcyk7XHJcbiAgICAgICAgICBkLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbHRfcHJvcGVydGllc192YWx1ZShmZWF0dXJlczogb2xGZWF0dXJlPE9sR2VvbWV0cnk+W10pOiBzdHJpbmdbXSB7XHJcbiAgICBpZiAoZmVhdHVyZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICAgIGNvbnN0IGt2ID0gT2JqZWN0LmFzc2lnbih7fSwgZmVhdHVyZXNbMF0uZ2V0UHJvcGVydGllcygpKTtcclxuICAgIGRlbGV0ZSBrdltmZWF0dXJlc1swXS5nZXRHZW9tZXRyeU5hbWUoKV07XHJcbiAgICBkZWxldGUga3YuYm91bmRlZEJ5O1xyXG4gICAgY29uc3Qgc291cmNlRmllbGRzID0gW107XHJcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGt2KSB7XHJcbiAgICAgIGlmIChrdi5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eSkpIHtcclxuICAgICAgICBjb25zdCBmaWVsZFR5cGUgPVxyXG4gICAgICAgICAgdHlwZW9mIGZlYXR1cmVzWzBdLmdldChwcm9wZXJ0eSkgPT09ICdvYmplY3QnXHJcbiAgICAgICAgICAgID8gdW5kZWZpbmVkXHJcbiAgICAgICAgICAgIDogdHlwZW9mIGZlYXR1cmVzWzBdLmdldChwcm9wZXJ0eSk7XHJcbiAgICAgICAgc291cmNlRmllbGRzLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogcHJvcGVydHksXHJcbiAgICAgICAgICBhbGlhczogcHJvcGVydHksXHJcbiAgICAgICAgICB0eXBlOiBmaWVsZFR5cGUsXHJcbiAgICAgICAgICB2YWx1ZXM6IFtrdltwcm9wZXJ0eV1dXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGZlYXR1cmVzLmV2ZXJ5KChlbGVtZW50KSA9PiB7XHJcbiAgICAgIGNvbnN0IGZlYXR1cmVQcm9wZXJ0aWVzID0gZWxlbWVudC5nZXRQcm9wZXJ0aWVzKCk7XHJcbiAgICAgIGZvciAoY29uc3Qga2V5IGluIGZlYXR1cmVQcm9wZXJ0aWVzKSB7XHJcbiAgICAgICAgaWYgKGZlYXR1cmVQcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KGtleSkgJiYga2V5IGluIGt2KSB7XHJcbiAgICAgICAgICBzb3VyY2VGaWVsZHMuZmlsdGVyKGYgPT4gZi5uYW1lID09PSBrZXkpLmZvckVhY2godiA9PiB7XHJcbiAgICAgICAgICAgIGlmICh2LnZhbHVlcy5pbmRleE9mKGZlYXR1cmVQcm9wZXJ0aWVzW2tleV0pID09PSAtMSkge1xyXG4gICAgICAgICAgICAgIHYudmFsdWVzLnB1c2goZmVhdHVyZVByb3BlcnRpZXNba2V5XSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHNvdXJjZUZpZWxkcztcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
import olSourceImageWMS from 'ol/source/ImageWMS';
|
|
2
|
-
import { DataSource } from './datasource';
|
|
3
|
-
import { OgcFilterWriter } from '../../../filter/shared/ogc-filter';
|
|
4
|
-
import { QueryHtmlTarget } from '../../../query/shared/query.enums';
|
|
5
|
-
import { formatWFSQueryString, checkWfsParams, defaultFieldNameGeometry } from './wms-wfs.utils';
|
|
6
|
-
import { ObjectUtils } from '@igo2/utils';
|
|
7
|
-
import { BehaviorSubject } from 'rxjs';
|
|
8
|
-
export class WMSDataSource extends DataSource {
|
|
9
|
-
constructor(options, wfsService) {
|
|
10
|
-
super(options);
|
|
11
|
-
this.options = options;
|
|
12
|
-
this.wfsService = wfsService;
|
|
13
|
-
this.ogcFilters$ = new BehaviorSubject(undefined);
|
|
14
|
-
this.timeFilter$ = new BehaviorSubject(undefined);
|
|
15
|
-
const sourceParams = options.params;
|
|
16
|
-
const dpi = sourceParams.DPI || 96;
|
|
17
|
-
sourceParams.DPI = dpi;
|
|
18
|
-
sourceParams.MAP_RESOLUTION = dpi;
|
|
19
|
-
sourceParams.FORMAT_OPTIONS = 'dpi:' + dpi;
|
|
20
|
-
if (options.refreshIntervalSec && options.refreshIntervalSec > 0) {
|
|
21
|
-
setInterval(() => {
|
|
22
|
-
this.refresh();
|
|
23
|
-
}, options.refreshIntervalSec * 1000); // Convert seconds to MS
|
|
24
|
-
}
|
|
25
|
-
let fieldNameGeometry = defaultFieldNameGeometry;
|
|
26
|
-
// #### START if paramsWFS
|
|
27
|
-
if (options.paramsWFS) {
|
|
28
|
-
const wfsCheckup = checkWfsParams(options, 'wms');
|
|
29
|
-
ObjectUtils.mergeDeep(options.paramsWFS, wfsCheckup.paramsWFS);
|
|
30
|
-
fieldNameGeometry =
|
|
31
|
-
options.paramsWFS.fieldNameGeometry || fieldNameGeometry;
|
|
32
|
-
options.download = Object.assign({}, options.download, {
|
|
33
|
-
dynamicUrl: this.buildDynamicDownloadUrlFromParamsWFS(options)
|
|
34
|
-
});
|
|
35
|
-
} // #### END if paramsWFS
|
|
36
|
-
if (!options.sourceFields || options.sourceFields.length === 0) {
|
|
37
|
-
options.sourceFields = [];
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
options.sourceFields.forEach(sourceField => {
|
|
41
|
-
sourceField.alias = sourceField.alias
|
|
42
|
-
? sourceField.alias
|
|
43
|
-
: sourceField.name;
|
|
44
|
-
// to allow only a list of sourcefield with names
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
const initOgcFilters = options
|
|
48
|
-
.ogcFilters;
|
|
49
|
-
const ogcFilterWriter = new OgcFilterWriter();
|
|
50
|
-
if (!initOgcFilters) {
|
|
51
|
-
options.ogcFilters = ogcFilterWriter.defineOgcFiltersDefaultOptions(initOgcFilters, fieldNameGeometry, 'wms');
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
initOgcFilters.advancedOgcFilters = (initOgcFilters.pushButtons || initOgcFilters.checkboxes
|
|
55
|
-
|| initOgcFilters.radioButtons || initOgcFilters.select || initOgcFilters.autocomplete)
|
|
56
|
-
? false
|
|
57
|
-
: true;
|
|
58
|
-
if (initOgcFilters.advancedOgcFilters && initOgcFilters.filters) {
|
|
59
|
-
const filterDuring = initOgcFilters.filters;
|
|
60
|
-
if (filterDuring.calendarModeYear) {
|
|
61
|
-
initOgcFilters.advancedOgcFilters = false;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
if (initOgcFilters.pushButtons) {
|
|
65
|
-
initOgcFilters.pushButtons.selectorType = 'pushButton';
|
|
66
|
-
}
|
|
67
|
-
if (initOgcFilters.checkboxes) {
|
|
68
|
-
initOgcFilters.checkboxes.selectorType = 'checkbox';
|
|
69
|
-
}
|
|
70
|
-
if (initOgcFilters.radioButtons) {
|
|
71
|
-
initOgcFilters.radioButtons.selectorType = 'radioButton';
|
|
72
|
-
}
|
|
73
|
-
if (initOgcFilters.select) {
|
|
74
|
-
initOgcFilters.select.selectorType = 'select';
|
|
75
|
-
}
|
|
76
|
-
if (initOgcFilters.autocomplete) {
|
|
77
|
-
initOgcFilters.autocomplete.selectorType = 'autocomplete';
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
if (sourceParams.LAYERS.split(',').length > 1 &&
|
|
81
|
-
initOgcFilters &&
|
|
82
|
-
initOgcFilters.enabled) {
|
|
83
|
-
console.log('*******************************');
|
|
84
|
-
console.log('BE CAREFULL, YOUR WMS LAYERS (' +
|
|
85
|
-
sourceParams.LAYERS +
|
|
86
|
-
') MUST SHARE THE SAME FIELDS TO ALLOW ogcFilters TO WORK !! ');
|
|
87
|
-
console.log('*******************************');
|
|
88
|
-
}
|
|
89
|
-
if (options.paramsWFS &&
|
|
90
|
-
initOgcFilters &&
|
|
91
|
-
initOgcFilters.enabled &&
|
|
92
|
-
initOgcFilters.editable &&
|
|
93
|
-
(options.sourceFields || []).filter(sf => !sf.values).length > 0) {
|
|
94
|
-
this.wfsService.getSourceFieldsFromWFS(options);
|
|
95
|
-
}
|
|
96
|
-
const filterQueryString = ogcFilterWriter.handleOgcFiltersAppliedValue(options, fieldNameGeometry);
|
|
97
|
-
sourceParams.FILTER = filterQueryString;
|
|
98
|
-
this.setOgcFilters(initOgcFilters, true);
|
|
99
|
-
const timeFilterableDataSourceOptions = options;
|
|
100
|
-
if ((timeFilterableDataSourceOptions === null || timeFilterableDataSourceOptions === void 0 ? void 0 : timeFilterableDataSourceOptions.timeFilterable) &&
|
|
101
|
-
(timeFilterableDataSourceOptions === null || timeFilterableDataSourceOptions === void 0 ? void 0 : timeFilterableDataSourceOptions.timeFilter)) {
|
|
102
|
-
this.setTimeFilter(timeFilterableDataSourceOptions.timeFilter, true);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
get params() {
|
|
106
|
-
return this.options.params;
|
|
107
|
-
}
|
|
108
|
-
get queryTitle() {
|
|
109
|
-
return this.options.queryTitle
|
|
110
|
-
? this.options.queryTitle
|
|
111
|
-
: 'title';
|
|
112
|
-
}
|
|
113
|
-
get mapLabel() {
|
|
114
|
-
return this.options.mapLabel;
|
|
115
|
-
}
|
|
116
|
-
get queryHtmlTarget() {
|
|
117
|
-
return this.options.queryHtmlTarget
|
|
118
|
-
? this.options.queryHtmlTarget
|
|
119
|
-
: QueryHtmlTarget.BLANK;
|
|
120
|
-
}
|
|
121
|
-
set ogcFilters(value) {
|
|
122
|
-
this.options.ogcFilters = value;
|
|
123
|
-
}
|
|
124
|
-
get ogcFilters() {
|
|
125
|
-
return this.options.ogcFilters;
|
|
126
|
-
}
|
|
127
|
-
set timeFilter(value) {
|
|
128
|
-
this.options.timeFilter = value;
|
|
129
|
-
}
|
|
130
|
-
get timeFilter() {
|
|
131
|
-
return this.options.timeFilter;
|
|
132
|
-
}
|
|
133
|
-
refresh() {
|
|
134
|
-
this.ol.updateParams({ igoRefresh: Math.random() });
|
|
135
|
-
}
|
|
136
|
-
buildDynamicDownloadUrlFromParamsWFS(asWFSDataSourceOptions) {
|
|
137
|
-
const queryStringValues = formatWFSQueryString(asWFSDataSourceOptions);
|
|
138
|
-
const downloadUrl = queryStringValues.find(f => f.name === 'getfeature')
|
|
139
|
-
.value;
|
|
140
|
-
return downloadUrl;
|
|
141
|
-
}
|
|
142
|
-
createOlSource() {
|
|
143
|
-
return new olSourceImageWMS(Object.assign({ ratio: 1 }, this.options));
|
|
144
|
-
}
|
|
145
|
-
setOgcFilters(ogcFilters, triggerEvent = false) {
|
|
146
|
-
this.ogcFilters = ogcFilters;
|
|
147
|
-
if (triggerEvent) {
|
|
148
|
-
this.ogcFilters$.next(this.ogcFilters);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
setTimeFilter(timeFilter, triggerEvent = false) {
|
|
152
|
-
this.timeFilter = timeFilter;
|
|
153
|
-
if (triggerEvent) {
|
|
154
|
-
this.timeFilter$.next(this.timeFilter);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
getLegend(style, view) {
|
|
158
|
-
let legend = super.getLegend();
|
|
159
|
-
if (legend.length > 0 && (style === undefined && !(view === null || view === void 0 ? void 0 : view.scale))) {
|
|
160
|
-
return legend;
|
|
161
|
-
}
|
|
162
|
-
let contentDependent = false;
|
|
163
|
-
let projParam;
|
|
164
|
-
if ((view === null || view === void 0 ? void 0 : view.size) && (view === null || view === void 0 ? void 0 : view.extent) && (view === null || view === void 0 ? void 0 : view.projection) && this.options.contentDependentLegend) {
|
|
165
|
-
projParam = this.params.VERSION === '1.3.0' || this.params.VERSION === undefined ? 'CRS' : 'SRS';
|
|
166
|
-
contentDependent = true;
|
|
167
|
-
}
|
|
168
|
-
const sourceParams = this.params;
|
|
169
|
-
let layers = [];
|
|
170
|
-
if (sourceParams.LAYERS !== undefined) {
|
|
171
|
-
layers = sourceParams.LAYERS.split(',');
|
|
172
|
-
}
|
|
173
|
-
const baseUrl = this.options.url.replace(/\?$/, '');
|
|
174
|
-
const params = [
|
|
175
|
-
'REQUEST=GetLegendGraphic',
|
|
176
|
-
'SERVICE=WMS',
|
|
177
|
-
'FORMAT=image/png',
|
|
178
|
-
'SLD_VERSION=1.1.0',
|
|
179
|
-
`VERSION=${sourceParams.VERSION || '1.3.0'}`
|
|
180
|
-
];
|
|
181
|
-
if (style !== undefined) {
|
|
182
|
-
params.push(`STYLE=${style}`);
|
|
183
|
-
}
|
|
184
|
-
if ((view === null || view === void 0 ? void 0 : view.scale) !== undefined) {
|
|
185
|
-
params.push(`SCALE=${view.scale}`);
|
|
186
|
-
}
|
|
187
|
-
if (contentDependent) {
|
|
188
|
-
params.push(`WIDTH=${view.size[0]}`);
|
|
189
|
-
params.push(`HEIGHT=${view.size[1]}`);
|
|
190
|
-
params.push(`BBOX=${view.extent.join(',')}`);
|
|
191
|
-
params.push(`${projParam}=${view.projection}`);
|
|
192
|
-
}
|
|
193
|
-
legend = layers.map((layer) => {
|
|
194
|
-
const separator = baseUrl.match(/\?/) ? '&' : '?';
|
|
195
|
-
return {
|
|
196
|
-
url: `${baseUrl}${separator}${params.join('&')}&LAYER=${layer}`,
|
|
197
|
-
title: layers.length > 1 ? layer : undefined,
|
|
198
|
-
currentStyle: style === undefined ? undefined : style
|
|
199
|
-
};
|
|
200
|
-
});
|
|
201
|
-
return legend;
|
|
202
|
-
}
|
|
203
|
-
onUnwatch() { }
|
|
204
|
-
}
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid21zLWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93bXMtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGdCQUFnQixNQUFNLG9CQUFvQixDQUFDO0FBRWxELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFLMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCx3QkFBd0IsRUFDekIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdkMsTUFBTSxPQUFPLGFBQWMsU0FBUSxVQUFVO0lBd0MzQyxZQUNTLE9BQTZCLEVBQzFCLFVBQXNCO1FBRWhDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUhSLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBQzFCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFaekIsZ0JBQVcsR0FBdUMsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7UUFRakYsZ0JBQVcsR0FBdUMsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7UUFPeEYsTUFBTSxZQUFZLEdBQVEsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUV6QyxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUNuQyxZQUFZLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUN2QixZQUFZLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQztR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QUFDLFNBQVM7Z0JBQzVDLFlBQVksRUFBRSxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQWU7YUFDaEUsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLFNBQVMsS0FBSSxDQUFDO0NBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG9sU291cmNlSW1hZ2VXTVMgZnJvbSAnb2wvc291cmNlL0ltYWdlV01TJztcclxuXHJcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UnO1xyXG5pbXBvcnQgeyBMZWdlbmQgfSBmcm9tICcuL2RhdGFzb3VyY2UuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgV01TRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL3dtcy1kYXRhc291cmNlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFdGU1NlcnZpY2UgfSBmcm9tICcuL3dmcy5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IE9nY0ZpbHRlcldyaXRlciB9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9zaGFyZWQvb2djLWZpbHRlcic7XHJcbmltcG9ydCB7IE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucywgT2djRmlsdGVyc09wdGlvbnMsIE9nY0ZpbHRlckR1cmluZ09wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXIuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgUXVlcnlIdG1sVGFyZ2V0IH0gZnJvbSAnLi4vLi4vLi4vcXVlcnkvc2hhcmVkL3F1ZXJ5LmVudW1zJztcclxuaW1wb3J0IHtcclxuICBmb3JtYXRXRlNRdWVyeVN0cmluZyxcclxuICBjaGVja1dmc1BhcmFtcyxcclxuICBkZWZhdWx0RmllbGROYW1lR2VvbWV0cnlcclxufSBmcm9tICcuL3dtcy13ZnMudXRpbHMnO1xyXG5cclxuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcbmltcG9ydCB7IExlZ2VuZE1hcFZpZXdPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucywgVGltZUZpbHRlck9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9maWx0ZXIvc2hhcmVkL3RpbWUtZmlsdGVyLmludGVyZmFjZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgV01TRGF0YVNvdXJjZSBleHRlbmRzIERhdGFTb3VyY2Uge1xyXG4gIHB1YmxpYyBvbDogb2xTb3VyY2VJbWFnZVdNUztcclxuXHJcbiAgZ2V0IHBhcmFtcygpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5wYXJhbXMgYXMgYW55O1xyXG4gIH1cclxuXHJcbiAgZ2V0IHF1ZXJ5VGl0bGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAodGhpcy5vcHRpb25zIGFzIGFueSkucXVlcnlUaXRsZVxyXG4gICAgICA/ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeVRpdGxlXHJcbiAgICAgIDogJ3RpdGxlJztcclxuICB9XHJcblxyXG4gIGdldCBtYXBMYWJlbCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICh0aGlzLm9wdGlvbnMgYXMgYW55KS5tYXBMYWJlbDtcclxuICB9XHJcblxyXG4gIGdldCBxdWVyeUh0bWxUYXJnZXQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAodGhpcy5vcHRpb25zIGFzIGFueSkucXVlcnlIdG1sVGFyZ2V0XHJcbiAgICAgID8gKHRoaXMub3B0aW9ucyBhcyBhbnkpLnF1ZXJ5SHRtbFRhcmdldFxyXG4gICAgICA6IFF1ZXJ5SHRtbFRhcmdldC5CTEFOSztcclxuICB9XHJcblxyXG4gIHNldCBvZ2NGaWx0ZXJzKHZhbHVlOiBPZ2NGaWx0ZXJzT3B0aW9ucykge1xyXG4gICAgKHRoaXMub3B0aW9ucyBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMpLm9nY0ZpbHRlcnMgPSB2YWx1ZTtcclxuICB9XHJcbiAgZ2V0IG9nY0ZpbHRlcnMoKTogT2djRmlsdGVyc09wdGlvbnMge1xyXG4gICAgcmV0dXJuICh0aGlzLm9wdGlvbnMgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zKS5vZ2NGaWx0ZXJzO1xyXG4gIH1cclxuXHJcbiAgcmVhZG9ubHkgb2djRmlsdGVycyQ6IEJlaGF2aW9yU3ViamVjdDxPZ2NGaWx0ZXJzT3B0aW9ucz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHVuZGVmaW5lZCk7XHJcblxyXG4gIHNldCB0aW1lRmlsdGVyKHZhbHVlOiBUaW1lRmlsdGVyT3B0aW9ucyApIHtcclxuICAgICh0aGlzLm9wdGlvbnMgYXMgVGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucykudGltZUZpbHRlciA9IHZhbHVlO1xyXG4gIH1cclxuICBnZXQgdGltZUZpbHRlcigpOiBUaW1lRmlsdGVyT3B0aW9ucyB7XHJcbiAgICByZXR1cm4gKHRoaXMub3B0aW9ucyBhcyBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zKS50aW1lRmlsdGVyO1xyXG4gIH1cclxuICByZWFkb25seSB0aW1lRmlsdGVyJDogQmVoYXZpb3JTdWJqZWN0PFRpbWVGaWx0ZXJPcHRpb25zPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgb3B0aW9uczogV01TRGF0YVNvdXJjZU9wdGlvbnMsXHJcbiAgICBwcm90ZWN0ZWQgd2ZzU2VydmljZTogV0ZTU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIob3B0aW9ucyk7XHJcbiAgICBjb25zdCBzb3VyY2VQYXJhbXM6IGFueSA9IG9wdGlvbnMucGFyYW1zO1xyXG5cclxuICAgIGNvbnN0IGRwaSA9IHNvdXJjZVBhcmFtcy5EUEkgfHwgOTY7XHJcbiAgICBzb3VyY2VQYXJhbXMuRFBJID0gZHBpO1xyXG4gICAgc291cmNlUGFyYW1zLk1BUF9SRVNPTFVUSU9OID0gZHBpO1xyXG4gICAgc291cmNlUGFyYW1zLkZPUk1BVF9PUFRJT05TID0gJ2RwaTonICsgZHBpO1xyXG5cclxuICAgIGlmIChvcHRpb25zLnJlZnJlc2hJbnRlcnZhbFNlYyAmJiBvcHRpb25zLnJlZnJlc2hJbnRlcnZhbFNlYyA+IDApIHtcclxuICAgICAgc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gICAgICB9LCBvcHRpb25zLnJlZnJlc2hJbnRlcnZhbFNlYyAqIDEwMDApOyAvLyBDb252ZXJ0IHNlY29uZHMgdG8gTVNcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZmllbGROYW1lR2VvbWV0cnkgPSBkZWZhdWx0RmllbGROYW1lR2VvbWV0cnk7XHJcblxyXG4gICAgLy8gIyMjIyAgIFNUQVJUIGlmIHBhcmFtc1dGU1xyXG4gICAgaWYgKG9wdGlvbnMucGFyYW1zV0ZTKSB7XHJcbiAgICAgIGNvbnN0IHdmc0NoZWNrdXAgPSBjaGVja1dmc1BhcmFtcyhvcHRpb25zLCAnd21zJyk7XHJcbiAgICAgIE9iamVjdFV0aWxzLm1lcmdlRGVlcChvcHRpb25zLnBhcmFtc1dGUywgd2ZzQ2hlY2t1cC5wYXJhbXNXRlMpO1xyXG5cclxuICAgICAgZmllbGROYW1lR2VvbWV0cnkgPVxyXG4gICAgICAgIG9wdGlvbnMucGFyYW1zV0ZTLmZpZWxkTmFtZUdlb21ldHJ5IHx8IGZpZWxkTmFtZUdlb21ldHJ5O1xyXG5cclxuICAgICAgb3B0aW9ucy5kb3dubG9hZCA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMuZG93bmxvYWQsIHtcclxuICAgICAgICBkeW5hbWljVXJsOiB0aGlzLmJ1aWxkRHluYW1pY0Rvd25sb2FkVXJsRnJvbVBhcmFtc1dGUyhvcHRpb25zKVxyXG4gICAgICB9KTtcclxuICAgIH0gLy8gICMjIyMgICBFTkQgIGlmIHBhcmFtc1dGU1xyXG5cclxuICAgIGlmICghb3B0aW9ucy5zb3VyY2VGaWVsZHMgfHwgb3B0aW9ucy5zb3VyY2VGaWVsZHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIG9wdGlvbnMuc291cmNlRmllbGRzID0gW107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBvcHRpb25zLnNvdXJjZUZpZWxkcy5mb3JFYWNoKHNvdXJjZUZpZWxkID0+IHtcclxuICAgICAgICBzb3VyY2VGaWVsZC5hbGlhcyA9IHNvdXJjZUZpZWxkLmFsaWFzXHJcbiAgICAgICAgICA/IHNvdXJjZUZpZWxkLmFsaWFzXHJcbiAgICAgICAgICA6IHNvdXJjZUZpZWxkLm5hbWU7XHJcbiAgICAgICAgLy8gdG8gYWxsb3cgb25seSBhIGxpc3Qgb2Ygc291cmNlZmllbGQgd2l0aCBuYW1lc1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGNvbnN0IGluaXRPZ2NGaWx0ZXJzID0gKG9wdGlvbnMgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zKVxyXG4gICAgICAub2djRmlsdGVycztcclxuICAgIGNvbnN0IG9nY0ZpbHRlcldyaXRlciA9IG5ldyBPZ2NGaWx0ZXJXcml0ZXIoKTtcclxuXHJcbiAgICBpZiAoIWluaXRPZ2NGaWx0ZXJzKSB7XHJcbiAgICAgIChvcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucykub2djRmlsdGVycyA9IG9nY0ZpbHRlcldyaXRlci5kZWZpbmVPZ2NGaWx0ZXJzRGVmYXVsdE9wdGlvbnMoXHJcbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMsXHJcbiAgICAgICAgZmllbGROYW1lR2VvbWV0cnksXHJcbiAgICAgICAgJ3dtcydcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGluaXRPZ2NGaWx0ZXJzLmFkdmFuY2VkT2djRmlsdGVycyA9IChpbml0T2djRmlsdGVycy5wdXNoQnV0dG9ucyB8fCBpbml0T2djRmlsdGVycy5jaGVja2JveGVzXHJcbiAgICAgICAgfHwgaW5pdE9nY0ZpbHRlcnMucmFkaW9CdXR0b25zIHx8IGluaXRPZ2NGaWx0ZXJzLnNlbGVjdCB8fCBpbml0T2djRmlsdGVycy5hdXRvY29tcGxldGUpXHJcbiAgICAgICAgPyBmYWxzZVxyXG4gICAgICAgIDogdHJ1ZTtcclxuICAgICAgaWYgKGluaXRPZ2NGaWx0ZXJzLmFkdmFuY2VkT2djRmlsdGVycyAmJiBpbml0T2djRmlsdGVycy5maWx0ZXJzKSB7XHJcbiAgICAgICAgICBjb25zdCBmaWx0ZXJEdXJpbmcgPSBpbml0T2djRmlsdGVycy5maWx0ZXJzIGFzIE9nY0ZpbHRlckR1cmluZ09wdGlvbnM7XHJcbiAgICAgICAgICBpZihmaWx0ZXJEdXJpbmcuY2FsZW5kYXJNb2RlWWVhcikge1xyXG4gICAgICAgICAgICBpbml0T2djRmlsdGVycy5hZHZhbmNlZE9nY0ZpbHRlcnMgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoaW5pdE9nY0ZpbHRlcnMucHVzaEJ1dHRvbnMpe1xyXG4gICAgICAgIGluaXRPZ2NGaWx0ZXJzLnB1c2hCdXR0b25zLnNlbGVjdG9yVHlwZSA9ICdwdXNoQnV0dG9uJztcclxuICAgICAgfVxyXG4gICAgICBpZiAoaW5pdE9nY0ZpbHRlcnMuY2hlY2tib3hlcyl7XHJcbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMuY2hlY2tib3hlcy5zZWxlY3RvclR5cGUgPSAnY2hlY2tib3gnO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChpbml0T2djRmlsdGVycy5yYWRpb0J1dHRvbnMpe1xyXG4gICAgICAgIGluaXRPZ2NGaWx0ZXJzLnJhZGlvQnV0dG9ucy5zZWxlY3RvclR5cGUgPSAncmFkaW9CdXR0b24nO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChpbml0T2djRmlsdGVycy5zZWxlY3Qpe1xyXG4gICAgICAgIGluaXRPZ2NGaWx0ZXJzLnNlbGVjdC5zZWxlY3RvclR5cGUgPSAnc2VsZWN0JztcclxuICAgICAgfVxyXG4gICAgICBpZiAoaW5pdE9nY0ZpbHRlcnMuYXV0b2NvbXBsZXRlKXtcclxuICAgICAgICBpbml0T2djRmlsdGVycy5hdXRvY29tcGxldGUuc2VsZWN0b3JUeXBlID0gJ2F1dG9jb21wbGV0ZSc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIHNvdXJjZVBhcmFtcy5MQVlFUlMuc3BsaXQoJywnKS5sZW5ndGggPiAxICYmXHJcbiAgICAgIGluaXRPZ2NGaWx0ZXJzICYmXHJcbiAgICAgIGluaXRPZ2NGaWx0ZXJzLmVuYWJsZWRcclxuICAgICkge1xyXG4gICAgICBjb25zb2xlLmxvZygnKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKicpO1xyXG4gICAgICBjb25zb2xlLmxvZyhcclxuICAgICAgICAnQkUgQ0FSRUZVTEwsIFlPVVIgV01TIExBWUVSUyAoJyArXHJcbiAgICAgICAgICBzb3VyY2VQYXJhbXMuTEFZRVJTICtcclxuICAgICAgICAgICcpIE1VU1QgU0hBUkUgVEhFIFNBTUUgRklFTERTIFRPIEFMTE9XIG9nY0ZpbHRlcnMgVE8gV09SSyAhISAnXHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnNvbGUubG9nKCcqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICBvcHRpb25zLnBhcmFtc1dGUyAmJlxyXG4gICAgICBpbml0T2djRmlsdGVycyAmJlxyXG4gICAgICBpbml0T2djRmlsdGVycy5lbmFibGVkICYmXHJcbiAgICAgIGluaXRPZ2NGaWx0ZXJzLmVkaXRhYmxlICYmXHJcbiAgICAgIChvcHRpb25zLnNvdXJjZUZpZWxkcyB8fCBbXSkuZmlsdGVyKHNmID0+ICFzZi52YWx1ZXMpLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy53ZnNTZXJ2aWNlLmdldFNvdXJjZUZpZWxkc0Zyb21XRlMob3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZmlsdGVyUXVlcnlTdHJpbmcgPSBvZ2NGaWx0ZXJXcml0ZXIuaGFuZGxlT2djRmlsdGVyc0FwcGxpZWRWYWx1ZShcclxuICAgICAgb3B0aW9ucyxcclxuICAgICAgZmllbGROYW1lR2VvbWV0cnlcclxuICAgICk7XHJcbiAgICBzb3VyY2VQYXJhbXMuRklMVEVSID0gZmlsdGVyUXVlcnlTdHJpbmc7XHJcbiAgICB0aGlzLnNldE9nY0ZpbHRlcnMoaW5pdE9nY0ZpbHRlcnMsIHRydWUpO1xyXG5cclxuICAgIGNvbnN0IHRpbWVGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMgPSAob3B0aW9ucyBhcyBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zKTtcclxuICAgIGlmIChcclxuICAgICAgdGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucz8udGltZUZpbHRlcmFibGUgJiZcclxuICAgICAgdGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucz8udGltZUZpbHRlcikge1xyXG4gICAgICB0aGlzLnNldFRpbWVGaWx0ZXIodGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucy50aW1lRmlsdGVyLCB0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlZnJlc2goKSB7XHJcbiAgICB0aGlzLm9sLnVwZGF0ZVBhcmFtcyh7IGlnb1JlZnJlc2g6IE1hdGgucmFuZG9tKCkgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkRHluYW1pY0Rvd25sb2FkVXJsRnJvbVBhcmFtc1dGUyhhc1dGU0RhdGFTb3VyY2VPcHRpb25zKSB7XHJcbiAgICBjb25zdCBxdWVyeVN0cmluZ1ZhbHVlcyA9IGZvcm1hdFdGU1F1ZXJ5U3RyaW5nKGFzV0ZTRGF0YVNvdXJjZU9wdGlvbnMpO1xyXG4gICAgY29uc3QgZG93bmxvYWRVcmwgPSBxdWVyeVN0cmluZ1ZhbHVlcy5maW5kKGYgPT4gZi5uYW1lID09PSAnZ2V0ZmVhdHVyZScpXHJcbiAgICAgIC52YWx1ZTtcclxuICAgIHJldHVybiBkb3dubG9hZFVybDtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBjcmVhdGVPbFNvdXJjZSgpOiBvbFNvdXJjZUltYWdlV01TIHtcclxuICAgIHJldHVybiBuZXcgb2xTb3VyY2VJbWFnZVdNUyhPYmplY3QuYXNzaWduKHtyYXRpbzogMX0sIHRoaXMub3B0aW9ucykpO1xyXG4gIH1cclxuXHJcbiAgc2V0T2djRmlsdGVycyhvZ2NGaWx0ZXJzOiBPZ2NGaWx0ZXJzT3B0aW9ucywgdHJpZ2dlckV2ZW50OiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgIHRoaXMub2djRmlsdGVycyA9IG9nY0ZpbHRlcnM7XHJcbiAgICBpZiAodHJpZ2dlckV2ZW50KSB7XHJcbiAgICAgIHRoaXMub2djRmlsdGVycyQubmV4dCh0aGlzLm9nY0ZpbHRlcnMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0VGltZUZpbHRlcih0aW1lRmlsdGVyOiBUaW1lRmlsdGVyT3B0aW9ucywgdHJpZ2dlckV2ZW50OiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgIHRoaXMudGltZUZpbHRlciA9IHRpbWVGaWx0ZXI7XHJcbiAgICBpZiAodHJpZ2dlckV2ZW50KSB7XHJcbiAgICAgIHRoaXMudGltZUZpbHRlciQubmV4dCh0aGlzLnRpbWVGaWx0ZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0TGVnZW5kKHN0eWxlPzogc3RyaW5nLCB2aWV3PzogTGVnZW5kTWFwVmlld09wdGlvbnMpOiBMZWdlbmRbXSB7XHJcbiAgICBsZXQgbGVnZW5kID0gc3VwZXIuZ2V0TGVnZW5kKCk7XHJcbiAgICBpZiAobGVnZW5kLmxlbmd0aCA+IDAgJiYgKHN0eWxlID09PSB1bmRlZmluZWQgJiYgIXZpZXc/LnNjYWxlKSkge1xyXG4gICAgICByZXR1cm4gbGVnZW5kO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBjb250ZW50RGVwZW5kZW50ID0gZmFsc2U7XHJcbiAgICBsZXQgcHJvalBhcmFtO1xyXG5cclxuICAgIGlmICh2aWV3Py5zaXplICYmIHZpZXc/LmV4dGVudCAmJiB2aWV3Py5wcm9qZWN0aW9uICYmIHRoaXMub3B0aW9ucy5jb250ZW50RGVwZW5kZW50TGVnZW5kKSB7XHJcbiAgICAgIHByb2pQYXJhbSA9IHRoaXMucGFyYW1zLlZFUlNJT04gPT09ICcxLjMuMCcgfHwgdGhpcy5wYXJhbXMuVkVSU0lPTiA9PT0gdW5kZWZpbmVkID8gJ0NSUycgOiAnU1JTJztcclxuICAgICAgY29udGVudERlcGVuZGVudCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc291cmNlUGFyYW1zID0gdGhpcy5wYXJhbXM7XHJcblxyXG4gICAgbGV0IGxheWVycyA9IFtdO1xyXG4gICAgaWYgKHNvdXJjZVBhcmFtcy5MQVlFUlMgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBsYXllcnMgPSBzb3VyY2VQYXJhbXMuTEFZRVJTLnNwbGl0KCcsJyk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYmFzZVVybCA9IHRoaXMub3B0aW9ucy51cmwucmVwbGFjZSgvXFw/JC8sICcnKTtcclxuICAgIGNvbnN0IHBhcmFtcyA9IFtcclxuICAgICAgJ1JFUVVFU1Q9R2V0TGVnZW5kR3JhcGhpYycsXHJcbiAgICAgICdTRVJWSUNFPVdNUycsXHJcbiAgICAgICdGT1JNQVQ9aW1hZ2UvcG5nJyxcclxuICAgICAgJ1NMRF9WRVJTSU9OPTEuMS4wJyxcclxuICAgICAgYFZFUlNJT049JHtzb3VyY2VQYXJhbXMuVkVSU0lPTiB8fCAnMS4zLjAnfWBcclxuICAgIF07XHJcbiAgICBpZiAoc3R5bGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBwYXJhbXMucHVzaChgU1RZTEU9JHtzdHlsZX1gKTtcclxuICAgIH1cclxuICAgIGlmICh2aWV3Py5zY2FsZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHBhcmFtcy5wdXNoKGBTQ0FMRT0ke3ZpZXcuc2NhbGV9YCk7XHJcbiAgICB9XHJcbiAgICBpZiAoY29udGVudERlcGVuZGVudCkge1xyXG4gICAgICBwYXJhbXMucHVzaChgV0lEVEg9JHt2aWV3LnNpemVbMF19YCk7XHJcbiAgICAgIHBhcmFtcy5wdXNoKGBIRUlHSFQ9JHt2aWV3LnNpemVbMV19YCk7XHJcbiAgICAgIHBhcmFtcy5wdXNoKGBCQk9YPSR7dmlldy5leHRlbnQuam9pbignLCcpfWApO1xyXG4gICAgICBwYXJhbXMucHVzaChgJHtwcm9qUGFyYW19PSR7dmlldy5wcm9qZWN0aW9ufWApO1xyXG4gICAgfVxyXG5cclxuICAgIGxlZ2VuZCA9IGxheWVycy5tYXAoKGxheWVyOiBzdHJpbmcpID0+IHtcclxuICAgICAgY29uc3Qgc2VwYXJhdG9yID0gYmFzZVVybC5tYXRjaCgvXFw/LykgPyAnJicgOiAnPyc7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgdXJsOiBgJHtiYXNlVXJsfSR7c2VwYXJhdG9yfSR7cGFyYW1zLmpvaW4oJyYnKX0mTEFZRVI9JHtsYXllcn1gLFxyXG4gICAgICAgIHRpdGxlOiBsYXllcnMubGVuZ3RoID4gMSA/IGxheWVyIDogdW5kZWZpbmVkLFxyXG4gICAgICAgIGN1cnJlbnRTdHlsZTogc3R5bGUgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHN0eWxlIGFzIHN0cmluZ1xyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGxlZ2VuZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblVud2F0Y2goKSB7fVxyXG59XHJcbiJdfQ==
|