@igo2/geo 1.10.0 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/icons/cross_black_18px.svg +88 -88
- package/assets/icons/place_blue_36px.svg +55 -55
- package/assets/icons/place_green_36px.svg +55 -55
- package/assets/icons/place_red_36px.svg +55 -55
- package/assets/icons/place_yellow_36px.svg +55 -55
- package/bundles/igo2-geo.umd.js +2604 -789
- package/bundles/igo2-geo.umd.js.map +1 -1
- package/esm2015/lib/catalog/catalog-browser/catalog-browser-group.component.js +1 -1
- package/esm2015/lib/catalog/catalog-browser/catalog-browser-layer.component.js +1 -1
- package/esm2015/lib/catalog/catalog-browser/catalog-browser.component.js +2 -2
- package/esm2015/lib/catalog/catalog-browser/catalog-browser.module.js +1 -1
- package/esm2015/lib/catalog/catalog-library/add-catalog-dialog.component.js +1 -1
- package/esm2015/lib/catalog/catalog-library/catalog-library-item.component.js +1 -1
- package/esm2015/lib/catalog/catalog-library/catalog-library.component.js +6 -6
- package/esm2015/lib/catalog/catalog-library/catalog-library.module.js +1 -1
- package/esm2015/lib/catalog/catalog.module.js +1 -1
- package/esm2015/lib/catalog/index.js +1 -1
- package/esm2015/lib/catalog/shared/catalog.abstract.js +1 -1
- package/esm2015/lib/catalog/shared/catalog.enum.js +1 -1
- package/esm2015/lib/catalog/shared/catalog.interface.js +1 -1
- package/esm2015/lib/catalog/shared/catalog.service.js +5 -2
- package/esm2015/lib/catalog/shared/index.js +1 -1
- package/esm2015/lib/datasource/datasource.module.js +1 -1
- package/esm2015/lib/datasource/index.js +1 -1
- package/esm2015/lib/datasource/shared/capabilities.service.js +25 -11
- package/esm2015/lib/datasource/shared/datasource.service.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/any-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/any-datasource.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.js +84 -14
- package/esm2015/lib/datasource/shared/datasources/carto-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/carto-datasource.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/cluster-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/cluster-datasource.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/data.service.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/datasource.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/feature-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/feature-datasource.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.js +7 -10
- package/esm2015/lib/datasource/shared/datasources/index.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/mvt-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/mvt-datasource.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/osm-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/osm-datasource.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.js +7 -9
- package/esm2015/lib/datasource/shared/datasources/tiledebug-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/tiledebug-datasource.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/websocket-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/websocket-datasource.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/wfs-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/wfs-datasource.js +3 -1
- package/esm2015/lib/datasource/shared/datasources/wfs.service.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/wms-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/wms-datasource.js +7 -1
- package/esm2015/lib/datasource/shared/datasources/wms-wfs.utils.js +5 -2
- package/esm2015/lib/datasource/shared/datasources/wmts-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/wmts-datasource.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/xyz-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/xyz-datasource.js +1 -1
- package/esm2015/lib/datasource/shared/index.js +1 -1
- package/esm2015/lib/datasource/shared/options/index.js +1 -1
- package/esm2015/lib/datasource/shared/options/options-api.interface.js +1 -1
- package/esm2015/lib/datasource/shared/options/options-api.providers.js +1 -1
- package/esm2015/lib/datasource/shared/options/options-api.service.js +1 -1
- package/esm2015/lib/datasource/shared/options/options.service.js +1 -1
- package/esm2015/lib/datasource/utils/esri-style-generator.js +1 -1
- package/esm2015/lib/datasource/utils/index.js +1 -1
- package/esm2015/lib/datasource/utils/tilegrid.js +1 -1
- package/esm2015/lib/directions/directions-buttons/directions-buttons.component.js +10 -4
- package/esm2015/lib/directions/directions-buttons/index.js +1 -1
- package/esm2015/lib/directions/directions-inputs/directions-inputs.component.js +1 -1
- package/esm2015/lib/directions/directions-inputs/index.js +1 -1
- package/esm2015/lib/directions/directions-results/directions-results.component.js +1 -1
- package/esm2015/lib/directions/directions-results/index.js +1 -1
- package/esm2015/lib/directions/directions-sources/directions-source.interface.js +1 -1
- package/esm2015/lib/directions/directions-sources/directions-source.js +1 -1
- package/esm2015/lib/directions/directions-sources/directions-source.provider.js +1 -1
- package/esm2015/lib/directions/directions-sources/index.js +1 -1
- package/esm2015/lib/directions/directions-sources/osrm-directions-source.js +1 -1
- package/esm2015/lib/directions/directions.component.js +6 -4
- package/esm2015/lib/directions/directions.module.js +1 -1
- package/esm2015/lib/directions/index.js +1 -1
- package/esm2015/lib/directions/shared/directions-source.service.js +1 -1
- package/esm2015/lib/directions/shared/directions.enum.js +1 -1
- package/esm2015/lib/directions/shared/directions.interface.js +1 -1
- package/esm2015/lib/directions/shared/directions.service.js +1 -1
- package/esm2015/lib/directions/shared/directions.utils.js +4 -1
- package/esm2015/lib/directions/shared/index.js +1 -1
- package/esm2015/lib/directions/shared/store.js +1 -1
- package/esm2015/lib/download/download-button/download-button.component.js +1 -1
- package/esm2015/lib/download/download-button/index.js +1 -1
- package/esm2015/lib/download/download.module.js +1 -1
- package/esm2015/lib/download/index.js +1 -1
- package/esm2015/lib/download/shared/download.interface.js +1 -1
- package/esm2015/lib/download/shared/download.service.js +1 -1
- package/esm2015/lib/download/shared/index.js +1 -1
- package/esm2015/lib/draw/draw/draw-popup.component.js +1 -1
- package/esm2015/lib/draw/draw/draw-shorcuts.component.js +1 -1
- package/esm2015/lib/draw/draw/draw.component.js +2 -1
- package/esm2015/lib/draw/draw/draw.module.js +1 -1
- package/esm2015/lib/draw/drawingTool.module.js +1 -1
- package/esm2015/lib/draw/index.js +1 -1
- package/esm2015/lib/draw/shared/draw-icon.service.js +1 -1
- package/esm2015/lib/draw/shared/draw-style.service.js +1 -1
- package/esm2015/lib/draw/shared/draw.enum.js +1 -1
- package/esm2015/lib/draw/shared/draw.interface.js +1 -1
- package/esm2015/lib/draw/shared/draw.utils.js +1 -1
- package/esm2015/lib/draw/shared/index.js +1 -1
- package/esm2015/lib/feature/feature-details/feature-details.component.js +1 -1
- package/esm2015/lib/feature/feature-details/feature-details.directive.js +1 -1
- package/esm2015/lib/feature/feature-details/feature-details.module.js +1 -1
- package/esm2015/lib/feature/feature-form/feature-form.component.js +1 -1
- package/esm2015/lib/feature/feature-form/feature-form.module.js +1 -1
- package/esm2015/lib/feature/feature.module.js +1 -1
- package/esm2015/lib/feature/index.js +1 -1
- package/esm2015/lib/feature/shared/feature.enums.js +1 -1
- package/esm2015/lib/feature/shared/feature.interfaces.js +1 -1
- package/esm2015/lib/feature/shared/feature.utils.js +2 -1
- package/esm2015/lib/feature/shared/index.js +1 -1
- package/esm2015/lib/feature/shared/store.js +1 -1
- package/esm2015/lib/feature/shared/strategies/in-map-extent.js +17 -4
- package/esm2015/lib/feature/shared/strategies/in-map-resolution.js +1 -1
- package/esm2015/lib/feature/shared/strategies/index.js +1 -1
- package/esm2015/lib/feature/shared/strategies/loading-layer.js +1 -1
- package/esm2015/lib/feature/shared/strategies/loading.js +1 -1
- package/esm2015/lib/feature/shared/strategies/selection.js +1 -1
- package/esm2015/lib/feature/shared/strategies.utils.js +1 -1
- package/esm2015/lib/filter/filter.module.js +2 -2
- package/esm2015/lib/filter/index.js +1 -1
- package/esm2015/lib/filter/ogc-filter-button/index.js +1 -1
- package/esm2015/lib/filter/ogc-filter-button/ogc-filter-button.component.js +15 -1
- package/esm2015/lib/filter/ogc-filter-form/index.js +1 -1
- package/esm2015/lib/filter/ogc-filter-form/ogc-filter-form.component.js +1 -1
- package/esm2015/lib/filter/ogc-filter-selection/index.js +1 -1
- package/esm2015/lib/filter/ogc-filter-selection/ogc-filter-selection.component.js +31 -13
- package/esm2015/lib/filter/ogc-filter-time/index.js +1 -1
- package/esm2015/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.js +1 -1
- package/esm2015/lib/filter/ogc-filter-time/ogc-filter-time.component.js +296 -161
- package/esm2015/lib/filter/ogc-filterable-form/index.js +1 -1
- package/esm2015/lib/filter/ogc-filterable-form/ogc-filterable-form.component.js +1 -1
- package/esm2015/lib/filter/ogc-filterable-item/index.js +1 -1
- package/esm2015/lib/filter/ogc-filterable-item/ogc-filterable-item.component.js +1 -1
- package/esm2015/lib/filter/ogc-filterable-list/index.js +1 -1
- package/esm2015/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.js +1 -1
- package/esm2015/lib/filter/ogc-filterable-list/ogc-filterable-list.component.js +1 -1
- package/esm2015/lib/filter/shared/filterable-datasource.pipe.js +1 -1
- package/esm2015/lib/filter/shared/index.js +1 -1
- package/esm2015/lib/filter/shared/ogc-filter-time.service.js +1 -1
- package/esm2015/lib/filter/shared/ogc-filter.enum.js +1 -1
- package/esm2015/lib/filter/shared/ogc-filter.interface.js +1 -1
- package/esm2015/lib/filter/shared/ogc-filter.js +8 -1
- package/esm2015/lib/filter/shared/ogc-filter.service.js +1 -1
- package/esm2015/lib/filter/shared/spatial-filter.enum.js +1 -1
- package/esm2015/lib/filter/shared/spatial-filter.interface.js +1 -1
- package/esm2015/lib/filter/shared/spatial-filter.service.js +1 -1
- package/esm2015/lib/filter/shared/time-filter.enum.js +1 -1
- package/esm2015/lib/filter/shared/time-filter.interface.js +1 -1
- package/esm2015/lib/filter/shared/time-filter.service.js +1 -1
- package/esm2015/lib/filter/spatial-filter/spatial-filter-item/index.js +1 -1
- package/esm2015/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.js +1 -1
- package/esm2015/lib/filter/spatial-filter/spatial-filter-list/index.js +1 -1
- package/esm2015/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.js +1 -1
- package/esm2015/lib/filter/spatial-filter/spatial-filter-type/index.js +1 -1
- package/esm2015/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.js +1 -1
- package/esm2015/lib/filter/time-filter-button/index.js +1 -1
- package/esm2015/lib/filter/time-filter-button/time-filter-button.component.js +1 -1
- package/esm2015/lib/filter/time-filter-form/index.js +1 -1
- package/esm2015/lib/filter/time-filter-form/time-filter-form.component.js +1 -1
- package/esm2015/lib/filter/time-filter-item/index.js +1 -1
- package/esm2015/lib/filter/time-filter-item/time-filter-item.component.js +1 -1
- package/esm2015/lib/filter/time-filter-list/index.js +1 -1
- package/esm2015/lib/filter/time-filter-list/time-filter-list-binding.directive.js +1 -1
- package/esm2015/lib/filter/time-filter-list/time-filter-list.component.js +1 -1
- package/esm2015/lib/geo.module.js +1 -1
- package/esm2015/lib/geometry/geometry-form-field/geometry-form-field-input.component.js +1 -1
- package/esm2015/lib/geometry/geometry-form-field/geometry-form-field.component.js +1 -1
- package/esm2015/lib/geometry/geometry-form-field/geometry-form-field.module.js +1 -1
- package/esm2015/lib/geometry/geometry.module.js +1 -1
- package/esm2015/lib/geometry/index.js +1 -1
- package/esm2015/lib/geometry/shared/controls/draw.js +7 -2
- package/esm2015/lib/geometry/shared/controls/index.js +1 -1
- package/esm2015/lib/geometry/shared/controls/modify.js +1 -1
- package/esm2015/lib/geometry/shared/controls/slice.js +1 -1
- package/esm2015/lib/geometry/shared/geometry.errors.js +1 -1
- package/esm2015/lib/geometry/shared/geometry.interfaces.js +1 -1
- package/esm2015/lib/geometry/shared/geometry.utils.js +1 -1
- package/esm2015/lib/geometry/shared/index.js +1 -1
- package/esm2015/lib/import-export/export-button/export-button.component.js +1 -1
- package/esm2015/lib/import-export/export-button/index.js +1 -1
- package/esm2015/lib/import-export/import-export/import-export.component.js +60 -11
- package/esm2015/lib/import-export/import-export/index.js +1 -1
- package/esm2015/lib/import-export/import-export.module.js +1 -1
- package/esm2015/lib/import-export/index.js +1 -1
- package/esm2015/lib/import-export/shared/drop-geo-file.directive.js +1 -1
- package/esm2015/lib/import-export/shared/export.errors.js +1 -1
- package/esm2015/lib/import-export/shared/export.interface.js +1 -1
- package/esm2015/lib/import-export/shared/export.service.js +1 -1
- package/esm2015/lib/import-export/shared/export.type.js +1 -1
- package/esm2015/lib/import-export/shared/export.utils.js +1 -1
- package/esm2015/lib/import-export/shared/import.errors.js +1 -1
- package/esm2015/lib/import-export/shared/import.interface.js +1 -1
- package/esm2015/lib/import-export/shared/import.service.js +1 -1
- package/esm2015/lib/import-export/shared/import.utils.js +1 -1
- package/esm2015/lib/import-export/shared/index.js +1 -1
- package/esm2015/lib/import-export/style-list/index.js +1 -1
- package/esm2015/lib/import-export/style-list/style-list.interface.js +1 -1
- package/esm2015/lib/import-export/style-list/style-list.module.js +1 -1
- package/esm2015/lib/import-export/style-list/style-list.provider.js +1 -1
- package/esm2015/lib/import-export/style-list/style-list.service.js +1 -1
- package/esm2015/lib/layer/index.js +1 -1
- package/esm2015/lib/layer/layer-item/index.js +1 -1
- package/esm2015/lib/layer/layer-item/layer-item.component.js +1 -1
- package/esm2015/lib/layer/layer-legend/index.js +1 -1
- package/esm2015/lib/layer/layer-legend/layer-legend.component.js +20 -21
- package/esm2015/lib/layer/layer-legend-item/index.js +1 -1
- package/esm2015/lib/layer/layer-legend-item/layer-legend-item.component.js +1 -1
- package/esm2015/lib/layer/layer-legend-list/index.js +1 -1
- package/esm2015/lib/layer/layer-legend-list/layer-legend-list-binding.directive.js +1 -1
- package/esm2015/lib/layer/layer-legend-list/layer-legend-list.component.js +1 -1
- package/esm2015/lib/layer/layer-list/index.js +1 -1
- package/esm2015/lib/layer/layer-list/layer-list-binding.directive.js +1 -1
- package/esm2015/lib/layer/layer-list/layer-list.component.js +1 -1
- package/esm2015/lib/layer/layer-list/layer-list.enum.js +1 -1
- package/esm2015/lib/layer/layer-list-tool/index.js +1 -1
- package/esm2015/lib/layer/layer-list-tool/layer-list-tool.component.js +1 -1
- package/esm2015/lib/layer/layer-list-tool/layer-list-tool.enum.js +1 -1
- package/esm2015/lib/layer/layer-list-tool/layer-list-tool.interface.js +1 -1
- package/esm2015/lib/layer/layer-list-tool/layer-list-tool.service.js +1 -1
- package/esm2015/lib/layer/layer.module.js +1 -1
- package/esm2015/lib/layer/shared/clusterParam.js +1 -1
- package/esm2015/lib/layer/shared/index.js +1 -1
- package/esm2015/lib/layer/shared/layer.enums.js +1 -1
- package/esm2015/lib/layer/shared/layer.service.js +1 -1
- package/esm2015/lib/layer/shared/layers/any-layer.interface.js +1 -1
- package/esm2015/lib/layer/shared/layers/any-layer.js +1 -1
- package/esm2015/lib/layer/shared/layers/image-layer.interface.js +1 -1
- package/esm2015/lib/layer/shared/layers/image-layer.js +1 -1
- package/esm2015/lib/layer/shared/layers/index.js +1 -1
- package/esm2015/lib/layer/shared/layers/layer.interface.js +1 -1
- package/esm2015/lib/layer/shared/layers/layer.js +9 -1
- package/esm2015/lib/layer/shared/layers/tile-layer.interface.js +1 -1
- package/esm2015/lib/layer/shared/layers/tile-layer.js +1 -1
- package/esm2015/lib/layer/shared/layers/vector-layer.interface.js +1 -1
- package/esm2015/lib/layer/shared/layers/vector-layer.js +13 -5
- package/esm2015/lib/layer/shared/layers/vectortile-layer.interface.js +1 -1
- package/esm2015/lib/layer/shared/layers/vectortile-layer.js +1 -1
- package/esm2015/lib/layer/shared/style.service.js +1 -1
- package/esm2015/lib/layer/shared/vector-style.interface.js +1 -1
- package/esm2015/lib/layer/track-feature-button/index.js +1 -1
- package/esm2015/lib/layer/track-feature-button/track-feature-button.component.js +1 -1
- package/esm2015/lib/layer/utils/image-watcher.js +1 -1
- package/esm2015/lib/layer/utils/index.js +1 -1
- package/esm2015/lib/layer/utils/layer.utils.js +1 -1
- package/esm2015/lib/layer/utils/layerSync-watcher.js +10 -6
- package/esm2015/lib/layer/utils/outputLegend.js +1 -1
- package/esm2015/lib/layer/utils/tile-watcher.js +1 -1
- package/esm2015/lib/layer/utils/vector-watcher.js +1 -1
- package/esm2015/lib/map/baselayers-switcher/baselayers-switcher.animation.js +1 -1
- package/esm2015/lib/map/baselayers-switcher/baselayers-switcher.component.js +1 -1
- package/esm2015/lib/map/baselayers-switcher/index.js +1 -1
- package/esm2015/lib/map/baselayers-switcher/mini-basemap.component.js +1 -1
- package/esm2015/lib/map/geolocate-button/geolocate-button.component.js +1 -1
- package/esm2015/lib/map/geolocate-button/index.js +1 -1
- package/esm2015/lib/map/home-extent-button/home-extent-button.component.js +69 -0
- package/esm2015/lib/map/home-extent-button/index.js +2 -0
- package/esm2015/lib/map/index.js +3 -1
- package/esm2015/lib/map/info-section/index.js +2 -0
- package/esm2015/lib/map/info-section/info-section.component.js +36 -0
- package/esm2015/lib/map/map-browser/index.js +1 -1
- package/esm2015/lib/map/map-browser/map-browser.component.js +2 -2
- package/esm2015/lib/map/map-center/index.js +1 -1
- package/esm2015/lib/map/map-center/map-center.component.js +2 -2
- package/esm2015/lib/map/map.module.js +11 -1
- package/esm2015/lib/map/menu-button/index.js +1 -1
- package/esm2015/lib/map/menu-button/menu-button.component.js +1 -1
- package/esm2015/lib/map/offline-button/index.js +1 -1
- package/esm2015/lib/map/offline-button/offline-button.component.js +1 -1
- package/esm2015/lib/map/rotation-button/index.js +1 -1
- package/esm2015/lib/map/rotation-button/rotation-button.component.js +1 -1
- package/esm2015/lib/map/shared/controllers/controller.js +1 -1
- package/esm2015/lib/map/shared/controllers/index.js +1 -1
- package/esm2015/lib/map/shared/controllers/view.js +1 -1
- package/esm2015/lib/map/shared/hover-feature.directive.js +2 -1
- package/esm2015/lib/map/shared/index.js +1 -1
- package/esm2015/lib/map/shared/map-pointer-position.directive.js +1 -1
- package/esm2015/lib/map/shared/map.enums.js +1 -1
- package/esm2015/lib/map/shared/map.interface.js +1 -1
- package/esm2015/lib/map/shared/map.js +1 -1
- package/esm2015/lib/map/shared/map.service.js +1 -1
- package/esm2015/lib/map/shared/map.utils.js +1 -1
- package/esm2015/lib/map/shared/mapOffline.directive.js +17 -6
- package/esm2015/lib/map/shared/projection.interfaces.js +1 -1
- package/esm2015/lib/map/shared/projection.service.js +1 -1
- package/esm2015/lib/map/shared/projection.utils.js +1 -1
- package/esm2015/lib/map/swipe-control/index.js +1 -1
- package/esm2015/lib/map/swipe-control/swipe-control.component.js +1 -1
- package/esm2015/lib/map/utils/layer-watcher.js +1 -1
- package/esm2015/lib/map/zoom-button/index.js +1 -1
- package/esm2015/lib/map/zoom-button/zoom-button.component.js +1 -1
- package/esm2015/lib/measure/index.js +1 -1
- package/esm2015/lib/measure/measure.module.js +1 -1
- package/esm2015/lib/measure/measurer/measure-format.pipe.js +1 -1
- package/esm2015/lib/measure/measurer/measurer-dialog.component.js +1 -1
- package/esm2015/lib/measure/measurer/measurer-item.component.js +1 -1
- package/esm2015/lib/measure/measurer/measurer.component.js +7 -1
- package/esm2015/lib/measure/measurer/measurer.module.js +1 -1
- package/esm2015/lib/measure/shared/index.js +1 -1
- package/esm2015/lib/measure/shared/measure.enum.js +1 -1
- package/esm2015/lib/measure/shared/measure.interfaces.js +1 -1
- package/esm2015/lib/measure/shared/measure.utils.js +1 -1
- package/esm2015/lib/metadata/index.js +1 -1
- package/esm2015/lib/metadata/metadata-button/index.js +1 -1
- package/esm2015/lib/metadata/metadata-button/metadata-button.component.js +1 -1
- package/esm2015/lib/metadata/metadata.module.js +1 -1
- package/esm2015/lib/metadata/shared/index.js +1 -1
- package/esm2015/lib/metadata/shared/metadata.interface.js +1 -1
- package/esm2015/lib/metadata/shared/metadata.service.js +1 -1
- package/esm2015/lib/overlay/index.js +1 -1
- package/esm2015/lib/overlay/overlay.module.js +1 -1
- package/esm2015/lib/overlay/shared/index.js +1 -1
- package/esm2015/lib/overlay/shared/overlay-marker-style.utils.js +1 -1
- package/esm2015/lib/overlay/shared/overlay.directive.js +1 -1
- package/esm2015/lib/overlay/shared/overlay.enum.js +1 -1
- package/esm2015/lib/overlay/shared/overlay.js +1 -1
- package/esm2015/lib/overlay/shared/overlay.service.js +1 -1
- package/esm2015/lib/overlay/shared/overlay.utils.js +1 -1
- package/esm2015/lib/print/index.js +1 -1
- package/esm2015/lib/print/print/print.component.js +1 -1
- package/esm2015/lib/print/print-form/index.js +1 -1
- package/esm2015/lib/print/print-form/print-form.component.js +1 -1
- package/esm2015/lib/print/print.module.js +1 -1
- package/esm2015/lib/print/shared/index.js +1 -1
- package/esm2015/lib/print/shared/print.interface.js +1 -1
- package/esm2015/lib/print/shared/print.service.js +1 -1
- package/esm2015/lib/print/shared/print.type.js +1 -1
- package/esm2015/lib/query/index.js +1 -1
- package/esm2015/lib/query/query.module.js +1 -1
- package/esm2015/lib/query/shared/index.js +1 -1
- package/esm2015/lib/query/shared/query-search-source.js +1 -1
- package/esm2015/lib/query/shared/query-search-source.providers.js +1 -1
- package/esm2015/lib/query/shared/query.directive.js +4 -1
- package/esm2015/lib/query/shared/query.enums.js +1 -1
- package/esm2015/lib/query/shared/query.interfaces.js +1 -1
- package/esm2015/lib/query/shared/query.service.js +35 -13
- package/esm2015/lib/query/shared/query.utils.js +1 -1
- package/esm2015/lib/search/index.js +1 -1
- package/esm2015/lib/search/search-bar/search-bar.component.js +4 -2
- package/esm2015/lib/search/search-bar/search-bar.module.js +1 -1
- package/esm2015/lib/search/search-bar/search-url-param.directive.js +1 -1
- package/esm2015/lib/search/search-results/search-results-add-button.component.js +7 -7
- package/esm2015/lib/search/search-results/search-results-item.component.js +1 -1
- package/esm2015/lib/search/search-results/search-results.component.js +1 -1
- package/esm2015/lib/search/search-results/search-results.module.js +1 -1
- package/esm2015/lib/search/search-selector/search-selector.component.js +1 -1
- package/esm2015/lib/search/search-selector/search-selector.module.js +1 -1
- package/esm2015/lib/search/search-settings/search-settings.component.js +1 -1
- package/esm2015/lib/search/search-settings/search-settings.module.js +1 -1
- package/esm2015/lib/search/search.module.js +1 -1
- package/esm2015/lib/search/shared/index.js +1 -1
- package/esm2015/lib/search/shared/search-pointer-summary.directive.js +2 -1
- package/esm2015/lib/search/shared/search-source-service.providers.js +1 -1
- package/esm2015/lib/search/shared/search-source.service.js +1 -1
- package/esm2015/lib/search/shared/search.enums.js +1 -1
- package/esm2015/lib/search/shared/search.interfaces.js +1 -1
- package/esm2015/lib/search/shared/search.service.js +1 -1
- package/esm2015/lib/search/shared/search.utils.js +1 -1
- package/esm2015/lib/search/shared/sources/cadastre.js +1 -1
- package/esm2015/lib/search/shared/sources/cadastre.providers.js +1 -1
- package/esm2015/lib/search/shared/sources/coordinates.interfaces.js +1 -1
- package/esm2015/lib/search/shared/sources/coordinates.js +1 -1
- package/esm2015/lib/search/shared/sources/coordinates.providers.js +1 -1
- package/esm2015/lib/search/shared/sources/icherche.interfaces.js +1 -1
- package/esm2015/lib/search/shared/sources/icherche.js +1 -1
- package/esm2015/lib/search/shared/sources/icherche.providers.js +1 -1
- package/esm2015/lib/search/shared/sources/ilayer.interfaces.js +1 -1
- package/esm2015/lib/search/shared/sources/ilayer.js +1 -1
- package/esm2015/lib/search/shared/sources/ilayer.providers.js +1 -1
- package/esm2015/lib/search/shared/sources/index.js +1 -1
- package/esm2015/lib/search/shared/sources/nominatim.interfaces.js +1 -1
- package/esm2015/lib/search/shared/sources/nominatim.js +2 -2
- package/esm2015/lib/search/shared/sources/nominatim.providers.js +1 -1
- package/esm2015/lib/search/shared/sources/source.interfaces.js +1 -1
- package/esm2015/lib/search/shared/sources/source.js +2 -2
- package/esm2015/lib/search/shared/sources/storedqueries.interfaces.js +1 -1
- package/esm2015/lib/search/shared/sources/storedqueries.js +2 -2
- package/esm2015/lib/search/shared/sources/storedqueries.providers.js +1 -1
- package/esm2015/lib/toast/index.js +1 -1
- package/esm2015/lib/toast/toast.component.js +1 -1
- package/esm2015/lib/toast/toast.module.js +1 -1
- package/esm2015/lib/utils/commonVectorStyle.interface.js +1 -1
- package/esm2015/lib/utils/commonVectorStyle.js +1 -1
- package/esm2015/lib/utils/googleLinks.js +1 -1
- package/esm2015/lib/utils/id-generator.js +1 -1
- package/esm2015/lib/utils/index.js +1 -1
- package/esm2015/lib/utils/osmLinks.js +1 -1
- package/esm2015/lib/wkt/index.js +1 -1
- package/esm2015/lib/wkt/shared/index.js +1 -1
- package/esm2015/lib/wkt/shared/wkt.service.js +15 -15
- package/esm2015/lib/wkt/wkt.module.js +1 -1
- package/esm2015/lib/workspace/confirmation-popup/confirmation-popup.component.js +56 -0
- package/esm2015/lib/workspace/confirmation-popup/confirmation-popup.module.js +38 -0
- package/esm2015/lib/workspace/confirmation-popup/index.js +3 -0
- package/esm2015/lib/workspace/index.js +2 -1
- package/esm2015/lib/workspace/shared/edition-workspace.js +271 -0
- package/esm2015/lib/workspace/shared/edition-workspace.service.js +619 -0
- package/esm2015/lib/workspace/shared/feature-workspace.js +18 -1
- package/esm2015/lib/workspace/shared/feature-workspace.service.js +27 -6
- package/esm2015/lib/workspace/shared/index.js +3 -1
- package/esm2015/lib/workspace/shared/wfs-workspace.js +18 -1
- package/esm2015/lib/workspace/shared/wfs-workspace.service.js +27 -5
- package/esm2015/lib/workspace/shared/wms-workspace.service.js +59 -15
- package/esm2015/lib/workspace/shared/workspace.utils.js +1 -1
- package/esm2015/lib/workspace/widgets/index.js +1 -1
- package/esm2015/lib/workspace/widgets/ogc-filter/ogc-filter.component.js +1 -1
- package/esm2015/lib/workspace/widgets/ogc-filter/ogc-filter.module.js +1 -1
- package/esm2015/lib/workspace/widgets/widgets.js +1 -1
- package/esm2015/lib/workspace/workspace-selector/workspace-selector.directive.js +40 -10
- package/esm2015/lib/workspace/workspace-selector/workspace-selector.module.js +1 -1
- package/esm2015/lib/workspace/workspace-updator/workspace-updator.directive.js +22 -8
- package/esm2015/lib/workspace/workspace-updator/workspace-updator.module.js +1 -1
- package/esm2015/lib/workspace/workspace.module.js +19 -7
- package/esm2015/public_api.js +1 -1
- package/fesm2015/igo2-geo.js +2025 -398
- package/fesm2015/igo2-geo.js.map +1 -1
- package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +2 -0
- package/lib/datasource/shared/datasources/datasource.interface.d.ts +44 -0
- package/lib/datasource/shared/datasources/wfs-datasource.d.ts +1 -0
- package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +1 -1
- package/lib/directions/directions-buttons/directions-buttons.component.d.ts +2 -1
- package/lib/directions/directions.component.d.ts +2 -1
- package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +6 -0
- package/lib/filter/shared/ogc-filter.interface.d.ts +1 -0
- package/lib/geometry/shared/controls/draw.d.ts +8 -4
- package/lib/geometry/shared/controls/modify.d.ts +3 -4
- package/lib/geometry/shared/controls/slice.d.ts +3 -4
- package/lib/layer/shared/layers/layer.d.ts +6 -0
- package/lib/layer/shared/layers/layer.interface.d.ts +8 -0
- package/lib/layer/shared/layers/vector-layer.d.ts +2 -1
- package/lib/map/home-extent-button/home-extent-button.component.d.ts +20 -0
- package/lib/map/home-extent-button/index.d.ts +1 -0
- package/lib/map/index.d.ts +2 -0
- package/lib/map/info-section/index.d.ts +1 -0
- package/lib/map/info-section/info-section.component.d.ts +7 -0
- package/lib/map/map.module.d.ts +19 -17
- package/lib/map/shared/mapOffline.directive.d.ts +1 -0
- package/lib/query/shared/query.interfaces.d.ts +1 -0
- package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +23 -0
- package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +14 -0
- package/lib/workspace/confirmation-popup/index.d.ts +2 -0
- package/lib/workspace/index.d.ts +1 -0
- package/lib/workspace/shared/edition-workspace.d.ts +81 -0
- package/lib/workspace/shared/edition-workspace.service.d.ts +45 -0
- package/lib/workspace/shared/feature-workspace.d.ts +3 -0
- package/lib/workspace/shared/feature-workspace.service.d.ts +2 -0
- package/lib/workspace/shared/index.d.ts +2 -0
- package/lib/workspace/shared/wfs-workspace.d.ts +3 -0
- package/lib/workspace/shared/wfs-workspace.service.d.ts +2 -0
- package/lib/workspace/shared/wms-workspace.service.d.ts +2 -0
- package/lib/workspace/shared/workspace.utils.d.ts +3 -2
- package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +10 -3
- package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +3 -1
- package/lib/workspace/workspace.module.d.ts +8 -5
- package/ngcc.config.js +3 -3
- package/package.json +4 -4
- package/style/geo.theming.scss +12 -11
package/fesm2015/igo2-geo.js
CHANGED
|
@@ -10,7 +10,7 @@ import * as i1$3 from '@angular/material/list';
|
|
|
10
10
|
import { MatListModule } from '@angular/material/list';
|
|
11
11
|
import * as i3 from '@angular/material/tooltip';
|
|
12
12
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
13
|
-
import * as i6
|
|
13
|
+
import * as i6 from '@igo2/common';
|
|
14
14
|
import { getEntityId, getEntityTitle, getEntityProperty, getEntityRevision, getEntityIcon, EntityStore, EntityStoreStrategy, EntityStoreWatcher, SecureImagePipe, IgoListModule, IgoCollapsibleModule, IgoImageModule, IgoPanelModule, IgoMatBadgeIconModule, IgoCustomHtmlModule, IgoEntityTableModule, IgoKeyValueModule, IgoFormModule, IgoFormFieldComponent, EntityStoreFilterSelectionStrategy, EntityTableColumnRenderer, IgoEntityModule, DragAndDropDirective, IgoSpinnerModule, IgoDrapDropModule, IgoConfirmDialogModule, getEntityTitleHtml, EntityStoreFilterCustomFuncStrategy, IgoStopPropagationModule, IgoFlexibleModule, WidgetService, Workspace, ActionStore, IgoWidgetModule } from '@igo2/common';
|
|
15
15
|
import * as i2 from '@angular/material/button';
|
|
16
16
|
import { MatButtonModule } from '@angular/material/button';
|
|
@@ -85,7 +85,7 @@ import olFormatMVT from 'ol/format/MVT';
|
|
|
85
85
|
import { __decorate, __awaiter } from 'tslib';
|
|
86
86
|
import { Cacheable } from 'ts-cacheable';
|
|
87
87
|
import { optionsFromCapabilities } from 'ol/source/WMTS.js';
|
|
88
|
-
import * as
|
|
88
|
+
import * as i5 from '@igo2/auth';
|
|
89
89
|
import { AuthService } from '@igo2/auth';
|
|
90
90
|
import OlDragBoxInteraction from 'ol/interaction/DragBox';
|
|
91
91
|
import olLayerVectorTile from 'ol/layer/VectorTile';
|
|
@@ -108,15 +108,15 @@ import * as i11 from '@angular/material/checkbox';
|
|
|
108
108
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
109
109
|
import * as i10 from '@angular/material/divider';
|
|
110
110
|
import { MatDividerModule } from '@angular/material/divider';
|
|
111
|
-
import * as i5 from '@angular/material/input';
|
|
111
|
+
import * as i5$1 from '@angular/material/input';
|
|
112
112
|
import { MatInputModule } from '@angular/material/input';
|
|
113
|
-
import * as i5$
|
|
113
|
+
import * as i5$2 from '@angular/material/menu';
|
|
114
114
|
import { MatMenuModule } from '@angular/material/menu';
|
|
115
115
|
import * as i22 from '@angular/material/slide-toggle';
|
|
116
116
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
117
117
|
import * as i13$1 from '@angular/material/slider';
|
|
118
118
|
import { MatSliderModule, MatSlider } from '@angular/material/slider';
|
|
119
|
-
import * as i6$
|
|
119
|
+
import * as i6$1 from '@angular/material/autocomplete';
|
|
120
120
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
121
121
|
import * as i18 from '@angular/material/button-toggle';
|
|
122
122
|
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
@@ -156,6 +156,7 @@ import html2canvas from 'html2canvas';
|
|
|
156
156
|
import * as JSZip from 'jszip';
|
|
157
157
|
import * as i2$2 from '@angular/cdk/drag-drop';
|
|
158
158
|
import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
|
|
159
|
+
import Collection from 'ol/Collection';
|
|
159
160
|
|
|
160
161
|
class MetadataService {
|
|
161
162
|
constructor() { }
|
|
@@ -1252,6 +1253,10 @@ class OgcFilterWriter {
|
|
|
1252
1253
|
return conditions;
|
|
1253
1254
|
}
|
|
1254
1255
|
formatProcessedOgcFilter(processedFilter, layersOrTypenames) {
|
|
1256
|
+
if (!processedFilter) {
|
|
1257
|
+
return undefined;
|
|
1258
|
+
}
|
|
1259
|
+
;
|
|
1255
1260
|
let appliedFilter = '';
|
|
1256
1261
|
if (processedFilter.length === 0 && layersOrTypenames.indexOf(',') === -1) {
|
|
1257
1262
|
appliedFilter = processedFilter;
|
|
@@ -1271,6 +1276,9 @@ class OgcFilterWriter {
|
|
|
1271
1276
|
if (!value) {
|
|
1272
1277
|
return defaultValue;
|
|
1273
1278
|
}
|
|
1279
|
+
else if (value === 'today') {
|
|
1280
|
+
return undefined;
|
|
1281
|
+
}
|
|
1274
1282
|
else if (moment$3(value).isValid()) {
|
|
1275
1283
|
return value;
|
|
1276
1284
|
}
|
|
@@ -1324,7 +1332,7 @@ const jsonRegex = new RegExp(/(.*)?json(.*)?/gi);
|
|
|
1324
1332
|
* @param ogcFilters OgcFiltersOptions
|
|
1325
1333
|
* @returns A string representing the datasource options, based on filter and views
|
|
1326
1334
|
*/
|
|
1327
|
-
function buildUrl(options, extent, proj, ogcFilters) {
|
|
1335
|
+
function buildUrl(options, extent, proj, ogcFilters, randomParam) {
|
|
1328
1336
|
const paramsWFS = options.paramsWFS;
|
|
1329
1337
|
const queryStringValues = formatWFSQueryString(options, undefined, options.paramsWFS.srsName);
|
|
1330
1338
|
let igoFilters;
|
|
@@ -1344,6 +1352,9 @@ function buildUrl(options, extent, proj, ogcFilters) {
|
|
|
1344
1352
|
const patternFilter = /(filter|bbox)=.*/gi;
|
|
1345
1353
|
baseUrl = patternFilter.test(paramsWFS.xmlFilter) ? `${baseUrl}&${paramsWFS.xmlFilter}` : baseUrl;
|
|
1346
1354
|
options.download = Object.assign({}, options.download, { dynamicUrl: baseUrl });
|
|
1355
|
+
if (randomParam) {
|
|
1356
|
+
baseUrl += `$&_t${new Date().getTime()}`;
|
|
1357
|
+
}
|
|
1347
1358
|
return baseUrl.replace(/&&/g, '&');
|
|
1348
1359
|
}
|
|
1349
1360
|
/**
|
|
@@ -1558,6 +1569,12 @@ class WMSDataSource extends DataSource {
|
|
|
1558
1569
|
|| initOgcFilters.radioButtons || initOgcFilters.select)
|
|
1559
1570
|
? false
|
|
1560
1571
|
: true;
|
|
1572
|
+
if (initOgcFilters.advancedOgcFilters && initOgcFilters.filters) {
|
|
1573
|
+
const filterDuring = initOgcFilters.filters;
|
|
1574
|
+
if (filterDuring.calendarModeYear) {
|
|
1575
|
+
initOgcFilters.advancedOgcFilters = false;
|
|
1576
|
+
}
|
|
1577
|
+
}
|
|
1561
1578
|
if (initOgcFilters.pushButtons) {
|
|
1562
1579
|
initOgcFilters.pushButtons.selectorType = 'pushButton';
|
|
1563
1580
|
}
|
|
@@ -1846,7 +1863,9 @@ class LayerSyncWatcher extends Watcher {
|
|
|
1846
1863
|
const layerType = layerToApply.ol.getProperties().sourceOptions.type;
|
|
1847
1864
|
layerToApply.dataSource.setOgcFilters(ogcFilters, false);
|
|
1848
1865
|
if (layerType === 'wfs') {
|
|
1849
|
-
layerToApply.
|
|
1866
|
+
if (ogcFilters !== layerToApply.dataSource.ogcFilters$.value) {
|
|
1867
|
+
layerToApply.ol.getSource().refresh();
|
|
1868
|
+
}
|
|
1850
1869
|
}
|
|
1851
1870
|
if (layerType === 'wms') {
|
|
1852
1871
|
let appliedOgcFilter;
|
|
@@ -1872,8 +1891,10 @@ class LayerSyncWatcher extends Watcher {
|
|
|
1872
1891
|
l.bidirectionnal !== false && l.linkedIds.indexOf(currentLinkedId) !== -1) {
|
|
1873
1892
|
const layerType = layer.ol.getProperties().sourceOptions.type;
|
|
1874
1893
|
if (layerType === 'wfs') {
|
|
1875
|
-
layer.dataSource.
|
|
1876
|
-
|
|
1894
|
+
if (ogcFilters !== layer.dataSource.ogcFilters$.value) {
|
|
1895
|
+
layer.dataSource.setOgcFilters(ogcFilters, true);
|
|
1896
|
+
layer.ol.getSource().refresh();
|
|
1897
|
+
}
|
|
1877
1898
|
}
|
|
1878
1899
|
if (layerType === 'wms') {
|
|
1879
1900
|
let appliedOgcFilter;
|
|
@@ -1914,7 +1935,7 @@ class LayerSyncWatcher extends Watcher {
|
|
|
1914
1935
|
});
|
|
1915
1936
|
if (childLayer) {
|
|
1916
1937
|
childLayer.dataSource.setTimeFilter(timeFilter, false);
|
|
1917
|
-
const appliedTimeFilter = this.ol.
|
|
1938
|
+
const appliedTimeFilter = this.ol.getSource().getParams().TIME;
|
|
1918
1939
|
childLayer.dataSource.ol.updateParams({ TIME: appliedTimeFilter });
|
|
1919
1940
|
}
|
|
1920
1941
|
});
|
|
@@ -1930,7 +1951,7 @@ class LayerSyncWatcher extends Watcher {
|
|
|
1930
1951
|
parentLayer.options.linkedLayers.links.map(l => {
|
|
1931
1952
|
if (l.properties && l.properties.indexOf(LinkedProperties.TIMEFILTER) !== -1 &&
|
|
1932
1953
|
l.bidirectionnal !== false && l.linkedIds.indexOf(currentLinkedId) !== -1) {
|
|
1933
|
-
const appliedTimeFilter = this.ol.
|
|
1954
|
+
const appliedTimeFilter = this.ol.getSource().getParams().TIME;
|
|
1934
1955
|
parentLayer.dataSource.ol.updateParams({ TIME: appliedTimeFilter });
|
|
1935
1956
|
parentLayer.dataSource.setTimeFilter(timeFilter, true);
|
|
1936
1957
|
}
|
|
@@ -2607,6 +2628,14 @@ class Layer {
|
|
|
2607
2628
|
: true;
|
|
2608
2629
|
this.ol.set('_layer', this, true);
|
|
2609
2630
|
}
|
|
2631
|
+
/**
|
|
2632
|
+
* Define if a layer is generated by code OR defined by layer/context user layer.
|
|
2633
|
+
* Useful for filtering layers list in mapOffline.directive or in the sharemap...
|
|
2634
|
+
* return false by default.
|
|
2635
|
+
*/
|
|
2636
|
+
get isIgoInternalLayer() {
|
|
2637
|
+
return this.options.isIgoInternalLayer || false;
|
|
2638
|
+
}
|
|
2610
2639
|
get id() {
|
|
2611
2640
|
return this.options.id || this.dataSource.id;
|
|
2612
2641
|
}
|
|
@@ -2891,14 +2920,15 @@ class VectorLayer extends Layer {
|
|
|
2891
2920
|
* @param proj the projection to retrieve the data
|
|
2892
2921
|
* @param success success callback
|
|
2893
2922
|
* @param failure failure callback
|
|
2923
|
+
* @param randomParam random parameter to ensure cache is not causing problems in retrieving new data
|
|
2894
2924
|
*/
|
|
2895
|
-
customWFSLoader(vectorSource, options, interceptor, extent, resolution, proj, success, failure) {
|
|
2925
|
+
customWFSLoader(vectorSource, options, interceptor, extent, resolution, proj, success, failure, randomParam) {
|
|
2896
2926
|
{
|
|
2897
2927
|
const paramsWFS = options.paramsWFS;
|
|
2898
2928
|
const wfsProj = paramsWFS.srsName ? new olProjection({ code: paramsWFS.srsName }) : proj;
|
|
2899
2929
|
const currentExtent = olproj.transformExtent(extent, proj, wfsProj);
|
|
2900
2930
|
paramsWFS.srsName = paramsWFS.srsName || proj.getCode();
|
|
2901
|
-
const url = buildUrl(options, currentExtent, wfsProj, options.ogcFilters);
|
|
2931
|
+
const url = buildUrl(options, currentExtent, wfsProj, options.ogcFilters, randomParam);
|
|
2902
2932
|
let startIndex = 0;
|
|
2903
2933
|
if (paramsWFS.version === '2.0.0' && paramsWFS.maxFeatures > defaultMaxFeatures) {
|
|
2904
2934
|
const nbOfFeature = 1000;
|
|
@@ -2930,6 +2960,7 @@ class VectorLayer extends Layer {
|
|
|
2930
2960
|
* @param failure failure callback
|
|
2931
2961
|
*/
|
|
2932
2962
|
getFeatures(vectorSource, interceptor, extent, dataProjection, featureProjection, url, threshold, success, failure) {
|
|
2963
|
+
const idAssociatedCall = this.dataSource.mostRecentIdCallOGCFilter;
|
|
2933
2964
|
const xhr = new XMLHttpRequest();
|
|
2934
2965
|
const alteredUrlWithKeyAuth = interceptor.alterUrlWithKeyAuth(url);
|
|
2935
2966
|
let modifiedUrl = url;
|
|
@@ -2954,8 +2985,14 @@ class VectorLayer extends Layer {
|
|
|
2954
2985
|
/*if (features.length === 0 || features.length < threshold ) {
|
|
2955
2986
|
console.log('No more data to download at this resolution');
|
|
2956
2987
|
}*/
|
|
2957
|
-
|
|
2958
|
-
|
|
2988
|
+
// Avoids retrieving an older call that took longer to be process
|
|
2989
|
+
if (idAssociatedCall === this.dataSource.mostRecentIdCallOGCFilter) {
|
|
2990
|
+
vectorSource.addFeatures(features);
|
|
2991
|
+
success(features);
|
|
2992
|
+
}
|
|
2993
|
+
else {
|
|
2994
|
+
success([]);
|
|
2995
|
+
}
|
|
2959
2996
|
}
|
|
2960
2997
|
else {
|
|
2961
2998
|
onError();
|
|
@@ -3058,6 +3095,7 @@ class WFSDataSource extends DataSource {
|
|
|
3058
3095
|
this.options = options;
|
|
3059
3096
|
this.wfsService = wfsService;
|
|
3060
3097
|
this.authInterceptor = authInterceptor;
|
|
3098
|
+
this.mostRecentIdCallOGCFilter = 0;
|
|
3061
3099
|
this.ogcFilters$ = new BehaviorSubject(undefined);
|
|
3062
3100
|
const ogcFilters = this.options.ogcFilters;
|
|
3063
3101
|
const fieldNameGeometry = this.options.paramsWFS.fieldNameGeometry || defaultFieldNameGeometry;
|
|
@@ -3106,6 +3144,7 @@ class WFSDataSource extends DataSource {
|
|
|
3106
3144
|
}
|
|
3107
3145
|
setOgcFilters(ogcFilters, triggerEvent = false) {
|
|
3108
3146
|
this.ogcFilters = ogcFilters;
|
|
3147
|
+
this.mostRecentIdCallOGCFilter += 1;
|
|
3109
3148
|
if (triggerEvent) {
|
|
3110
3149
|
this.ogcFilters$.next(this.ogcFilters);
|
|
3111
3150
|
}
|
|
@@ -3443,26 +3482,96 @@ class ArcGISRestDataSource extends DataSource {
|
|
|
3443
3482
|
if (legendInfo === undefined || legend.length > 0) {
|
|
3444
3483
|
return legend;
|
|
3445
3484
|
}
|
|
3446
|
-
|
|
3447
|
-
const lyr = legendInfo.layers.find(layer => layer.layerId === id);
|
|
3448
|
-
if (!lyr) {
|
|
3485
|
+
if (!legendInfo) {
|
|
3449
3486
|
return;
|
|
3450
3487
|
}
|
|
3451
3488
|
let htmlString = '<table>';
|
|
3452
|
-
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3459
|
-
|
|
3460
|
-
|
|
3461
|
-
|
|
3489
|
+
let src;
|
|
3490
|
+
let label;
|
|
3491
|
+
let svg;
|
|
3492
|
+
if (legendInfo.legend) {
|
|
3493
|
+
for (const legendElement of legendInfo.legend) {
|
|
3494
|
+
src = this.htmlImgSrc(legendElement.contentType, legendElement.imageData);
|
|
3495
|
+
label = legendElement.label ? legendElement.label.replace('<Null>', 'Null') : '';
|
|
3496
|
+
htmlString +=
|
|
3497
|
+
`<tr><td align='left'><img src="` +
|
|
3498
|
+
src +
|
|
3499
|
+
`" alt ='' /></td><td class="mat-typography">` +
|
|
3500
|
+
label +
|
|
3501
|
+
'</td></tr>';
|
|
3502
|
+
}
|
|
3503
|
+
}
|
|
3504
|
+
else if (legendInfo.type === "uniqueValue") {
|
|
3505
|
+
for (const legendElement of legendInfo.uniqueValueInfos) {
|
|
3506
|
+
label = legendElement.label.replace('<Null>', 'Null');
|
|
3507
|
+
if (legendElement.symbol.type === 'esriPMS') {
|
|
3508
|
+
src = this.htmlImgSrc(legendElement.symbol.contentType, legendElement.symbol.imageData);
|
|
3509
|
+
htmlString +=
|
|
3510
|
+
`<tr><td align='left'><img src="` +
|
|
3511
|
+
src +
|
|
3512
|
+
`" alt ='' /></td><td class="mat-typography">` +
|
|
3513
|
+
label +
|
|
3514
|
+
'</td></tr>';
|
|
3515
|
+
}
|
|
3516
|
+
else if (legendElement.symbol.type !== 'esriPMS') {
|
|
3517
|
+
svg = this.createSVG(legendElement.symbol);
|
|
3518
|
+
htmlString += `<tr><td align='left'>` + svg + `</td><td class="mat-typography">` + label + '</td></tr>';
|
|
3519
|
+
}
|
|
3520
|
+
}
|
|
3521
|
+
}
|
|
3522
|
+
else if (legendInfo.type === "simple") {
|
|
3523
|
+
label = legendInfo.label ? legendInfo.label.replace('<Null>', 'Null') : '';
|
|
3524
|
+
if (legendInfo.symbol.type === 'esriPMS') {
|
|
3525
|
+
src = this.htmlImgSrc(legendInfo.symbol.contentType, legendInfo.symbol.imageData);
|
|
3526
|
+
htmlString +=
|
|
3527
|
+
`<tr><td align='left'><img src="` +
|
|
3528
|
+
src +
|
|
3529
|
+
`" alt ='' /></td><td class="mat-typography">` +
|
|
3530
|
+
label +
|
|
3531
|
+
'</td></tr>';
|
|
3532
|
+
}
|
|
3533
|
+
else if (legendInfo.symbol.type !== 'esriPMS') {
|
|
3534
|
+
svg = this.createSVG(legendInfo.symbol);
|
|
3535
|
+
htmlString += `<tr><td align='left'>` + svg + `</td><td class="mat-typography">` + label + '</td></tr>';
|
|
3536
|
+
}
|
|
3462
3537
|
}
|
|
3463
3538
|
htmlString += '</table>';
|
|
3464
3539
|
return [{ html: htmlString }];
|
|
3465
3540
|
}
|
|
3541
|
+
htmlImgSrc(contentType, imageData) {
|
|
3542
|
+
return `data:${contentType};base64,${imageData}`;
|
|
3543
|
+
}
|
|
3544
|
+
createSVG(symbol) {
|
|
3545
|
+
let svg = '';
|
|
3546
|
+
const color = symbol.color ? symbol.color : [0, 0, 0, 0];
|
|
3547
|
+
if (symbol.type === 'esriSLS') {
|
|
3548
|
+
const width = symbol.width ? symbol.width : 0;
|
|
3549
|
+
const stroke = `stroke:rgba(` + color[0] + ',' + color[1] + ',' + color[2] + ',' + color[3] + ')';
|
|
3550
|
+
const strokeWidth = `stroke-width:` + width;
|
|
3551
|
+
if (symbol.style === 'esriSLSSolid') {
|
|
3552
|
+
svg = `<svg height="30" width="30"><line x1="0" y1="15" x2="30" y2="15" style="` + stroke + ';' + strokeWidth + `"/></svg>`;
|
|
3553
|
+
}
|
|
3554
|
+
else if (symbol.style === 'esriSLSDash') {
|
|
3555
|
+
const strokeDashArray = `stroke-dasharray="5,5"`;
|
|
3556
|
+
svg = `<svg height="30" width="30"><line x1="0" y1="15" x2="30" y2="15" style="` + stroke + ';' + strokeWidth + `" ` + strokeDashArray + `/></svg>`;
|
|
3557
|
+
}
|
|
3558
|
+
}
|
|
3559
|
+
else if (symbol.style === 'esriSMSCircle' || symbol.style === 'esriSFSSolid') {
|
|
3560
|
+
const outlineColor = symbol.outline.color;
|
|
3561
|
+
const outlineWidth = symbol.outline.width;
|
|
3562
|
+
const size = symbol.size;
|
|
3563
|
+
const stroke = `stroke:rgba(` + outlineColor[0] + ',' + outlineColor[1] + ',' + outlineColor[2] + ',' + outlineColor[3] + ')';
|
|
3564
|
+
const strokeWidth = `stroke-width:` + outlineWidth;
|
|
3565
|
+
const fill = `fill:rgba(` + color[0] + ',' + color[1] + ',' + color[2] + ',' + color[3] + ')';
|
|
3566
|
+
if (symbol.style === 'esriSMSCircle') {
|
|
3567
|
+
svg = `<svg height="30" width="30"><circle cx="15" cy="15" r="` + size / 2 + `" style="` + stroke + ';' + strokeWidth + ';' + fill + `"/></svg>`;
|
|
3568
|
+
}
|
|
3569
|
+
else {
|
|
3570
|
+
svg = `<svg height="30" width="30"><rect x="5" y="5" width="20" height="20" style ="` + stroke + ';' + strokeWidth + ';' + fill + `"/></svg>`;
|
|
3571
|
+
}
|
|
3572
|
+
}
|
|
3573
|
+
return svg;
|
|
3574
|
+
}
|
|
3466
3575
|
onUnwatch() { }
|
|
3467
3576
|
}
|
|
3468
3577
|
|
|
@@ -3495,25 +3604,22 @@ class ImageArcGISRestDataSource extends DataSource {
|
|
|
3495
3604
|
});
|
|
3496
3605
|
}
|
|
3497
3606
|
getLegend() {
|
|
3498
|
-
|
|
3499
|
-
const legendInfo = ((_a = this.options.options) === null || _a === void 0 ? void 0 : _a.legendInfo) || ((_b = this.params) === null || _b === void 0 ? void 0 : _b.legendInfo);
|
|
3607
|
+
const legendInfo = this.options.legendInfo;
|
|
3500
3608
|
const legend = super.getLegend();
|
|
3501
3609
|
if (legendInfo === undefined || this.options.layer === undefined || legend.length > 0) {
|
|
3502
3610
|
return legend;
|
|
3503
3611
|
}
|
|
3504
|
-
|
|
3505
|
-
const lyr = legendInfo.layers.find(layer => layer.layerId === id);
|
|
3506
|
-
if (!lyr) {
|
|
3612
|
+
if (!legendInfo) {
|
|
3507
3613
|
return;
|
|
3508
3614
|
}
|
|
3509
3615
|
let htmlString = '<table>';
|
|
3510
|
-
for (const
|
|
3511
|
-
const src = `${this.options.url}/${
|
|
3512
|
-
const label =
|
|
3616
|
+
for (const legendElement of legendInfo.legend) {
|
|
3617
|
+
const src = `${this.options.url}/${legendInfo.layerId}/images/${legendElement.url}`;
|
|
3618
|
+
const label = legendElement.label.replace('<Null>', 'Null');
|
|
3513
3619
|
htmlString +=
|
|
3514
3620
|
`<tr><td align='left'><img src="` +
|
|
3515
3621
|
src +
|
|
3516
|
-
`" alt ='' /></td><td>` +
|
|
3622
|
+
`" alt ='' /></td><td class="mat-typography">` +
|
|
3517
3623
|
label +
|
|
3518
3624
|
'</td></tr>';
|
|
3519
3625
|
}
|
|
@@ -3546,22 +3652,20 @@ class TileArcGISRestDataSource extends DataSource {
|
|
|
3546
3652
|
getLegend() {
|
|
3547
3653
|
const legendInfo = this.options.legendInfo;
|
|
3548
3654
|
const legend = super.getLegend();
|
|
3549
|
-
if (legendInfo === undefined || legend.length > 0) {
|
|
3655
|
+
if (legendInfo === undefined || this.options.layer === undefined || legend.length > 0) {
|
|
3550
3656
|
return legend;
|
|
3551
3657
|
}
|
|
3552
|
-
|
|
3553
|
-
const lyr = legendInfo.layers.find(layer => layer.layerId === id);
|
|
3554
|
-
if (!lyr) {
|
|
3658
|
+
if (!legendInfo) {
|
|
3555
3659
|
return;
|
|
3556
3660
|
}
|
|
3557
3661
|
let htmlString = '<table>';
|
|
3558
|
-
for (const
|
|
3559
|
-
const src = `${this.options.url}/${
|
|
3560
|
-
const label =
|
|
3662
|
+
for (const legendElement of legendInfo.legend) {
|
|
3663
|
+
const src = `${this.options.url}/${legendInfo.layerId}/images/${legendElement.url}`;
|
|
3664
|
+
const label = legendElement.label.replace('<Null>', 'Null');
|
|
3561
3665
|
htmlString +=
|
|
3562
3666
|
`<tr><td align='left'><img src="` +
|
|
3563
3667
|
src +
|
|
3564
|
-
`" alt ='' /></td><td>` +
|
|
3668
|
+
`" alt ='' /></td><td class="mat-typography">` +
|
|
3565
3669
|
label +
|
|
3566
3670
|
'</td></tr>';
|
|
3567
3671
|
}
|
|
@@ -4287,12 +4391,25 @@ class CapabilitiesService {
|
|
|
4287
4391
|
});
|
|
4288
4392
|
return ObjectUtils.mergeDeep(options, baseOptions);
|
|
4289
4393
|
}
|
|
4290
|
-
parseArcgisOptions(baseOptions, arcgisOptions,
|
|
4394
|
+
parseArcgisOptions(baseOptions, arcgisOptions, legend, serviceCapabilities) {
|
|
4395
|
+
var _a;
|
|
4291
4396
|
const title = arcgisOptions.name;
|
|
4292
|
-
|
|
4293
|
-
|
|
4294
|
-
|
|
4295
|
-
|
|
4397
|
+
let legendInfo;
|
|
4398
|
+
if (legend.layers) {
|
|
4399
|
+
legendInfo = legend.layers.find(x => x.layerName === title);
|
|
4400
|
+
}
|
|
4401
|
+
else if ((_a = arcgisOptions.drawingInfo) === null || _a === void 0 ? void 0 : _a.renderer) {
|
|
4402
|
+
legendInfo = arcgisOptions.drawingInfo.renderer;
|
|
4403
|
+
}
|
|
4404
|
+
else {
|
|
4405
|
+
legendInfo = undefined;
|
|
4406
|
+
}
|
|
4407
|
+
let style;
|
|
4408
|
+
if (arcgisOptions.drawingInfo) {
|
|
4409
|
+
const styleGenerator = new EsriStyleGenerator();
|
|
4410
|
+
const units = arcgisOptions.units === 'esriMeters' ? 'm' : 'degrees';
|
|
4411
|
+
style = styleGenerator.generateStyle(arcgisOptions, units);
|
|
4412
|
+
}
|
|
4296
4413
|
const attributions = new olAttribution({
|
|
4297
4414
|
target: arcgisOptions.copyrightText
|
|
4298
4415
|
});
|
|
@@ -4314,10 +4431,9 @@ class CapabilitiesService {
|
|
|
4314
4431
|
};
|
|
4315
4432
|
}
|
|
4316
4433
|
const params = Object.assign({}, {
|
|
4317
|
-
legendInfo,
|
|
4318
4434
|
style,
|
|
4319
|
-
|
|
4320
|
-
timeExtent
|
|
4435
|
+
LAYERS: baseOptions.layer ? 'show:' + baseOptions.layer : undefined,
|
|
4436
|
+
time: timeExtent
|
|
4321
4437
|
});
|
|
4322
4438
|
const options = ObjectUtils.removeUndefined({
|
|
4323
4439
|
params,
|
|
@@ -4330,15 +4446,17 @@ class CapabilitiesService {
|
|
|
4330
4446
|
abstract: arcgisOptions.description || serviceCapabilities.serviceDescription
|
|
4331
4447
|
},
|
|
4332
4448
|
},
|
|
4449
|
+
legendInfo,
|
|
4450
|
+
timeFilter,
|
|
4333
4451
|
sourceFields: arcgisOptions.fields,
|
|
4334
4452
|
queryTitle: arcgisOptions.displayField
|
|
4335
4453
|
});
|
|
4336
|
-
options.
|
|
4454
|
+
options.attributions = attributions;
|
|
4337
4455
|
return ObjectUtils.mergeDeep(options, baseOptions);
|
|
4338
4456
|
}
|
|
4339
4457
|
parseTileOrImageArcgisOptions(baseOptions, arcgisOptions, legend, serviceCapabilities) {
|
|
4340
4458
|
const title = arcgisOptions.name;
|
|
4341
|
-
const legendInfo = legend.layers ? legend : undefined;
|
|
4459
|
+
const legendInfo = legend.layers ? legend.layers.find(x => x.layerName === title) : undefined;
|
|
4342
4460
|
const attributions = new olAttribution({
|
|
4343
4461
|
target: arcgisOptions.copyrightText
|
|
4344
4462
|
});
|
|
@@ -4723,7 +4841,7 @@ class DataSourceService {
|
|
|
4723
4841
|
return new Observable(d => d.next(new ClusterDataSource(context)));
|
|
4724
4842
|
}
|
|
4725
4843
|
}
|
|
4726
|
-
DataSourceService.ɵfac = function DataSourceService_Factory(t) { return new (t || DataSourceService)(i0.ɵɵinject(CapabilitiesService), i0.ɵɵinject(OptionsService, 8), i0.ɵɵinject(WFSService), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(i2$1.MessageService), i0.ɵɵinject(ProjectionService), i0.ɵɵinject(
|
|
4844
|
+
DataSourceService.ɵfac = function DataSourceService_Factory(t) { return new (t || DataSourceService)(i0.ɵɵinject(CapabilitiesService), i0.ɵɵinject(OptionsService, 8), i0.ɵɵinject(WFSService), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(i2$1.MessageService), i0.ɵɵinject(ProjectionService), i0.ɵɵinject(i5.AuthInterceptor)); };
|
|
4727
4845
|
DataSourceService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DataSourceService, factory: DataSourceService.ɵfac, providedIn: 'root' });
|
|
4728
4846
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DataSourceService, [{
|
|
4729
4847
|
type: Injectable,
|
|
@@ -4732,7 +4850,7 @@ DataSourceService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DataSo
|
|
|
4732
4850
|
}]
|
|
4733
4851
|
}], function () { return [{ type: CapabilitiesService }, { type: OptionsService, decorators: [{
|
|
4734
4852
|
type: Optional
|
|
4735
|
-
}] }, { type: WFSService }, { type: i2$1.LanguageService }, { type: i2$1.MessageService }, { type: ProjectionService }, { type:
|
|
4853
|
+
}] }, { type: WFSService }, { type: i2$1.LanguageService }, { type: i2$1.MessageService }, { type: ProjectionService }, { type: i5.AuthInterceptor }]; }, null); })();
|
|
4736
4854
|
|
|
4737
4855
|
class OptionsApiService extends OptionsService {
|
|
4738
4856
|
constructor(http, options = {}) {
|
|
@@ -4954,6 +5072,7 @@ function featureFromOl(olFeature, projectionIn, olLayer, projectionOut = 'EPSG:4
|
|
|
4954
5072
|
}
|
|
4955
5073
|
const mapTitle = olFeature.get('_mapTitle');
|
|
4956
5074
|
const id = olFeature.getId() ? olFeature.getId() : olFeature.get(idColumn) ? olFeature.get(idColumn) : uuid();
|
|
5075
|
+
const newFeature = olFeature.get('_newFeature');
|
|
4957
5076
|
return {
|
|
4958
5077
|
type: FEATURE,
|
|
4959
5078
|
projection: projectionOut,
|
|
@@ -5331,10 +5450,23 @@ class FeatureStoreInMapExtentStrategy extends EntityStoreStrategy {
|
|
|
5331
5450
|
if ((_b = (_a = store === null || store === void 0 ? void 0 : store.layer) === null || _a === void 0 ? void 0 : _a.map) === null || _b === void 0 ? void 0 : _b.viewController) {
|
|
5332
5451
|
store.state.updateAll({ inMapExtent: false });
|
|
5333
5452
|
const mapExtent = store.layer.map.viewController.getExtent();
|
|
5334
|
-
|
|
5335
|
-
|
|
5453
|
+
let entitiesInMapExtent = [];
|
|
5454
|
+
let entitiesWithNoGeom = [];
|
|
5455
|
+
for (const entity of store.entities$.value) {
|
|
5456
|
+
if (entity.ol) {
|
|
5457
|
+
if (olextent.intersects(entity.ol.getGeometry().getExtent(), mapExtent)) {
|
|
5458
|
+
entitiesInMapExtent.push(entity);
|
|
5459
|
+
}
|
|
5460
|
+
}
|
|
5461
|
+
else {
|
|
5462
|
+
entitiesWithNoGeom.push(entity);
|
|
5463
|
+
}
|
|
5464
|
+
}
|
|
5336
5465
|
if (entitiesInMapExtent.length > 0) {
|
|
5337
|
-
store.state.updateMany(entitiesInMapExtent, { inMapExtent: true },
|
|
5466
|
+
store.state.updateMany(entitiesInMapExtent, { inMapExtent: true }, false);
|
|
5467
|
+
}
|
|
5468
|
+
if (entitiesWithNoGeom.length > 0) {
|
|
5469
|
+
store.state.updateMany(entitiesWithNoGeom, { inMapExtent: true }, false);
|
|
5338
5470
|
}
|
|
5339
5471
|
}
|
|
5340
5472
|
}
|
|
@@ -7651,7 +7783,7 @@ MapBrowserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapBrow
|
|
|
7651
7783
|
i0.ɵɵprojection(1);
|
|
7652
7784
|
} if (rf & 2) {
|
|
7653
7785
|
i0.ɵɵproperty("id", ctx.id);
|
|
7654
|
-
} }, styles: ["[_nghost-%COMP%]{position:relative;display:block}[_nghost-%COMP%], .igo-map-browser-target[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] igo-zoom-button{position:absolute;bottom:5px;right:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){[_nghost-%COMP%] igo-zoom-button{display:none}}[_nghost-%COMP%] igo-offline-button{position:absolute;bottom:15px;right:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){[_nghost-%COMP%] igo-offline-button{bottom:5px}}[_nghost-%COMP%] igo-geolocate-button{position:absolute;bottom:5px;right:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){[_nghost-%COMP%] igo-geolocate-button{bottom:5px}}[_nghost-%COMP%] igo-rotation-button{position:absolute;top:calc(40px + 5px + 5px);right:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){[_nghost-%COMP%] igo-rotation-button{
|
|
7786
|
+
} }, styles: ["[_nghost-%COMP%]{position:relative;display:block}[_nghost-%COMP%], .igo-map-browser-target[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] igo-zoom-button{position:absolute;bottom:calc(40px + 5px + 5px);right:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){[_nghost-%COMP%] igo-zoom-button{display:none}}[_nghost-%COMP%] igo-offline-button{position:absolute;bottom:15px;right:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){[_nghost-%COMP%] igo-offline-button{bottom:5px}}[_nghost-%COMP%] igo-geolocate-button{position:absolute;bottom:5px;right:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){[_nghost-%COMP%] igo-geolocate-button{bottom:5px}}[_nghost-%COMP%] igo-rotation-button{position:absolute;top:calc(40px + 5px + 5px);right:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){[_nghost-%COMP%] igo-rotation-button{bottom:calc(40px + 5px + 5px)}}[_nghost-%COMP%] igo-home-extent-button{position:absolute;bottom:calc((3 * 40px) + 5px + (2 * 5px));right:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){[_nghost-%COMP%] igo-home-extent-button{bottom:5px;right:calc((2 * 40px) + (3 * 5px))}}[_nghost-%COMP%] igo-user-button{position:absolute;bottom:5px;right:calc(5px + 50px)}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){[_nghost-%COMP%] igo-user-button{right:calc((2 * 40px) + (2 * 5px))}}[_nghost-%COMP%] igo-baselayers-switcher{position:absolute;bottom:5px;left:5px}[_nghost-%COMP%] .ol-attribution{flex-flow:row;left:calc(40px + 5px + 5px);bottom:5px;text-align:left;padding:0;margin-right:90px;background-color:#fff0;width:calc(100% - 100px)}[_nghost-%COMP%] .ol-attribution.ol-logo-only{height:inherit}[_nghost-%COMP%] .ol-attribution.ol-collapsed{background:none}[_nghost-%COMP%] .ol-attribution.ol-collapsed button{transform:none}[_nghost-%COMP%] .ol-attribution button{transform:rotate(180deg);background-color:#fff;cursor:pointer;outline:none}[_nghost-%COMP%] .ol-scale-line-inner{color:#000;border-color:#000;text-shadow:white -1px -1px 3px,white 1px -1px 3px,white -1px 1px 3px,white 1px 1px 4px;box-shadow:0 1px 0 1px #fff9}[_nghost-%COMP%] .ol-scale-line{background-color:#fff0;bottom:4px;transform:translate(-50%);left:50%}[_nghost-%COMP%] .ol-scale-bar{background-color:#fff0;bottom:4px;transform:translate(-50%);left:50%}[_nghost-%COMP%] .ol-scale-text{text-shadow:white -1px -1px 3px,white 1px -1px 3px,white -1px 1px 3px,white 1px 1px 4px}[_nghost-%COMP%] .ol-scale-step-text{text-shadow:white -1px -1px 3px,white 1px -1px 3px,white -1px 1px 3px,white 1px 1px 4px}[_nghost-%COMP%] canvas{display:block}"] });
|
|
7655
7787
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapBrowserComponent, [{
|
|
7656
7788
|
type: Component,
|
|
7657
7789
|
args: [{
|
|
@@ -7684,19 +7816,24 @@ class MapOfflineDirective {
|
|
|
7684
7816
|
}
|
|
7685
7817
|
ngAfterViewInit() {
|
|
7686
7818
|
this.map.offlineButtonToggle$.subscribe((offlineButtonToggle) => {
|
|
7819
|
+
if (this.previousMessageId) {
|
|
7820
|
+
this.messageService.remove(this.previousMessageId);
|
|
7821
|
+
}
|
|
7687
7822
|
this.offlineButtonStatus = offlineButtonToggle;
|
|
7688
7823
|
const translate = this.languageService.translate;
|
|
7689
7824
|
if (this.offlineButtonStatus && this.networkState.connection) {
|
|
7690
7825
|
const message = translate.instant('igo.geo.network.offline.message');
|
|
7691
7826
|
const title = translate.instant('igo.geo.network.offline.title');
|
|
7692
|
-
this.messageService.info(message, title);
|
|
7827
|
+
const messageObj = this.messageService.info(message, title);
|
|
7828
|
+
this.previousMessageId = messageObj.toastId;
|
|
7693
7829
|
this.offlineButtonState.connection = false;
|
|
7694
7830
|
this.changeLayer();
|
|
7695
7831
|
}
|
|
7696
7832
|
else if (!this.offlineButtonStatus && !this.networkState.connection) {
|
|
7697
7833
|
const message = translate.instant('igo.geo.network.offline.message');
|
|
7698
7834
|
const title = translate.instant('igo.geo.network.offline.title');
|
|
7699
|
-
this.messageService.info(message, title);
|
|
7835
|
+
const messageObj = this.messageService.info(message, title);
|
|
7836
|
+
this.previousMessageId = messageObj.toastId;
|
|
7700
7837
|
this.offlineButtonState.connection = false;
|
|
7701
7838
|
this.changeLayer();
|
|
7702
7839
|
}
|
|
@@ -7711,7 +7848,10 @@ class MapOfflineDirective {
|
|
|
7711
7848
|
titleObs.subscribe((title1) => {
|
|
7712
7849
|
title = title1;
|
|
7713
7850
|
});
|
|
7714
|
-
|
|
7851
|
+
if (message) {
|
|
7852
|
+
const messageObj = this.messageService.info(message, title);
|
|
7853
|
+
this.previousMessageId = messageObj.toastId;
|
|
7854
|
+
}
|
|
7715
7855
|
this.offlineButtonState.connection = true;
|
|
7716
7856
|
this.changeLayer();
|
|
7717
7857
|
}
|
|
@@ -7730,6 +7870,9 @@ class MapOfflineDirective {
|
|
|
7730
7870
|
let sourceOptions;
|
|
7731
7871
|
const layerList = this.map.layers$.value;
|
|
7732
7872
|
layerList.forEach(layer => {
|
|
7873
|
+
if (layer.isIgoInternalLayer) {
|
|
7874
|
+
return;
|
|
7875
|
+
}
|
|
7733
7876
|
if (layer.options.source instanceof MVTDataSource) {
|
|
7734
7877
|
sourceOptions = layer.options.sourceOptions;
|
|
7735
7878
|
layer.ol.getSource().refresh();
|
|
@@ -7764,7 +7907,7 @@ class MapOfflineDirective {
|
|
|
7764
7907
|
sourceOptions.type === 'cluster') {
|
|
7765
7908
|
return;
|
|
7766
7909
|
}
|
|
7767
|
-
|
|
7910
|
+
layer.ol.getSource().setUrl(sourceOptions.pathOffline);
|
|
7768
7911
|
}
|
|
7769
7912
|
else if ((sourceOptions.pathOffline &&
|
|
7770
7913
|
this.networkState.connection === false) ||
|
|
@@ -7774,7 +7917,7 @@ class MapOfflineDirective {
|
|
|
7774
7917
|
sourceOptions.type === 'cluster') {
|
|
7775
7918
|
return;
|
|
7776
7919
|
}
|
|
7777
|
-
|
|
7920
|
+
layer.ol.getSource().setUrl(sourceOptions.url);
|
|
7778
7921
|
}
|
|
7779
7922
|
else {
|
|
7780
7923
|
if (this.networkState.connection === false ||
|
|
@@ -8183,6 +8326,7 @@ class HoverFeatureDirective {
|
|
|
8183
8326
|
initStore() {
|
|
8184
8327
|
const store = this.store;
|
|
8185
8328
|
const layer = new VectorLayer({
|
|
8329
|
+
isIgoInternalLayer: true,
|
|
8186
8330
|
id: 'hoverFeatureId',
|
|
8187
8331
|
title: 'hoverFeature',
|
|
8188
8332
|
zIndex: 900,
|
|
@@ -8810,6 +8954,67 @@ GeolocateButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Ge
|
|
|
8810
8954
|
type: Input
|
|
8811
8955
|
}] }); })();
|
|
8812
8956
|
|
|
8957
|
+
/*
|
|
8958
|
+
Button to center the map to the home extent
|
|
8959
|
+
*/
|
|
8960
|
+
class HomeExtentButtonComponent {
|
|
8961
|
+
constructor(configService) {
|
|
8962
|
+
this.configService = configService;
|
|
8963
|
+
this.computeHomeExtent();
|
|
8964
|
+
}
|
|
8965
|
+
computeHomeExtent() {
|
|
8966
|
+
this.homeExtentButtonExtent = this.extentOverride || this.configService.getConfig('homeExtentButton.homeExtButtonExtent');
|
|
8967
|
+
this.homeExtentButtonCenter = this.centerOverride || this.configService.getConfig('homeExtentButton.homeExtButtonCenter');
|
|
8968
|
+
this.homeExtentButtonZoom = this.zoomOverride || this.configService.getConfig('homeExtentButton.homeExtButtonZoom');
|
|
8969
|
+
// priority over extent if these 2 properties are defined;
|
|
8970
|
+
if (this.centerOverride && this.zoomOverride) {
|
|
8971
|
+
this.homeExtentButtonExtent = undefined;
|
|
8972
|
+
}
|
|
8973
|
+
}
|
|
8974
|
+
onToggleClick() {
|
|
8975
|
+
this.computeHomeExtent();
|
|
8976
|
+
if (this.homeExtentButtonExtent) {
|
|
8977
|
+
this.map.viewController.zoomToExtent(this.homeExtentButtonExtent);
|
|
8978
|
+
}
|
|
8979
|
+
else if (this.homeExtentButtonCenter && this.homeExtentButtonZoom) {
|
|
8980
|
+
const center = olproj.fromLonLat(this.homeExtentButtonCenter, this.map.viewController.olView.getProjection().getCode());
|
|
8981
|
+
this.map.viewController.olView.setCenter(center);
|
|
8982
|
+
this.map.viewController.zoomTo(this.homeExtentButtonZoom);
|
|
8983
|
+
}
|
|
8984
|
+
}
|
|
8985
|
+
}
|
|
8986
|
+
HomeExtentButtonComponent.ɵfac = function HomeExtentButtonComponent_Factory(t) { return new (t || HomeExtentButtonComponent)(i0.ɵɵdirectiveInject(i2$1.ConfigService)); };
|
|
8987
|
+
HomeExtentButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HomeExtentButtonComponent, selectors: [["igo-home-extent-button"]], inputs: { map: "map", color: "color", extentOverride: "extentOverride", centerOverride: "centerOverride", zoomOverride: "zoomOverride" }, decls: 4, vars: 4, consts: [[1, "igo-home-extent-button-container"], ["mat-icon-button", "", "matTooltipPosition", "left", 3, "matTooltip", "color", "click"], ["svgIcon", "home-map-marker"]], template: function HomeExtentButtonComponent_Template(rf, ctx) { if (rf & 1) {
|
|
8988
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
8989
|
+
i0.ɵɵelementStart(1, "button", 1);
|
|
8990
|
+
i0.ɵɵlistener("click", function HomeExtentButtonComponent_Template_button_click_1_listener() { return ctx.onToggleClick(); });
|
|
8991
|
+
i0.ɵɵpipe(2, "translate");
|
|
8992
|
+
i0.ɵɵelement(3, "mat-icon", 2);
|
|
8993
|
+
i0.ɵɵelementEnd();
|
|
8994
|
+
i0.ɵɵelementEnd();
|
|
8995
|
+
} if (rf & 2) {
|
|
8996
|
+
i0.ɵɵadvance(1);
|
|
8997
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(2, 2, "igo.geo.mapButtons.home-extent"))("color", ctx.color);
|
|
8998
|
+
} }, directives: [i2.MatButton, i3.MatTooltip, i4.MatIcon], pipes: [i7.TranslatePipe], styles: ["@charset \"UTF-8\";.igo-home-extent-button-container[_ngcontent-%COMP%]{width:40px;background-color:#fff}\\a0[_ngcontent-%COMP%] .igo-home-extent-button-container[_ngcontent-%COMP%]:hover{background-color:#efefef}button[_ngcontent-%COMP%], [_nghost-%COMP%] button .mat-button-ripple-round{border-radius:0}"] });
|
|
8999
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HomeExtentButtonComponent, [{
|
|
9000
|
+
type: Component,
|
|
9001
|
+
args: [{
|
|
9002
|
+
selector: 'igo-home-extent-button',
|
|
9003
|
+
templateUrl: './home-extent-button.component.html',
|
|
9004
|
+
styleUrls: ['./home-extent-button.component.scss'],
|
|
9005
|
+
}]
|
|
9006
|
+
}], function () { return [{ type: i2$1.ConfigService }]; }, { map: [{
|
|
9007
|
+
type: Input
|
|
9008
|
+
}], color: [{
|
|
9009
|
+
type: Input
|
|
9010
|
+
}], extentOverride: [{
|
|
9011
|
+
type: Input
|
|
9012
|
+
}], centerOverride: [{
|
|
9013
|
+
type: Input
|
|
9014
|
+
}], zoomOverride: [{
|
|
9015
|
+
type: Input
|
|
9016
|
+
}] }); })();
|
|
9017
|
+
|
|
8813
9018
|
const _c0$h = function (a0) { return [a0]; };
|
|
8814
9019
|
function OfflineButtonComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
8815
9020
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
@@ -9142,14 +9347,14 @@ class LayerService {
|
|
|
9142
9347
|
}));
|
|
9143
9348
|
}
|
|
9144
9349
|
}
|
|
9145
|
-
LayerService.ɵfac = function LayerService_Factory(t) { return new (t || LayerService)(i0.ɵɵinject(i1$2.HttpClient), i0.ɵɵinject(StyleService), i0.ɵɵinject(DataSourceService), i0.ɵɵinject(i2$1.MessageService), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(
|
|
9350
|
+
LayerService.ɵfac = function LayerService_Factory(t) { return new (t || LayerService)(i0.ɵɵinject(i1$2.HttpClient), i0.ɵɵinject(StyleService), i0.ɵɵinject(DataSourceService), i0.ɵɵinject(i2$1.MessageService), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(i5.AuthInterceptor, 8)); };
|
|
9146
9351
|
LayerService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LayerService, factory: LayerService.ɵfac, providedIn: 'root' });
|
|
9147
9352
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LayerService, [{
|
|
9148
9353
|
type: Injectable,
|
|
9149
9354
|
args: [{
|
|
9150
9355
|
providedIn: 'root'
|
|
9151
9356
|
}]
|
|
9152
|
-
}], function () { return [{ type: i1$2.HttpClient }, { type: StyleService }, { type: DataSourceService }, { type: i2$1.MessageService }, { type: i2$1.LanguageService }, { type:
|
|
9357
|
+
}], function () { return [{ type: i1$2.HttpClient }, { type: StyleService }, { type: DataSourceService }, { type: i2$1.MessageService }, { type: i2$1.LanguageService }, { type: i5.AuthInterceptor, decorators: [{
|
|
9153
9358
|
type: Optional
|
|
9154
9359
|
}] }]; }, null); })();
|
|
9155
9360
|
|
|
@@ -9613,7 +9818,7 @@ MapCenterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapCente
|
|
|
9613
9818
|
i0.ɵɵelement(1, "div", 1);
|
|
9614
9819
|
i0.ɵɵelement(2, "div", 2);
|
|
9615
9820
|
i0.ɵɵelementEnd();
|
|
9616
|
-
} }, styles: [".mapCenter[_ngcontent-%COMP%]{width:30px;height:30px;position:absolute;top:50%;left:50%;transform:translate(-15px,-15px)}.mapCenter[_ngcontent-%COMP%] .vertical[_ngcontent-%COMP%], .mapCenter[_ngcontent-%COMP%] .horizontal[_ngcontent-%COMP%]{width:4px;height:30px;position:absolute;left:13px;background-color:#000}.mapCenter[_ngcontent-%COMP%] .horizontal[_ngcontent-%COMP%]{transform:rotate(90deg)}"] });
|
|
9821
|
+
} }, styles: [".mapCenter[_ngcontent-%COMP%]{width:30px;height:30px;position:absolute;top:50%;left:50%;transform:translate(-15px,-15px);pointer-events:none}.mapCenter[_ngcontent-%COMP%] .vertical[_ngcontent-%COMP%], .mapCenter[_ngcontent-%COMP%] .horizontal[_ngcontent-%COMP%]{width:4px;height:30px;position:absolute;left:13px;background-color:#000}.mapCenter[_ngcontent-%COMP%] .horizontal[_ngcontent-%COMP%]{transform:rotate(90deg)}"] });
|
|
9617
9822
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapCenterComponent, [{
|
|
9618
9823
|
type: Component,
|
|
9619
9824
|
args: [{
|
|
@@ -9625,6 +9830,39 @@ MapCenterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapCente
|
|
|
9625
9830
|
type: Input
|
|
9626
9831
|
}] }); })();
|
|
9627
9832
|
|
|
9833
|
+
function InfoSectionComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
9834
|
+
i0.ɵɵelementStart(0, "div", 1);
|
|
9835
|
+
i0.ɵɵelementStart(1, "pre");
|
|
9836
|
+
i0.ɵɵtext(2);
|
|
9837
|
+
i0.ɵɵelementEnd();
|
|
9838
|
+
i0.ɵɵelementEnd();
|
|
9839
|
+
} if (rf & 2) {
|
|
9840
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
9841
|
+
i0.ɵɵadvance(2);
|
|
9842
|
+
i0.ɵɵtextInterpolate(ctx_r0.infoContent);
|
|
9843
|
+
} }
|
|
9844
|
+
class InfoSectionComponent {
|
|
9845
|
+
constructor() {
|
|
9846
|
+
this.infoContent = '';
|
|
9847
|
+
}
|
|
9848
|
+
}
|
|
9849
|
+
InfoSectionComponent.ɵfac = function InfoSectionComponent_Factory(t) { return new (t || InfoSectionComponent)(); };
|
|
9850
|
+
InfoSectionComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: InfoSectionComponent, selectors: [["igo-info-section"]], inputs: { infoContent: "infoContent" }, decls: 1, vars: 1, consts: [["class", "infoSection", 4, "ngIf"], [1, "infoSection"]], template: function InfoSectionComponent_Template(rf, ctx) { if (rf & 1) {
|
|
9851
|
+
i0.ɵɵtemplate(0, InfoSectionComponent_div_0_Template, 3, 1, "div", 0);
|
|
9852
|
+
} if (rf & 2) {
|
|
9853
|
+
i0.ɵɵproperty("ngIf", ctx.infoContent && ctx.infoContent.length);
|
|
9854
|
+
} }, directives: [i1$1.NgIf], styles: [".infoSection[_ngcontent-%COMP%]{border-radius:10px;background-color:#6e6e6e66;padding:calc(5px / 2);position:absolute;text-align:center;top:5px;left:50%;text-shadow:0 0 5px white,0 0 10px white,0 0 15px white}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.infoSection[_ngcontent-%COMP%]{top:calc(40px + 5px + 5px);left:10%}}"] });
|
|
9855
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoSectionComponent, [{
|
|
9856
|
+
type: Component,
|
|
9857
|
+
args: [{
|
|
9858
|
+
selector: 'igo-info-section',
|
|
9859
|
+
templateUrl: './info-section.component.html',
|
|
9860
|
+
styleUrls: ['./info-section.component.scss']
|
|
9861
|
+
}]
|
|
9862
|
+
}], function () { return []; }, { infoContent: [{
|
|
9863
|
+
type: Input
|
|
9864
|
+
}] }); })();
|
|
9865
|
+
|
|
9628
9866
|
var CatalogItemType;
|
|
9629
9867
|
(function (CatalogItemType) {
|
|
9630
9868
|
CatalogItemType["Layer"] = "layer";
|
|
@@ -9754,16 +9992,19 @@ class QueryService {
|
|
|
9754
9992
|
QueryFormat.HTMLGML2) {
|
|
9755
9993
|
const urlGml = this.getQueryUrl(layer.dataSource, options, true);
|
|
9756
9994
|
return this.http.get(urlGml, { responseType: 'text' }).pipe(mergeMap(gmlRes => {
|
|
9757
|
-
const
|
|
9995
|
+
const mergedGML = this.mergeGML(gmlRes, url, layer);
|
|
9996
|
+
const imposedGeom = mergedGML[0];
|
|
9997
|
+
const imposedProperties = mergedGML[1];
|
|
9758
9998
|
return this.http
|
|
9759
9999
|
.get(url, { responseType: 'text' })
|
|
9760
|
-
.pipe(map(res => this.extractData(res, layer, options, url, imposedGeom)));
|
|
10000
|
+
.pipe(map(res => this.extractData(res, layer, options, url, imposedGeom, imposedProperties)));
|
|
9761
10001
|
}));
|
|
9762
10002
|
}
|
|
9763
10003
|
const request = this.http.get(url, { responseType: 'text' });
|
|
9764
10004
|
return request.pipe(map(res => this.extractData(res, layer, options, url)));
|
|
9765
10005
|
}
|
|
9766
|
-
mergeGML(gmlRes, url) {
|
|
10006
|
+
mergeGML(gmlRes, url, layer) {
|
|
10007
|
+
var _a, _b;
|
|
9767
10008
|
const parser = new olFormatGML2();
|
|
9768
10009
|
let features = parser.readFeatures(gmlRes);
|
|
9769
10010
|
// Handle non standard GML output (MapServer)
|
|
@@ -9785,7 +10026,22 @@ class QueryService {
|
|
|
9785
10026
|
const bboxExtent = olextent.createEmpty();
|
|
9786
10027
|
olextent.extend(bboxExtent, bbox);
|
|
9787
10028
|
const outBboxExtent = false;
|
|
10029
|
+
let titleContent;
|
|
10030
|
+
let queryTileField;
|
|
10031
|
+
if ((_b = (_a = layer.options) === null || _a === void 0 ? void 0 : _a.source) === null || _b === void 0 ? void 0 : _b.options) {
|
|
10032
|
+
const dataSourceOptions = layer.options.source
|
|
10033
|
+
.options;
|
|
10034
|
+
if (dataSourceOptions.queryTitle) {
|
|
10035
|
+
queryTileField = dataSourceOptions.queryTitle;
|
|
10036
|
+
}
|
|
10037
|
+
}
|
|
9788
10038
|
features.map(feature => {
|
|
10039
|
+
if (queryTileField) {
|
|
10040
|
+
let queryTitleContent = feature.getProperties()[queryTileField];
|
|
10041
|
+
if (queryTitleContent) {
|
|
10042
|
+
titleContent = !titleContent ? queryTitleContent : `${titleContent},${queryTitleContent}`;
|
|
10043
|
+
}
|
|
10044
|
+
}
|
|
9789
10045
|
/* if (!feature.getGeometry().simplify(100).intersectsExtent(bboxExtent)) {
|
|
9790
10046
|
outBboxExtent = true;
|
|
9791
10047
|
// TODO: Check to project the geometry?
|
|
@@ -9832,27 +10088,31 @@ class QueryService {
|
|
|
9832
10088
|
coordinates: [this.convexHull(ptsArray)]
|
|
9833
10089
|
};
|
|
9834
10090
|
}
|
|
10091
|
+
let returnGeometry;
|
|
9835
10092
|
switch (firstFeatureType) {
|
|
9836
10093
|
case 'LineString':
|
|
9837
|
-
|
|
10094
|
+
returnGeometry = {
|
|
9838
10095
|
type: olmline.getType(),
|
|
9839
10096
|
coordinates: olmline.getCoordinates()
|
|
9840
10097
|
};
|
|
9841
10098
|
case 'Point':
|
|
9842
10099
|
return olmpts;
|
|
9843
10100
|
case 'Polygon':
|
|
9844
|
-
|
|
10101
|
+
returnGeometry = {
|
|
9845
10102
|
type: olmpoly.getType(),
|
|
9846
10103
|
coordinates: olmpoly.getCoordinates()
|
|
9847
10104
|
};
|
|
9848
10105
|
case 'MultiPolygon':
|
|
9849
|
-
|
|
10106
|
+
returnGeometry = {
|
|
9850
10107
|
type: olmpoly.getType(),
|
|
9851
10108
|
coordinates: olmpoly.getCoordinates()
|
|
9852
10109
|
};
|
|
9853
|
-
default:
|
|
9854
|
-
return;
|
|
9855
10110
|
}
|
|
10111
|
+
const imposedProperties = {};
|
|
10112
|
+
if (queryTileField) {
|
|
10113
|
+
imposedProperties[queryTileField] = titleContent;
|
|
10114
|
+
}
|
|
10115
|
+
return [returnGeometry, imposedProperties];
|
|
9856
10116
|
}
|
|
9857
10117
|
cross(a, b, o) {
|
|
9858
10118
|
return (a[0] - o[0]) * (b[1] - o[1]) - (a[1] - o[1]) * (b[0] - o[0]);
|
|
@@ -9886,7 +10146,7 @@ class QueryService {
|
|
|
9886
10146
|
lower.pop();
|
|
9887
10147
|
return lower.concat(upper);
|
|
9888
10148
|
}
|
|
9889
|
-
extractData(res, layer, options, url, imposedGeometry) {
|
|
10149
|
+
extractData(res, layer, options, url, imposedGeometry, imposedProperties) {
|
|
9890
10150
|
const queryDataSource = layer.dataSource;
|
|
9891
10151
|
const allowedFieldsAndAlias = this.getAllowedFieldsAndAlias(layer);
|
|
9892
10152
|
let features = [];
|
|
@@ -9909,7 +10169,7 @@ class QueryService {
|
|
|
9909
10169
|
features = this.extractHtmlData(res, queryDataSource.queryHtmlTarget, url);
|
|
9910
10170
|
break;
|
|
9911
10171
|
case QueryFormat.HTMLGML2:
|
|
9912
|
-
features = this.extractHtmlData(res, queryDataSource.queryHtmlTarget, url, imposedGeometry);
|
|
10172
|
+
features = this.extractHtmlData(res, queryDataSource.queryHtmlTarget, url, imposedGeometry, imposedProperties);
|
|
9913
10173
|
break;
|
|
9914
10174
|
case QueryFormat.GML2:
|
|
9915
10175
|
default:
|
|
@@ -10065,7 +10325,7 @@ class QueryService {
|
|
|
10065
10325
|
// TODO
|
|
10066
10326
|
return [];
|
|
10067
10327
|
}
|
|
10068
|
-
extractHtmlData(res, htmlTarget, url, imposedGeometry) {
|
|
10328
|
+
extractHtmlData(res, htmlTarget, url, imposedGeometry, imposedProperties) {
|
|
10069
10329
|
const searchParams = this.getQueryParams(url.toLowerCase());
|
|
10070
10330
|
const projection = searchParams.crs || searchParams.srs || 'EPSG:3857';
|
|
10071
10331
|
const geomToAdd = this.createGeometryFromUrlClick(url);
|
|
@@ -10085,7 +10345,7 @@ class QueryService {
|
|
|
10085
10345
|
{
|
|
10086
10346
|
type: FEATURE,
|
|
10087
10347
|
projection,
|
|
10088
|
-
properties: { target: htmlTarget, body: res, url },
|
|
10348
|
+
properties: Object.assign({ target: htmlTarget, body: res, url }, imposedProperties),
|
|
10089
10349
|
geometry: imposedGeometry || geomToAdd
|
|
10090
10350
|
}
|
|
10091
10351
|
];
|
|
@@ -10439,6 +10699,9 @@ class QueryDirective {
|
|
|
10439
10699
|
if (event.type === 'singleclick') {
|
|
10440
10700
|
this.map.ol.forEachFeatureAtPixel(event.pixel, (featureOL, layerOL) => {
|
|
10441
10701
|
const layer = this.map.getLayerById(layerOL.values_._layer.id);
|
|
10702
|
+
if (layer.dataSource.options.queryFormatAsWms) {
|
|
10703
|
+
return;
|
|
10704
|
+
}
|
|
10442
10705
|
if (featureOL) {
|
|
10443
10706
|
if (featureOL.get('features')) {
|
|
10444
10707
|
for (const feature of featureOL.get('features')) {
|
|
@@ -10725,7 +10988,7 @@ class SearchSource {
|
|
|
10725
10988
|
hashtagsValid.push(types[index]);
|
|
10726
10989
|
}
|
|
10727
10990
|
}
|
|
10728
|
-
if (conf.hashtags && conf.hashtags.indexOf(hashtagKey) !== -1) {
|
|
10991
|
+
if (conf.hashtags && conf.hashtags.indexOf(hashtagKey.toLowerCase()) !== -1) {
|
|
10729
10992
|
hashtagsValid.push(conf.value);
|
|
10730
10993
|
}
|
|
10731
10994
|
});
|
|
@@ -11282,7 +11545,10 @@ class CatalogService {
|
|
|
11282
11545
|
if (!capabilities) {
|
|
11283
11546
|
return [];
|
|
11284
11547
|
}
|
|
11285
|
-
const layers = capabilities.layers.filter(layer => !layer.type || layer.type === 'Feature Layer');
|
|
11548
|
+
const layers = !capabilities.layers ? [] : capabilities.layers.filter(layer => !layer.type || layer.type === 'Feature Layer');
|
|
11549
|
+
if (!capabilities.layers) {
|
|
11550
|
+
this.messageService.error(this.languageService.translate.instant('igo.geo.catalog.someUnavailable'), this.languageService.translate.instant('igo.geo.catalog.unavailableTitle'));
|
|
11551
|
+
}
|
|
11286
11552
|
const regexes = (catalog.regFilters || []).map((pattern) => new RegExp(pattern));
|
|
11287
11553
|
let abstract;
|
|
11288
11554
|
if (capabilities.serviceDescription && capabilities.serviceDescription.length) {
|
|
@@ -11523,7 +11789,7 @@ class CatalogBrowserComponent {
|
|
|
11523
11789
|
*/
|
|
11524
11790
|
addLayersToMap(layers) {
|
|
11525
11791
|
const layers$ = layers.map((layer) => {
|
|
11526
|
-
if (layer.options.sourceOptions.optionsFromApi
|
|
11792
|
+
if (!layer.options.sourceOptions.optionsFromApi) {
|
|
11527
11793
|
layer.options.sourceOptions.optionsFromApi = true;
|
|
11528
11794
|
}
|
|
11529
11795
|
return this.layerService.createAsyncLayer(layer.options);
|
|
@@ -11832,13 +12098,11 @@ class LayerLegendComponent {
|
|
|
11832
12098
|
let lastlLegend = this.layer.legend;
|
|
11833
12099
|
this.styles = this.listStyles();
|
|
11834
12100
|
const sourceOptions = this.layer.options.source.options;
|
|
11835
|
-
if (sourceOptions &&
|
|
11836
|
-
sourceOptions.params &&
|
|
11837
|
-
sourceOptions.params.STYLES) {
|
|
12101
|
+
if (sourceOptions && sourceOptions.params && sourceOptions.params.STYLES) {
|
|
11838
12102
|
// if a styles is provided into the layers wms params
|
|
11839
12103
|
this.currentStyle = this.styles.find(style => style.name === sourceOptions.params.STYLES).name;
|
|
11840
12104
|
}
|
|
11841
|
-
else if (!
|
|
12105
|
+
else if (!lastlLegend) {
|
|
11842
12106
|
// if no legend is manually provided
|
|
11843
12107
|
if (this.styles && this.styles.length > 1) {
|
|
11844
12108
|
this.currentStyle = this.styles[0].name;
|
|
@@ -11853,10 +12117,9 @@ class LayerLegendComponent {
|
|
|
11853
12117
|
else {
|
|
11854
12118
|
lastlLegend = this.layer.dataSource.getLegend(this.currentStyle, this.view);
|
|
11855
12119
|
}
|
|
11856
|
-
if (this.updateLegendOnResolutionChange
|
|
12120
|
+
if (this.updateLegendOnResolutionChange || sourceOptions.contentDependentLegend) {
|
|
11857
12121
|
const state$ = this.layer.map.viewController.state$;
|
|
11858
|
-
this.state$$ = state
|
|
11859
|
-
.subscribe(() => this.onViewControllerStateChange());
|
|
12122
|
+
this.state$$ = state$.subscribe(() => this.onViewControllerStateChange());
|
|
11860
12123
|
}
|
|
11861
12124
|
else if (lastlLegend && lastlLegend.length !== 0) {
|
|
11862
12125
|
this.legendItems$.next(lastlLegend);
|
|
@@ -11874,20 +12137,22 @@ class LayerLegendComponent {
|
|
|
11874
12137
|
}
|
|
11875
12138
|
}
|
|
11876
12139
|
getLegendGraphic(item) {
|
|
11877
|
-
|
|
11878
|
-
|
|
11879
|
-
|
|
11880
|
-
err.error
|
|
11881
|
-
|
|
12140
|
+
if (item.url) {
|
|
12141
|
+
const secureIMG = new SecureImagePipe(this.http);
|
|
12142
|
+
secureIMG.transform(item.url).pipe(catchError((err) => {
|
|
12143
|
+
if (err.error) {
|
|
12144
|
+
err.error.caught = true;
|
|
12145
|
+
this.getLegend = false;
|
|
12146
|
+
this.cdRef.detectChanges();
|
|
12147
|
+
return err;
|
|
12148
|
+
}
|
|
12149
|
+
})).subscribe(obsLegGraph => {
|
|
12150
|
+
const idx = this.legendItems$.value.findIndex(leg => leg.title === item.title);
|
|
12151
|
+
const legendGraph = obsLegGraph;
|
|
12152
|
+
this.legendItems$.value[idx].imgGraphValue = legendGraph;
|
|
11882
12153
|
this.cdRef.detectChanges();
|
|
11883
|
-
|
|
11884
|
-
|
|
11885
|
-
})).subscribe(obsLegGraph => {
|
|
11886
|
-
const idx = this.legendItems$.value.findIndex(leg => leg.title === item.title);
|
|
11887
|
-
const legendGraph = obsLegGraph;
|
|
11888
|
-
this.legendItems$.value[idx].imgGraphValue = legendGraph;
|
|
11889
|
-
this.cdRef.detectChanges();
|
|
11890
|
-
});
|
|
12154
|
+
});
|
|
12155
|
+
}
|
|
11891
12156
|
}
|
|
11892
12157
|
toggleLegendItem(collapsed, item) {
|
|
11893
12158
|
item.collapsed = collapsed;
|
|
@@ -11993,7 +12258,7 @@ LayerLegendComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LayerL
|
|
|
11993
12258
|
i0.ɵɵpipe(1, "async");
|
|
11994
12259
|
} if (rf & 2) {
|
|
11995
12260
|
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 1, ctx.legendItems$));
|
|
11996
|
-
} }, directives: [i1$1.NgIf, i1$1.NgForOf, i1$1.NgClass, i1$3.MatListItem, i4.MatIcon, i1$3.MatListAvatarCssMatStyler, i6
|
|
12261
|
+
} }, directives: [i1$1.NgIf, i1$1.NgForOf, i1$1.NgClass, i1$3.MatListItem, i4.MatIcon, i1$3.MatListAvatarCssMatStyler, i6.CollapseDirective, i9.MatLine, i12.MatFormField, i13.MatSelect, i3.MatTooltip, i16.NgControlStatus, i16.NgModel, i9.MatOption, i1$1.NgStyle], pipes: [i1$1.AsyncPipe, i7.TranslatePipe, i6.SanitizeHtmlPipe], styles: [".igo-layer-legend.with-title[_ngcontent-%COMP%]{padding-left:18px}img[_ngcontent-%COMP%]:after{content:\" \";position:relative;height:17px;float:left;width:17px;top:-3px;right:19px;background-color:#fff;border:3px solid #f3f3f3;border-radius:50%;-webkit-animation:2s linear infinite spin;animation:2s linear infinite spin}@-moz-document url-prefix(){img:after{margin-left:19px}}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}"], changeDetection: 0 });
|
|
11997
12262
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LayerLegendComponent, [{
|
|
11998
12263
|
type: Component,
|
|
11999
12264
|
args: [{
|
|
@@ -12244,7 +12509,7 @@ CatalogBrowserLayerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type
|
|
|
12244
12509
|
i0.ɵɵproperty("matBadgeHidden", ctx.isInResolutionsRange())("svgIcon", i0.ɵɵpipeBind1(10, 15, ctx.isPreview$) ? "plus" : ctx.added ? "delete" : "plus");
|
|
12245
12510
|
i0.ɵɵadvance(4);
|
|
12246
12511
|
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(14, 17, ctx.layerLegendShown$) && i0.ɵɵpipeBind1(15, 19, ctx.igoLayer$) && ctx.catalogAllowLegend);
|
|
12247
|
-
} }, directives: [i1$3.MatListItem, i1$1.NgIf, i9.MatLine, i1$1.NgClass, i3.MatTooltip, MetadataButtonComponent, i2.MatButton, i4.MatIcon, i9$1.MatBadge, i6
|
|
12512
|
+
} }, directives: [i1$3.MatListItem, i1$1.NgIf, i9.MatLine, i1$1.NgClass, i3.MatTooltip, MetadataButtonComponent, i2.MatButton, i4.MatIcon, i9$1.MatBadge, i6.IgoBadgeIconDirective, i1$3.MatListAvatarCssMatStyler, LayerLegendComponent], pipes: [i7.TranslatePipe, i1$1.AsyncPipe], styles: [".igo-cataloglayer-title[_ngcontent-%COMP%]{cursor:pointer}.igo-cataloglayer-legend-container[_ngcontent-%COMP%]{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon[_ngcontent-%COMP%]{cursor:help}"], changeDetection: 0 });
|
|
12248
12513
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogBrowserLayerComponent, [{
|
|
12249
12514
|
type: Component,
|
|
12250
12515
|
args: [{
|
|
@@ -12529,7 +12794,7 @@ CatalogBrowserGroupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type
|
|
|
12529
12794
|
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(6, 8, ctx.added$) && i0.ɵɵpipeBind1(7, 10, ctx.preview$) === false)("ngIfElse", _r2);
|
|
12530
12795
|
i0.ɵɵadvance(7);
|
|
12531
12796
|
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(13, 12, ctx.store.view.all$()));
|
|
12532
|
-
} }, directives: [i1$3.MatListItem, i4.MatIcon, i1$3.MatListAvatarCssMatStyler, i6
|
|
12797
|
+
} }, directives: [i1$3.MatListItem, i4.MatIcon, i1$3.MatListAvatarCssMatStyler, i6.CollapseDirective, i9.MatLine, i3.MatTooltip, i1$1.NgIf, i1$1.NgForOf, i2.MatButton, CatalogBrowserLayerComponent, i6.ListItemDirective], pipes: [i1$1.AsyncPipe, i7.TranslatePipe], styles: [".igo-catalog-group-title[_ngcontent-%COMP%]{cursor:pointer;opacity:.9}#catalog-group-title[_ngcontent-%COMP%]{font-weight:bold}.igo-cataloggroup-external-icon[_ngcontent-%COMP%]{cursor:help}"], changeDetection: 0 });
|
|
12533
12798
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogBrowserGroupComponent, [{
|
|
12534
12799
|
type: Component,
|
|
12535
12800
|
args: [{
|
|
@@ -14061,7 +14326,7 @@ LayerListToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Laye
|
|
|
14061
14326
|
i0.ɵɵproperty("matTooltip", ctx.selectionMode ? i0.ɵɵpipeBind1(17, 26, "igo.geo.layer.deactivateSelectionMode") : i0.ɵɵpipeBind1(18, 28, "igo.geo.layer.activateSelectionMode"));
|
|
14062
14327
|
i0.ɵɵadvance(4);
|
|
14063
14328
|
i0.ɵɵproperty("svgIcon", ctx.selectionMode ? "checkbox-multiple-marked-outline" : "checkbox-multiple-blank-outline");
|
|
14064
|
-
} }, directives: [i1$3.MatListItem, i12.MatFormField, i5.MatInput, i16.DefaultValueAccessor, i3.MatTooltip, i16.NgControlStatus, i16.NgModel, i1$1.NgIf, i2.MatButton, i4.MatIcon, i9$1.MatBadge, i6
|
|
14329
|
+
} }, directives: [i1$3.MatListItem, i12.MatFormField, i5$1.MatInput, i16.DefaultValueAccessor, i3.MatTooltip, i16.NgControlStatus, i16.NgModel, i1$1.NgIf, i2.MatButton, i4.MatIcon, i9$1.MatBadge, i6.IgoBadgeIconDirective, i12.MatSuffix], pipes: [i7.TranslatePipe], styles: ["mat-form-field.inputFilter[_ngcontent-%COMP%]{width:calc(100% - 100px);max-width:200px}.selection-mode[_ngcontent-%COMP%]{margin-left:5px}"], changeDetection: 0 });
|
|
14065
14330
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LayerListToolComponent, [{
|
|
14066
14331
|
type: Component,
|
|
14067
14332
|
args: [{
|
|
@@ -14644,8 +14909,8 @@ IgoLayerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
|
|
|
14644
14909
|
TrackFeatureButtonComponent] }); })();
|
|
14645
14910
|
i0.ɵɵsetComponentScope(LayerItemComponent, [i1$3.MatListItem, i1$1.NgIf, i11.MatCheckbox, i1$3.MatListIconCssMatStyler, i9.MatLine, i3.MatTooltip, i2.MatButton, i4.MatIcon, i9$1.MatBadge, i1$1.NgClass, LayerLegendComponent], [i7.TranslatePipe, i1$1.AsyncPipe]);
|
|
14646
14911
|
i0.ɵɵsetComponentScope(LayerLegendItemComponent, [i1$3.MatListItem, i9.MatLine, i3.MatTooltip, LayerLegendComponent], []);
|
|
14647
|
-
i0.ɵɵsetComponentScope(LayerListComponent, [i1$3.MatList, i1$1.NgIf, LayerListToolComponent, i1$3.MatListItem, i11.MatCheckbox, i10.MatDivider, i6
|
|
14648
|
-
i0.ɵɵsetComponentScope(LayerLegendListComponent, [i1$1.NgIf, i22.MatSlideToggle, i3.MatTooltip, i10.MatDivider, i6
|
|
14912
|
+
i0.ɵɵsetComponentScope(LayerListComponent, [i1$3.MatList, i1$1.NgIf, LayerListToolComponent, i1$3.MatListItem, i11.MatCheckbox, i10.MatDivider, i6.ListComponent, i1$1.NgClass, i1$1.NgForOf, LayerItemComponent, i6.ListItemDirective, i6.PanelComponent, i2.MatButton, i3.MatTooltip, i4.MatIcon, i9$1.MatBadge, i5$2.MatMenuTrigger, i5$2.MatMenu, i13$1.MatSlider, i1$1.NgTemplateOutlet, i16.NgControlStatus, i16.NgModel], [i1$1.AsyncPipe, i7.TranslatePipe]);
|
|
14913
|
+
i0.ɵɵsetComponentScope(LayerLegendListComponent, [i1$1.NgIf, i22.MatSlideToggle, i3.MatTooltip, i10.MatDivider, i6.ListComponent, i1$1.NgForOf, LayerLegendItemComponent, i6.ListItemDirective], [i7.TranslatePipe, i1$1.AsyncPipe]);
|
|
14649
14914
|
|
|
14650
14915
|
/**
|
|
14651
14916
|
* @ignore
|
|
@@ -14709,8 +14974,8 @@ IgoCatalogBrowserModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [
|
|
|
14709
14974
|
IgoCollapsibleModule,
|
|
14710
14975
|
IgoMetadataModule,
|
|
14711
14976
|
IgoLayerModule], exports: [CatalogBrowserComponent] }); })();
|
|
14712
|
-
i0.ɵɵsetComponentScope(CatalogBrowserComponent, [i6
|
|
14713
|
-
CatalogBrowserLayerComponent, i6
|
|
14977
|
+
i0.ɵɵsetComponentScope(CatalogBrowserComponent, [i6.ListComponent, i1$1.NgForOf, i1$1.NgIf, CatalogBrowserGroupComponent,
|
|
14978
|
+
CatalogBrowserLayerComponent, i6.ListItemDirective], [i1$1.AsyncPipe]);
|
|
14714
14979
|
|
|
14715
14980
|
function AddCatalogDialogComponent_mat_option_11_Template(rf, ctx) { if (rf & 1) {
|
|
14716
14981
|
i0.ɵɵelementStart(0, "mat-option", 17);
|
|
@@ -14914,7 +15179,7 @@ AddCatalogDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: A
|
|
|
14914
15179
|
i0.ɵɵproperty("disabled", !ctx.form.valid);
|
|
14915
15180
|
i0.ɵɵadvance(1);
|
|
14916
15181
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(33, 23, "igo.geo.catalog.library.add"), " ");
|
|
14917
|
-
} }, directives: [i1.MatDialogTitle, i1.MatDialogContent, i16.ɵNgNoValidate, i16.NgControlStatusGroup, i16.FormGroupDirective, i12.MatFormField, i16.DefaultValueAccessor, i5.MatInput, i6$
|
|
15182
|
+
} }, directives: [i1.MatDialogTitle, i1.MatDialogContent, i16.ɵNgNoValidate, i16.NgControlStatusGroup, i16.FormGroupDirective, i12.MatFormField, i16.DefaultValueAccessor, i5$1.MatInput, i6$1.MatAutocompleteTrigger, i16.NgControlStatus, i16.FormControlName, i6$1.MatAutocomplete, i1$1.NgForOf, i13.MatSelect, i1$1.NgIf, i1.MatDialogActions, i2.MatButton, i9.MatOption, i3.MatTooltip, i9.MatLine], pipes: [i7.TranslatePipe, i1$1.AsyncPipe], styles: ["mat-form-field[_ngcontent-%COMP%]{width:100%}.add-catalog-button-top-padding[_ngcontent-%COMP%]{padding-top:25px}.igo-form[_ngcontent-%COMP%]{padding:10px 5px 5px}.igo-form-button-group[_ngcontent-%COMP%]{text-align:center}button[_ngcontent-%COMP%]{cursor:pointer}button#addCatalogBtnDialog[disabled=true][_ngcontent-%COMP%]{cursor:default;background-color:#0000001f;color:#00000042}.error[_ngcontent-%COMP%]{color:red}"] });
|
|
14918
15183
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddCatalogDialogComponent, [{
|
|
14919
15184
|
type: Component,
|
|
14920
15185
|
args: [{
|
|
@@ -15048,23 +15313,23 @@ class CatalogLibaryComponent {
|
|
|
15048
15313
|
this.messageService.error(message, title);
|
|
15049
15314
|
throw e;
|
|
15050
15315
|
}))
|
|
15051
|
-
.subscribe((
|
|
15316
|
+
.subscribe((capabilities) => {
|
|
15052
15317
|
let title;
|
|
15053
15318
|
let version;
|
|
15054
15319
|
switch (addedCatalog.type) {
|
|
15055
15320
|
case 'wms':
|
|
15056
|
-
title = addedCatalog.title ||
|
|
15057
|
-
version = addedCatalog.version ||
|
|
15321
|
+
title = addedCatalog.title || capabilities.Service.Title;
|
|
15322
|
+
version = addedCatalog.version || capabilities.version;
|
|
15058
15323
|
break;
|
|
15059
15324
|
case 'arcgisrest':
|
|
15060
15325
|
case 'imagearcgisrest':
|
|
15061
15326
|
case 'tilearcgisrest':
|
|
15062
|
-
title = addedCatalog.title ||
|
|
15327
|
+
title = addedCatalog.title || capabilities.mapName;
|
|
15063
15328
|
break;
|
|
15064
15329
|
case 'wmts':
|
|
15065
15330
|
title =
|
|
15066
15331
|
addedCatalog.title ||
|
|
15067
|
-
|
|
15332
|
+
capabilities.ServiceIdentification.ServiceType;
|
|
15068
15333
|
break;
|
|
15069
15334
|
default:
|
|
15070
15335
|
title = addedCatalog.title;
|
|
@@ -15288,7 +15553,7 @@ IgoCatalogLibraryModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [
|
|
|
15288
15553
|
MatAutocompleteModule,
|
|
15289
15554
|
MatDialogModule], exports: [CatalogLibaryComponent,
|
|
15290
15555
|
AddCatalogDialogComponent] }); })();
|
|
15291
|
-
i0.ɵɵsetComponentScope(CatalogLibaryComponent, [i6
|
|
15556
|
+
i0.ɵɵsetComponentScope(CatalogLibaryComponent, [i6.ListComponent, i1$1.NgForOf, CatalogLibaryItemComponent, i6.ListItemDirective, i1$1.NgIf, i2.MatButton, i3.MatTooltip, i4.MatIcon], [i1$1.AsyncPipe, i7.TranslatePipe]);
|
|
15292
15557
|
|
|
15293
15558
|
class IgoCatalogModule {
|
|
15294
15559
|
}
|
|
@@ -16271,7 +16536,7 @@ FeatureDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Fea
|
|
|
16271
16536
|
i0.ɵɵproperty("ngIf", ctx.ready && ctx.feature && ctx.isObject(ctx.feature.properties) && ctx.feature.properties.target !== "iframe");
|
|
16272
16537
|
i0.ɵɵadvance(1);
|
|
16273
16538
|
i0.ɵɵproperty("ngIf", ctx.isHtmlDisplay());
|
|
16274
|
-
} }, directives: [i1$1.NgIf, i1$1.NgForOf, i4.MatIcon], pipes: [i6
|
|
16539
|
+
} }, directives: [i1$1.NgIf, i1$1.NgForOf, i4.MatIcon], pipes: [i6.KeyValuePipe, i7.TranslatePipe, i1$1.AsyncPipe, i6.SecureImagePipe, i1$1.JsonPipe], styles: ["table[_ngcontent-%COMP%]{width:100%}table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:5px}#keyValue[_ngcontent-%COMP%]{width:30%}table[_ngcontent-%COMP%] .routing{cursor:pointer}iframe[_ngcontent-%COMP%]{height:calc(100% - 4px);width:100%;border:0}"], changeDetection: 0 });
|
|
16275
16540
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FeatureDetailsComponent, [{
|
|
16276
16541
|
type: Component,
|
|
16277
16542
|
args: [{
|
|
@@ -16385,7 +16650,7 @@ FeatureFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Featur
|
|
|
16385
16650
|
i0.ɵɵelementEnd();
|
|
16386
16651
|
} if (rf & 2) {
|
|
16387
16652
|
i0.ɵɵproperty("form", ctx.form)("formData", i0.ɵɵpipeBind1(2, 2, ctx.feature$));
|
|
16388
|
-
} }, directives: [i6
|
|
16653
|
+
} }, directives: [i6.FormComponent], pipes: [i1$1.AsyncPipe], styles: ["[_nghost-%COMP%]{display:block}igo-form[_ngcontent-%COMP%]{height:100%}"], changeDetection: 0 });
|
|
16389
16654
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FeatureFormComponent, [{
|
|
16390
16655
|
type: Component,
|
|
16391
16656
|
args: [{
|
|
@@ -16580,6 +16845,10 @@ class DrawControl {
|
|
|
16580
16845
|
* Draw select observable (modify drawn features)
|
|
16581
16846
|
*/
|
|
16582
16847
|
this.select$ = new Subject();
|
|
16848
|
+
/**
|
|
16849
|
+
* Draw abort observable (abort drawn features)
|
|
16850
|
+
*/
|
|
16851
|
+
this.abort$ = new Subject();
|
|
16583
16852
|
/**
|
|
16584
16853
|
* Freehand mode observable (defaults to false)
|
|
16585
16854
|
*/
|
|
@@ -16703,6 +16972,7 @@ class DrawControl {
|
|
|
16703
16972
|
this.olDrawInteraction = olDrawInteraction;
|
|
16704
16973
|
this.onDrawStartKey = olDrawInteraction.on('drawstart', (event) => this.onDrawStart(event));
|
|
16705
16974
|
this.onDrawEndKey = olDrawInteraction.on('drawend', (event) => this.onDrawEnd(event));
|
|
16975
|
+
this.onDrawAbortKey = olDrawInteraction.on('drawabort', (event) => this.abort$.next(event.feature.getGeometry()));
|
|
16706
16976
|
if (activateModifyAndSelect) {
|
|
16707
16977
|
// Create a Modify interaction, add it to map and create a listener
|
|
16708
16978
|
const olModifyInteraction = new OlModify({
|
|
@@ -16727,7 +16997,7 @@ class DrawControl {
|
|
|
16727
16997
|
*/
|
|
16728
16998
|
removeOlInteractions() {
|
|
16729
16999
|
this.unsubscribeKeyDown();
|
|
16730
|
-
unByKey([this.onDrawStartKey, this.onDrawEndKey, this.onDrawKey]);
|
|
17000
|
+
unByKey([this.onDrawStartKey, this.onDrawEndKey, this.onDrawKey, this.onDrawAbortKey]);
|
|
16731
17001
|
if (this.olMap) {
|
|
16732
17002
|
this.olMap.removeInteraction(this.olDrawInteraction);
|
|
16733
17003
|
this.olMap.removeInteraction(this.olModifyInteraction);
|
|
@@ -16853,7 +17123,7 @@ DrawPopupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawPopu
|
|
|
16853
17123
|
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(11, 9, "igo.geo.draw.noLabel"), " ");
|
|
16854
17124
|
i0.ɵɵadvance(2);
|
|
16855
17125
|
i0.ɵɵproperty("mat-dialog-close", _r0.value);
|
|
16856
|
-
} }, directives: [i1.MatDialogContent, i12.MatFormField, i5.MatInput, i1.MatDialogActions, i2.MatButton, i1.MatDialogClose], pipes: [i7.TranslatePipe], styles: [""] });
|
|
17126
|
+
} }, directives: [i1.MatDialogContent, i12.MatFormField, i5$1.MatInput, i1.MatDialogActions, i2.MatButton, i1.MatDialogClose], pipes: [i7.TranslatePipe], styles: [""] });
|
|
16857
17127
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawPopupComponent, [{
|
|
16858
17128
|
type: Component,
|
|
16859
17129
|
args: [{
|
|
@@ -17862,6 +18132,7 @@ class DrawComponent {
|
|
|
17862
18132
|
initStore() {
|
|
17863
18133
|
this.map.removeLayer(this.olDrawingLayer);
|
|
17864
18134
|
this.olDrawingLayer = new VectorLayer({
|
|
18135
|
+
isIgoInternalLayer: true,
|
|
17865
18136
|
id: 'igo-draw-layer',
|
|
17866
18137
|
title: this.languageService.translate.instant('igo.geo.draw.drawing'),
|
|
17867
18138
|
zIndex: 200,
|
|
@@ -18288,7 +18559,7 @@ DrawComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawComponent
|
|
|
18288
18559
|
i0.ɵɵproperty("store", ctx.store)("template", ctx.tableTemplate);
|
|
18289
18560
|
i0.ɵɵadvance(3);
|
|
18290
18561
|
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(54, 76, "igo.geo.draw.shortcuts"));
|
|
18291
|
-
} }, directives: [i18.MatButtonToggleGroup, i18.MatButtonToggle, i22.MatSlideToggle, i16.ɵNgNoValidate, i16.NgControlStatusGroup, i16.FormGroupDirective, i4.MatIcon, i12.MatFormField, i3.MatTooltip, i12.MatLabel, i16.DefaultValueAccessor, i5.MatInput, i16.NgControlStatus, i16.FormControlName, i12$1.ColorPickerDirective, i1$1.NgIf, i10.MatDivider, i6
|
|
18562
|
+
} }, directives: [i18.MatButtonToggleGroup, i18.MatButtonToggle, i22.MatSlideToggle, i16.ɵNgNoValidate, i16.NgControlStatusGroup, i16.FormGroupDirective, i4.MatIcon, i12.MatFormField, i3.MatTooltip, i12.MatLabel, i16.DefaultValueAccessor, i5$1.MatInput, i16.NgControlStatus, i16.FormControlName, i12$1.ColorPickerDirective, i1$1.NgIf, i10.MatDivider, i6.EntityTableComponent, i2.MatButton, i13.MatSelect, i13.MatSelectTrigger, i9.MatOption, i1$1.NgForOf], pipes: [i7.TranslatePipe, i1$1.AsyncPipe], styles: [".geometry-type-toggle[_ngcontent-%COMP%]{padding:10px;text-align:center}.geometry-type-toggle[_ngcontent-%COMP%] mat-button-toggle-group[_ngcontent-%COMP%]{width:100%}.geometry-type-toggle[_ngcontent-%COMP%] mat-button-toggle-group[_ngcontent-%COMP%] mat-button-toggle[_ngcontent-%COMP%]{width:25%}.draw-options[_ngcontent-%COMP%]{overflow-x:hidden}.draw-options[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%]{width:100%;margin:10px}.draw-options[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%] .mat-slide-toggle-content{width:calc(100% - 60px)}.igo-form[_ngcontent-%COMP%]{padding:10px}.fill-field[_ngcontent-%COMP%], .stroke-field[_ngcontent-%COMP%]{width:130px}.fill-color-picker[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:7px}.fill-color-picker[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{left:8px}.stroke-color-picker[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:7px}.stroke-color-picker[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{left:35px}.box[_ngcontent-%COMP%]{width:25px;height:25px}img[_ngcontent-%COMP%]{width:100%;height:100%}.deleteBtn[_ngcontent-%COMP%]{margin-left:12px}"], changeDetection: 0 });
|
|
18292
18563
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawComponent, [{
|
|
18293
18564
|
type: Component,
|
|
18294
18565
|
args: [{
|
|
@@ -19991,6 +20262,7 @@ class MeasurerComponent {
|
|
|
19991
20262
|
const store = this.store;
|
|
19992
20263
|
const layer = new VectorLayer({
|
|
19993
20264
|
title: this.languageService.translate.instant('igo.geo.measure.layerTitle'),
|
|
20265
|
+
isIgoInternalLayer: true,
|
|
19994
20266
|
id: `igo-measures-${uuid()}`,
|
|
19995
20267
|
zIndex: 200,
|
|
19996
20268
|
source: new FeatureDataSource(),
|
|
@@ -20126,6 +20398,11 @@ class MeasurerComponent {
|
|
|
20126
20398
|
.subscribe((olGeometry) => this.onDrawEnd(olGeometry));
|
|
20127
20399
|
this.drawChanges$$ = drawControl.changes$
|
|
20128
20400
|
.subscribe((olGeometry) => this.onDrawChanges(olGeometry));
|
|
20401
|
+
this.drawChanges$$ = drawControl.abort$
|
|
20402
|
+
.subscribe((olGeometry) => {
|
|
20403
|
+
this.clearTooltipsOfOlGeometry(olGeometry);
|
|
20404
|
+
this.clearMeasures();
|
|
20405
|
+
});
|
|
20129
20406
|
drawControl.setOlMap(this.map.ol, false);
|
|
20130
20407
|
}
|
|
20131
20408
|
/**
|
|
@@ -21220,7 +21497,7 @@ GeometryFormFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
21220
21497
|
i0.ɵɵproperty("ngIf", ctx.geometryTypeField);
|
|
21221
21498
|
i0.ɵɵadvance(1);
|
|
21222
21499
|
i0.ɵɵproperty("ngIf", ctx.drawGuideField);
|
|
21223
|
-
} }, directives: [GeometryFormFieldInputComponent, i16.NgControlStatus, i16.FormControlDirective, i1$1.NgIf, i18.MatButtonToggleGroup, i16.NgModel, i18.MatButtonToggle, i12.MatFormField, i5.MatInput, i16.NumberValueAccessor, i16.DefaultValueAccessor, i4.MatIcon, i12.MatPrefix, i12.MatSuffix], pipes: [i1$1.AsyncPipe, i7.TranslatePipe], styles: ["[_nghost-%COMP%]{display:block;width:100%}.geometry-type-toggle[_ngcontent-%COMP%], .draw-guide-field[_ngcontent-%COMP%]{width:100%}.geometry-type-toggle[_ngcontent-%COMP%]{padding:10px;text-align:center}.draw-guide-field[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin:0 10px}.draw-guide-units[_ngcontent-%COMP%]{padding:10px}"], changeDetection: 0 });
|
|
21500
|
+
} }, directives: [GeometryFormFieldInputComponent, i16.NgControlStatus, i16.FormControlDirective, i1$1.NgIf, i18.MatButtonToggleGroup, i16.NgModel, i18.MatButtonToggle, i12.MatFormField, i5$1.MatInput, i16.NumberValueAccessor, i16.DefaultValueAccessor, i4.MatIcon, i12.MatPrefix, i12.MatSuffix], pipes: [i1$1.AsyncPipe, i7.TranslatePipe], styles: ["[_nghost-%COMP%]{display:block;width:100%}.geometry-type-toggle[_ngcontent-%COMP%], .draw-guide-field[_ngcontent-%COMP%]{width:100%}.geometry-type-toggle[_ngcontent-%COMP%]{padding:10px;text-align:center}.draw-guide-field[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin:0 10px}.draw-guide-units[_ngcontent-%COMP%]{padding:10px}"], changeDetection: 0 });
|
|
21224
21501
|
GeometryFormFieldComponent = __decorate([
|
|
21225
21502
|
IgoFormFieldComponent('geometry')
|
|
21226
21503
|
], GeometryFormFieldComponent);
|
|
@@ -22149,7 +22426,7 @@ TimeFilterFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Tim
|
|
|
22149
22426
|
i0.ɵɵproperty("ngIf", !ctx.isRange && ctx.style === "slider" && ctx.type === "year");
|
|
22150
22427
|
i0.ɵɵadvance(1);
|
|
22151
22428
|
i0.ɵɵproperty("ngIf", ctx.style === "slider" && ctx.type !== "year");
|
|
22152
|
-
} }, directives: [i1$1.NgIf, i12.MatFormField, i4$1.MatDatetimepickerToggle, i12.MatSuffix, i4$1.MatDatetimepicker, i5.MatInput, i4$1.MatDatetimepickerInput, i16.DefaultValueAccessor, i16.NgControlStatus, i16.NgModel, i13.MatSelect, i1$1.NgForOf, i9.MatOption, i13$1.MatSlider, i22.MatSlideToggle, i3.MatTooltip, i2.MatButton, i4.MatIcon], pipes: [i7.TranslatePipe], styles: [".igo-layer-filters-container[_ngcontent-%COMP%]{padding-left:5px}mat-slider[_ngcontent-%COMP%] div.mat-slider-thumb-label{width:32px;height:32px;margin:0 auto}mat-slider[_ngcontent-%COMP%] span.mat-slider-thumb-label-text{font-size:10px}#time-slider[_ngcontent-%COMP%]{width:70%;margin:0 auto}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){#time-slider[_ngcontent-%COMP%]{width:60%;margin:0 auto}}.date-below[_ngcontent-%COMP%]{margin:0}mat-form-field[_ngcontent-%COMP%]{text-align:center}mat-datetimepicker-toggle[_ngcontent-%COMP%] .mat-icon{padding-bottom:30px}.igo-layer-actions-container[_ngcontent-%COMP%] > .mat-slide-toggle[_ngcontent-%COMP%]{vertical-align:middle}"] });
|
|
22429
|
+
} }, directives: [i1$1.NgIf, i12.MatFormField, i4$1.MatDatetimepickerToggle, i12.MatSuffix, i4$1.MatDatetimepicker, i5$1.MatInput, i4$1.MatDatetimepickerInput, i16.DefaultValueAccessor, i16.NgControlStatus, i16.NgModel, i13.MatSelect, i1$1.NgForOf, i9.MatOption, i13$1.MatSlider, i22.MatSlideToggle, i3.MatTooltip, i2.MatButton, i4.MatIcon], pipes: [i7.TranslatePipe], styles: [".igo-layer-filters-container[_ngcontent-%COMP%]{padding-left:5px}mat-slider[_ngcontent-%COMP%] div.mat-slider-thumb-label{width:32px;height:32px;margin:0 auto}mat-slider[_ngcontent-%COMP%] span.mat-slider-thumb-label-text{font-size:10px}#time-slider[_ngcontent-%COMP%]{width:70%;margin:0 auto}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){#time-slider[_ngcontent-%COMP%]{width:60%;margin:0 auto}}.date-below[_ngcontent-%COMP%]{margin:0}mat-form-field[_ngcontent-%COMP%]{text-align:center}mat-datetimepicker-toggle[_ngcontent-%COMP%] .mat-icon{padding-bottom:30px}.igo-layer-actions-container[_ngcontent-%COMP%] > .mat-slide-toggle[_ngcontent-%COMP%]{vertical-align:middle}"] });
|
|
22153
22430
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeFilterFormComponent, [{
|
|
22154
22431
|
type: Component,
|
|
22155
22432
|
args: [{
|
|
@@ -22373,22 +22650,22 @@ class WktService {
|
|
|
22373
22650
|
extentToWkt(epsgTO, extent, extentProj) {
|
|
22374
22651
|
let currentExtent = olproj.transformExtent(extent, extentProj, epsgTO);
|
|
22375
22652
|
currentExtent = this.roundCoordinateArray(currentExtent, epsgTO, 0);
|
|
22376
|
-
const wktPoly = `POLYGON((
|
|
22377
|
-
${extent[0]} ${extent[1]},
|
|
22378
|
-
${extent[0]} ${extent[3]},
|
|
22379
|
-
${extent[2]} ${extent[3]},
|
|
22380
|
-
${extent[2]} ${extent[1]},
|
|
22653
|
+
const wktPoly = `POLYGON((
|
|
22654
|
+
${extent[0]} ${extent[1]},
|
|
22655
|
+
${extent[0]} ${extent[3]},
|
|
22656
|
+
${extent[2]} ${extent[3]},
|
|
22657
|
+
${extent[2]} ${extent[1]},
|
|
22381
22658
|
${extent[0]} ${extent[1]}))`;
|
|
22382
|
-
const wktLine = `LINESTRING(
|
|
22383
|
-
${extent[0]} ${extent[1]},
|
|
22384
|
-
${extent[0]} ${extent[3]},
|
|
22385
|
-
${extent[2]} ${extent[3]},
|
|
22386
|
-
${extent[2]} ${extent[1]},
|
|
22659
|
+
const wktLine = `LINESTRING(
|
|
22660
|
+
${extent[0]} ${extent[1]},
|
|
22661
|
+
${extent[0]} ${extent[3]},
|
|
22662
|
+
${extent[2]} ${extent[3]},
|
|
22663
|
+
${extent[2]} ${extent[1]},
|
|
22387
22664
|
${extent[0]} ${extent[1]})`;
|
|
22388
|
-
const wktMultiPoints = `MULTIPOINT(
|
|
22389
|
-
${extent[0]} ${extent[1]},
|
|
22390
|
-
${extent[0]} ${extent[3]},
|
|
22391
|
-
${extent[2]} ${extent[3]},
|
|
22665
|
+
const wktMultiPoints = `MULTIPOINT(
|
|
22666
|
+
${extent[0]} ${extent[1]},
|
|
22667
|
+
${extent[0]} ${extent[3]},
|
|
22668
|
+
${extent[2]} ${extent[3]},
|
|
22392
22669
|
${extent[2]} ${extent[1]})`;
|
|
22393
22670
|
return {
|
|
22394
22671
|
wktPoly,
|
|
@@ -23746,6 +24023,20 @@ class OgcFilterButtonComponent {
|
|
|
23746
24023
|
else if (filter && filter.filters && filter.filters.filters) {
|
|
23747
24024
|
return filter.filters.filters.length;
|
|
23748
24025
|
}
|
|
24026
|
+
if (filter.filters && filter.filters.operator === 'During' && filter.filters.active &&
|
|
24027
|
+
filter.interfaceOgcFilters && filter.interfaceOgcFilters[0].active) {
|
|
24028
|
+
const filterActiveValue = filter.interfaceOgcFilters[0];
|
|
24029
|
+
if (filter.filters.calendarModeYear) {
|
|
24030
|
+
// year mode check just year
|
|
24031
|
+
if ((filterActiveValue.begin.substring(0, 4) !== this.options.minDate.substring(0, 4)) ||
|
|
24032
|
+
(filterActiveValue.end.substring(0, 4) !== this.options.maxDate.substring(0, 4))) {
|
|
24033
|
+
cnt += 1;
|
|
24034
|
+
}
|
|
24035
|
+
}
|
|
24036
|
+
else if ((filterActiveValue.begin !== this.options.minDate) || (filterActiveValue.end !== this.options.maxDate)) {
|
|
24037
|
+
cnt += 1;
|
|
24038
|
+
}
|
|
24039
|
+
}
|
|
23749
24040
|
return cnt > 0 ? cnt : undefined;
|
|
23750
24041
|
}
|
|
23751
24042
|
get layer() {
|
|
@@ -24327,23 +24618,41 @@ function OgcFilterSelectionComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
24327
24618
|
i0.ɵɵadvance(1);
|
|
24328
24619
|
i0.ɵɵproperty("ngIf", selector_r2.selectorType === "select");
|
|
24329
24620
|
} }
|
|
24621
|
+
function OgcFilterSelectionComponent_div_2_h4_2_Template(rf, ctx) { if (rf & 1) {
|
|
24622
|
+
i0.ɵɵelementStart(0, "h4");
|
|
24623
|
+
i0.ɵɵtext(1);
|
|
24624
|
+
i0.ɵɵpipe(2, "translate");
|
|
24625
|
+
i0.ɵɵelementEnd();
|
|
24626
|
+
} if (rf & 2) {
|
|
24627
|
+
i0.ɵɵadvance(1);
|
|
24628
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "igo.geo.filter.reportingDate"));
|
|
24629
|
+
} }
|
|
24630
|
+
function OgcFilterSelectionComponent_div_2_h4_3_Template(rf, ctx) { if (rf & 1) {
|
|
24631
|
+
i0.ɵɵelementStart(0, "h4");
|
|
24632
|
+
i0.ɵɵtext(1);
|
|
24633
|
+
i0.ɵɵelementEnd();
|
|
24634
|
+
} if (rf & 2) {
|
|
24635
|
+
const ctx_r93 = i0.ɵɵnextContext(2);
|
|
24636
|
+
i0.ɵɵadvance(1);
|
|
24637
|
+
i0.ɵɵtextInterpolate(ctx_r93.currentFilter.title);
|
|
24638
|
+
} }
|
|
24330
24639
|
function OgcFilterSelectionComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
24331
|
-
const
|
|
24640
|
+
const _r95 = i0.ɵɵgetCurrentView();
|
|
24332
24641
|
i0.ɵɵelementStart(0, "div");
|
|
24333
24642
|
i0.ɵɵelement(1, "mat-divider");
|
|
24334
|
-
i0.ɵɵ
|
|
24335
|
-
i0.ɵɵ
|
|
24336
|
-
i0.ɵɵ
|
|
24337
|
-
i0.ɵɵ
|
|
24338
|
-
i0.ɵɵelementStart(5, "igo-ogc-filter-time", 46);
|
|
24339
|
-
i0.ɵɵlistener("datasourceChange", function OgcFilterSelectionComponent_div_2_Template_igo_ogc_filter_time_datasourceChange_5_listener($event) { i0.ɵɵrestoreView(_r93); const ctx_r92 = i0.ɵɵnextContext(); return ctx_r92.datasource = $event; })("currentFilterChange", function OgcFilterSelectionComponent_div_2_Template_igo_ogc_filter_time_currentFilterChange_5_listener($event) { i0.ɵɵrestoreView(_r93); const ctx_r94 = i0.ɵɵnextContext(); return ctx_r94.currentFilter = $event; })("changeProperty", function OgcFilterSelectionComponent_div_2_Template_igo_ogc_filter_time_changeProperty_5_listener($event) { i0.ɵɵrestoreView(_r93); const ctx_r95 = i0.ɵɵnextContext(); return ctx_r95.changeProperty($event.value, $event.pos); });
|
|
24643
|
+
i0.ɵɵtemplate(2, OgcFilterSelectionComponent_div_2_h4_2_Template, 3, 3, "h4", 2);
|
|
24644
|
+
i0.ɵɵtemplate(3, OgcFilterSelectionComponent_div_2_h4_3_Template, 2, 1, "h4", 2);
|
|
24645
|
+
i0.ɵɵelementStart(4, "igo-ogc-filter-time", 46);
|
|
24646
|
+
i0.ɵɵlistener("datasourceChange", function OgcFilterSelectionComponent_div_2_Template_igo_ogc_filter_time_datasourceChange_4_listener($event) { i0.ɵɵrestoreView(_r95); const ctx_r94 = i0.ɵɵnextContext(); return ctx_r94.datasource = $event; })("currentFilterChange", function OgcFilterSelectionComponent_div_2_Template_igo_ogc_filter_time_currentFilterChange_4_listener($event) { i0.ɵɵrestoreView(_r95); const ctx_r96 = i0.ɵɵnextContext(); return ctx_r96.currentFilter = $event; })("changeProperty", function OgcFilterSelectionComponent_div_2_Template_igo_ogc_filter_time_changeProperty_4_listener($event) { i0.ɵɵrestoreView(_r95); const ctx_r97 = i0.ɵɵnextContext(); return ctx_r97.changeProperty($event.value, $event.pos); });
|
|
24340
24647
|
i0.ɵɵelementEnd();
|
|
24341
24648
|
i0.ɵɵelementEnd();
|
|
24342
24649
|
} if (rf & 2) {
|
|
24343
24650
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
24344
|
-
i0.ɵɵadvance(3);
|
|
24345
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 3, "igo.geo.filter.reportingDate"));
|
|
24346
24651
|
i0.ɵɵadvance(2);
|
|
24652
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.currentFilter.title);
|
|
24653
|
+
i0.ɵɵadvance(1);
|
|
24654
|
+
i0.ɵɵproperty("ngIf", ctx_r1.currentFilter.title);
|
|
24655
|
+
i0.ɵɵadvance(1);
|
|
24347
24656
|
i0.ɵɵproperty("datasource", ctx_r1.datasource)("currentFilter", ctx_r1.currentFilter);
|
|
24348
24657
|
} }
|
|
24349
24658
|
class OgcFilterSelectionComponent {
|
|
@@ -24697,7 +25006,7 @@ class OgcFilterSelectionComponent {
|
|
|
24697
25006
|
});
|
|
24698
25007
|
}
|
|
24699
25008
|
}
|
|
24700
|
-
if (this.isTemporalOperator()) {
|
|
25009
|
+
if (this.isTemporalOperator() && this._currentFilter.active) {
|
|
24701
25010
|
conditions.push(this.datasource.options.ogcFilters.interfaceOgcFilters[0]);
|
|
24702
25011
|
}
|
|
24703
25012
|
if (conditions.length >= 1) {
|
|
@@ -24790,14 +25099,14 @@ OgcFilterSelectionComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
24790
25099
|
i0.ɵɵelementStart(0, "form", 0);
|
|
24791
25100
|
i0.ɵɵtemplate(1, OgcFilterSelectionComponent_div_1_Template, 5, 4, "div", 1);
|
|
24792
25101
|
i0.ɵɵelementEnd();
|
|
24793
|
-
i0.ɵɵtemplate(2, OgcFilterSelectionComponent_div_2_Template,
|
|
25102
|
+
i0.ɵɵtemplate(2, OgcFilterSelectionComponent_div_2_Template, 5, 4, "div", 2);
|
|
24794
25103
|
} if (rf & 2) {
|
|
24795
25104
|
i0.ɵɵproperty("formGroup", ctx.form);
|
|
24796
25105
|
i0.ɵɵadvance(1);
|
|
24797
25106
|
i0.ɵɵproperty("ngForOf", ctx.ogcFiltersSelectors);
|
|
24798
25107
|
i0.ɵɵadvance(1);
|
|
24799
25108
|
i0.ɵɵproperty("ngIf", ctx.isTemporalOperator());
|
|
24800
|
-
} }, styles: [".mat-button-toggle-group[_ngcontent-%COMP%]{margin:5px;flex-wrap:wrap;box-shadow:none}.checkboxes[_ngcontent-%COMP%]{flex-wrap:wrap;box-shadow:none}.groupsSelector[_ngcontent-%COMP%]{text-align:center}mat-button-toggle[_ngcontent-%COMP%]{display:inline-flex;border:1.5px solid black;border-radius:5px;margin:5px;white-space:normal;min-height:40px;height:auto;width:150px}mat-button-toggle[_ngcontent-%COMP%] .mat-button-toggle-label-content{line-height:unset;font-size:small;display:block} .material-tooltip{white-space:pre-wrap}mat-checkbox[_ngcontent-%COMP%], mat-radio-button[_ngcontent-%COMP%]{margin:7px;width:95%;display:inline-flex;font-size:larger}mat-checkbox[_ngcontent-%COMP%] label, mat-radio-button[_ngcontent-%COMP%] label{white-space:normal}mat-checkbox[_ngcontent-%COMP%]{vertical-align:middle}mat-button[_ngcontent-%COMP%]{padding-right:10px}h4[_ngcontent-%COMP%]{margin:7px;text-align:left}u[_ngcontent-%COMP%]{cursor:pointer;color:#00f;margin:5px}p[_ngcontent-%COMP%]{margin:unset}
|
|
25109
|
+
} }, styles: [".mat-button-toggle-group[_ngcontent-%COMP%]{margin:5px;flex-wrap:wrap;box-shadow:none}.checkboxes[_ngcontent-%COMP%]{flex-wrap:wrap;box-shadow:none}.groupsSelector[_ngcontent-%COMP%]{text-align:center}mat-button-toggle[_ngcontent-%COMP%]{display:inline-flex;border:1.5px solid black;border-radius:5px;margin:5px;white-space:normal;min-height:40px;height:auto;width:150px}mat-button-toggle[_ngcontent-%COMP%] .mat-button-toggle-label-content{line-height:unset;font-size:small;display:block} .material-tooltip{white-space:pre-wrap}mat-checkbox[_ngcontent-%COMP%], mat-radio-button[_ngcontent-%COMP%]{margin:7px;width:95%;display:inline-flex;font-size:larger}mat-checkbox[_ngcontent-%COMP%] label, mat-radio-button[_ngcontent-%COMP%] label{white-space:normal}mat-checkbox[_ngcontent-%COMP%]{vertical-align:middle}mat-button[_ngcontent-%COMP%]{padding-right:10px}h4[_ngcontent-%COMP%]{margin:7px;text-align:left}u[_ngcontent-%COMP%]{cursor:pointer;color:#00f;margin:5px}p[_ngcontent-%COMP%]{margin:unset}"] });
|
|
24801
25110
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OgcFilterSelectionComponent, [{
|
|
24802
25111
|
type: Component,
|
|
24803
25112
|
args: [{
|
|
@@ -25158,7 +25467,7 @@ SpatialFilterListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
25158
25467
|
i0.ɵɵproperty("value", ctx.measureUnit);
|
|
25159
25468
|
i0.ɵɵadvance(1);
|
|
25160
25469
|
i0.ɵɵproperty("ngForOf", ctx.measureUnits);
|
|
25161
|
-
} }, directives: [i16.ɵNgNoValidate, i16.NgControlStatusGroup, i16.NgForm, i12.MatFormField, i5.MatInput, i16.DefaultValueAccessor, i6$
|
|
25470
|
+
} }, directives: [i16.ɵNgNoValidate, i16.NgControlStatusGroup, i16.NgForm, i12.MatFormField, i5$1.MatInput, i16.DefaultValueAccessor, i6$1.MatAutocompleteTrigger, i16.NgControlStatus, i16.FormControlDirective, i6$1.MatAutocomplete, i1$1.NgForOf, i16.NumberValueAccessor, i13.MatSelect, i9.MatOption], pipes: [i7.TranslatePipe, i1$1.AsyncPipe], styles: [".buffer-div[_ngcontent-%COMP%]{display:flex;width:100%;margin-left:2px;padding:5px}.zone-list[_ngcontent-%COMP%]{padding:5px;width:95%;margin-left:2px}.buffer[_ngcontent-%COMP%]{display:flex;flex-flow:column nowrap;width:110%}.unit-field[_ngcontent-%COMP%]{width:110px;margin-left:30px}"], changeDetection: 0 });
|
|
25162
25471
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SpatialFilterListComponent, [{
|
|
25163
25472
|
type: Component,
|
|
25164
25473
|
args: [{
|
|
@@ -26304,7 +26613,7 @@ function OgcFilterTimeComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
26304
26613
|
i0.ɵɵproperty("begin", ctx_r1.beginValue)("max", ctx_r1.restrictedToStep() ? ctx_r1.maxDate : ctx_r1.endValue)("currentFilter", ctx_r1.currentFilter)("datasource", ctx_r1.datasource);
|
|
26305
26614
|
} }
|
|
26306
26615
|
function OgcFilterTimeComponent_div_3_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
26307
|
-
const
|
|
26616
|
+
const _r15 = i0.ɵɵgetCurrentView();
|
|
26308
26617
|
i0.ɵɵelementStart(0, "div", 9);
|
|
26309
26618
|
i0.ɵɵelementStart(1, "mat-form-field", 10);
|
|
26310
26619
|
i0.ɵɵelementStart(2, "mat-label");
|
|
@@ -26312,11 +26621,11 @@ function OgcFilterTimeComponent_div_3_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
26312
26621
|
i0.ɵɵpipe(4, "translate");
|
|
26313
26622
|
i0.ɵɵelementEnd();
|
|
26314
26623
|
i0.ɵɵelementStart(5, "input", 11);
|
|
26315
|
-
i0.ɵɵlistener("change", function OgcFilterTimeComponent_div_3_div_1_Template_input_change_5_listener($event) { i0.ɵɵrestoreView(
|
|
26624
|
+
i0.ɵɵlistener("change", function OgcFilterTimeComponent_div_3_div_1_Template_input_change_5_listener($event) { i0.ɵɵrestoreView(_r15); const _r10 = i0.ɵɵreference(8); const ctx_r14 = i0.ɵɵnextContext(2); return ctx_r14.yearOnlyInputChange($event, _r10, "begin"); });
|
|
26316
26625
|
i0.ɵɵelementEnd();
|
|
26317
26626
|
i0.ɵɵelement(6, "mat-datepicker-toggle", 12);
|
|
26318
26627
|
i0.ɵɵelementStart(7, "mat-datepicker", 13, 14);
|
|
26319
|
-
i0.ɵɵlistener("yearSelected", function OgcFilterTimeComponent_div_3_div_1_Template_mat_datepicker_yearSelected_7_listener($event) { i0.ɵɵrestoreView(
|
|
26628
|
+
i0.ɵɵlistener("yearSelected", function OgcFilterTimeComponent_div_3_div_1_Template_mat_datepicker_yearSelected_7_listener($event) { i0.ɵɵrestoreView(_r15); const _r10 = i0.ɵɵreference(8); const ctx_r16 = i0.ɵɵnextContext(2); return ctx_r16.yearSelected($event, _r10, "begin"); });
|
|
26320
26629
|
i0.ɵɵelementEnd();
|
|
26321
26630
|
i0.ɵɵelement(9, "input", 15, 16);
|
|
26322
26631
|
i0.ɵɵelementEnd();
|
|
@@ -26325,240 +26634,278 @@ function OgcFilterTimeComponent_div_3_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
26325
26634
|
i0.ɵɵtext(13);
|
|
26326
26635
|
i0.ɵɵpipe(14, "translate");
|
|
26327
26636
|
i0.ɵɵelementEnd();
|
|
26328
|
-
i0.ɵɵ
|
|
26637
|
+
i0.ɵɵelementStart(15, "input", 11);
|
|
26638
|
+
i0.ɵɵlistener("change", function OgcFilterTimeComponent_div_3_div_1_Template_input_change_15_listener($event) { i0.ɵɵrestoreView(_r15); const _r12 = i0.ɵɵreference(18); const ctx_r17 = i0.ɵɵnextContext(2); return ctx_r17.yearOnlyInputChange($event, _r12, "end"); });
|
|
26639
|
+
i0.ɵɵelementEnd();
|
|
26329
26640
|
i0.ɵɵelement(16, "mat-datepicker-toggle", 12);
|
|
26330
|
-
i0.ɵɵelementStart(17, "mat-datepicker", 13,
|
|
26331
|
-
i0.ɵɵlistener("yearSelected", function OgcFilterTimeComponent_div_3_div_1_Template_mat_datepicker_yearSelected_17_listener($event) { i0.ɵɵrestoreView(
|
|
26641
|
+
i0.ɵɵelementStart(17, "mat-datepicker", 13, 17);
|
|
26642
|
+
i0.ɵɵlistener("yearSelected", function OgcFilterTimeComponent_div_3_div_1_Template_mat_datepicker_yearSelected_17_listener($event) { i0.ɵɵrestoreView(_r15); const _r12 = i0.ɵɵreference(18); const ctx_r18 = i0.ɵɵnextContext(2); return ctx_r18.yearSelected($event, _r12, "end"); });
|
|
26643
|
+
i0.ɵɵelementEnd();
|
|
26644
|
+
i0.ɵɵelement(19, "input", 15, 18);
|
|
26332
26645
|
i0.ɵɵelementEnd();
|
|
26333
|
-
i0.ɵɵ
|
|
26646
|
+
i0.ɵɵelementStart(21, "button", 19);
|
|
26647
|
+
i0.ɵɵlistener("click", function OgcFilterTimeComponent_div_3_div_1_Template_button_click_21_listener() { i0.ɵɵrestoreView(_r15); const ctx_r19 = i0.ɵɵnextContext(2); return ctx_r19.resetFilter(); });
|
|
26648
|
+
i0.ɵɵpipe(22, "translate");
|
|
26649
|
+
i0.ɵɵelement(23, "mat-icon", 20);
|
|
26650
|
+
i0.ɵɵelementEnd();
|
|
26651
|
+
i0.ɵɵelementStart(24, "mat-slide-toggle", 21);
|
|
26652
|
+
i0.ɵɵlistener("change", function OgcFilterTimeComponent_div_3_div_1_Template_mat_slide_toggle_change_24_listener() { i0.ɵɵrestoreView(_r15); const ctx_r20 = i0.ɵɵnextContext(2); return ctx_r20.toggleFilterState(); });
|
|
26653
|
+
i0.ɵɵpipe(25, "translate");
|
|
26334
26654
|
i0.ɵɵelementEnd();
|
|
26335
26655
|
i0.ɵɵelementEnd();
|
|
26336
26656
|
} if (rf & 2) {
|
|
26337
|
-
const
|
|
26338
|
-
const
|
|
26657
|
+
const _r10 = i0.ɵɵreference(8);
|
|
26658
|
+
const _r12 = i0.ɵɵreference(18);
|
|
26339
26659
|
const ctx_r8 = i0.ɵɵnextContext(2);
|
|
26340
26660
|
i0.ɵɵadvance(3);
|
|
26341
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4,
|
|
26661
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 27, "igo.geo.timeFilter.startYear"));
|
|
26342
26662
|
i0.ɵɵadvance(2);
|
|
26343
26663
|
i0.ɵɵpropertyInterpolate("value", ctx_r8.onlyYearBegin);
|
|
26664
|
+
i0.ɵɵproperty("disabled", ctx_r8.filterStateDisable);
|
|
26344
26665
|
i0.ɵɵadvance(1);
|
|
26345
|
-
i0.ɵɵproperty("for",
|
|
26666
|
+
i0.ɵɵproperty("for", _r10)("disabled", ctx_r8.filterStateDisable);
|
|
26346
26667
|
i0.ɵɵadvance(1);
|
|
26347
26668
|
i0.ɵɵproperty("startView", ctx_r8.calendarView())("startAt", ctx_r8.beginValue);
|
|
26348
26669
|
i0.ɵɵadvance(2);
|
|
26349
|
-
i0.ɵɵproperty("matDatepicker",
|
|
26670
|
+
i0.ɵɵproperty("matDatepicker", _r10)("value", ctx_r8.beginValue ? ctx_r8.beginValue : ctx_r8.handleDate(ctx_r8.datasource.options.minDate))("min", ctx_r8.handleDate(ctx_r8.datasource.options.minDate))("max", ctx_r8.endValue && !ctx_r8.restrictedToStep() ? ctx_r8.endValue : ctx_r8.handleDate(ctx_r8.datasource.options.maxDate));
|
|
26350
26671
|
i0.ɵɵadvance(4);
|
|
26351
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14,
|
|
26672
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14, 29, "igo.geo.timeFilter.endYear"));
|
|
26352
26673
|
i0.ɵɵadvance(2);
|
|
26353
26674
|
i0.ɵɵpropertyInterpolate("value", ctx_r8.onlyYearEnd);
|
|
26675
|
+
i0.ɵɵproperty("disabled", ctx_r8.filterStateDisable);
|
|
26354
26676
|
i0.ɵɵadvance(1);
|
|
26355
|
-
i0.ɵɵproperty("for",
|
|
26677
|
+
i0.ɵɵproperty("for", _r12)("disabled", ctx_r8.filterStateDisable);
|
|
26356
26678
|
i0.ɵɵadvance(1);
|
|
26357
26679
|
i0.ɵɵproperty("startView", ctx_r8.calendarView())("startAt", ctx_r8.endValue);
|
|
26358
26680
|
i0.ɵɵadvance(2);
|
|
26359
|
-
i0.ɵɵproperty("matDatepicker",
|
|
26681
|
+
i0.ɵɵproperty("matDatepicker", _r12)("value", ctx_r8.endValue ? ctx_r8.endValue : ctx_r8.handleDate(ctx_r8.datasource.options.maxDate))("min", ctx_r8.beginValue ? ctx_r8.beginValue : ctx_r8.handleDate(ctx_r8.datasource.options.minDate))("max", ctx_r8.handleDate(ctx_r8.datasource.options.maxDate));
|
|
26682
|
+
i0.ɵɵadvance(2);
|
|
26683
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(22, 31, "igo.geo.filter.resetFilters"))("disabled", ctx_r8.filterStateDisable);
|
|
26684
|
+
i0.ɵɵadvance(2);
|
|
26685
|
+
i0.ɵɵpropertyInterpolate("svgIcon", ctx_r8.resetIcon);
|
|
26686
|
+
i0.ɵɵadvance(1);
|
|
26687
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(25, 33, "igo.geo.filter.toggleFilterState"))("checked", !ctx_r8.filterStateDisable);
|
|
26360
26688
|
} }
|
|
26361
|
-
function
|
|
26362
|
-
i0.ɵɵelementStart(0, "mat-option",
|
|
26689
|
+
function OgcFilterTimeComponent_div_3_div_2_mat_form_field_11_mat_option_5_Template(rf, ctx) { if (rf & 1) {
|
|
26690
|
+
i0.ɵɵelementStart(0, "mat-option", 36);
|
|
26363
26691
|
i0.ɵɵtext(1);
|
|
26364
26692
|
i0.ɵɵelementEnd();
|
|
26365
26693
|
} if (rf & 2) {
|
|
26366
|
-
const
|
|
26367
|
-
i0.ɵɵproperty("value",
|
|
26694
|
+
const hour_r27 = ctx.$implicit;
|
|
26695
|
+
i0.ɵɵproperty("value", hour_r27);
|
|
26368
26696
|
i0.ɵɵadvance(1);
|
|
26369
|
-
i0.ɵɵtextInterpolate(
|
|
26697
|
+
i0.ɵɵtextInterpolate(hour_r27);
|
|
26370
26698
|
} }
|
|
26371
|
-
function
|
|
26372
|
-
const
|
|
26373
|
-
i0.ɵɵelementStart(0, "mat-form-field",
|
|
26699
|
+
function OgcFilterTimeComponent_div_3_div_2_mat_form_field_11_Template(rf, ctx) { if (rf & 1) {
|
|
26700
|
+
const _r29 = i0.ɵɵgetCurrentView();
|
|
26701
|
+
i0.ɵɵelementStart(0, "mat-form-field", 33);
|
|
26374
26702
|
i0.ɵɵelementStart(1, "mat-label");
|
|
26375
26703
|
i0.ɵɵtext(2);
|
|
26376
26704
|
i0.ɵɵpipe(3, "translate");
|
|
26377
26705
|
i0.ɵɵelementEnd();
|
|
26378
|
-
i0.ɵɵelementStart(4, "mat-select",
|
|
26379
|
-
i0.ɵɵlistener("selectionChange", function
|
|
26380
|
-
i0.ɵɵtemplate(5,
|
|
26706
|
+
i0.ɵɵelementStart(4, "mat-select", 34);
|
|
26707
|
+
i0.ɵɵlistener("selectionChange", function OgcFilterTimeComponent_div_3_div_2_mat_form_field_11_Template_mat_select_selectionChange_4_listener() { i0.ɵɵrestoreView(_r29); i0.ɵɵnextContext(); const _r21 = i0.ɵɵreference(5); const ctx_r28 = i0.ɵɵnextContext(2); return ctx_r28.changeTemporalProperty(_r21.value, 1); });
|
|
26708
|
+
i0.ɵɵtemplate(5, OgcFilterTimeComponent_div_3_div_2_mat_form_field_11_mat_option_5_Template, 2, 2, "mat-option", 35);
|
|
26381
26709
|
i0.ɵɵelementEnd();
|
|
26382
26710
|
i0.ɵɵelementEnd();
|
|
26383
26711
|
} if (rf & 2) {
|
|
26384
|
-
const
|
|
26712
|
+
const ctx_r23 = i0.ɵɵnextContext(3);
|
|
26385
26713
|
i0.ɵɵadvance(2);
|
|
26386
26714
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 4, "igo.geo.timeFilter.hour"));
|
|
26387
26715
|
i0.ɵɵadvance(2);
|
|
26388
|
-
i0.ɵɵproperty("formControl",
|
|
26389
|
-
i0.ɵɵattribute("disabled", !
|
|
26716
|
+
i0.ɵɵproperty("formControl", ctx_r23.beginHourFormControl);
|
|
26717
|
+
i0.ɵɵattribute("disabled", !ctx_r23.currentFilter.active);
|
|
26390
26718
|
i0.ɵɵadvance(1);
|
|
26391
|
-
i0.ɵɵproperty("ngForOf",
|
|
26719
|
+
i0.ɵɵproperty("ngForOf", ctx_r23.beginHours);
|
|
26392
26720
|
} }
|
|
26393
|
-
function
|
|
26394
|
-
i0.ɵɵelementStart(0, "mat-option",
|
|
26721
|
+
function OgcFilterTimeComponent_div_3_div_2_mat_form_field_12_mat_option_5_Template(rf, ctx) { if (rf & 1) {
|
|
26722
|
+
i0.ɵɵelementStart(0, "mat-option", 36);
|
|
26395
26723
|
i0.ɵɵtext(1);
|
|
26396
26724
|
i0.ɵɵelementEnd();
|
|
26397
26725
|
} if (rf & 2) {
|
|
26398
|
-
const
|
|
26399
|
-
i0.ɵɵproperty("value",
|
|
26726
|
+
const minute_r31 = ctx.$implicit;
|
|
26727
|
+
i0.ɵɵproperty("value", minute_r31);
|
|
26400
26728
|
i0.ɵɵadvance(1);
|
|
26401
|
-
i0.ɵɵtextInterpolate(
|
|
26729
|
+
i0.ɵɵtextInterpolate(minute_r31);
|
|
26402
26730
|
} }
|
|
26403
|
-
function
|
|
26404
|
-
const
|
|
26405
|
-
i0.ɵɵelementStart(0, "mat-form-field",
|
|
26731
|
+
function OgcFilterTimeComponent_div_3_div_2_mat_form_field_12_Template(rf, ctx) { if (rf & 1) {
|
|
26732
|
+
const _r33 = i0.ɵɵgetCurrentView();
|
|
26733
|
+
i0.ɵɵelementStart(0, "mat-form-field", 37);
|
|
26406
26734
|
i0.ɵɵelementStart(1, "mat-label");
|
|
26407
26735
|
i0.ɵɵtext(2);
|
|
26408
26736
|
i0.ɵɵpipe(3, "translate");
|
|
26409
26737
|
i0.ɵɵelementEnd();
|
|
26410
|
-
i0.ɵɵelementStart(4, "mat-select",
|
|
26411
|
-
i0.ɵɵlistener("selectionChange", function
|
|
26412
|
-
i0.ɵɵtemplate(5,
|
|
26738
|
+
i0.ɵɵelementStart(4, "mat-select", 34);
|
|
26739
|
+
i0.ɵɵlistener("selectionChange", function OgcFilterTimeComponent_div_3_div_2_mat_form_field_12_Template_mat_select_selectionChange_4_listener() { i0.ɵɵrestoreView(_r33); i0.ɵɵnextContext(); const _r21 = i0.ɵɵreference(5); const ctx_r32 = i0.ɵɵnextContext(2); return ctx_r32.changeTemporalProperty(_r21.value, 1); });
|
|
26740
|
+
i0.ɵɵtemplate(5, OgcFilterTimeComponent_div_3_div_2_mat_form_field_12_mat_option_5_Template, 2, 2, "mat-option", 35);
|
|
26413
26741
|
i0.ɵɵelementEnd();
|
|
26414
26742
|
i0.ɵɵelementEnd();
|
|
26415
26743
|
} if (rf & 2) {
|
|
26416
|
-
const
|
|
26744
|
+
const ctx_r24 = i0.ɵɵnextContext(3);
|
|
26417
26745
|
i0.ɵɵadvance(2);
|
|
26418
26746
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 4, "igo.geo.timeFilter.minute"));
|
|
26419
26747
|
i0.ɵɵadvance(2);
|
|
26420
|
-
i0.ɵɵproperty("formControl",
|
|
26421
|
-
i0.ɵɵattribute("disabled", !
|
|
26422
|
-
i0.ɵɵadvance(1);
|
|
26423
|
-
i0.ɵɵproperty("ngForOf", ctx_r22.beginMinutes);
|
|
26424
|
-
} }
|
|
26425
|
-
function OgcFilterTimeComponent_div_3_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
26426
|
-
const _r32 = i0.ɵɵgetCurrentView();
|
|
26427
|
-
i0.ɵɵelementStart(0, "div", 20);
|
|
26428
|
-
i0.ɵɵelementStart(1, "mat-form-field", 21);
|
|
26429
|
-
i0.ɵɵelement(2, "mat-datepicker-toggle", 12);
|
|
26430
|
-
i0.ɵɵelementStart(3, "input", 22, 23);
|
|
26431
|
-
i0.ɵɵlistener("dateChange", function OgcFilterTimeComponent_div_3_div_2_Template_input_dateChange_3_listener() { i0.ɵɵrestoreView(_r32); const _r19 = i0.ɵɵreference(4); const ctx_r31 = i0.ɵɵnextContext(2); return ctx_r31.changeTemporalProperty(_r19.value, 1); });
|
|
26432
|
-
i0.ɵɵpipe(5, "translate");
|
|
26433
|
-
i0.ɵɵelementEnd();
|
|
26434
|
-
i0.ɵɵelement(6, "span", 24);
|
|
26435
|
-
i0.ɵɵelementStart(7, "mat-datepicker", 25, 14);
|
|
26436
|
-
i0.ɵɵlistener("yearSelected", function OgcFilterTimeComponent_div_3_div_2_Template_mat_datepicker_yearSelected_7_listener($event) { i0.ɵɵrestoreView(_r32); const _r20 = i0.ɵɵreference(8); const ctx_r33 = i0.ɵɵnextContext(2); return ctx_r33.yearSelected($event, _r20, "begin"); })("monthSelected", function OgcFilterTimeComponent_div_3_div_2_Template_mat_datepicker_monthSelected_7_listener($event) { i0.ɵɵrestoreView(_r32); const _r20 = i0.ɵɵreference(8); const ctx_r34 = i0.ɵɵnextContext(2); return ctx_r34.monthSelected($event, _r20, "begin"); });
|
|
26437
|
-
i0.ɵɵelementEnd();
|
|
26438
|
-
i0.ɵɵelementEnd();
|
|
26439
|
-
i0.ɵɵelementStart(9, "div", 26);
|
|
26440
|
-
i0.ɵɵtemplate(10, OgcFilterTimeComponent_div_3_div_2_mat_form_field_10_Template, 6, 6, "mat-form-field", 27);
|
|
26441
|
-
i0.ɵɵtemplate(11, OgcFilterTimeComponent_div_3_div_2_mat_form_field_11_Template, 6, 6, "mat-form-field", 28);
|
|
26442
|
-
i0.ɵɵelementEnd();
|
|
26443
|
-
i0.ɵɵelementEnd();
|
|
26444
|
-
} if (rf & 2) {
|
|
26445
|
-
const _r20 = i0.ɵɵreference(8);
|
|
26446
|
-
const ctx_r9 = i0.ɵɵnextContext(2);
|
|
26447
|
-
i0.ɵɵadvance(2);
|
|
26448
|
-
i0.ɵɵproperty("for", _r20);
|
|
26449
|
-
i0.ɵɵadvance(1);
|
|
26450
|
-
i0.ɵɵproperty("matDatepicker", _r20)("placeholder", i0.ɵɵpipeBind1(5, 12, "igo.geo.timeFilter.startDate"))("matDatepickerFilter", ctx_r9.dateFilter.bind(ctx_r9, "begin"))("value", ctx_r9.beginValue ? ctx_r9.beginValue : ctx_r9.handleDate(ctx_r9.datasource.options.minDate))("min", ctx_r9.handleDate(ctx_r9.datasource.options.minDate))("max", ctx_r9.endValue && !ctx_r9.restrictedToStep() ? ctx_r9.endValue : ctx_r9.handleDate(ctx_r9.datasource.options.maxDate));
|
|
26451
|
-
i0.ɵɵattribute("disabled", !ctx_r9.currentFilter.active);
|
|
26452
|
-
i0.ɵɵadvance(4);
|
|
26453
|
-
i0.ɵɵproperty("startView", ctx_r9.calendarView())("startAt", ctx_r9.beginValue);
|
|
26454
|
-
i0.ɵɵadvance(3);
|
|
26455
|
-
i0.ɵɵproperty("ngIf", ctx_r9.calendarType() === "datetime");
|
|
26748
|
+
i0.ɵɵproperty("formControl", ctx_r24.beginMinuteFormControl);
|
|
26749
|
+
i0.ɵɵattribute("disabled", !ctx_r24.currentFilter.active);
|
|
26456
26750
|
i0.ɵɵadvance(1);
|
|
26457
|
-
i0.ɵɵproperty("
|
|
26751
|
+
i0.ɵɵproperty("ngForOf", ctx_r24.beginMinutes);
|
|
26458
26752
|
} }
|
|
26459
|
-
function
|
|
26460
|
-
i0.ɵɵelementStart(0, "mat-option",
|
|
26753
|
+
function OgcFilterTimeComponent_div_3_div_2_div_13_mat_form_field_10_mat_option_5_Template(rf, ctx) { if (rf & 1) {
|
|
26754
|
+
i0.ɵɵelementStart(0, "mat-option", 36);
|
|
26461
26755
|
i0.ɵɵtext(1);
|
|
26462
26756
|
i0.ɵɵelementEnd();
|
|
26463
26757
|
} if (rf & 2) {
|
|
26464
|
-
const
|
|
26465
|
-
i0.ɵɵproperty("value",
|
|
26758
|
+
const hour_r39 = ctx.$implicit;
|
|
26759
|
+
i0.ɵɵproperty("value", hour_r39);
|
|
26466
26760
|
i0.ɵɵadvance(1);
|
|
26467
|
-
i0.ɵɵtextInterpolate(
|
|
26761
|
+
i0.ɵɵtextInterpolate(hour_r39);
|
|
26468
26762
|
} }
|
|
26469
|
-
function
|
|
26470
|
-
const
|
|
26471
|
-
i0.ɵɵelementStart(0, "mat-form-field",
|
|
26763
|
+
function OgcFilterTimeComponent_div_3_div_2_div_13_mat_form_field_10_Template(rf, ctx) { if (rf & 1) {
|
|
26764
|
+
const _r41 = i0.ɵɵgetCurrentView();
|
|
26765
|
+
i0.ɵɵelementStart(0, "mat-form-field", 33);
|
|
26472
26766
|
i0.ɵɵelementStart(1, "mat-label");
|
|
26473
26767
|
i0.ɵɵtext(2);
|
|
26474
26768
|
i0.ɵɵpipe(3, "translate");
|
|
26475
26769
|
i0.ɵɵelementEnd();
|
|
26476
|
-
i0.ɵɵelementStart(4, "mat-select",
|
|
26477
|
-
i0.ɵɵlistener("selectionChange", function
|
|
26478
|
-
i0.ɵɵtemplate(5,
|
|
26770
|
+
i0.ɵɵelementStart(4, "mat-select", 34);
|
|
26771
|
+
i0.ɵɵlistener("selectionChange", function OgcFilterTimeComponent_div_3_div_2_div_13_mat_form_field_10_Template_mat_select_selectionChange_4_listener() { i0.ɵɵrestoreView(_r41); i0.ɵɵnextContext(); const _r34 = i0.ɵɵreference(4); const ctx_r40 = i0.ɵɵnextContext(3); return ctx_r40.changeTemporalProperty(_r34.value, 2); });
|
|
26772
|
+
i0.ɵɵtemplate(5, OgcFilterTimeComponent_div_3_div_2_div_13_mat_form_field_10_mat_option_5_Template, 2, 2, "mat-option", 35);
|
|
26479
26773
|
i0.ɵɵelementEnd();
|
|
26480
26774
|
i0.ɵɵelementEnd();
|
|
26481
26775
|
} if (rf & 2) {
|
|
26482
|
-
const
|
|
26776
|
+
const ctx_r36 = i0.ɵɵnextContext(4);
|
|
26483
26777
|
i0.ɵɵadvance(2);
|
|
26484
26778
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 4, "igo.geo.timeFilter.hour"));
|
|
26485
26779
|
i0.ɵɵadvance(2);
|
|
26486
|
-
i0.ɵɵproperty("formControl",
|
|
26487
|
-
i0.ɵɵattribute("disabled", !
|
|
26780
|
+
i0.ɵɵproperty("formControl", ctx_r36.endHourFormControl);
|
|
26781
|
+
i0.ɵɵattribute("disabled", !ctx_r36.currentFilter.active);
|
|
26488
26782
|
i0.ɵɵadvance(1);
|
|
26489
|
-
i0.ɵɵproperty("ngForOf",
|
|
26783
|
+
i0.ɵɵproperty("ngForOf", ctx_r36.endHours);
|
|
26490
26784
|
} }
|
|
26491
|
-
function
|
|
26492
|
-
i0.ɵɵelementStart(0, "mat-option",
|
|
26785
|
+
function OgcFilterTimeComponent_div_3_div_2_div_13_mat_form_field_11_mat_option_5_Template(rf, ctx) { if (rf & 1) {
|
|
26786
|
+
i0.ɵɵelementStart(0, "mat-option", 36);
|
|
26493
26787
|
i0.ɵɵtext(1);
|
|
26494
26788
|
i0.ɵɵelementEnd();
|
|
26495
26789
|
} if (rf & 2) {
|
|
26496
|
-
const
|
|
26497
|
-
i0.ɵɵproperty("value",
|
|
26790
|
+
const minute_r43 = ctx.$implicit;
|
|
26791
|
+
i0.ɵɵproperty("value", minute_r43);
|
|
26498
26792
|
i0.ɵɵadvance(1);
|
|
26499
|
-
i0.ɵɵtextInterpolate(
|
|
26793
|
+
i0.ɵɵtextInterpolate(minute_r43);
|
|
26500
26794
|
} }
|
|
26501
|
-
function
|
|
26502
|
-
const
|
|
26503
|
-
i0.ɵɵelementStart(0, "mat-form-field",
|
|
26795
|
+
function OgcFilterTimeComponent_div_3_div_2_div_13_mat_form_field_11_Template(rf, ctx) { if (rf & 1) {
|
|
26796
|
+
const _r45 = i0.ɵɵgetCurrentView();
|
|
26797
|
+
i0.ɵɵelementStart(0, "mat-form-field", 37);
|
|
26504
26798
|
i0.ɵɵelementStart(1, "mat-label");
|
|
26505
26799
|
i0.ɵɵtext(2);
|
|
26506
26800
|
i0.ɵɵpipe(3, "translate");
|
|
26507
26801
|
i0.ɵɵelementEnd();
|
|
26508
|
-
i0.ɵɵelementStart(4, "mat-select",
|
|
26509
|
-
i0.ɵɵlistener("selectionChange", function
|
|
26510
|
-
i0.ɵɵtemplate(5,
|
|
26802
|
+
i0.ɵɵelementStart(4, "mat-select", 34);
|
|
26803
|
+
i0.ɵɵlistener("selectionChange", function OgcFilterTimeComponent_div_3_div_2_div_13_mat_form_field_11_Template_mat_select_selectionChange_4_listener() { i0.ɵɵrestoreView(_r45); i0.ɵɵnextContext(); const _r34 = i0.ɵɵreference(4); const ctx_r44 = i0.ɵɵnextContext(3); return ctx_r44.changeTemporalProperty(_r34.value, 2); });
|
|
26804
|
+
i0.ɵɵtemplate(5, OgcFilterTimeComponent_div_3_div_2_div_13_mat_form_field_11_mat_option_5_Template, 2, 2, "mat-option", 35);
|
|
26511
26805
|
i0.ɵɵelementEnd();
|
|
26512
26806
|
i0.ɵɵelementEnd();
|
|
26513
26807
|
} if (rf & 2) {
|
|
26514
|
-
const
|
|
26808
|
+
const ctx_r37 = i0.ɵɵnextContext(4);
|
|
26515
26809
|
i0.ɵɵadvance(2);
|
|
26516
26810
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 4, "igo.geo.timeFilter.minute"));
|
|
26517
26811
|
i0.ɵɵadvance(2);
|
|
26518
|
-
i0.ɵɵproperty("formControl",
|
|
26519
|
-
i0.ɵɵattribute("disabled", !
|
|
26812
|
+
i0.ɵɵproperty("formControl", ctx_r37.endMinuteFormControl);
|
|
26813
|
+
i0.ɵɵattribute("disabled", !ctx_r37.currentFilter.active);
|
|
26520
26814
|
i0.ɵɵadvance(1);
|
|
26521
|
-
i0.ɵɵproperty("ngForOf",
|
|
26815
|
+
i0.ɵɵproperty("ngForOf", ctx_r37.endMinutes);
|
|
26522
26816
|
} }
|
|
26523
|
-
function
|
|
26524
|
-
const
|
|
26525
|
-
i0.ɵɵelementStart(0, "div",
|
|
26526
|
-
i0.ɵɵelementStart(1, "mat-form-field",
|
|
26817
|
+
function OgcFilterTimeComponent_div_3_div_2_div_13_Template(rf, ctx) { if (rf & 1) {
|
|
26818
|
+
const _r47 = i0.ɵɵgetCurrentView();
|
|
26819
|
+
i0.ɵɵelementStart(0, "div", 23);
|
|
26820
|
+
i0.ɵɵelementStart(1, "mat-form-field", 24);
|
|
26527
26821
|
i0.ɵɵelement(2, "mat-datepicker-toggle", 12);
|
|
26528
|
-
i0.ɵɵelementStart(3, "input",
|
|
26529
|
-
i0.ɵɵlistener("dateChange", function
|
|
26822
|
+
i0.ɵɵelementStart(3, "input", 25, 38);
|
|
26823
|
+
i0.ɵɵlistener("dateChange", function OgcFilterTimeComponent_div_3_div_2_div_13_Template_input_dateChange_3_listener() { i0.ɵɵrestoreView(_r47); const _r34 = i0.ɵɵreference(4); const ctx_r46 = i0.ɵɵnextContext(3); return ctx_r46.changeTemporalProperty(_r34.value, 2); });
|
|
26530
26824
|
i0.ɵɵpipe(5, "translate");
|
|
26531
26825
|
i0.ɵɵelementEnd();
|
|
26532
|
-
i0.ɵɵelement(6, "span",
|
|
26533
|
-
i0.ɵɵelementStart(7, "mat-datepicker",
|
|
26534
|
-
i0.ɵɵlistener("yearSelected", function
|
|
26826
|
+
i0.ɵɵelement(6, "span", 27);
|
|
26827
|
+
i0.ɵɵelementStart(7, "mat-datepicker", 28, 17);
|
|
26828
|
+
i0.ɵɵlistener("yearSelected", function OgcFilterTimeComponent_div_3_div_2_div_13_Template_mat_datepicker_yearSelected_7_listener($event) { i0.ɵɵrestoreView(_r47); const _r35 = i0.ɵɵreference(8); const ctx_r48 = i0.ɵɵnextContext(3); return ctx_r48.yearSelected($event, _r35, "end"); })("monthSelected", function OgcFilterTimeComponent_div_3_div_2_div_13_Template_mat_datepicker_monthSelected_7_listener($event) { i0.ɵɵrestoreView(_r47); const _r35 = i0.ɵɵreference(8); const ctx_r49 = i0.ɵɵnextContext(3); return ctx_r49.monthSelected($event, _r35, "end"); });
|
|
26535
26829
|
i0.ɵɵelementEnd();
|
|
26536
26830
|
i0.ɵɵelementEnd();
|
|
26537
|
-
i0.ɵɵelementStart(9, "div",
|
|
26538
|
-
i0.ɵɵtemplate(10,
|
|
26539
|
-
i0.ɵɵtemplate(11,
|
|
26831
|
+
i0.ɵɵelementStart(9, "div", 29);
|
|
26832
|
+
i0.ɵɵtemplate(10, OgcFilterTimeComponent_div_3_div_2_div_13_mat_form_field_10_Template, 6, 6, "mat-form-field", 30);
|
|
26833
|
+
i0.ɵɵtemplate(11, OgcFilterTimeComponent_div_3_div_2_div_13_mat_form_field_11_Template, 6, 6, "mat-form-field", 31);
|
|
26540
26834
|
i0.ɵɵelementEnd();
|
|
26541
26835
|
i0.ɵɵelementEnd();
|
|
26542
26836
|
} if (rf & 2) {
|
|
26543
|
-
const
|
|
26544
|
-
const
|
|
26837
|
+
const _r35 = i0.ɵɵreference(8);
|
|
26838
|
+
const ctx_r25 = i0.ɵɵnextContext(3);
|
|
26545
26839
|
i0.ɵɵadvance(2);
|
|
26546
|
-
i0.ɵɵproperty("for",
|
|
26840
|
+
i0.ɵɵproperty("for", _r35)("disabled", ctx_r25.filterStateDisable);
|
|
26841
|
+
i0.ɵɵadvance(1);
|
|
26842
|
+
i0.ɵɵproperty("matDatepicker", _r35)("placeholder", i0.ɵɵpipeBind1(5, 14, "igo.geo.timeFilter.endDate"))("matDatepickerFilter", ctx_r25.dateFilter.bind(ctx_r25, "end"))("value", ctx_r25.endValue ? ctx_r25.endValue : ctx_r25.handleDate(ctx_r25.datasource.options.maxDate))("min", ctx_r25.beginValue ? ctx_r25.beginValue : ctx_r25.handleDate(ctx_r25.datasource.options.minDate))("max", ctx_r25.handleDate(ctx_r25.datasource.options.maxDate))("disabled", ctx_r25.filterStateDisable);
|
|
26843
|
+
i0.ɵɵattribute("disabled", !ctx_r25.currentFilter.active);
|
|
26844
|
+
i0.ɵɵadvance(4);
|
|
26845
|
+
i0.ɵɵproperty("startView", ctx_r25.calendarView())("startAt", ctx_r25.endValue);
|
|
26846
|
+
i0.ɵɵadvance(3);
|
|
26847
|
+
i0.ɵɵproperty("ngIf", ctx_r25.calendarType() === "datetime");
|
|
26848
|
+
i0.ɵɵadvance(1);
|
|
26849
|
+
i0.ɵɵproperty("ngIf", ctx_r25.calendarType() === "datetime");
|
|
26850
|
+
} }
|
|
26851
|
+
function OgcFilterTimeComponent_div_3_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
26852
|
+
const _r51 = i0.ɵɵgetCurrentView();
|
|
26853
|
+
i0.ɵɵelementStart(0, "div", 22);
|
|
26854
|
+
i0.ɵɵelementStart(1, "div", 23);
|
|
26855
|
+
i0.ɵɵelementStart(2, "mat-form-field", 24);
|
|
26856
|
+
i0.ɵɵelement(3, "mat-datepicker-toggle", 12);
|
|
26857
|
+
i0.ɵɵelementStart(4, "input", 25, 26);
|
|
26858
|
+
i0.ɵɵlistener("dateChange", function OgcFilterTimeComponent_div_3_div_2_Template_input_dateChange_4_listener() { i0.ɵɵrestoreView(_r51); const _r21 = i0.ɵɵreference(5); const ctx_r50 = i0.ɵɵnextContext(2); return ctx_r50.changeTemporalProperty(_r21.value, 1); });
|
|
26859
|
+
i0.ɵɵpipe(6, "translate");
|
|
26860
|
+
i0.ɵɵelementEnd();
|
|
26861
|
+
i0.ɵɵelement(7, "span", 27);
|
|
26862
|
+
i0.ɵɵelementStart(8, "mat-datepicker", 28, 14);
|
|
26863
|
+
i0.ɵɵlistener("yearSelected", function OgcFilterTimeComponent_div_3_div_2_Template_mat_datepicker_yearSelected_8_listener($event) { i0.ɵɵrestoreView(_r51); const _r22 = i0.ɵɵreference(9); const ctx_r52 = i0.ɵɵnextContext(2); return ctx_r52.yearSelected($event, _r22, "begin"); })("monthSelected", function OgcFilterTimeComponent_div_3_div_2_Template_mat_datepicker_monthSelected_8_listener($event) { i0.ɵɵrestoreView(_r51); const _r22 = i0.ɵɵreference(9); const ctx_r53 = i0.ɵɵnextContext(2); return ctx_r53.monthSelected($event, _r22, "begin"); });
|
|
26864
|
+
i0.ɵɵelementEnd();
|
|
26865
|
+
i0.ɵɵelementEnd();
|
|
26866
|
+
i0.ɵɵelementStart(10, "div", 29);
|
|
26867
|
+
i0.ɵɵtemplate(11, OgcFilterTimeComponent_div_3_div_2_mat_form_field_11_Template, 6, 6, "mat-form-field", 30);
|
|
26868
|
+
i0.ɵɵtemplate(12, OgcFilterTimeComponent_div_3_div_2_mat_form_field_12_Template, 6, 6, "mat-form-field", 31);
|
|
26869
|
+
i0.ɵɵelementEnd();
|
|
26870
|
+
i0.ɵɵelementEnd();
|
|
26871
|
+
i0.ɵɵtemplate(13, OgcFilterTimeComponent_div_3_div_2_div_13_Template, 12, 16, "div", 32);
|
|
26872
|
+
i0.ɵɵelementStart(14, "button", 19);
|
|
26873
|
+
i0.ɵɵlistener("click", function OgcFilterTimeComponent_div_3_div_2_Template_button_click_14_listener() { i0.ɵɵrestoreView(_r51); const ctx_r54 = i0.ɵɵnextContext(2); return ctx_r54.resetFilter(); });
|
|
26874
|
+
i0.ɵɵpipe(15, "translate");
|
|
26875
|
+
i0.ɵɵelement(16, "mat-icon", 20);
|
|
26876
|
+
i0.ɵɵelementEnd();
|
|
26877
|
+
i0.ɵɵelementStart(17, "mat-slide-toggle", 21);
|
|
26878
|
+
i0.ɵɵlistener("change", function OgcFilterTimeComponent_div_3_div_2_Template_mat_slide_toggle_change_17_listener() { i0.ɵɵrestoreView(_r51); const ctx_r55 = i0.ɵɵnextContext(2); return ctx_r55.toggleFilterState(); });
|
|
26879
|
+
i0.ɵɵpipe(18, "translate");
|
|
26880
|
+
i0.ɵɵelementEnd();
|
|
26881
|
+
i0.ɵɵelementEnd();
|
|
26882
|
+
} if (rf & 2) {
|
|
26883
|
+
const _r22 = i0.ɵɵreference(9);
|
|
26884
|
+
const ctx_r9 = i0.ɵɵnextContext(2);
|
|
26885
|
+
i0.ɵɵadvance(3);
|
|
26886
|
+
i0.ɵɵproperty("for", _r22)("disabled", ctx_r9.filterStateDisable);
|
|
26547
26887
|
i0.ɵɵadvance(1);
|
|
26548
|
-
i0.ɵɵproperty("matDatepicker",
|
|
26549
|
-
i0.ɵɵattribute("disabled", !
|
|
26888
|
+
i0.ɵɵproperty("matDatepicker", _r22)("placeholder", i0.ɵɵpipeBind1(6, 20, "igo.geo.timeFilter.startDate"))("matDatepickerFilter", ctx_r9.dateFilter.bind(ctx_r9, "begin"))("value", ctx_r9.beginValue ? ctx_r9.beginValue : ctx_r9.handleDate(ctx_r9.datasource.options.minDate))("min", ctx_r9.handleDate(ctx_r9.datasource.options.minDate))("max", ctx_r9.endValue && !ctx_r9.restrictedToStep() ? ctx_r9.endValue : ctx_r9.handleDate(ctx_r9.datasource.options.maxDate))("disabled", ctx_r9.filterStateDisable);
|
|
26889
|
+
i0.ɵɵattribute("disabled", !ctx_r9.currentFilter.active);
|
|
26550
26890
|
i0.ɵɵadvance(4);
|
|
26551
|
-
i0.ɵɵproperty("startView",
|
|
26891
|
+
i0.ɵɵproperty("startView", ctx_r9.calendarView())("startAt", ctx_r9.beginValue);
|
|
26552
26892
|
i0.ɵɵadvance(3);
|
|
26553
|
-
i0.ɵɵproperty("ngIf",
|
|
26893
|
+
i0.ɵɵproperty("ngIf", ctx_r9.calendarType() === "datetime");
|
|
26894
|
+
i0.ɵɵadvance(1);
|
|
26895
|
+
i0.ɵɵproperty("ngIf", ctx_r9.calendarType() === "datetime");
|
|
26896
|
+
i0.ɵɵadvance(1);
|
|
26897
|
+
i0.ɵɵproperty("ngIf", !ctx_r9.restrictedToStep());
|
|
26554
26898
|
i0.ɵɵadvance(1);
|
|
26555
|
-
i0.ɵɵproperty("
|
|
26899
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(15, 22, "igo.geo.filter.resetFilters"))("disabled", ctx_r9.filterStateDisable);
|
|
26900
|
+
i0.ɵɵadvance(2);
|
|
26901
|
+
i0.ɵɵpropertyInterpolate("svgIcon", ctx_r9.resetIcon);
|
|
26902
|
+
i0.ɵɵadvance(1);
|
|
26903
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(18, 24, "igo.geo.filter.toggleFilterState"))("checked", !ctx_r9.filterStateDisable);
|
|
26556
26904
|
} }
|
|
26557
26905
|
function OgcFilterTimeComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
26558
26906
|
i0.ɵɵelementStart(0, "div");
|
|
26559
|
-
i0.ɵɵtemplate(1, OgcFilterTimeComponent_div_3_div_1_Template,
|
|
26560
|
-
i0.ɵɵtemplate(2, OgcFilterTimeComponent_div_3_div_2_Template,
|
|
26561
|
-
i0.ɵɵtemplate(3, OgcFilterTimeComponent_div_3_div_3_Template, 12, 14, "div", 8);
|
|
26907
|
+
i0.ɵɵtemplate(1, OgcFilterTimeComponent_div_3_div_1_Template, 26, 35, "div", 7);
|
|
26908
|
+
i0.ɵɵtemplate(2, OgcFilterTimeComponent_div_3_div_2_Template, 19, 26, "div", 8);
|
|
26562
26909
|
i0.ɵɵelementEnd();
|
|
26563
26910
|
} if (rf & 2) {
|
|
26564
26911
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -26566,8 +26913,6 @@ function OgcFilterTimeComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
26566
26913
|
i0.ɵɵproperty("ngIf", ctx_r2.calendarTypeYear);
|
|
26567
26914
|
i0.ɵɵadvance(1);
|
|
26568
26915
|
i0.ɵɵproperty("ngIf", ctx_r2.calendarType() !== "year");
|
|
26569
|
-
i0.ɵɵadvance(1);
|
|
26570
|
-
i0.ɵɵproperty("ngIf", !ctx_r2.restrictedToStep() && ctx_r2.calendarType() !== "year");
|
|
26571
26916
|
} }
|
|
26572
26917
|
const moment$1 = moment_;
|
|
26573
26918
|
class OgcFilterTimeComponent {
|
|
@@ -26586,6 +26931,7 @@ class OgcFilterTimeComponent {
|
|
|
26586
26931
|
this.sliderMode = false;
|
|
26587
26932
|
this.defaultStepMillisecond = 60000;
|
|
26588
26933
|
this.calendarTypeYear = false;
|
|
26934
|
+
this.resetIcon = 'replay';
|
|
26589
26935
|
}
|
|
26590
26936
|
get step() {
|
|
26591
26937
|
return this.datasource.options.stepDate
|
|
@@ -26629,12 +26975,10 @@ class OgcFilterTimeComponent {
|
|
|
26629
26975
|
this.onlyYearBegin = this.beginValue.getUTCFullYear();
|
|
26630
26976
|
this.onlyYearEnd = this.endValue.getUTCFullYear();
|
|
26631
26977
|
this.calendarTypeYear = this.isCalendarYearMode();
|
|
26978
|
+
this.setFilterStateDisable();
|
|
26632
26979
|
this.updateHoursMinutesArray();
|
|
26633
26980
|
// update value for now value
|
|
26634
26981
|
this.updateValues();
|
|
26635
|
-
if (this.currentFilter.calendarModeYear) {
|
|
26636
|
-
this.beginValue.setUTCFullYear(this.beginValue.getUTCFullYear() + 1);
|
|
26637
|
-
}
|
|
26638
26982
|
}
|
|
26639
26983
|
parseFilter(filter) {
|
|
26640
26984
|
if (!filter) {
|
|
@@ -26668,10 +27012,32 @@ class OgcFilterTimeComponent {
|
|
|
26668
27012
|
}
|
|
26669
27013
|
return new Date();
|
|
26670
27014
|
}
|
|
26671
|
-
|
|
27015
|
+
if (this.currentFilter.calendarModeYear) {
|
|
27016
|
+
const date = this.getDateFromStringWithoutTime(filter);
|
|
27017
|
+
return date;
|
|
27018
|
+
}
|
|
27019
|
+
else {
|
|
27020
|
+
return filter ? new Date(filter) : new Date();
|
|
27021
|
+
}
|
|
26672
27022
|
}
|
|
26673
27023
|
changeTemporalProperty(value, position, refreshFilter = true) {
|
|
26674
27024
|
let valueTmp = this.getDateTime(value, position);
|
|
27025
|
+
if (this.isCalendarYearMode()) {
|
|
27026
|
+
let dateStringFromYearNotime;
|
|
27027
|
+
if (position === 1) {
|
|
27028
|
+
this.beginValue = value;
|
|
27029
|
+
this.onlyYearBegin = this.beginValue.getFullYear();
|
|
27030
|
+
dateStringFromYearNotime = `${this.onlyYearBegin}-01-01`;
|
|
27031
|
+
}
|
|
27032
|
+
else {
|
|
27033
|
+
this.endValue = value;
|
|
27034
|
+
this.onlyYearEnd = this.endValue.getFullYear();
|
|
27035
|
+
dateStringFromYearNotime = `${this.onlyYearEnd}-01-01`;
|
|
27036
|
+
}
|
|
27037
|
+
// call service with string date without time
|
|
27038
|
+
this.changeProperty.next({ value: dateStringFromYearNotime, pos: position, refreshFilter });
|
|
27039
|
+
return;
|
|
27040
|
+
}
|
|
26675
27041
|
if (position === 2 && this.calendarType() === 'date' && !this.sliderMode) {
|
|
26676
27042
|
/* Above month: see yearSelected or monthSelected */
|
|
26677
27043
|
valueTmp = moment$1(valueTmp).endOf('day').toDate();
|
|
@@ -26692,6 +27058,9 @@ class OgcFilterTimeComponent {
|
|
|
26692
27058
|
if (!value || value === '') {
|
|
26693
27059
|
return undefined;
|
|
26694
27060
|
}
|
|
27061
|
+
if (typeof (value) === 'string' && this.currentFilter.calendarModeYear) {
|
|
27062
|
+
return this.getDateFromStringWithoutTime(value);
|
|
27063
|
+
}
|
|
26695
27064
|
return new Date(value);
|
|
26696
27065
|
}
|
|
26697
27066
|
calendarType() {
|
|
@@ -26713,38 +27082,22 @@ class OgcFilterTimeComponent {
|
|
|
26713
27082
|
}
|
|
26714
27083
|
yearOnlyInputChange(changeEvent, datePicker, property) {
|
|
26715
27084
|
const year = changeEvent.target.value;
|
|
26716
|
-
const
|
|
26717
|
-
|
|
26718
|
-
this.yearSelected(dateUtc, datePicker, property);
|
|
27085
|
+
const date = this.getDateFromStringWithoutTime(year);
|
|
27086
|
+
this.yearSelected(date, datePicker, property);
|
|
26719
27087
|
}
|
|
26720
27088
|
yearSelected(year, datePicker, property, refreshFilter = true) {
|
|
26721
27089
|
if (this.ogcFilterTimeService.stepIsYearDuration(this.step)) {
|
|
26722
27090
|
if (datePicker) {
|
|
26723
27091
|
datePicker.close();
|
|
26724
27092
|
}
|
|
26725
|
-
const yearInt = year.getUTCFullYear();
|
|
26726
|
-
if (property === 'begin' && this.currentFilter.calendarModeYear) {
|
|
26727
|
-
this.onlyYearBegin = yearInt;
|
|
26728
|
-
// in year mode, change begin date -1 to include day 1 of same year in filter
|
|
26729
|
-
const yearPast = year.getUTCFullYear() - 1;
|
|
26730
|
-
year = moment$1().set('year', yearPast).toDate();
|
|
26731
|
-
year = moment$1(year).endOf('year').toDate();
|
|
26732
|
-
}
|
|
26733
27093
|
if (property === 'end') {
|
|
26734
|
-
this.onlyYearEnd = yearInt;
|
|
26735
27094
|
// change value 01 jan to 31 dec same year
|
|
26736
27095
|
year = moment$1(year).endOf('year').toDate();
|
|
26737
27096
|
}
|
|
26738
|
-
else if (property === 'begin' && this.restrictedToStep()) {
|
|
27097
|
+
else if (property === 'begin' && this.restrictedToStep() && !this.calendarTypeYear) {
|
|
26739
27098
|
this.yearSelected(year, undefined, 'end');
|
|
26740
27099
|
}
|
|
26741
27100
|
this.changeTemporalProperty(year, property === 'begin' ? 1 : 2, refreshFilter);
|
|
26742
|
-
if (property === 'begin' && this.currentFilter.calendarModeYear) {
|
|
26743
|
-
// datepicker value set to original year not year-1
|
|
26744
|
-
const newMoment = moment$1(year).startOf('year');
|
|
26745
|
-
const newDate = newMoment.set('year', year.getFullYear() + 1).toDate();
|
|
26746
|
-
this.beginValue = newDate;
|
|
26747
|
-
}
|
|
26748
27101
|
}
|
|
26749
27102
|
}
|
|
26750
27103
|
monthSelected(month, datePicker, property, refreshFilter = true) {
|
|
@@ -26977,6 +27330,97 @@ class OgcFilterTimeComponent {
|
|
|
26977
27330
|
this.updateValues();
|
|
26978
27331
|
}
|
|
26979
27332
|
}
|
|
27333
|
+
setFilterStateDisable() {
|
|
27334
|
+
if (this.currentFilter) {
|
|
27335
|
+
this.filterStateDisable = !this.currentFilter.active;
|
|
27336
|
+
}
|
|
27337
|
+
else {
|
|
27338
|
+
this.filterStateDisable = false;
|
|
27339
|
+
}
|
|
27340
|
+
if (this.calendarType() === 'datetime') {
|
|
27341
|
+
if (this.filterStateDisable === true) {
|
|
27342
|
+
this.beginHourFormControl.disable();
|
|
27343
|
+
this.beginMinuteFormControl.disable();
|
|
27344
|
+
this.endHourFormControl.disable();
|
|
27345
|
+
this.endMinuteFormControl.disable();
|
|
27346
|
+
}
|
|
27347
|
+
else {
|
|
27348
|
+
this.beginHourFormControl.enable();
|
|
27349
|
+
this.beginMinuteFormControl.enable();
|
|
27350
|
+
this.endHourFormControl.enable();
|
|
27351
|
+
this.endMinuteFormControl.enable();
|
|
27352
|
+
}
|
|
27353
|
+
}
|
|
27354
|
+
}
|
|
27355
|
+
getDateFromStringWithoutTime(stringDate) {
|
|
27356
|
+
// warning create date with no time make a date UTC with TZ and the date create maybe not the same year, month and day
|
|
27357
|
+
// exemple:
|
|
27358
|
+
// new Date('2022-01-01') -> Fri Dec 31 2021 19:00:00 GMT-0500 (heure normale de l’Est nord-américain)
|
|
27359
|
+
// to create same date as string, add time 00 in the creation
|
|
27360
|
+
// new Date('2022-01-01 00:00:00') -> Sat Jan 01 2022 00:00:00 GMT-0500 (heure normale de l’Est nord-américain)
|
|
27361
|
+
let year;
|
|
27362
|
+
let month = '01';
|
|
27363
|
+
let day = '01';
|
|
27364
|
+
if (stringDate.length === 10) {
|
|
27365
|
+
const dateItems = stringDate.split('-');
|
|
27366
|
+
if (dateItems.length !== 3) {
|
|
27367
|
+
throw new Error('Error in config date begin-end for ogcFilter: Date without time format need to be YYYY-MM-DD or YYYY');
|
|
27368
|
+
}
|
|
27369
|
+
else {
|
|
27370
|
+
year = dateItems[0];
|
|
27371
|
+
month = dateItems[1];
|
|
27372
|
+
day = dateItems[2];
|
|
27373
|
+
}
|
|
27374
|
+
}
|
|
27375
|
+
else if (stringDate.length === 4) {
|
|
27376
|
+
year = stringDate;
|
|
27377
|
+
}
|
|
27378
|
+
else {
|
|
27379
|
+
return new Date(stringDate);
|
|
27380
|
+
}
|
|
27381
|
+
return new Date(`${year}-${month}-${day} 00:00:00`);
|
|
27382
|
+
}
|
|
27383
|
+
resetFilter() {
|
|
27384
|
+
let filterOriginConfig = this.datasource.options.ogcFilters.filters;
|
|
27385
|
+
let minDefaultDate;
|
|
27386
|
+
let maxDefaultDate;
|
|
27387
|
+
let minDefaultISOString;
|
|
27388
|
+
let maxDefaultISOString;
|
|
27389
|
+
if (this.calendarTypeYear) {
|
|
27390
|
+
if (filterOriginConfig.end === 'today') {
|
|
27391
|
+
let todayDateStringNoTime = new Date().toLocaleDateString('en-CA'); // '2022-02-13'
|
|
27392
|
+
maxDefaultISOString = `${todayDateStringNoTime.substring(0, 4)}-01-01`;
|
|
27393
|
+
}
|
|
27394
|
+
else {
|
|
27395
|
+
maxDefaultISOString = `${filterOriginConfig.end.substring(0, 4)}-01-01`;
|
|
27396
|
+
}
|
|
27397
|
+
minDefaultISOString = `${filterOriginConfig.begin.substring(0, 4)}-01-01`;
|
|
27398
|
+
minDefaultDate = this.getDateFromStringWithoutTime(minDefaultISOString);
|
|
27399
|
+
maxDefaultDate = this.getDateFromStringWithoutTime(maxDefaultISOString);
|
|
27400
|
+
}
|
|
27401
|
+
else {
|
|
27402
|
+
minDefaultDate = this.parseFilter(filterOriginConfig.begin);
|
|
27403
|
+
maxDefaultDate = this.parseFilter(filterOriginConfig.end);
|
|
27404
|
+
minDefaultISOString = minDefaultDate.toISOString();
|
|
27405
|
+
maxDefaultISOString = maxDefaultDate.toISOString();
|
|
27406
|
+
}
|
|
27407
|
+
if ((this.currentFilter.begin !== minDefaultISOString) ||
|
|
27408
|
+
(this.currentFilter.end !== maxDefaultISOString)) {
|
|
27409
|
+
this.beginValue = minDefaultDate;
|
|
27410
|
+
this.endValue = maxDefaultDate;
|
|
27411
|
+
this.updateValues();
|
|
27412
|
+
}
|
|
27413
|
+
}
|
|
27414
|
+
toggleFilterState() {
|
|
27415
|
+
if (this.currentFilter.active === true) {
|
|
27416
|
+
this.currentFilter.active = false;
|
|
27417
|
+
}
|
|
27418
|
+
else {
|
|
27419
|
+
this.currentFilter.active = true;
|
|
27420
|
+
}
|
|
27421
|
+
this.setFilterStateDisable();
|
|
27422
|
+
this.updateValues();
|
|
27423
|
+
}
|
|
26980
27424
|
}
|
|
26981
27425
|
OgcFilterTimeComponent.ɵfac = function OgcFilterTimeComponent_Factory(t) { return new (t || OgcFilterTimeComponent)(i0.ɵɵdirectiveInject(OGCFilterTimeService)); };
|
|
26982
27426
|
OgcFilterTimeComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OgcFilterTimeComponent, selectors: [["igo-ogc-filter-time"]], viewQuery: function OgcFilterTimeComponent_Query(rf, ctx) { if (rf & 1) {
|
|
@@ -26990,11 +27434,11 @@ OgcFilterTimeComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OgcF
|
|
|
26990
27434
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.beginDatepickerTime = _t.first);
|
|
26991
27435
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.beginTime = _t.first);
|
|
26992
27436
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.endTime = _t.first);
|
|
26993
|
-
} }, inputs: { datasource: "datasource", currentFilter: "currentFilter" }, outputs: { changeProperty: "changeProperty" }, decls: 4, vars: 3, consts: [[1, "datetime-container"], [3, "ngModel", "ngModelChange", "change", 4, "ngIf"], ["class", "slider-container", 4, "ngIf"], [4, "ngIf"], [3, "ngModel", "ngModelChange", "change"], [1, "slider-container"], [3, "begin", "max", "currentFilter", "datasource", "changeProperty"], ["class", "year-input-container", 4, "ngIf"], ["class", "datetime-input", 4, "ngIf"], [1, "year-input-container"], [1, "year-input"], ["matInput", "", 1, "year-input-only-year", 3, "value", "change"], ["matSuffix", "", 3, "for"], ["panelClass", "datepicker-year", 3, "startView", "startAt", "yearSelected"], ["beginDatepicker", ""], ["matInput", "", "enabled", "false", "readonly", "true", 1, "year-input-hide", 3, "matDatepicker", "value", "min", "max"], ["beginYear", ""], ["
|
|
27437
|
+
} }, inputs: { datasource: "datasource", currentFilter: "currentFilter" }, outputs: { changeProperty: "changeProperty" }, decls: 4, vars: 3, consts: [[1, "datetime-container"], [3, "ngModel", "ngModelChange", "change", 4, "ngIf"], ["class", "slider-container", 4, "ngIf"], [4, "ngIf"], [3, "ngModel", "ngModelChange", "change"], [1, "slider-container"], [3, "begin", "max", "currentFilter", "datasource", "changeProperty"], ["class", "year-input-container", 4, "ngIf"], ["class", "datetime-input-container", 4, "ngIf"], [1, "year-input-container"], [1, "year-input"], ["matInput", "", 1, "year-input-only-year", 3, "value", "disabled", "change"], ["matSuffix", "", 3, "for", "disabled"], ["panelClass", "datepicker-year", 3, "startView", "startAt", "yearSelected"], ["beginDatepicker", ""], ["matInput", "", "enabled", "false", "readonly", "true", 1, "year-input-hide", 3, "matDatepicker", "value", "min", "max"], ["beginYear", ""], ["endDatepicker", ""], ["endYear", ""], ["mat-icon-button", "", "color", "primary", 1, "reset-button", 3, "matTooltip", "disabled", "click"], [3, "svgIcon"], ["tooltip-position", "below", "matTooltipShowDelay", "500", 1, "toggle-filter-state", 3, "matTooltip", "checked", "change"], [1, "datetime-input-container"], [1, "datetime-input"], [1, "date-input"], ["matInput", "", 3, "matDatepicker", "placeholder", "matDatepickerFilter", "value", "min", "max", "disabled", "dateChange"], ["begin", ""], [1, "filler"], [3, "startView", "startAt", "yearSelected", "monthSelected"], [1, "time-input"], ["class", "hour-input", 4, "ngIf"], ["class", "minute-input", 4, "ngIf"], ["class", "datetime-input", 4, "ngIf"], [1, "hour-input"], [3, "formControl", "selectionChange"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"], [1, "minute-input"], ["end", ""]], template: function OgcFilterTimeComponent_Template(rf, ctx) { if (rf & 1) {
|
|
26994
27438
|
i0.ɵɵelementStart(0, "div", 0);
|
|
26995
27439
|
i0.ɵɵtemplate(1, OgcFilterTimeComponent_mat_slide_toggle_1_Template, 3, 4, "mat-slide-toggle", 1);
|
|
26996
27440
|
i0.ɵɵtemplate(2, OgcFilterTimeComponent_div_2_Template, 2, 4, "div", 2);
|
|
26997
|
-
i0.ɵɵtemplate(3, OgcFilterTimeComponent_div_3_Template,
|
|
27441
|
+
i0.ɵɵtemplate(3, OgcFilterTimeComponent_div_3_Template, 3, 2, "div", 3);
|
|
26998
27442
|
i0.ɵɵelementEnd();
|
|
26999
27443
|
} if (rf & 2) {
|
|
27000
27444
|
i0.ɵɵadvance(1);
|
|
@@ -27003,7 +27447,7 @@ OgcFilterTimeComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OgcF
|
|
|
27003
27447
|
i0.ɵɵproperty("ngIf", ctx.sliderMode);
|
|
27004
27448
|
i0.ɵɵadvance(1);
|
|
27005
27449
|
i0.ɵɵproperty("ngIf", !ctx.sliderMode);
|
|
27006
|
-
} }, styles: ["input{text-align:center!important;margin:auto 5px!important}.slider-container[_ngcontent-%COMP%]{text-align:center}.datetime-input[_ngcontent-%COMP%]{display:inline-block;margin:5px
|
|
27450
|
+
} }, styles: ["input{text-align:center!important;margin:auto 5px!important}.slider-container[_ngcontent-%COMP%]{text-align:center}.datetime-input[_ngcontent-%COMP%]{display:inline-block;width:117px;margin:10px 0 5px 10px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.datetime-input[_ngcontent-%COMP%]{width:36%;margin:0}}.date-input[_ngcontent-%COMP%]{width:100px;margin-right:25px}.time-input[_ngcontent-%COMP%]{margin-right:25px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.time-input[_ngcontent-%COMP%]{margin-right:5px}}.hour-input[_ngcontent-%COMP%], .minute-input[_ngcontent-%COMP%]{width:35px;margin-left:7px}.year-input[_ngcontent-%COMP%]{width:98px;margin:10px 18px 5px 12px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.year-input[_ngcontent-%COMP%]{width:33%;margin:0 0 0 10px}}.year-input-hide[_ngcontent-%COMP%]{width:120px;margin-right:25px;display:none}.year-input-only-year[_ngcontent-%COMP%]{width:120px;margin-right:25px}.reset-button[_ngcontent-%COMP%]{width:25px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.reset-button[_ngcontent-%COMP%]{padding-left:6px}}.toggle-filter-state[_ngcontent-%COMP%]{padding-left:15px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.toggle-filter-state[_ngcontent-%COMP%]{padding-left:7px}} .datepicker-year .mat-calendar-arrow{display:none} .datepicker-year .mat-calendar-period-button{pointer-events:none} .datepicker-year .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover{background-color:#0000001f;border-radius:999px}"] });
|
|
27007
27451
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OgcFilterTimeComponent, [{
|
|
27008
27452
|
type: Component,
|
|
27009
27453
|
args: [{
|
|
@@ -27405,18 +27849,18 @@ IgoFilterModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [TimeFi
|
|
|
27405
27849
|
SpatialFilterItemComponent,
|
|
27406
27850
|
OgcFilterTimeComponent,
|
|
27407
27851
|
OgcFilterTimeSliderComponent] }); })();
|
|
27408
|
-
i0.ɵɵsetComponentScope(TimeFilterButtonComponent, [i1$1.NgIf, i2.MatButton, i3.MatTooltip, i4.MatIcon, i9$1.MatBadge, TimeFilterItemComponent, i6
|
|
27409
|
-
i0.ɵɵsetComponentScope(TimeFilterItemComponent, [i1$1.NgIf, i1$3.MatListItem, i4.MatIcon, i1$3.MatListAvatarCssMatStyler, i6
|
|
27410
|
-
i0.ɵɵsetComponentScope(TimeFilterListComponent, [i6
|
|
27411
|
-
i0.ɵɵsetComponentScope(OgcFilterFormComponent, [i11.MatCheckbox, i3.MatTooltip, i12.MatFormField, i1$1.NgClass, i13.MatSelect, i9.MatOption, i1$1.NgIf, i5.MatInput, i6$
|
|
27412
|
-
i0.ɵɵsetComponentScope(OgcFilterButtonComponent, [i1$1.NgIf, i2.MatButton, i3.MatTooltip, i4.MatIcon, i9$1.MatBadge, OgcFilterableItemComponent, i6
|
|
27852
|
+
i0.ɵɵsetComponentScope(TimeFilterButtonComponent, [i1$1.NgIf, i2.MatButton, i3.MatTooltip, i4.MatIcon, i9$1.MatBadge, TimeFilterItemComponent, i6.ListItemDirective], [i7.TranslatePipe]);
|
|
27853
|
+
i0.ɵɵsetComponentScope(TimeFilterItemComponent, [i1$1.NgIf, i1$3.MatListItem, i4.MatIcon, i1$3.MatListAvatarCssMatStyler, i6.CollapseDirective, i9.MatLine, i1$1.NgStyle, i2.MatButton, i3.MatTooltip, i1$1.NgClass, LayerLegendComponent, TimeFilterFormComponent], [i7.TranslatePipe, i1$1.AsyncPipe]);
|
|
27854
|
+
i0.ɵɵsetComponentScope(TimeFilterListComponent, [i6.ListComponent, i1$1.NgForOf, TimeFilterItemComponent, i6.ListItemDirective], [FilterableDataSourcePipe]);
|
|
27855
|
+
i0.ɵɵsetComponentScope(OgcFilterFormComponent, [i11.MatCheckbox, i3.MatTooltip, i12.MatFormField, i1$1.NgClass, i13.MatSelect, i9.MatOption, i1$1.NgIf, i5$1.MatInput, i6$1.MatAutocompleteTrigger, i6$1.MatAutocomplete, i1$1.NgForOf, i2.MatButton, i12.MatSuffix, i4.MatIcon, OgcFilterTimeComponent], [i7.TranslatePipe, i1$1.AsyncPipe, i6.KeyValuePipe]);
|
|
27856
|
+
i0.ɵɵsetComponentScope(OgcFilterButtonComponent, [i1$1.NgIf, i2.MatButton, i3.MatTooltip, i4.MatIcon, i9$1.MatBadge, OgcFilterableItemComponent, i6.ListItemDirective], [i7.TranslatePipe]);
|
|
27413
27857
|
i0.ɵɵsetComponentScope(OgcFilterSelectionComponent, [i16.ɵNgNoValidate, i16.NgControlStatusGroup, i16.FormGroupDirective, i1$1.NgForOf, i1$1.NgIf, i10.MatDivider, i12.MatFormField, i13.MatSelect, i16.NgControlStatus, i16.FormControlName, i3.MatTooltip, i9.MatOption, i18.MatButtonToggleGroup, i18.MatButtonToggle, i1$1.NgStyle, i11.MatCheckbox, i19.MatRadioGroup, i19.MatRadioButton, i4.MatIcon, i16.FormControlDirective, i16.NgModel, OgcFilterTimeComponent], [i7.TranslatePipe]);
|
|
27414
|
-
i0.ɵɵsetComponentScope(OgcFilterableFormComponent, [i1$1.NgIf, OgcFilterSelectionComponent, i6
|
|
27415
|
-
i0.ɵɵsetComponentScope(OgcFilterableItemComponent, [i1$3.MatListItem, i1$1.NgIf, i4.MatIcon, i1$3.MatListAvatarCssMatStyler, i6
|
|
27416
|
-
i0.ɵɵsetComponentScope(OgcFilterableListComponent, [i6
|
|
27858
|
+
i0.ɵɵsetComponentScope(OgcFilterableFormComponent, [i1$1.NgIf, OgcFilterSelectionComponent, i6.ListItemDirective, i1$1.NgForOf, OgcFilterFormComponent], []);
|
|
27859
|
+
i0.ɵɵsetComponentScope(OgcFilterableItemComponent, [i1$3.MatListItem, i1$1.NgIf, i4.MatIcon, i1$3.MatListAvatarCssMatStyler, i6.CollapseDirective, i9.MatLine, i1$1.NgStyle, i3.MatTooltip, i2.MatButton, i1$1.NgClass, LayerLegendComponent, OgcFilterableFormComponent, i10.MatDivider, i11.MatCheckbox, i16.NgControlStatus, i16.NgModel], [i7.TranslatePipe, i1$1.AsyncPipe]);
|
|
27860
|
+
i0.ɵɵsetComponentScope(OgcFilterableListComponent, [i6.ListComponent, i1$1.NgForOf, OgcFilterableItemComponent, i6.ListItemDirective], [FilterableDataSourcePipe]);
|
|
27417
27861
|
i0.ɵɵsetComponentScope(SpatialFilterTypeComponent, [i20.MatTabGroup, i20.MatTab, i12.MatFormField, i12.MatLabel, i13.MatSelect, i1$1.NgForOf, i9.MatOption, SpatialFilterListComponent, i18.MatButtonToggleGroup, i18.MatButtonToggle, i3.MatTooltip, i4.MatIcon], [i7.TranslatePipe]);
|
|
27418
|
-
i0.ɵɵsetComponentScope(SpatialFilterItemComponent, [GeometryFormFieldInputComponent, i16.NgControlStatus, i16.FormControlDirective, i1$1.NgIf, i22.MatSlideToggle, i16.ɵNgNoValidate, i16.NgControlStatusGroup, i16.NgForm, i12.MatFormField, i16.NumberValueAccessor, i5.MatInput, i16.DefaultValueAccessor, i13.MatSelect, i1$1.NgForOf, i9.MatOption, i12.MatLabel, i19.MatRadioGroup, i19.MatRadioButton, i23.MatTable, i23.MatColumnDef, i23.MatHeaderCellDef, i23.MatHeaderCell, i11.MatCheckbox, i23.MatHeaderRowDef, i23.MatHeaderRow, i23.MatRowDef, i23.MatRow, i24.MatTree, i24.MatTreeNodeDef, i24.MatTreeNode, i24.MatTreeNodeToggle, i2.MatButton, i24.MatNestedTreeNode, i4.MatIcon, i24.MatTreeNodeOutlet, i3.MatTooltip, i6
|
|
27419
|
-
i0.ɵɵsetComponentScope(OgcFilterTimeComponent, [i1$1.NgIf, i22.MatSlideToggle, i16.NgControlStatus, i16.NgModel, OgcFilterTimeSliderComponent, i12.MatFormField, i12.MatLabel, i5.MatInput, i25.MatDatepickerToggle, i12.MatSuffix, i25.MatDatepicker, i25.MatDatepickerInput, i13.MatSelect, i16.FormControlDirective, i1$1.NgForOf, i9.MatOption], [i7.TranslatePipe]);
|
|
27862
|
+
i0.ɵɵsetComponentScope(SpatialFilterItemComponent, [GeometryFormFieldInputComponent, i16.NgControlStatus, i16.FormControlDirective, i1$1.NgIf, i22.MatSlideToggle, i16.ɵNgNoValidate, i16.NgControlStatusGroup, i16.NgForm, i12.MatFormField, i16.NumberValueAccessor, i5$1.MatInput, i16.DefaultValueAccessor, i13.MatSelect, i1$1.NgForOf, i9.MatOption, i12.MatLabel, i19.MatRadioGroup, i19.MatRadioButton, i23.MatTable, i23.MatColumnDef, i23.MatHeaderCellDef, i23.MatHeaderCell, i11.MatCheckbox, i23.MatHeaderRowDef, i23.MatHeaderRow, i23.MatRowDef, i23.MatRow, i24.MatTree, i24.MatTreeNodeDef, i24.MatTreeNode, i24.MatTreeNodeToggle, i2.MatButton, i24.MatNestedTreeNode, i4.MatIcon, i24.MatTreeNodeOutlet, i3.MatTooltip, i6.EntityTableComponent], [i1$1.AsyncPipe, i7.TranslatePipe]);
|
|
27863
|
+
i0.ɵɵsetComponentScope(OgcFilterTimeComponent, [i1$1.NgIf, i22.MatSlideToggle, i16.NgControlStatus, i16.NgModel, OgcFilterTimeSliderComponent, i12.MatFormField, i12.MatLabel, i5$1.MatInput, i25.MatDatepickerToggle, i12.MatSuffix, i25.MatDatepicker, i25.MatDatepickerInput, i2.MatButton, i3.MatTooltip, i4.MatIcon, i13.MatSelect, i16.FormControlDirective, i1$1.NgForOf, i9.MatOption], [i7.TranslatePipe]);
|
|
27420
27864
|
|
|
27421
27865
|
function ExportButtonComponent_button_0_Template(rf, ctx) { if (rf & 1) {
|
|
27422
27866
|
i0.ɵɵelementStart(0, "button", 1);
|
|
@@ -28795,7 +29239,8 @@ class ImportExportComponent {
|
|
|
28795
29239
|
return;
|
|
28796
29240
|
}
|
|
28797
29241
|
getLayerTitleById(id) {
|
|
28798
|
-
|
|
29242
|
+
var _a;
|
|
29243
|
+
return (_a = this.map.getLayerById(id)) === null || _a === void 0 ? void 0 : _a.title;
|
|
28799
29244
|
}
|
|
28800
29245
|
layerHasSelectedFeatures(layer) {
|
|
28801
29246
|
const wksFromLayer = this.getWorkspaceByLayerId(layer.id);
|
|
@@ -28996,6 +29441,7 @@ class ImportExportComponent {
|
|
|
28996
29441
|
previousFeature.get('_featureStore').layer.options.title) {
|
|
28997
29442
|
const titleEmptyRows = this.createTitleEmptyRows(previousFeature, currentFeature);
|
|
28998
29443
|
featuresCSV.push(titleEmptyRows[2]);
|
|
29444
|
+
featuresCSV.push(titleEmptyRows[0]);
|
|
28999
29445
|
featuresCSV.push(titleEmptyRows[1]);
|
|
29000
29446
|
}
|
|
29001
29447
|
}
|
|
@@ -29042,24 +29488,71 @@ class ImportExportComponent {
|
|
|
29042
29488
|
}
|
|
29043
29489
|
}
|
|
29044
29490
|
createTitleEmptyRows(previousFeature, currentFeature) {
|
|
29045
|
-
const titleRow =
|
|
29046
|
-
const
|
|
29047
|
-
const emptyRow =
|
|
29491
|
+
const titleRow = currentFeature.clone();
|
|
29492
|
+
const headerRow = currentFeature.clone();
|
|
29493
|
+
const emptyRow = currentFeature.clone();
|
|
29048
29494
|
const previousFeatureKeys = previousFeature.getKeys();
|
|
29049
|
-
|
|
29050
|
-
|
|
29051
|
-
if (key
|
|
29495
|
+
let firstKeyPrevious = '';
|
|
29496
|
+
for (const key in previousFeatureKeys) {
|
|
29497
|
+
if (previousFeatureKeys[key] !== 'geometry') {
|
|
29498
|
+
firstKeyPrevious = previousFeatureKeys[key];
|
|
29499
|
+
break;
|
|
29500
|
+
}
|
|
29501
|
+
}
|
|
29502
|
+
const currentFeatureKeys = currentFeature.getKeys();
|
|
29503
|
+
let firstKeyCurrent = '';
|
|
29504
|
+
for (const key in currentFeatureKeys) {
|
|
29505
|
+
if (currentFeatureKeys[key] !== 'geometry') {
|
|
29506
|
+
firstKeyCurrent = currentFeatureKeys[key];
|
|
29507
|
+
break;
|
|
29508
|
+
}
|
|
29509
|
+
}
|
|
29510
|
+
const allKeys = currentFeature.getKeys();
|
|
29511
|
+
previousFeatureKeys.forEach(previousKey => {
|
|
29512
|
+
if (allKeys.includes(previousKey) && previousKey !== firstKeyPrevious) {
|
|
29513
|
+
allKeys.push(previousKey);
|
|
29514
|
+
}
|
|
29515
|
+
});
|
|
29516
|
+
allKeys.unshift(firstKeyPrevious);
|
|
29517
|
+
let firstKeyAll = '';
|
|
29518
|
+
for (const key in allKeys) {
|
|
29519
|
+
if (allKeys[key] !== 'geometry') {
|
|
29520
|
+
firstKeyAll = allKeys[key];
|
|
29521
|
+
break;
|
|
29522
|
+
}
|
|
29523
|
+
}
|
|
29524
|
+
allKeys.forEach(key => {
|
|
29525
|
+
const sameKeys = previousFeatureKeys.length === currentFeatureKeys.length &&
|
|
29526
|
+
previousFeatureKeys.every((value, index) => value === currentFeatureKeys[index]);
|
|
29527
|
+
if (key === firstKeyAll && !sameKeys) {
|
|
29528
|
+
titleRow.set(key, currentFeature.get('_featureStore').layer.options.title + " ===============>", true);
|
|
29529
|
+
headerRow.set(key, key, true);
|
|
29530
|
+
emptyRow.unset(key, true);
|
|
29531
|
+
}
|
|
29532
|
+
else if (key === firstKeyAll && sameKeys) {
|
|
29052
29533
|
titleRow.set(key, currentFeature.get('_featureStore').layer.options.title, true);
|
|
29053
|
-
|
|
29534
|
+
headerRow.set(key, key, true);
|
|
29535
|
+
emptyRow.unset(key, true);
|
|
29536
|
+
}
|
|
29537
|
+
else if (key === firstKeyCurrent) {
|
|
29538
|
+
titleRow.set(key, currentFeature.get('_featureStore').layer.options.title, true);
|
|
29539
|
+
headerRow.set(key, key, true);
|
|
29540
|
+
emptyRow.unset(key, true);
|
|
29541
|
+
}
|
|
29542
|
+
else if (key !== 'geometry') {
|
|
29543
|
+
titleRow.unset(key, true);
|
|
29544
|
+
headerRow.set(key, key, true);
|
|
29054
29545
|
emptyRow.unset(key, true);
|
|
29055
29546
|
}
|
|
29056
29547
|
else {
|
|
29057
29548
|
titleRow.unset(key, true);
|
|
29058
|
-
titleRowWithArrow.unset(key, true);
|
|
29059
29549
|
emptyRow.unset(key, true);
|
|
29060
29550
|
}
|
|
29551
|
+
if (!(currentFeatureKeys.includes(key))) {
|
|
29552
|
+
headerRow.unset(key, true);
|
|
29553
|
+
}
|
|
29061
29554
|
});
|
|
29062
|
-
const titleEmptyRows = [titleRow,
|
|
29555
|
+
const titleEmptyRows = [titleRow, headerRow, emptyRow];
|
|
29063
29556
|
return titleEmptyRows;
|
|
29064
29557
|
}
|
|
29065
29558
|
circleToPoint(feature) {
|
|
@@ -29329,7 +29822,7 @@ ImportExportComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Impor
|
|
|
29329
29822
|
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(11, 13, ctx.exportableLayers$).length === 0 && ctx.selectedMode === "export");
|
|
29330
29823
|
i0.ɵɵadvance(2);
|
|
29331
29824
|
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(13, 15, ctx.exportableLayers$).length > 0 && ctx.selectedMode === "export");
|
|
29332
|
-
} }, directives: [i18.MatButtonToggleGroup, i18.MatButtonToggle, i1$1.NgIf, i16.ɵNgNoValidate, i16.NgControlStatusGroup, i16.FormGroupDirective, i12.MatFormField, i12.MatLabel, i13.MatSelect, i1$1.NgForOf, i3.MatTooltip, i2.MatButton, i6
|
|
29825
|
+
} }, directives: [i18.MatButtonToggleGroup, i18.MatButtonToggle, i1$1.NgIf, i16.ɵNgNoValidate, i16.NgControlStatusGroup, i16.FormGroupDirective, i12.MatFormField, i12.MatLabel, i13.MatSelect, i1$1.NgForOf, i3.MatTooltip, i2.MatButton, i6.SpinnerComponent, i9.MatOption, i13.MatSelectTrigger, i16.NgControlStatus, i16.FormControlName, i1$1.NgClass, i22.MatSlideToggle, i5$1.MatInput, i16.DefaultValueAccessor], pipes: [i7.TranslatePipe, i1$1.AsyncPipe, i6.KeyValuePipe], styles: ["mat-option.igo-export-layer-mat-option[_ngcontent-%COMP%]{height:5em;line-height:1em}.import-export-toggle[_ngcontent-%COMP%]{padding:10px;text-align:center}.import-export-toggle[_ngcontent-%COMP%] mat-button-toggle-group[_ngcontent-%COMP%]{width:100%}.import-export-toggle[_ngcontent-%COMP%] mat-button-toggle-group[_ngcontent-%COMP%] mat-button-toggle[_ngcontent-%COMP%]{width:50%}h4[_ngcontent-%COMP%]{padding:0 5px}.igo-form[_ngcontent-%COMP%]{padding:15px 5px}.igo-input-container[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.igo-form-button-group[_ngcontent-%COMP%]{text-align:center;padding-top:10px}igo-spinner[_ngcontent-%COMP%]{position:absolute;padding-left:10px}.export-options[_ngcontent-%COMP%], .export-combine-layers[_ngcontent-%COMP%], .export-separator[_ngcontent-%COMP%]{overflow-x:hidden}.export-options[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%], .export-combine-layers[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%], .export-separator[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%]{width:100%;margin:10px}.export-options[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%] .mat-slide-toggle-content, .export-combine-layers[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%] .mat-slide-toggle-content, .export-separator[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%] .mat-slide-toggle-content{width:calc(100% - 60px)}.export-select-trigger[_ngcontent-%COMP%]{opacity:.75;font-size:.75em}"] });
|
|
29333
29826
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImportExportComponent, [{
|
|
29334
29827
|
type: Component,
|
|
29335
29828
|
args: [{
|
|
@@ -29620,7 +30113,9 @@ IgoMapModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
|
|
|
29620
30113
|
MapBrowserComponent,
|
|
29621
30114
|
ZoomButtonComponent,
|
|
29622
30115
|
GeolocateButtonComponent,
|
|
30116
|
+
HomeExtentButtonComponent,
|
|
29623
30117
|
RotationButtonComponent,
|
|
30118
|
+
InfoSectionComponent,
|
|
29624
30119
|
BaseLayersSwitcherComponent,
|
|
29625
30120
|
MiniBaseMapComponent,
|
|
29626
30121
|
MapOfflineDirective,
|
|
@@ -29635,7 +30130,9 @@ IgoMapModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
|
|
|
29635
30130
|
MapBrowserComponent,
|
|
29636
30131
|
ZoomButtonComponent,
|
|
29637
30132
|
GeolocateButtonComponent,
|
|
30133
|
+
HomeExtentButtonComponent,
|
|
29638
30134
|
RotationButtonComponent,
|
|
30135
|
+
InfoSectionComponent,
|
|
29639
30136
|
BaseLayersSwitcherComponent,
|
|
29640
30137
|
MiniBaseMapComponent,
|
|
29641
30138
|
MapOfflineDirective,
|
|
@@ -29651,7 +30148,9 @@ IgoMapModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
|
|
|
29651
30148
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoMapModule, { declarations: [MapBrowserComponent,
|
|
29652
30149
|
ZoomButtonComponent,
|
|
29653
30150
|
GeolocateButtonComponent,
|
|
30151
|
+
HomeExtentButtonComponent,
|
|
29654
30152
|
RotationButtonComponent,
|
|
30153
|
+
InfoSectionComponent,
|
|
29655
30154
|
BaseLayersSwitcherComponent,
|
|
29656
30155
|
MiniBaseMapComponent,
|
|
29657
30156
|
MapOfflineDirective,
|
|
@@ -29668,7 +30167,9 @@ IgoMapModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
|
|
|
29668
30167
|
MatTooltipModule], exports: [MapBrowserComponent,
|
|
29669
30168
|
ZoomButtonComponent,
|
|
29670
30169
|
GeolocateButtonComponent,
|
|
30170
|
+
HomeExtentButtonComponent,
|
|
29671
30171
|
RotationButtonComponent,
|
|
30172
|
+
InfoSectionComponent,
|
|
29672
30173
|
BaseLayersSwitcherComponent,
|
|
29673
30174
|
MiniBaseMapComponent,
|
|
29674
30175
|
MapOfflineDirective,
|
|
@@ -29794,7 +30295,7 @@ MeasurerItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Measu
|
|
|
29794
30295
|
i0.ɵɵproperty("value", ctx.measureUnit)("disabled", ctx.auto);
|
|
29795
30296
|
i0.ɵɵadvance(1);
|
|
29796
30297
|
i0.ɵɵproperty("ngForOf", ctx.measureUnits);
|
|
29797
|
-
} }, directives: [i12.MatFormField, i12.MatLabel, i5.MatInput, i13.MatSelect, i1$1.NgForOf, i9.MatOption], pipes: [MeasureFormatPipe, i1$1.AsyncPipe, i7.TranslatePipe], styles: ["[_nghost-%COMP%]{display:flex;width:100%;padding:5px 10px}.measure-field[_ngcontent-%COMP%]{pointer-events:none;display:flex;flex-flow:column nowrap;width:100%}.unit-field[_ngcontent-%COMP%]{width:50px;margin-left:10px;margin-top:10px}"], changeDetection: 0 });
|
|
30298
|
+
} }, directives: [i12.MatFormField, i12.MatLabel, i5$1.MatInput, i13.MatSelect, i1$1.NgForOf, i9.MatOption], pipes: [MeasureFormatPipe, i1$1.AsyncPipe, i7.TranslatePipe], styles: ["[_nghost-%COMP%]{display:flex;width:100%;padding:5px 10px}.measure-field[_ngcontent-%COMP%]{pointer-events:none;display:flex;flex-flow:column nowrap;width:100%}.unit-field[_ngcontent-%COMP%]{width:50px;margin-left:10px;margin-top:10px}"], changeDetection: 0 });
|
|
29798
30299
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MeasurerItemComponent, [{
|
|
29799
30300
|
type: Component,
|
|
29800
30301
|
args: [{
|
|
@@ -29883,7 +30384,7 @@ IgoMeasurerModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
|
|
|
29883
30384
|
IgoLanguageModule,
|
|
29884
30385
|
IgoEntityTableModule], exports: [MeasureFormatPipe,
|
|
29885
30386
|
MeasurerComponent] }); })();
|
|
29886
|
-
i0.ɵɵsetComponentScope(MeasurerComponent, [i18.MatButtonToggleGroup, i18.MatButtonToggle, i22.MatSlideToggle, i1$1.NgIf, i10.MatDivider, MeasurerItemComponent, i2.MatButton, i3.MatTooltip, i4.MatIcon, i6
|
|
30387
|
+
i0.ɵɵsetComponentScope(MeasurerComponent, [i18.MatButtonToggleGroup, i18.MatButtonToggle, i22.MatSlideToggle, i1$1.NgIf, i10.MatDivider, MeasurerItemComponent, i2.MatButton, i3.MatTooltip, i4.MatIcon, i6.EntityTableComponent], [i7.TranslatePipe, i1$1.AsyncPipe]);
|
|
29887
30388
|
i0.ɵɵsetComponentScope(MeasurerDialogComponent, [i1$1.NgIf], [i7.TranslatePipe, MeasureFormatPipe]);
|
|
29888
30389
|
|
|
29889
30390
|
class IgoMeasureModule {
|
|
@@ -31203,7 +31704,7 @@ PrintFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrintFor
|
|
|
31203
31704
|
i0.ɵɵproperty("disabled", !ctx.form.valid || i0.ɵɵpipeBind1(62, 68, ctx.disabled$));
|
|
31204
31705
|
i0.ɵɵadvance(2);
|
|
31205
31706
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(64, 70, "igo.geo.printForm.saveBtn"), " ");
|
|
31206
|
-
} }, directives: [i16.ɵNgNoValidate, i16.NgControlStatusGroup, i16.FormGroupDirective, i12.MatFormField, i5.MatInput, i16.DefaultValueAccessor, i16.NgControlStatus, i16.FormControlName, i22.MatSlideToggle, i13.MatSelect, i1$1.NgForOf, i2.MatButton, i9.MatOption], pipes: [i7.TranslatePipe, i6
|
|
31707
|
+
} }, directives: [i16.ɵNgNoValidate, i16.NgControlStatusGroup, i16.FormGroupDirective, i12.MatFormField, i5$1.MatInput, i16.DefaultValueAccessor, i16.NgControlStatus, i16.FormControlName, i22.MatSlideToggle, i13.MatSelect, i1$1.NgForOf, i2.MatButton, i9.MatOption], pipes: [i7.TranslatePipe, i6.KeyValuePipe, i1$1.AsyncPipe], styles: ["mat-form-field[_ngcontent-%COMP%]{width:100%}.print-slide-toggle-container[_ngcontent-%COMP%]{overflow-x:hidden}.print-slide-toggle-container[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%]{width:100%;margin:10px}.print-slide-toggle-container[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%] .mat-slide-toggle-content{width:calc(100% - 60px)}.print-option[_ngcontent-%COMP%]{display:block;margin-right:10px;margin-bottom:15px}.print-button-top-padding[_ngcontent-%COMP%]{padding-top:25px}.igo-form[_ngcontent-%COMP%]{padding:10px 5px 5px}.igo-form-button-group[_ngcontent-%COMP%]{text-align:center}"] });
|
|
31207
31708
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrintFormComponent, [{
|
|
31208
31709
|
type: Component,
|
|
31209
31710
|
args: [{
|
|
@@ -31610,6 +32111,7 @@ function initStopsFeatureStore(stopsFeatureStore, languageService) {
|
|
|
31610
32111
|
motion: FeatureMotion.None
|
|
31611
32112
|
});
|
|
31612
32113
|
const stopsLayer = new VectorLayer({
|
|
32114
|
+
isIgoInternalLayer: true,
|
|
31613
32115
|
id: 'igo-direction-stops-layer',
|
|
31614
32116
|
title: languageService.translate.instant('igo.geo.directionsForm.stopLayer'),
|
|
31615
32117
|
zIndex: 911,
|
|
@@ -31642,6 +32144,7 @@ function initRoutesFeatureStore(routesFeatureStore, languageService) {
|
|
|
31642
32144
|
motion: FeatureMotion.None
|
|
31643
32145
|
});
|
|
31644
32146
|
const routeLayer = new VectorLayer({
|
|
32147
|
+
isIgoInternalLayer: true,
|
|
31645
32148
|
id: 'igo-direction-route-layer',
|
|
31646
32149
|
title: languageService.translate.instant('igo.geo.directionsForm.routeLayer'),
|
|
31647
32150
|
zIndex: 910,
|
|
@@ -31666,6 +32169,7 @@ function initStepFeatureStore(stepFeatureStore) {
|
|
|
31666
32169
|
motion: FeatureMotion.None
|
|
31667
32170
|
});
|
|
31668
32171
|
const stepLayer = new VectorLayer({
|
|
32172
|
+
isIgoInternalLayer: true,
|
|
31669
32173
|
id: 'igo-direction-step-layer',
|
|
31670
32174
|
title: '',
|
|
31671
32175
|
zIndex: 910,
|
|
@@ -32251,7 +32755,7 @@ DirectionsInputsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: D
|
|
|
32251
32755
|
} if (rf & 2) {
|
|
32252
32756
|
i0.ɵɵadvance(1);
|
|
32253
32757
|
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(2, 1, ctx.stopsStore.view.all$()));
|
|
32254
|
-
} }, directives: [i2$2.CdkDropList, i1$1.NgForOf, i2$2.CdkDrag, i1$1.NgClass, i12.MatFormField, i5.MatInput, i16.DefaultValueAccessor, i6$
|
|
32758
|
+
} }, directives: [i2$2.CdkDropList, i1$1.NgForOf, i2$2.CdkDrag, i1$1.NgClass, i12.MatFormField, i5$1.MatInput, i16.DefaultValueAccessor, i6$1.MatAutocompleteTrigger, i3.MatTooltip, i16.NgControlStatus, i16.NgModel, i1$1.NgIf, i6$1.MatAutocomplete, i2.MatButton, i12.MatSuffix, i4.MatIcon, i9.MatOptgroup, i9.MatOption, i2$2.CdkDragHandle], pipes: [i1$1.AsyncPipe, i7.TranslatePipe], styles: [".igo-input-container[_ngcontent-%COMP%]{width:100%}.igo-input-container[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.igo-input-container.reduce[_ngcontent-%COMP%]{width:70%}.igo-input-container.reduce[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:100%}.stops-list[_ngcontent-%COMP%]{max-width:100%;min-height:60px;display:block;background:white;border-radius:4px;overflow:hidden;padding:20px 10px}.swipe-vertical[_ngcontent-%COMP%]{cursor:move}.stop-box[_ngcontent-%COMP%]{height:60px;padding:20px 10px;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;background:white}.cdk-drag-preview[_ngcontent-%COMP%]{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder[_ngcontent-%COMP%]{opacity:0}.cdk-drag-animating[_ngcontent-%COMP%]{transition:transform .25s cubic-bezier(0,0,.2,1)}.stops-list.cdk-drop-list-dragging[_ngcontent-%COMP%] .stop-box[_ngcontent-%COMP%]:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}"] });
|
|
32255
32759
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DirectionsInputsComponent, [{
|
|
32256
32760
|
type: Component,
|
|
32257
32761
|
args: [{
|
|
@@ -32684,6 +33188,10 @@ class DirectionsButtonsComponent {
|
|
|
32684
33188
|
if (!this.route) {
|
|
32685
33189
|
return;
|
|
32686
33190
|
}
|
|
33191
|
+
let context = '';
|
|
33192
|
+
if (this.contextUri) {
|
|
33193
|
+
context = `context=${this.contextUri}&`;
|
|
33194
|
+
}
|
|
32687
33195
|
const pos = this.routesFeatureStore.all()
|
|
32688
33196
|
.map((direction) => direction.properties.id).indexOf(this.activeRoute.properties.id);
|
|
32689
33197
|
let routingOptions = '';
|
|
@@ -32696,13 +33204,13 @@ class DirectionsButtonsComponent {
|
|
|
32696
33204
|
let directionsUrl = '';
|
|
32697
33205
|
if (stopsCoordinates.length >= 2) {
|
|
32698
33206
|
directionsUrl = `${directionsKey}=${stopsCoordinates.join(';')}`;
|
|
32699
|
-
return `${location.origin}${location.pathname}
|
|
33207
|
+
return `${location.origin}${location.pathname}?${context}tool=directions&sidenav=1&${directionsUrl}${routingOptions}`;
|
|
32700
33208
|
}
|
|
32701
33209
|
return;
|
|
32702
33210
|
}
|
|
32703
33211
|
}
|
|
32704
33212
|
DirectionsButtonsComponent.ɵfac = function DirectionsButtonsComponent_Factory(t) { return new (t || DirectionsButtonsComponent)(i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(i2$1.MessageService), i0.ɵɵdirectiveInject(i2$1.RouteService, 8)); };
|
|
32705
|
-
DirectionsButtonsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DirectionsButtonsComponent, selectors: [["igo-directions-buttons"]], inputs: { zoomToActiveRoute$: "zoomToActiveRoute$", stopsStore: "stopsStore", routesFeatureStore: "routesFeatureStore" }, decls: 13, vars: 17, consts: [[1, "igo-form-button-group"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", 3, "matTooltip", "click"], ["svgIcon", "map-marker-plus"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "warn", 3, "matTooltip", "click", 4, "ngIf"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", 3, "matTooltip", "click", 4, "ngIf"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "warn", 3, "matTooltip", "click"], ["svgIcon", "file-restore"], ["svgIcon", "magnify-plus-outline"], ["svgIcon", "content-copy"], ["svgIcon", "link"]], template: function DirectionsButtonsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
33213
|
+
DirectionsButtonsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DirectionsButtonsComponent, selectors: [["igo-directions-buttons"]], inputs: { contextUri: "contextUri", zoomToActiveRoute$: "zoomToActiveRoute$", stopsStore: "stopsStore", routesFeatureStore: "routesFeatureStore" }, decls: 13, vars: 17, consts: [[1, "igo-form-button-group"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", 3, "matTooltip", "click"], ["svgIcon", "map-marker-plus"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "warn", 3, "matTooltip", "click", 4, "ngIf"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", 3, "matTooltip", "click", 4, "ngIf"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "warn", 3, "matTooltip", "click"], ["svgIcon", "file-restore"], ["svgIcon", "magnify-plus-outline"], ["svgIcon", "content-copy"], ["svgIcon", "link"]], template: function DirectionsButtonsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
32706
33214
|
i0.ɵɵelementStart(0, "div", 0);
|
|
32707
33215
|
i0.ɵɵelementStart(1, "button", 1);
|
|
32708
33216
|
i0.ɵɵlistener("click", function DirectionsButtonsComponent_Template_button_click_1_listener() { return ctx.addStop(); });
|
|
@@ -32740,7 +33248,9 @@ DirectionsButtonsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
32740
33248
|
}]
|
|
32741
33249
|
}], function () { return [{ type: i2$1.LanguageService }, { type: i2$1.MessageService }, { type: i2$1.RouteService, decorators: [{
|
|
32742
33250
|
type: Optional
|
|
32743
|
-
}] }]; }, {
|
|
33251
|
+
}] }]; }, { contextUri: [{
|
|
33252
|
+
type: Input
|
|
33253
|
+
}], zoomToActiveRoute$: [{
|
|
32744
33254
|
type: Input
|
|
32745
33255
|
}], stopsStore: [{
|
|
32746
33256
|
type: Input
|
|
@@ -33188,7 +33698,7 @@ class DirectionsComponent {
|
|
|
33188
33698
|
}
|
|
33189
33699
|
}
|
|
33190
33700
|
DirectionsComponent.ɵfac = function DirectionsComponent_Factory(t) { return new (t || DirectionsComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(DirectionsService), i0.ɵɵdirectiveInject(SearchService), i0.ɵɵdirectiveInject(QueryService)); };
|
|
33191
|
-
DirectionsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DirectionsComponent, selectors: [["igo-directions"]], inputs: { stopsStore: "stopsStore", stopsFeatureStore: "stopsFeatureStore", routesFeatureStore: "routesFeatureStore", stepFeatureStore: "stepFeatureStore", debounce: "debounce", length: "length", coordRoundedDecimals: "coordRoundedDecimals", zoomToActiveRoute$: "zoomToActiveRoute$" }, decls: 4, vars:
|
|
33701
|
+
DirectionsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DirectionsComponent, selectors: [["igo-directions"]], inputs: { contextUri: "contextUri", stopsStore: "stopsStore", stopsFeatureStore: "stopsFeatureStore", routesFeatureStore: "routesFeatureStore", stepFeatureStore: "stepFeatureStore", debounce: "debounce", length: "length", coordRoundedDecimals: "coordRoundedDecimals", zoomToActiveRoute$: "zoomToActiveRoute$" }, decls: 4, vars: 12, consts: [[3, "contextUri", "zoomToActiveRoute$", "routesFeatureStore", "stopsStore"], [3, "coordRoundedDecimals", "projection", "stopsFeatureStore", "stopsStore", "debounce", "length", "stopInputHasFocus"], [3, "stepFeatureStore", "routesFeatureStore"]], template: function DirectionsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
33192
33702
|
i0.ɵɵelement(0, "igo-directions-buttons", 0);
|
|
33193
33703
|
i0.ɵɵelementStart(1, "igo-directions-inputs", 1);
|
|
33194
33704
|
i0.ɵɵlistener("stopInputHasFocus", function DirectionsComponent_Template_igo_directions_inputs_stopInputHasFocus_1_listener($event) { return ctx.onStopInputHasFocusChange($event); });
|
|
@@ -33196,7 +33706,7 @@ DirectionsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Directi
|
|
|
33196
33706
|
i0.ɵɵelement(2, "br");
|
|
33197
33707
|
i0.ɵɵelement(3, "igo-directions-results", 2);
|
|
33198
33708
|
} if (rf & 2) {
|
|
33199
|
-
i0.ɵɵproperty("zoomToActiveRoute$", ctx.zoomToActiveRoute$)("routesFeatureStore", ctx.routesFeatureStore)("stopsStore", ctx.stopsStore);
|
|
33709
|
+
i0.ɵɵproperty("contextUri", ctx.contextUri)("zoomToActiveRoute$", ctx.zoomToActiveRoute$)("routesFeatureStore", ctx.routesFeatureStore)("stopsStore", ctx.stopsStore);
|
|
33200
33710
|
i0.ɵɵadvance(1);
|
|
33201
33711
|
i0.ɵɵproperty("coordRoundedDecimals", ctx.coordRoundedDecimals)("projection", ctx.projection)("stopsFeatureStore", ctx.stopsFeatureStore)("stopsStore", ctx.stopsStore)("debounce", ctx.debounce)("length", ctx.length);
|
|
33202
33712
|
i0.ɵɵadvance(2);
|
|
@@ -33209,7 +33719,9 @@ DirectionsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Directi
|
|
|
33209
33719
|
templateUrl: './directions.component.html',
|
|
33210
33720
|
styleUrls: ['./directions.component.scss']
|
|
33211
33721
|
}]
|
|
33212
|
-
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i2$1.LanguageService }, { type: DirectionsService }, { type: SearchService }, { type: QueryService }]; }, {
|
|
33722
|
+
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i2$1.LanguageService }, { type: DirectionsService }, { type: SearchService }, { type: QueryService }]; }, { contextUri: [{
|
|
33723
|
+
type: Input
|
|
33724
|
+
}], stopsStore: [{
|
|
33213
33725
|
type: Input
|
|
33214
33726
|
}], stopsFeatureStore: [{
|
|
33215
33727
|
type: Input
|
|
@@ -34742,7 +35254,7 @@ SearchSelectorComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sea
|
|
|
34742
35254
|
i0.ɵɵproperty("value", i0.ɵɵpipeBind1(7, 6, ctx.searchType$));
|
|
34743
35255
|
i0.ɵɵadvance(2);
|
|
34744
35256
|
i0.ɵɵproperty("ngForOf", ctx.searchTypes);
|
|
34745
|
-
} }, directives: [i2.MatButton, i3.MatTooltip, i5$
|
|
35257
|
+
} }, directives: [i2.MatButton, i3.MatTooltip, i5$2.MatMenuTrigger, i4.MatIcon, i5$2.MatMenu, i19.MatRadioGroup, i1$1.NgForOf, i19.MatRadioButton], pipes: [i7.TranslatePipe, i1$1.AsyncPipe], styles: [".igo-search-selector-button[_ngcontent-%COMP%] div.mat-button-ripple-round{border-radius:0}.igo-search-selector-radio-group[_ngcontent-%COMP%]{display:inline-flex;flex-direction:column}.igo-search-selector-radio-group[_ngcontent-%COMP%] mat-radio-button[_ngcontent-%COMP%]{margin:5px}"], changeDetection: 0 });
|
|
34746
35258
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchSelectorComponent, [{
|
|
34747
35259
|
type: Component,
|
|
34748
35260
|
args: [{
|
|
@@ -35201,7 +35713,7 @@ SearchSettingsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sea
|
|
|
35201
35713
|
i0.ɵɵproperty("ngForOf", ctx.getSearchSources());
|
|
35202
35714
|
i0.ɵɵadvance(1);
|
|
35203
35715
|
i0.ɵɵproperty("ngIf", ctx.hasPointerReverseSearchSource && !ctx.isTouchScreen);
|
|
35204
|
-
} }, directives: [i2.MatButton, i3.MatTooltip, i5$
|
|
35716
|
+
} }, directives: [i2.MatButton, i3.MatTooltip, i5$2.MatMenuTrigger, i4.MatIcon, i5$2.MatMenu, i1$1.NgIf, i1$1.NgForOf, i11.MatCheckbox, i5$2.MatMenuItem, i1$1.NgSwitch, i1$1.NgSwitchCase, i19.MatRadioGroup, i19.MatRadioButton, i10.MatDivider, i22.MatSlideToggle], pipes: [i7.TranslatePipe], styles: [".checkAllButton[_ngcontent-%COMP%]{text-align:center;padding:0 5px}.igo-search-settings-button[_ngcontent-%COMP%] div.mat-button-ripple-round{border-radius:0}.igo-search-settings-radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.igo-search-settings-radio-group[_ngcontent-%COMP%] mat-radio-button[_ngcontent-%COMP%]{margin:5px}.igo-search-settings-checkbox[_ngcontent-%COMP%] mat-radio-button[_ngcontent-%COMP%]{display:flex}.igo-search-settings-search-source[_ngcontent-%COMP%]{display:flex;width:100%}.igo-search-settings-search-source[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{display:flex;margin-left:5px;margin-right:5px}.pointer-summary-option[_ngcontent-%COMP%]{display:block;margin-right:10px;margin-bottom:15px}.pointer-summary-slide-toggle-container[_ngcontent-%COMP%]{overflow-x:hidden}.pointer-summary-slide-toggle-container[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%]{margin:10px}"], changeDetection: 0 });
|
|
35205
35717
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchSettingsComponent, [{
|
|
35206
35718
|
type: Component,
|
|
35207
35719
|
args: [{
|
|
@@ -35590,7 +36102,9 @@ class SearchBarComponent {
|
|
|
35590
36102
|
let terms;
|
|
35591
36103
|
if (this.termSplitter && rawTerm.match(new RegExp(this.termSplitter, 'g'))) {
|
|
35592
36104
|
terms = rawTerm.split(this.termSplitter).filter((t) => t.length >= this.minLength);
|
|
35593
|
-
this.store
|
|
36105
|
+
if (this.store) {
|
|
36106
|
+
this.store.clear();
|
|
36107
|
+
}
|
|
35594
36108
|
}
|
|
35595
36109
|
else {
|
|
35596
36110
|
terms = [rawTerm];
|
|
@@ -35686,7 +36200,7 @@ SearchBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchBa
|
|
|
35686
36200
|
i0.ɵɵproperty("ngIf", ctx.searchSelector);
|
|
35687
36201
|
i0.ɵɵadvance(1);
|
|
35688
36202
|
i0.ɵɵproperty("ngIf", ctx.searchSettings);
|
|
35689
|
-
} }, directives: [i1$1.NgClass, i12.MatFormField, i1$1.NgIf, i5.MatInput, i12.MatLabel, i2.MatButton, i4.MatIcon, SearchSelectorComponent, SearchSettingsComponent], pipes: [i1$1.AsyncPipe, i7.TranslatePipe], styles: ["[_nghost-%COMP%] .mat-form-field{padding:0 5px}[_nghost-%COMP%] .mat-form-field-wrapper{margin-bottom:-1.5em}[_nghost-%COMP%] span.mat-form-field-label-wrapper{top:-20px}[_nghost-%COMP%] div.mat-form-field-infix{left:5px;right:5px;padding:0 0 12px!important}[_nghost-%COMP%] div.mat-form-field-underline{display:none}.igo-search-bar-container[_ngcontent-%COMP%]{position:relative;width:100%;display:inline-flex;overflow:hidden}.igo-search-bar-container[_ngcontent-%COMP%] > mat-form-field[_ngcontent-%COMP%]{width:calc(100% - (2 * 40px))}.igo-search-bar-container.empty[_ngcontent-%COMP%] > mat-form-field[_ngcontent-%COMP%]{width:calc(100% - 40px)}.search-bar-buttons[_ngcontent-%COMP%]{position:relative;right:0px;display:inline-flex;top:0}.search-bar-buttons[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]:nth-child(2):before{content:\"\";left:0px;top:5px;border-right:1px solid #ddd;height:28px}igo-search-selector[_ngcontent-%COMP%]{background-color:#fff;top:0;border-radius:0}igo-search-settings[_ngcontent-%COMP%]{background-color:#fff;top:0;border-radius:0}"], changeDetection: 0 });
|
|
36203
|
+
} }, directives: [i1$1.NgClass, i12.MatFormField, i1$1.NgIf, i5$1.MatInput, i12.MatLabel, i2.MatButton, i4.MatIcon, SearchSelectorComponent, SearchSettingsComponent], pipes: [i1$1.AsyncPipe, i7.TranslatePipe], styles: ["[_nghost-%COMP%] .mat-form-field{padding:0 5px}[_nghost-%COMP%] .mat-form-field-wrapper{margin-bottom:-1.5em}[_nghost-%COMP%] span.mat-form-field-label-wrapper{top:-20px}[_nghost-%COMP%] div.mat-form-field-infix{left:5px;right:5px;padding:0 0 12px!important}[_nghost-%COMP%] div.mat-form-field-underline{display:none}.igo-search-bar-container[_ngcontent-%COMP%]{position:relative;width:100%;display:inline-flex;overflow:hidden}.igo-search-bar-container[_ngcontent-%COMP%] > mat-form-field[_ngcontent-%COMP%]{width:calc(100% - (2 * 40px))}.igo-search-bar-container.empty[_ngcontent-%COMP%] > mat-form-field[_ngcontent-%COMP%]{width:calc(100% - 40px)}.search-bar-buttons[_ngcontent-%COMP%]{position:relative;right:0px;display:inline-flex;top:0}.search-bar-buttons[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]:nth-child(2):before{content:\"\";left:0px;top:5px;border-right:1px solid #ddd;height:28px}igo-search-selector[_ngcontent-%COMP%]{background-color:#fff;top:0;border-radius:0}igo-search-settings[_ngcontent-%COMP%]{background-color:#fff;top:0;border-radius:0}"], changeDetection: 0 });
|
|
35690
36204
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchBarComponent, [{
|
|
35691
36205
|
type: Component,
|
|
35692
36206
|
args: [{
|
|
@@ -35940,7 +36454,7 @@ SearchResultsItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
35940
36454
|
i0.ɵɵproperty("ngIf", !ctx.titleHtml);
|
|
35941
36455
|
i0.ɵɵadvance(1);
|
|
35942
36456
|
i0.ɵɵproperty("ngIf", ctx.withZoomButton);
|
|
35943
|
-
} }, directives: [i1$3.MatListItem, i1$1.NgIf, i4.MatIcon, i1$3.MatListAvatarCssMatStyler, i9.MatLine, i3.MatTooltip, i2.MatButton, i6
|
|
36457
|
+
} }, directives: [i1$3.MatListItem, i1$1.NgIf, i4.MatIcon, i1$3.MatListAvatarCssMatStyler, i9.MatLine, i3.MatTooltip, i2.MatButton, i6.StopPropagationDirective], styles: ["[_nghost-%COMP%] small{color:#8c8c8c} .search-result-tooltip{white-space:pre-line}"], changeDetection: 0 });
|
|
35944
36458
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultsItemComponent, [{
|
|
35945
36459
|
type: Component,
|
|
35946
36460
|
args: [{
|
|
@@ -36246,7 +36760,7 @@ SearchResultsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sear
|
|
|
36246
36760
|
i0.ɵɵproperty("navigation", true);
|
|
36247
36761
|
i0.ɵɵadvance(1);
|
|
36248
36762
|
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(3, 2, ctx.results$));
|
|
36249
|
-
} }, directives: [i6
|
|
36763
|
+
} }, directives: [i6.ListComponent, i1$1.NgForOf, i1$1.NgIf, i6.CollapsibleComponent, i1$1.NgTemplateOutlet, SearchResultsItemComponent, i6.ListItemDirective], pipes: [i1$1.AsyncPipe, i7.TranslatePipe], styles: [".moreResults[_ngcontent-%COMP%]{cursor:pointer;color:#00f;float:right;margin-right:10px;margin-top:5px}igo-list[_ngcontent-%COMP%] mat-list{height:100%}"], changeDetection: 0 });
|
|
36250
36764
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultsComponent, [{
|
|
36251
36765
|
type: Component,
|
|
36252
36766
|
args: [{
|
|
@@ -36451,11 +36965,11 @@ class SearchResultAddButtonComponent {
|
|
|
36451
36965
|
}
|
|
36452
36966
|
}
|
|
36453
36967
|
SearchResultAddButtonComponent.ɵfac = function SearchResultAddButtonComponent_Factory(t) { return new (t || SearchResultAddButtonComponent)(i0.ɵɵdirectiveInject(LayerService)); };
|
|
36454
|
-
SearchResultAddButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchResultAddButtonComponent, selectors: [["igo-search-add-button"]], inputs: { layer: "layer", added: "added", map: "map", color: "color" }, decls: 1, vars: 1, consts: [["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "color", "mouseenter", "mouseleave", "click", 4, "ngIf"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "color", "mouseenter", "mouseleave", "click"], ["matBadge", "icon", "igoMatBadgeIcon", "eye-off", "igoMatBadgeInverseColor", "true", "matBadgeDisabled", "true", "matBadgeSize", "small", "matBadgePosition", "after", 3, "matBadgeHidden", "svgIcon"]], template: function SearchResultAddButtonComponent_Template(rf, ctx) { if (rf & 1) {
|
|
36968
|
+
SearchResultAddButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchResultAddButtonComponent, selectors: [["igo-search-add-button"]], inputs: { layer: "layer", added: "added", map: "map", color: "color" }, decls: 1, vars: 1, consts: [["igoStopPropagation", "", "mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "color", "mouseenter", "mouseleave", "click", 4, "ngIf"], ["igoStopPropagation", "", "mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "color", "mouseenter", "mouseleave", "click"], ["matBadge", "icon", "igoMatBadgeIcon", "eye-off", "igoMatBadgeInverseColor", "true", "matBadgeDisabled", "true", "matBadgeSize", "small", "matBadgePosition", "after", 3, "matBadgeHidden", "svgIcon"]], template: function SearchResultAddButtonComponent_Template(rf, ctx) { if (rf & 1) {
|
|
36455
36969
|
i0.ɵɵtemplate(0, SearchResultAddButtonComponent_button_0_Template, 7, 14, "button", 0);
|
|
36456
36970
|
} if (rf & 2) {
|
|
36457
36971
|
i0.ɵɵproperty("ngIf", ctx.layer.meta.dataType === "Layer");
|
|
36458
|
-
} }, directives: [i1$1.NgIf, i2.MatButton, i3.MatTooltip, i4.MatIcon, i9$1.MatBadge, i6
|
|
36972
|
+
} }, directives: [i1$1.NgIf, i2.MatButton, i6.StopPropagationDirective, i3.MatTooltip, i4.MatIcon, i9$1.MatBadge, i6.IgoBadgeIconDirective], pipes: [i7.TranslatePipe, i1$1.AsyncPipe], styles: [""], changeDetection: 0 });
|
|
36459
36973
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultAddButtonComponent, [{
|
|
36460
36974
|
type: Component,
|
|
36461
36975
|
args: [{
|
|
@@ -36599,6 +37113,7 @@ class SearchPointerSummaryDirective {
|
|
|
36599
37113
|
initStore() {
|
|
36600
37114
|
const store = this.store;
|
|
36601
37115
|
const layer = new VectorLayer({
|
|
37116
|
+
isIgoInternalLayer: true,
|
|
36602
37117
|
id: 'searchPointerSummaryId',
|
|
36603
37118
|
title: 'searchPointerSummary',
|
|
36604
37119
|
zIndex: 900,
|
|
@@ -36986,7 +37501,7 @@ ToastComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ToastCompone
|
|
|
36986
37501
|
i0.ɵɵproperty("ngIf", ctx.feature.geometry);
|
|
36987
37502
|
i0.ɵɵadvance(1);
|
|
36988
37503
|
i0.ɵɵproperty("feature", ctx.feature);
|
|
36989
|
-
} }, directives: [i6
|
|
37504
|
+
} }, directives: [i6.FlexibleComponent, i6.PanelComponent, i2.MatButton, i4.MatIcon, i1$1.NgIf, FeatureDetailsComponent], styles: ["[_nghost-%COMP%]{position:absolute;bottom:0px;width:100%;max-height:calc(100% - 50px);background-color:#fff}igo-feature-details[_ngcontent-%COMP%] table{width:100%}"] });
|
|
36990
37505
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastComponent, [{
|
|
36991
37506
|
type: Component,
|
|
36992
37507
|
args: [{
|
|
@@ -37151,24 +37666,42 @@ class WfsWorkspace extends Workspace {
|
|
|
37151
37666
|
}
|
|
37152
37667
|
get layer() { return this.options.layer; }
|
|
37153
37668
|
get map() { return this.options.map; }
|
|
37669
|
+
getLayerWksOptionTabQuery() {
|
|
37670
|
+
var _a;
|
|
37671
|
+
if (((_a = this.layer.options.workspace.queryOptions) === null || _a === void 0 ? void 0 : _a.tabQuery) !== undefined) {
|
|
37672
|
+
return this.layer.options.workspace.queryOptions.tabQuery;
|
|
37673
|
+
}
|
|
37674
|
+
return true;
|
|
37675
|
+
}
|
|
37676
|
+
getLayerWksOptionMapQuery() {
|
|
37677
|
+
var _a;
|
|
37678
|
+
if (((_a = this.layer.options.workspace.queryOptions) === null || _a === void 0 ? void 0 : _a.mapQueryOnOpenTab) !== undefined) {
|
|
37679
|
+
return this.layer.options.workspace.queryOptions.mapQueryOnOpenTab;
|
|
37680
|
+
}
|
|
37681
|
+
return true;
|
|
37682
|
+
}
|
|
37683
|
+
getInResolutionRange() {
|
|
37684
|
+
return this.inResolutionRange$.value;
|
|
37685
|
+
}
|
|
37154
37686
|
}
|
|
37155
37687
|
|
|
37156
37688
|
class WfsWorkspaceService {
|
|
37157
37689
|
constructor(storageService) {
|
|
37158
37690
|
this.storageService = storageService;
|
|
37691
|
+
this.ws$ = new BehaviorSubject(undefined);
|
|
37159
37692
|
}
|
|
37160
37693
|
get zoomAuto() {
|
|
37161
37694
|
return this.storageService.get('zoomAuto');
|
|
37162
37695
|
}
|
|
37163
37696
|
createWorkspace(layer, map) {
|
|
37164
37697
|
var _a;
|
|
37165
|
-
if (((_a = layer.options.workspace) === null || _a === void 0 ? void 0 : _a.enabled) === false) {
|
|
37698
|
+
if (((_a = layer.options.workspace) === null || _a === void 0 ? void 0 : _a.enabled) === false || layer.dataSource.options.edition) {
|
|
37166
37699
|
return;
|
|
37167
37700
|
}
|
|
37168
37701
|
layer.options.workspace = Object.assign({}, layer.options.workspace, {
|
|
37169
|
-
enabled: true,
|
|
37170
37702
|
srcId: layer.id,
|
|
37171
|
-
workspaceId: layer.id
|
|
37703
|
+
workspaceId: layer.id,
|
|
37704
|
+
enabled: true
|
|
37172
37705
|
});
|
|
37173
37706
|
const wks = new WfsWorkspace({
|
|
37174
37707
|
id: layer.id,
|
|
@@ -37216,6 +37749,7 @@ class WfsWorkspaceService {
|
|
|
37216
37749
|
}
|
|
37217
37750
|
createTableTemplate(workspace, layer) {
|
|
37218
37751
|
const fields = layer.dataSource.options.sourceFields || [];
|
|
37752
|
+
const relations = layer.dataSource.options.relations || [];
|
|
37219
37753
|
if (fields.length === 0) {
|
|
37220
37754
|
workspace.entityStore.entities$.pipe(skipWhile(val => val.length === 0), take(1)).subscribe(entities => {
|
|
37221
37755
|
const ol = entities[0].ol;
|
|
@@ -37243,9 +37777,28 @@ class WfsWorkspaceService {
|
|
|
37243
37777
|
return {
|
|
37244
37778
|
name: `properties.${field.name}`,
|
|
37245
37779
|
title: field.alias ? field.alias : field.name,
|
|
37246
|
-
renderer: EntityTableColumnRenderer.UnsanitizedHTML
|
|
37780
|
+
renderer: EntityTableColumnRenderer.UnsanitizedHTML,
|
|
37781
|
+
tooltip: field.tooltip
|
|
37782
|
+
};
|
|
37783
|
+
});
|
|
37784
|
+
const relationsColumn = relations.map((relation) => {
|
|
37785
|
+
return {
|
|
37786
|
+
name: `properties.${relation.name}`,
|
|
37787
|
+
title: relation.alias ? relation.alias : relation.name,
|
|
37788
|
+
renderer: EntityTableColumnRenderer.Icon,
|
|
37789
|
+
icon: relation.icon,
|
|
37790
|
+
parent: relation.parent,
|
|
37791
|
+
type: 'relation',
|
|
37792
|
+
tooltip: relation.tooltip,
|
|
37793
|
+
onClick: () => {
|
|
37794
|
+
this.ws$.next(relation.title);
|
|
37795
|
+
},
|
|
37796
|
+
cellClassFunc: () => {
|
|
37797
|
+
return { 'class_icon': true };
|
|
37798
|
+
}
|
|
37247
37799
|
};
|
|
37248
37800
|
});
|
|
37801
|
+
columns.push(...relationsColumn);
|
|
37249
37802
|
workspace.meta.tableTemplate = {
|
|
37250
37803
|
selection: true,
|
|
37251
37804
|
sort: true,
|
|
@@ -37272,13 +37825,16 @@ class WmsWorkspaceService {
|
|
|
37272
37825
|
constructor(layerService, storageService) {
|
|
37273
37826
|
this.layerService = layerService;
|
|
37274
37827
|
this.storageService = storageService;
|
|
37828
|
+
this.ws$ = new BehaviorSubject(undefined);
|
|
37275
37829
|
}
|
|
37276
37830
|
get zoomAuto() {
|
|
37277
37831
|
return this.storageService.get('zoomAuto');
|
|
37278
37832
|
}
|
|
37279
37833
|
createWorkspace(layer, map) {
|
|
37280
|
-
var _a, _b, _c, _d, _e, _f;
|
|
37281
|
-
if (
|
|
37834
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
37835
|
+
if (!layer.options.workspace ||
|
|
37836
|
+
map.layers.find(lay => lay.id === layer.id + '.WfsWorkspaceTableDest') ||
|
|
37837
|
+
layer.dataSource.options.edition) {
|
|
37282
37838
|
return;
|
|
37283
37839
|
}
|
|
37284
37840
|
const dataSource = layer.dataSource;
|
|
@@ -37296,15 +37852,15 @@ class WmsWorkspaceService {
|
|
|
37296
37852
|
LinkedProperties.VISIBLE
|
|
37297
37853
|
]
|
|
37298
37854
|
};
|
|
37299
|
-
if (!((
|
|
37855
|
+
if (!((_a = layer.options.workspace) === null || _a === void 0 ? void 0 : _a.minResolution)) {
|
|
37300
37856
|
linkProperties.properties.push(LinkedProperties.MINRESOLUTION);
|
|
37301
37857
|
}
|
|
37302
37858
|
let hasOgcFilters = false;
|
|
37303
|
-
if ((
|
|
37859
|
+
if ((_b = dataSource.options.ogcFilters) === null || _b === void 0 ? void 0 : _b.enabled) {
|
|
37304
37860
|
linkProperties.properties.push(LinkedProperties.OGCFILTERS);
|
|
37305
37861
|
hasOgcFilters = true;
|
|
37306
37862
|
}
|
|
37307
|
-
if (!((
|
|
37863
|
+
if (!((_c = layer.options.workspace) === null || _c === void 0 ? void 0 : _c.maxResolution)) {
|
|
37308
37864
|
linkProperties.properties.push(LinkedProperties.MAXRESOLUTION);
|
|
37309
37865
|
}
|
|
37310
37866
|
let clonedLinks = [];
|
|
@@ -37315,37 +37871,51 @@ class WmsWorkspaceService {
|
|
|
37315
37871
|
layer.options.linkedLayers.linkId = layer.options.linkedLayers.linkId ? layer.options.linkedLayers.linkId : wmsLinkId,
|
|
37316
37872
|
layer.options.linkedLayers.links = clonedLinks;
|
|
37317
37873
|
let wks;
|
|
37874
|
+
let wksLayerOption = {
|
|
37875
|
+
srcId: layer.id,
|
|
37876
|
+
workspaceId: undefined,
|
|
37877
|
+
enabled: false,
|
|
37878
|
+
queryOptions: {
|
|
37879
|
+
mapQueryOnOpenTab: (_e = (_d = layer.options.workspace) === null || _d === void 0 ? void 0 : _d.queryOptions) === null || _e === void 0 ? void 0 : _e.mapQueryOnOpenTab,
|
|
37880
|
+
tabQuery: (_g = (_f = layer.options.workspace) === null || _f === void 0 ? void 0 : _f.queryOptions) === null || _g === void 0 ? void 0 : _g.tabQuery
|
|
37881
|
+
},
|
|
37882
|
+
pageSize: (_h = layer.options.workspace) === null || _h === void 0 ? void 0 : _h.pageSize,
|
|
37883
|
+
pageSizeOptions: (_j = layer.options.workspace) === null || _j === void 0 ? void 0 : _j.pageSizeOptions
|
|
37884
|
+
};
|
|
37318
37885
|
this.layerService
|
|
37319
37886
|
.createAsyncLayer({
|
|
37887
|
+
isIgoInternalLayer: true,
|
|
37320
37888
|
id: wfsLinkId,
|
|
37321
37889
|
linkedLayers: {
|
|
37322
37890
|
linkId: wfsLinkId
|
|
37323
37891
|
},
|
|
37324
|
-
workspace:
|
|
37325
|
-
srcId: layer.id,
|
|
37326
|
-
workspaceId: undefined,
|
|
37327
|
-
enabled: false,
|
|
37328
|
-
},
|
|
37892
|
+
workspace: wksLayerOption,
|
|
37329
37893
|
showInLayerList: false,
|
|
37330
37894
|
opacity: 0,
|
|
37331
37895
|
title: layer.title,
|
|
37332
|
-
minResolution: ((
|
|
37333
|
-
maxResolution: ((
|
|
37896
|
+
minResolution: ((_k = layer.options.workspace) === null || _k === void 0 ? void 0 : _k.minResolution) || layer.minResolution || 0,
|
|
37897
|
+
maxResolution: ((_l = layer.options.workspace) === null || _l === void 0 ? void 0 : _l.maxResolution) || layer.maxResolution || Infinity,
|
|
37334
37898
|
sourceOptions: {
|
|
37335
37899
|
download: dataSource.options.download,
|
|
37336
37900
|
type: 'wfs',
|
|
37337
37901
|
url: dataSource.options.urlWfs || dataSource.options.url,
|
|
37338
37902
|
queryable: true,
|
|
37903
|
+
relations: dataSource.options.relations,
|
|
37339
37904
|
queryTitle: dataSource.options.queryTitle,
|
|
37905
|
+
queryFormatAsWms: dataSource.options.queryFormatAsWms,
|
|
37340
37906
|
params: dataSource.options.paramsWFS,
|
|
37341
37907
|
ogcFilters: Object.assign({}, dataSource.ogcFilters$.value, { enabled: hasOgcFilters }),
|
|
37342
37908
|
sourceFields: dataSource.options.sourceFields || undefined
|
|
37343
37909
|
}
|
|
37344
37910
|
})
|
|
37345
37911
|
.subscribe((workspaceLayer) => {
|
|
37912
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
37346
37913
|
map.addLayer(workspaceLayer);
|
|
37347
37914
|
layer.ol.setProperties({ linkedLayers: { linkId: layer.options.linkedLayers.linkId, links: clonedLinks } }, false);
|
|
37348
37915
|
workspaceLayer.dataSource.ol.refresh();
|
|
37916
|
+
if (!((_a = layer.options.workspace) === null || _a === void 0 ? void 0 : _a.enabled)) {
|
|
37917
|
+
return;
|
|
37918
|
+
}
|
|
37349
37919
|
wks = new WfsWorkspace({
|
|
37350
37920
|
id: layer.id,
|
|
37351
37921
|
title: layer.title,
|
|
@@ -37362,7 +37932,13 @@ class WmsWorkspaceService {
|
|
|
37362
37932
|
layer.options.workspace = Object.assign({}, layer.options.workspace, {
|
|
37363
37933
|
enabled: true,
|
|
37364
37934
|
srcId: layer.id,
|
|
37365
|
-
workspaceId: workspaceLayer.id
|
|
37935
|
+
workspaceId: workspaceLayer.id,
|
|
37936
|
+
queryOptions: {
|
|
37937
|
+
mapQueryOnOpenTab: (_c = (_b = layer.options.workspace) === null || _b === void 0 ? void 0 : _b.queryOptions) === null || _c === void 0 ? void 0 : _c.mapQueryOnOpenTab,
|
|
37938
|
+
tabQuery: (_e = (_d = layer.options.workspace) === null || _d === void 0 ? void 0 : _d.queryOptions) === null || _e === void 0 ? void 0 : _e.tabQuery
|
|
37939
|
+
},
|
|
37940
|
+
pageSize: (_f = layer.options.workspace) === null || _f === void 0 ? void 0 : _f.pageSize,
|
|
37941
|
+
pageSizeOptions: (_g = layer.options.workspace) === null || _g === void 0 ? void 0 : _g.pageSizeOptions
|
|
37366
37942
|
});
|
|
37367
37943
|
delete dataSource.options.download;
|
|
37368
37944
|
return wks;
|
|
@@ -37401,6 +37977,7 @@ class WmsWorkspaceService {
|
|
|
37401
37977
|
}
|
|
37402
37978
|
createTableTemplate(workspace, layer) {
|
|
37403
37979
|
const fields = layer.dataSource.options.sourceFields || [];
|
|
37980
|
+
const relations = layer.dataSource.options.relations || [];
|
|
37404
37981
|
if (fields.length === 0) {
|
|
37405
37982
|
workspace.entityStore.entities$.pipe(skipWhile(val => val.length === 0), take(1)).subscribe(entities => {
|
|
37406
37983
|
const ol = entities[0].ol;
|
|
@@ -37428,9 +38005,28 @@ class WmsWorkspaceService {
|
|
|
37428
38005
|
return {
|
|
37429
38006
|
name: `properties.${field.name}`,
|
|
37430
38007
|
title: field.alias ? field.alias : field.name,
|
|
37431
|
-
renderer: EntityTableColumnRenderer.UnsanitizedHTML
|
|
38008
|
+
renderer: EntityTableColumnRenderer.UnsanitizedHTML,
|
|
38009
|
+
tooltip: field.tooltip
|
|
37432
38010
|
};
|
|
37433
38011
|
});
|
|
38012
|
+
const relationsColumn = relations.map((relation) => {
|
|
38013
|
+
return {
|
|
38014
|
+
name: `properties.${relation.name}`,
|
|
38015
|
+
title: relation.alias ? relation.alias : relation.name,
|
|
38016
|
+
renderer: EntityTableColumnRenderer.Icon,
|
|
38017
|
+
icon: relation.icon,
|
|
38018
|
+
parent: relation.parent,
|
|
38019
|
+
type: 'relation',
|
|
38020
|
+
tooltip: relation.tooltip,
|
|
38021
|
+
onClick: () => {
|
|
38022
|
+
this.ws$.next(relation.title);
|
|
38023
|
+
},
|
|
38024
|
+
cellClassFunc: () => {
|
|
38025
|
+
return { 'class_icon': true };
|
|
38026
|
+
}
|
|
38027
|
+
};
|
|
38028
|
+
});
|
|
38029
|
+
columns.push(...relationsColumn);
|
|
37434
38030
|
workspace.meta.tableTemplate = {
|
|
37435
38031
|
selection: true,
|
|
37436
38032
|
sort: true,
|
|
@@ -37453,6 +38049,918 @@ WmsWorkspaceService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: WmsW
|
|
|
37453
38049
|
}]
|
|
37454
38050
|
}], function () { return [{ type: LayerService }, { type: i2$1.StorageService }]; }, null); })();
|
|
37455
38051
|
|
|
38052
|
+
class ConfirmationPopupComponent {
|
|
38053
|
+
constructor(dialogRef, languageService, data) {
|
|
38054
|
+
this.dialogRef = dialogRef;
|
|
38055
|
+
this.languageService = languageService;
|
|
38056
|
+
this.data = data;
|
|
38057
|
+
}
|
|
38058
|
+
cancelAction() {
|
|
38059
|
+
this.data.cancel = true;
|
|
38060
|
+
this.dialogRef.close(this.data.cancel);
|
|
38061
|
+
}
|
|
38062
|
+
confirmedAction() {
|
|
38063
|
+
this.data.cancel = false;
|
|
38064
|
+
this.dialogRef.close(this.data.cancel);
|
|
38065
|
+
}
|
|
38066
|
+
}
|
|
38067
|
+
ConfirmationPopupComponent.ɵfac = function ConfirmationPopupComponent_Factory(t) { return new (t || ConfirmationPopupComponent)(i0.ɵɵdirectiveInject(i1.MatDialogRef), i0.ɵɵdirectiveInject(i2$1.LanguageService), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); };
|
|
38068
|
+
ConfirmationPopupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConfirmationPopupComponent, selectors: [["igo-confirmation-popup-component"]], decls: 8, vars: 2, consts: [["mat-dialog-content", ""], [1, "mat-typography"], ["mat-dialog-actions", ""], ["mat-raised-button", "", "color", "primary", 3, "click"], ["mat-raised-button", "", 3, "click"]], template: function ConfirmationPopupComponent_Template(rf, ctx) { if (rf & 1) {
|
|
38069
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
38070
|
+
i0.ɵɵelementStart(1, "p", 1);
|
|
38071
|
+
i0.ɵɵtext(2);
|
|
38072
|
+
i0.ɵɵelementEnd();
|
|
38073
|
+
i0.ɵɵelementEnd();
|
|
38074
|
+
i0.ɵɵelementStart(3, "div", 2);
|
|
38075
|
+
i0.ɵɵelementStart(4, "button", 3);
|
|
38076
|
+
i0.ɵɵlistener("click", function ConfirmationPopupComponent_Template_button_click_4_listener() { return ctx.confirmedAction(); });
|
|
38077
|
+
i0.ɵɵtext(5, "Ok ");
|
|
38078
|
+
i0.ɵɵelementEnd();
|
|
38079
|
+
i0.ɵɵelementStart(6, "button", 4);
|
|
38080
|
+
i0.ɵɵlistener("click", function ConfirmationPopupComponent_Template_button_click_6_listener() { return ctx.cancelAction(); });
|
|
38081
|
+
i0.ɵɵtext(7);
|
|
38082
|
+
i0.ɵɵelementEnd();
|
|
38083
|
+
i0.ɵɵelementEnd();
|
|
38084
|
+
} if (rf & 2) {
|
|
38085
|
+
i0.ɵɵadvance(2);
|
|
38086
|
+
i0.ɵɵtextInterpolate(ctx.data.type === "add" ? ctx.languageService.translate.instant("igo.geo.workspace.addConfirmation") : ctx.languageService.translate.instant("igo.geo.workspace.deleteConfirmation"));
|
|
38087
|
+
i0.ɵɵadvance(5);
|
|
38088
|
+
i0.ɵɵtextInterpolate1("", ctx.languageService.translate.instant("igo.geo.workspace.cancel"), " ");
|
|
38089
|
+
} }, directives: [i1.MatDialogContent, i1.MatDialogActions, i2.MatButton], styles: ["div.mat-dialog-actions[_ngcontent-%COMP%]{justify-content:center}"] });
|
|
38090
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConfirmationPopupComponent, [{
|
|
38091
|
+
type: Component,
|
|
38092
|
+
args: [{
|
|
38093
|
+
selector: 'igo-confirmation-popup-component',
|
|
38094
|
+
templateUrl: './confirmation-popup.component.html',
|
|
38095
|
+
styleUrls: ['./confirmation-popup.component.scss']
|
|
38096
|
+
}]
|
|
38097
|
+
}], function () { return [{ type: i1.MatDialogRef }, { type: i2$1.LanguageService }, { type: undefined, decorators: [{
|
|
38098
|
+
type: Inject,
|
|
38099
|
+
args: [MAT_DIALOG_DATA]
|
|
38100
|
+
}] }]; }, null); })();
|
|
38101
|
+
|
|
38102
|
+
class EditionWorkspace extends Workspace {
|
|
38103
|
+
constructor(options, editionWorkspaceService, dialog, configService) {
|
|
38104
|
+
super(options);
|
|
38105
|
+
this.options = options;
|
|
38106
|
+
this.editionWorkspaceService = editionWorkspaceService;
|
|
38107
|
+
this.dialog = dialog;
|
|
38108
|
+
this.configService = configService;
|
|
38109
|
+
this.inResolutionRange$ = new BehaviorSubject(true);
|
|
38110
|
+
this.olDrawingLayerSource = new OlVectorSource();
|
|
38111
|
+
this.geometryType = GeometryType; // Reference to the GeometryType enum
|
|
38112
|
+
this.modifyStyle = new olstyle.Style({
|
|
38113
|
+
stroke: new olstyle.Stroke({
|
|
38114
|
+
color: 'rgba(255,255,255,1)',
|
|
38115
|
+
width: 1
|
|
38116
|
+
}),
|
|
38117
|
+
fill: new olstyle.Fill({
|
|
38118
|
+
color: 'rgba(0,161,222,1)'
|
|
38119
|
+
}),
|
|
38120
|
+
image: new olstyle.Circle({
|
|
38121
|
+
radius: 7,
|
|
38122
|
+
stroke: new olstyle.Stroke({
|
|
38123
|
+
color: 'rgba(255,255,255,1)',
|
|
38124
|
+
width: 1
|
|
38125
|
+
}),
|
|
38126
|
+
fill: new olstyle.Fill({
|
|
38127
|
+
color: 'rgba(0,161,222,1)'
|
|
38128
|
+
})
|
|
38129
|
+
})
|
|
38130
|
+
});
|
|
38131
|
+
this.filterClauseFunc = (record) => {
|
|
38132
|
+
return record.state.newFeature === true;
|
|
38133
|
+
};
|
|
38134
|
+
this.map.viewController.resolution$.subscribe((mapResolution) => {
|
|
38135
|
+
if (mapResolution > this.layer.minResolution && mapResolution < this.layer.maxResolution) {
|
|
38136
|
+
this.inResolutionRange$.next(true);
|
|
38137
|
+
}
|
|
38138
|
+
else {
|
|
38139
|
+
this.inResolutionRange$.next(false);
|
|
38140
|
+
}
|
|
38141
|
+
});
|
|
38142
|
+
this.drawControl = this.createDrawControl();
|
|
38143
|
+
this.drawControl.setGeometryType(this.geometryType.Point);
|
|
38144
|
+
this.map.removeLayer(this.olDrawingLayer);
|
|
38145
|
+
this.olDrawingLayer = new VectorLayer({
|
|
38146
|
+
id: 'igo-draw-layer',
|
|
38147
|
+
title: 'edition',
|
|
38148
|
+
zIndex: 300,
|
|
38149
|
+
source: new FeatureDataSource(),
|
|
38150
|
+
showInLayerList: false,
|
|
38151
|
+
exportable: false,
|
|
38152
|
+
browsable: false,
|
|
38153
|
+
workspace: {
|
|
38154
|
+
enabled: false
|
|
38155
|
+
},
|
|
38156
|
+
});
|
|
38157
|
+
}
|
|
38158
|
+
get layer() { return this.options.layer; }
|
|
38159
|
+
get map() { return this.options.map; }
|
|
38160
|
+
getInResolutionRange() {
|
|
38161
|
+
return this.inResolutionRange$.value;
|
|
38162
|
+
}
|
|
38163
|
+
deleteFeature(feature, workspace) {
|
|
38164
|
+
setTimeout(() => {
|
|
38165
|
+
const dialogRef = this.dialog.open(ConfirmationPopupComponent, {
|
|
38166
|
+
disableClose: false,
|
|
38167
|
+
data: { type: 'delete' }
|
|
38168
|
+
});
|
|
38169
|
+
dialogRef.afterClosed().subscribe(result => {
|
|
38170
|
+
if (result === false) {
|
|
38171
|
+
const baseUrl = workspace.layer.dataSource.options.edition.baseUrl;
|
|
38172
|
+
const deleteUrl = workspace.layer.dataSource.options.edition.deleteUrl;
|
|
38173
|
+
let id;
|
|
38174
|
+
let url;
|
|
38175
|
+
if (baseUrl) {
|
|
38176
|
+
url = this.configService.getConfig('edition.url') + baseUrl + '?' + deleteUrl;
|
|
38177
|
+
}
|
|
38178
|
+
else {
|
|
38179
|
+
url = this.configService.getConfig('edition.url') + deleteUrl;
|
|
38180
|
+
}
|
|
38181
|
+
for (const column of workspace.meta.tableTemplate.columns) {
|
|
38182
|
+
for (const property in feature.properties) {
|
|
38183
|
+
let columnName = column.name;
|
|
38184
|
+
if (columnName.includes('properties.')) {
|
|
38185
|
+
columnName = columnName.split('.')[1];
|
|
38186
|
+
}
|
|
38187
|
+
if (columnName === property && column.primary === true) {
|
|
38188
|
+
id = feature.properties[property];
|
|
38189
|
+
}
|
|
38190
|
+
}
|
|
38191
|
+
}
|
|
38192
|
+
if (url) {
|
|
38193
|
+
url += id;
|
|
38194
|
+
this.editionWorkspaceService.deleteFeature(workspace, url);
|
|
38195
|
+
}
|
|
38196
|
+
}
|
|
38197
|
+
});
|
|
38198
|
+
}, 250);
|
|
38199
|
+
}
|
|
38200
|
+
editFeature(feature, workspace) {
|
|
38201
|
+
feature.edition = true;
|
|
38202
|
+
let id;
|
|
38203
|
+
let find = false;
|
|
38204
|
+
const editionOpt = workspace.layer.dataSource.options.edition;
|
|
38205
|
+
for (const column of workspace.meta.tableTemplate.columns) {
|
|
38206
|
+
// Update domain list
|
|
38207
|
+
if (column.type === 'list' || column.type === 'autocomplete') {
|
|
38208
|
+
this.editionWorkspaceService.getDomainValues(column.relation.table).subscribe(result => {
|
|
38209
|
+
column.domainValues = result;
|
|
38210
|
+
});
|
|
38211
|
+
}
|
|
38212
|
+
if (find === false) {
|
|
38213
|
+
for (const property in feature.properties) {
|
|
38214
|
+
let columnName = column.name;
|
|
38215
|
+
if (columnName.includes('properties.')) {
|
|
38216
|
+
columnName = columnName.split('.')[1];
|
|
38217
|
+
}
|
|
38218
|
+
if (columnName === property && column.primary === true) {
|
|
38219
|
+
id = feature.properties[property];
|
|
38220
|
+
find = true;
|
|
38221
|
+
break;
|
|
38222
|
+
}
|
|
38223
|
+
}
|
|
38224
|
+
}
|
|
38225
|
+
}
|
|
38226
|
+
if (id) {
|
|
38227
|
+
feature.original_properties = JSON.parse(JSON.stringify(feature.properties));
|
|
38228
|
+
feature.original_geometry = feature.geometry;
|
|
38229
|
+
feature.idkey = id;
|
|
38230
|
+
this.addFeatureToStore(feature, workspace);
|
|
38231
|
+
}
|
|
38232
|
+
else {
|
|
38233
|
+
// Only for edition with it's own geometry
|
|
38234
|
+
if (!feature.newFeature && editionOpt.geomType) {
|
|
38235
|
+
feature.newFeature = true;
|
|
38236
|
+
this.editionWorkspaceService.adding$.next(true);
|
|
38237
|
+
workspace.entityStore.state.updateAll({ newFeature: false });
|
|
38238
|
+
workspace.entityStore.stateView.filter(this.filterClauseFunc);
|
|
38239
|
+
if (editionOpt.addWithDraw) {
|
|
38240
|
+
const geometryType = editionOpt.geomType;
|
|
38241
|
+
this.onGeometryTypeChange(geometryType, feature, workspace);
|
|
38242
|
+
}
|
|
38243
|
+
else {
|
|
38244
|
+
workspace.entityStore.insert(feature);
|
|
38245
|
+
workspace.entityStore.state.update(feature, { newFeature: true }, true);
|
|
38246
|
+
}
|
|
38247
|
+
}
|
|
38248
|
+
}
|
|
38249
|
+
}
|
|
38250
|
+
/**
|
|
38251
|
+
* Create a Draw Control
|
|
38252
|
+
* @param fillColor the fill color
|
|
38253
|
+
* @param strokeColor the stroke color
|
|
38254
|
+
* @param strokeWidth the stroke width
|
|
38255
|
+
* @returns a Draw Control
|
|
38256
|
+
*/
|
|
38257
|
+
createDrawControl(fillColor, strokeColor, strokeWidth) {
|
|
38258
|
+
const drawControl = new DrawControl({
|
|
38259
|
+
geometryType: undefined,
|
|
38260
|
+
drawingLayerSource: this.olDrawingLayerSource,
|
|
38261
|
+
drawingLayerStyle: new olstyle.Style({}),
|
|
38262
|
+
interactionStyle: createInteractionStyle(fillColor, strokeColor, strokeWidth),
|
|
38263
|
+
});
|
|
38264
|
+
return drawControl;
|
|
38265
|
+
}
|
|
38266
|
+
/**
|
|
38267
|
+
* Called when the user selects a new geometry type
|
|
38268
|
+
* @param geometryType the geometry type selected by the user
|
|
38269
|
+
*/
|
|
38270
|
+
onGeometryTypeChange(geometryType, feature, workspace) {
|
|
38271
|
+
this.drawControl.setGeometryType(geometryType);
|
|
38272
|
+
this.toggleDrawControl(feature, workspace);
|
|
38273
|
+
}
|
|
38274
|
+
/**
|
|
38275
|
+
* Activate the correct control
|
|
38276
|
+
*/
|
|
38277
|
+
toggleDrawControl(feature, workspace) {
|
|
38278
|
+
this.deactivateDrawControl();
|
|
38279
|
+
this.activateDrawControl(feature, workspace);
|
|
38280
|
+
}
|
|
38281
|
+
/**
|
|
38282
|
+
* Deactivate the active draw control
|
|
38283
|
+
*/
|
|
38284
|
+
deactivateDrawControl() {
|
|
38285
|
+
if (!this.drawControl) {
|
|
38286
|
+
return;
|
|
38287
|
+
}
|
|
38288
|
+
if (this.drawEnd$$) {
|
|
38289
|
+
this.drawEnd$$.unsubscribe();
|
|
38290
|
+
}
|
|
38291
|
+
this.drawControl.setOlMap(undefined);
|
|
38292
|
+
}
|
|
38293
|
+
/**
|
|
38294
|
+
* Activate a given control
|
|
38295
|
+
*/
|
|
38296
|
+
activateDrawControl(feature, workspace) {
|
|
38297
|
+
this.drawEnd$$ = this.drawControl.end$.subscribe((olGeometry) => {
|
|
38298
|
+
this.addFeatureToStore(feature, workspace, olGeometry);
|
|
38299
|
+
});
|
|
38300
|
+
this.drawControl.setOlMap(this.map.ol, true);
|
|
38301
|
+
}
|
|
38302
|
+
/**
|
|
38303
|
+
* Add a feature to layer. The loading strategy of the layer
|
|
38304
|
+
* will trigger and add the feature to the workspace store.
|
|
38305
|
+
* @internal
|
|
38306
|
+
*/
|
|
38307
|
+
addFeatureToStore(feature, workspace, olGeometry) {
|
|
38308
|
+
const projection = this.map.ol.getView().getProjection();
|
|
38309
|
+
let geometry = feature.geometry;
|
|
38310
|
+
// If an olGeometry is passed, it means that it is a new feature
|
|
38311
|
+
if (olGeometry) {
|
|
38312
|
+
workspace.entityStore.insert(feature);
|
|
38313
|
+
workspace.entityStore.state.update(feature, { newFeature: true }, true);
|
|
38314
|
+
geometry = new OlGeoJSON().writeGeometryObject(olGeometry, {
|
|
38315
|
+
featureProjection: projection,
|
|
38316
|
+
dataProjection: 'EPSG:4326'
|
|
38317
|
+
});
|
|
38318
|
+
feature.geometry = geometry;
|
|
38319
|
+
}
|
|
38320
|
+
feature.projection = 'EPSG:4326';
|
|
38321
|
+
const featureOl = featureToOl(feature, projection.getCode());
|
|
38322
|
+
this.olDrawingLayer.dataSource.ol.clear();
|
|
38323
|
+
this.olDrawingLayer.dataSource.ol.addFeature(featureOl);
|
|
38324
|
+
this.map.addLayer(this.olDrawingLayer);
|
|
38325
|
+
this.deactivateDrawControl();
|
|
38326
|
+
this.createModifyInteraction(featureOl, feature, workspace);
|
|
38327
|
+
}
|
|
38328
|
+
/**
|
|
38329
|
+
* Delete drawings layer and source from the map AND feature from the entity store.
|
|
38330
|
+
* Layer refresh will automatically add the new feature into the store.
|
|
38331
|
+
*/
|
|
38332
|
+
deleteDrawings() {
|
|
38333
|
+
this.map.removeLayer(this.olDrawingLayer);
|
|
38334
|
+
this.olDrawingLayerSource.clear();
|
|
38335
|
+
this.map.ol.removeInteraction(this.modify);
|
|
38336
|
+
}
|
|
38337
|
+
/**
|
|
38338
|
+
* Create a modify interaction to allow a geometry change one feature at the time (drag and drop)
|
|
38339
|
+
*/
|
|
38340
|
+
createModifyInteraction(olFeature, feature, workspace) {
|
|
38341
|
+
this.map.ol.removeInteraction(this.modify);
|
|
38342
|
+
const olCollection = new Collection([olFeature], { unique: true });
|
|
38343
|
+
this.modify = new OlModify({
|
|
38344
|
+
features: olCollection
|
|
38345
|
+
});
|
|
38346
|
+
this.map.ol.addInteraction(this.modify);
|
|
38347
|
+
olCollection.forEach(feature => {
|
|
38348
|
+
feature.setStyle(this.modifyStyle);
|
|
38349
|
+
});
|
|
38350
|
+
this.modify.on('modifyend', (event) => {
|
|
38351
|
+
var _a;
|
|
38352
|
+
const olGeometry = (_a = event.features.getArray()[0]) === null || _a === void 0 ? void 0 : _a.getGeometry();
|
|
38353
|
+
if (olGeometry) {
|
|
38354
|
+
this.addFeatureToStore(feature, workspace, olGeometry);
|
|
38355
|
+
}
|
|
38356
|
+
});
|
|
38357
|
+
}
|
|
38358
|
+
}
|
|
38359
|
+
|
|
38360
|
+
class EditionWorkspaceService {
|
|
38361
|
+
constructor(layerService, storageService, configService, messageService, languageService, http, dialog, authInterceptor) {
|
|
38362
|
+
this.layerService = layerService;
|
|
38363
|
+
this.storageService = storageService;
|
|
38364
|
+
this.configService = configService;
|
|
38365
|
+
this.messageService = messageService;
|
|
38366
|
+
this.languageService = languageService;
|
|
38367
|
+
this.http = http;
|
|
38368
|
+
this.dialog = dialog;
|
|
38369
|
+
this.authInterceptor = authInterceptor;
|
|
38370
|
+
this.ws$ = new BehaviorSubject(undefined);
|
|
38371
|
+
this.adding$ = new BehaviorSubject(false);
|
|
38372
|
+
this.relationLayers$ = new BehaviorSubject(undefined);
|
|
38373
|
+
this.rowsInMapExtentCheckCondition$ = new BehaviorSubject(true);
|
|
38374
|
+
this.loading = false;
|
|
38375
|
+
}
|
|
38376
|
+
get zoomAuto() {
|
|
38377
|
+
return this.storageService.get('zoomAuto');
|
|
38378
|
+
}
|
|
38379
|
+
createWorkspace(layer, map) {
|
|
38380
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
38381
|
+
if (((_a = layer.options.workspace) === null || _a === void 0 ? void 0 : _a.enabled) !== true || layer.dataSource.options.edition.enabled !== true) {
|
|
38382
|
+
return;
|
|
38383
|
+
}
|
|
38384
|
+
let wksConfig;
|
|
38385
|
+
if (layer.options.workspace) {
|
|
38386
|
+
wksConfig = layer.options.workspace;
|
|
38387
|
+
}
|
|
38388
|
+
else {
|
|
38389
|
+
wksConfig = {};
|
|
38390
|
+
}
|
|
38391
|
+
wksConfig.srcId = layer.id;
|
|
38392
|
+
wksConfig.workspaceId = layer.id;
|
|
38393
|
+
wksConfig.enabled = true;
|
|
38394
|
+
wksConfig.pageSize = (_b = layer.options.workspace) === null || _b === void 0 ? void 0 : _b.pageSize;
|
|
38395
|
+
wksConfig.pageSizeOptions = (_c = layer.options.workspace) === null || _c === void 0 ? void 0 : _c.pageSizeOptions;
|
|
38396
|
+
const dataSource = layer.dataSource;
|
|
38397
|
+
const wmsLinkId = layer.id + '.WmsWorkspaceTableSrc';
|
|
38398
|
+
const wfsLinkId = layer.id + '.WfsWorkspaceTableDest';
|
|
38399
|
+
if (!layer.options.linkedLayers) {
|
|
38400
|
+
layer.options.linkedLayers = { linkId: wmsLinkId, links: [] };
|
|
38401
|
+
}
|
|
38402
|
+
const linkProperties = {
|
|
38403
|
+
bidirectionnal: true,
|
|
38404
|
+
syncedDelete: true,
|
|
38405
|
+
linkedIds: [wfsLinkId],
|
|
38406
|
+
properties: [
|
|
38407
|
+
LinkedProperties.ZINDEX,
|
|
38408
|
+
LinkedProperties.VISIBLE
|
|
38409
|
+
]
|
|
38410
|
+
};
|
|
38411
|
+
if (!((_d = layer.options.workspace) === null || _d === void 0 ? void 0 : _d.minResolution)) {
|
|
38412
|
+
linkProperties.properties.push(LinkedProperties.MINRESOLUTION);
|
|
38413
|
+
}
|
|
38414
|
+
let hasOgcFilters = false;
|
|
38415
|
+
if ((_e = dataSource.options.ogcFilters) === null || _e === void 0 ? void 0 : _e.enabled) {
|
|
38416
|
+
linkProperties.properties.push(LinkedProperties.OGCFILTERS);
|
|
38417
|
+
hasOgcFilters = true;
|
|
38418
|
+
}
|
|
38419
|
+
if (!((_f = layer.options.workspace) === null || _f === void 0 ? void 0 : _f.maxResolution)) {
|
|
38420
|
+
linkProperties.properties.push(LinkedProperties.MAXRESOLUTION);
|
|
38421
|
+
}
|
|
38422
|
+
let clonedLinks = [];
|
|
38423
|
+
if (layer.options.linkedLayers.links) {
|
|
38424
|
+
clonedLinks = JSON.parse(JSON.stringify(layer.options.linkedLayers.links));
|
|
38425
|
+
}
|
|
38426
|
+
clonedLinks.push(linkProperties);
|
|
38427
|
+
layer.options.linkedLayers.linkId = layer.options.linkedLayers.linkId ? layer.options.linkedLayers.linkId : wmsLinkId,
|
|
38428
|
+
layer.options.linkedLayers.links = clonedLinks;
|
|
38429
|
+
let wks;
|
|
38430
|
+
this.layerService
|
|
38431
|
+
.createAsyncLayer({
|
|
38432
|
+
id: wfsLinkId,
|
|
38433
|
+
linkedLayers: {
|
|
38434
|
+
linkId: wfsLinkId
|
|
38435
|
+
},
|
|
38436
|
+
workspace: {
|
|
38437
|
+
srcId: layer.id,
|
|
38438
|
+
workspaceId: undefined,
|
|
38439
|
+
enabled: false,
|
|
38440
|
+
queryOptions: {
|
|
38441
|
+
mapQueryOnOpenTab: (_h = (_g = layer.options.workspace) === null || _g === void 0 ? void 0 : _g.queryOptions) === null || _h === void 0 ? void 0 : _h.mapQueryOnOpenTab,
|
|
38442
|
+
tabQuery: false
|
|
38443
|
+
},
|
|
38444
|
+
pageSize: (_j = layer.options.workspace) === null || _j === void 0 ? void 0 : _j.pageSize,
|
|
38445
|
+
pageSizeOptions: (_k = layer.options.workspace) === null || _k === void 0 ? void 0 : _k.pageSizeOptions
|
|
38446
|
+
},
|
|
38447
|
+
showInLayerList: false,
|
|
38448
|
+
opacity: 0,
|
|
38449
|
+
title: layer.title,
|
|
38450
|
+
minResolution: ((_l = layer.options.workspace) === null || _l === void 0 ? void 0 : _l.minResolution) || layer.minResolution || 0,
|
|
38451
|
+
maxResolution: ((_m = layer.options.workspace) === null || _m === void 0 ? void 0 : _m.maxResolution) || layer.maxResolution || Infinity,
|
|
38452
|
+
sourceOptions: {
|
|
38453
|
+
download: dataSource.options.download,
|
|
38454
|
+
type: 'wfs',
|
|
38455
|
+
url: dataSource.options.urlWfs || dataSource.options.url,
|
|
38456
|
+
queryable: true,
|
|
38457
|
+
relations: dataSource.options.relations,
|
|
38458
|
+
queryTitle: dataSource.options.queryTitle,
|
|
38459
|
+
params: dataSource.options.paramsWFS,
|
|
38460
|
+
ogcFilters: Object.assign({}, dataSource.ogcFilters$.value, { enabled: hasOgcFilters }),
|
|
38461
|
+
sourceFields: dataSource.options.sourceFields || undefined,
|
|
38462
|
+
edition: dataSource.options.edition
|
|
38463
|
+
}
|
|
38464
|
+
})
|
|
38465
|
+
.subscribe((workspaceLayer) => {
|
|
38466
|
+
map.addLayer(workspaceLayer);
|
|
38467
|
+
layer.ol.setProperties({ linkedLayers: { linkId: layer.options.linkedLayers.linkId, links: clonedLinks } }, false);
|
|
38468
|
+
workspaceLayer.dataSource.ol.refresh();
|
|
38469
|
+
wks = new EditionWorkspace({
|
|
38470
|
+
id: layer.id,
|
|
38471
|
+
title: layer.title,
|
|
38472
|
+
layer: workspaceLayer,
|
|
38473
|
+
map,
|
|
38474
|
+
entityStore: this.createFeatureStore(workspaceLayer, map),
|
|
38475
|
+
actionStore: new ActionStore([]),
|
|
38476
|
+
meta: {
|
|
38477
|
+
tableTemplate: undefined
|
|
38478
|
+
}
|
|
38479
|
+
}, this, this.dialog, this.configService);
|
|
38480
|
+
this.createTableTemplate(wks, workspaceLayer);
|
|
38481
|
+
workspaceLayer.options.workspace.workspaceId = workspaceLayer.id;
|
|
38482
|
+
layer.options.workspace = Object.assign({}, layer.options.workspace, {
|
|
38483
|
+
wksConfig
|
|
38484
|
+
});
|
|
38485
|
+
delete dataSource.options.download;
|
|
38486
|
+
return wks;
|
|
38487
|
+
});
|
|
38488
|
+
return wks;
|
|
38489
|
+
}
|
|
38490
|
+
createFeatureStore(layer, map) {
|
|
38491
|
+
const store = new FeatureStore([], { map });
|
|
38492
|
+
store.bindLayer(layer);
|
|
38493
|
+
const loadingStrategy = new FeatureStoreLoadingLayerStrategy({});
|
|
38494
|
+
const inMapExtentStrategy = new FeatureStoreInMapExtentStrategy({});
|
|
38495
|
+
const inMapResolutionStrategy = new FeatureStoreInMapResolutionStrategy({});
|
|
38496
|
+
const selectedRecordStrategy = new EntityStoreFilterSelectionStrategy({});
|
|
38497
|
+
const selectionStrategy = new FeatureStoreSelectionStrategy({
|
|
38498
|
+
layer: new VectorLayer({
|
|
38499
|
+
zIndex: 300,
|
|
38500
|
+
source: new FeatureDataSource(),
|
|
38501
|
+
style: undefined,
|
|
38502
|
+
showInLayerList: false,
|
|
38503
|
+
exportable: false,
|
|
38504
|
+
browsable: false
|
|
38505
|
+
}),
|
|
38506
|
+
map,
|
|
38507
|
+
hitTolerance: 15,
|
|
38508
|
+
motion: this.zoomAuto ? FeatureMotion.Default : FeatureMotion.None,
|
|
38509
|
+
many: true,
|
|
38510
|
+
dragBox: true
|
|
38511
|
+
});
|
|
38512
|
+
store.addStrategy(loadingStrategy, true);
|
|
38513
|
+
store.addStrategy(inMapExtentStrategy, true);
|
|
38514
|
+
store.addStrategy(inMapResolutionStrategy, true);
|
|
38515
|
+
store.addStrategy(selectionStrategy, true);
|
|
38516
|
+
store.addStrategy(selectedRecordStrategy, false);
|
|
38517
|
+
store.addStrategy(this.createFilterInMapExtentOrResolutionStrategy(), true);
|
|
38518
|
+
return store;
|
|
38519
|
+
}
|
|
38520
|
+
createTableTemplate(workspace, layer) {
|
|
38521
|
+
const fields = layer.dataSource.options.sourceFields || [];
|
|
38522
|
+
const relations = layer.dataSource.options.relations || [];
|
|
38523
|
+
let rendererType = EntityTableColumnRenderer.UnsanitizedHTML;
|
|
38524
|
+
let buttons = [];
|
|
38525
|
+
let columns = [];
|
|
38526
|
+
let relationsColumn = [];
|
|
38527
|
+
buttons = [{
|
|
38528
|
+
name: 'edition',
|
|
38529
|
+
title: undefined,
|
|
38530
|
+
renderer: EntityTableColumnRenderer.ButtonGroup,
|
|
38531
|
+
primary: false,
|
|
38532
|
+
valueAccessor: () => {
|
|
38533
|
+
return [{
|
|
38534
|
+
editMode: false,
|
|
38535
|
+
icon: 'pencil',
|
|
38536
|
+
color: 'primary',
|
|
38537
|
+
click: (feature) => { workspace.editFeature(feature, workspace); }
|
|
38538
|
+
},
|
|
38539
|
+
{
|
|
38540
|
+
editMode: false,
|
|
38541
|
+
icon: 'delete',
|
|
38542
|
+
color: 'warn',
|
|
38543
|
+
click: (feature) => { workspace.deleteFeature(feature, workspace); }
|
|
38544
|
+
},
|
|
38545
|
+
{
|
|
38546
|
+
editMode: true,
|
|
38547
|
+
icon: 'check',
|
|
38548
|
+
color: 'primary',
|
|
38549
|
+
disabled: this.loading,
|
|
38550
|
+
click: (feature) => { this.saveFeature(feature, workspace); }
|
|
38551
|
+
},
|
|
38552
|
+
{
|
|
38553
|
+
editMode: true,
|
|
38554
|
+
icon: 'alpha-x',
|
|
38555
|
+
color: 'primary',
|
|
38556
|
+
disabled: this.loading,
|
|
38557
|
+
click: (feature) => { this.cancelEdit(workspace, feature); }
|
|
38558
|
+
}];
|
|
38559
|
+
}
|
|
38560
|
+
}];
|
|
38561
|
+
if (fields.length === 0) {
|
|
38562
|
+
workspace.entityStore.entities$.pipe(skipWhile(val => val.length === 0), take(1)).subscribe(entities => {
|
|
38563
|
+
const ol = entities[0].ol;
|
|
38564
|
+
const columnsFromFeatures = ol.getKeys()
|
|
38565
|
+
.filter(col => !col.startsWith('_') &&
|
|
38566
|
+
col !== 'geometry' &&
|
|
38567
|
+
col !== ol.getGeometryName() &&
|
|
38568
|
+
!col.match(/boundedby/gi))
|
|
38569
|
+
.map(key => {
|
|
38570
|
+
return {
|
|
38571
|
+
name: `properties.${key}`,
|
|
38572
|
+
title: key,
|
|
38573
|
+
renderer: rendererType,
|
|
38574
|
+
};
|
|
38575
|
+
});
|
|
38576
|
+
workspace.meta.tableTemplate = {
|
|
38577
|
+
selection: false,
|
|
38578
|
+
sort: true,
|
|
38579
|
+
columns: columnsFromFeatures
|
|
38580
|
+
};
|
|
38581
|
+
});
|
|
38582
|
+
return;
|
|
38583
|
+
}
|
|
38584
|
+
columns = fields.map((field) => {
|
|
38585
|
+
let column = {
|
|
38586
|
+
name: `properties.${field.name}`,
|
|
38587
|
+
title: field.alias ? field.alias : field.name,
|
|
38588
|
+
renderer: rendererType,
|
|
38589
|
+
valueAccessor: undefined,
|
|
38590
|
+
cellClassFunc: () => {
|
|
38591
|
+
const cellClass = {};
|
|
38592
|
+
if (field.type) {
|
|
38593
|
+
cellClass[`class_${field.type}`] = true;
|
|
38594
|
+
return cellClass;
|
|
38595
|
+
}
|
|
38596
|
+
},
|
|
38597
|
+
primary: field.primary === true ? true : false,
|
|
38598
|
+
visible: field.visible,
|
|
38599
|
+
validation: field.validation,
|
|
38600
|
+
type: field.type,
|
|
38601
|
+
domainValues: undefined,
|
|
38602
|
+
relation: undefined,
|
|
38603
|
+
multiple: field.multiple,
|
|
38604
|
+
step: field.step,
|
|
38605
|
+
tooltip: field.tooltip
|
|
38606
|
+
};
|
|
38607
|
+
if (field.type === 'list' || field.type === 'autocomplete') {
|
|
38608
|
+
this.getDomainValues(field.relation.table).subscribe(result => {
|
|
38609
|
+
column.domainValues = result;
|
|
38610
|
+
column.relation = field.relation;
|
|
38611
|
+
});
|
|
38612
|
+
}
|
|
38613
|
+
return column;
|
|
38614
|
+
});
|
|
38615
|
+
relationsColumn = relations.map((relation) => {
|
|
38616
|
+
return {
|
|
38617
|
+
name: `properties.${relation.name}`,
|
|
38618
|
+
title: relation.alias ? relation.alias : relation.name,
|
|
38619
|
+
renderer: EntityTableColumnRenderer.Icon,
|
|
38620
|
+
icon: relation.icon,
|
|
38621
|
+
parent: relation.parent,
|
|
38622
|
+
type: 'relation',
|
|
38623
|
+
tooltip: relation.tooltip,
|
|
38624
|
+
onClick: () => {
|
|
38625
|
+
if (this.adding$.getValue() === false) {
|
|
38626
|
+
this.ws$.next(relation.title);
|
|
38627
|
+
}
|
|
38628
|
+
},
|
|
38629
|
+
cellClassFunc: () => {
|
|
38630
|
+
return { 'class_icon': true };
|
|
38631
|
+
}
|
|
38632
|
+
};
|
|
38633
|
+
});
|
|
38634
|
+
columns.push(...relationsColumn);
|
|
38635
|
+
columns.push(...buttons);
|
|
38636
|
+
workspace.meta.tableTemplate = {
|
|
38637
|
+
selection: false,
|
|
38638
|
+
sort: true,
|
|
38639
|
+
columns
|
|
38640
|
+
};
|
|
38641
|
+
}
|
|
38642
|
+
createFilterInMapExtentOrResolutionStrategy() {
|
|
38643
|
+
const filterClauseFunc = (record) => {
|
|
38644
|
+
return record.state.inMapExtent === true && record.state.inMapResolution === true;
|
|
38645
|
+
};
|
|
38646
|
+
return new EntityStoreFilterCustomFuncStrategy({ filterClauseFunc });
|
|
38647
|
+
}
|
|
38648
|
+
saveFeature(feature, workspace) {
|
|
38649
|
+
if (!this.validateFeature(feature, workspace)) {
|
|
38650
|
+
return false;
|
|
38651
|
+
}
|
|
38652
|
+
this.sanitizeParameter(feature, workspace);
|
|
38653
|
+
let url = this.configService.getConfig('edition.url');
|
|
38654
|
+
if (workspace.layer.dataSource.options.edition.baseUrl) {
|
|
38655
|
+
url += workspace.layer.dataSource.options.edition.baseUrl;
|
|
38656
|
+
}
|
|
38657
|
+
if (feature.newFeature) {
|
|
38658
|
+
url += workspace.layer.dataSource.options.edition.addUrl;
|
|
38659
|
+
const addHeaders = workspace.layer.dataSource.options.edition.addHeaders;
|
|
38660
|
+
const headers = new HttpHeaders(addHeaders);
|
|
38661
|
+
this.addFeature(feature, workspace, url, headers);
|
|
38662
|
+
}
|
|
38663
|
+
else {
|
|
38664
|
+
if (workspace.layer.dataSource.options.edition.modifyProtocol !== "post") {
|
|
38665
|
+
url += '?' + workspace.layer.dataSource.options.edition.modifyUrl + feature.idkey;
|
|
38666
|
+
}
|
|
38667
|
+
else {
|
|
38668
|
+
url += workspace.layer.dataSource.options.edition.modifyUrl;
|
|
38669
|
+
}
|
|
38670
|
+
const protocole = workspace.layer.dataSource.options.edition.modifyProtocol;
|
|
38671
|
+
const modifyHeaders = workspace.layer.dataSource.options.edition.modifyHeaders;
|
|
38672
|
+
const headers = new HttpHeaders(modifyHeaders);
|
|
38673
|
+
this.modifyFeature(feature, workspace, url, headers, protocole);
|
|
38674
|
+
}
|
|
38675
|
+
}
|
|
38676
|
+
addFeature(feature, workspace, url, headers) {
|
|
38677
|
+
var _a;
|
|
38678
|
+
// TODO: adapt to any kind of geometry
|
|
38679
|
+
if (workspace.layer.dataSource.options.edition.hasGeometry) {
|
|
38680
|
+
//feature.properties[geom] = feature.geometry;
|
|
38681
|
+
feature.properties["longitude"] = feature.geometry.coordinates[0];
|
|
38682
|
+
feature.properties["latitude"] = feature.geometry.coordinates[1];
|
|
38683
|
+
}
|
|
38684
|
+
for (const property in feature.properties) {
|
|
38685
|
+
for (const sf of workspace.layer.dataSource.options.sourceFields) {
|
|
38686
|
+
if (sf.name === property && ((_a = sf.validation) === null || _a === void 0 ? void 0 : _a.readonly)) {
|
|
38687
|
+
delete feature.properties[property];
|
|
38688
|
+
}
|
|
38689
|
+
}
|
|
38690
|
+
}
|
|
38691
|
+
this.loading = true;
|
|
38692
|
+
this.http.post(`${url}`, feature.properties, { headers: headers }).subscribe(() => {
|
|
38693
|
+
this.loading = false;
|
|
38694
|
+
workspace.entityStore.stateView.clear();
|
|
38695
|
+
workspace.deleteDrawings();
|
|
38696
|
+
workspace.entityStore.delete(feature);
|
|
38697
|
+
const message = this.languageService.translate.instant('igo.geo.workspace.addSuccess');
|
|
38698
|
+
this.messageService.success(message);
|
|
38699
|
+
this.refreshMap(workspace.layer, workspace.layer.map);
|
|
38700
|
+
this.adding$.next(false);
|
|
38701
|
+
this.rowsInMapExtentCheckCondition$.next(true);
|
|
38702
|
+
}, error => {
|
|
38703
|
+
this.loading = false;
|
|
38704
|
+
error.error.caught = true;
|
|
38705
|
+
const genericErrorMessage = this.languageService.translate.instant('igo.geo.workspace.addError');
|
|
38706
|
+
const messages = workspace.layer.dataSource.options.edition.messages;
|
|
38707
|
+
if (messages) {
|
|
38708
|
+
let text;
|
|
38709
|
+
messages.forEach(message => {
|
|
38710
|
+
const key = Object.keys(message)[0];
|
|
38711
|
+
if (error.error.message.includes(key)) {
|
|
38712
|
+
text = message[key];
|
|
38713
|
+
this.messageService.error(text);
|
|
38714
|
+
}
|
|
38715
|
+
});
|
|
38716
|
+
if (!text) {
|
|
38717
|
+
this.messageService.error(genericErrorMessage);
|
|
38718
|
+
}
|
|
38719
|
+
}
|
|
38720
|
+
else {
|
|
38721
|
+
this.messageService.error(genericErrorMessage);
|
|
38722
|
+
}
|
|
38723
|
+
});
|
|
38724
|
+
}
|
|
38725
|
+
deleteFeature(workspace, url) {
|
|
38726
|
+
this.loading = true;
|
|
38727
|
+
this.http.delete(`${url}`, {}).subscribe(() => {
|
|
38728
|
+
this.loading = false;
|
|
38729
|
+
const message = this.languageService.translate.instant('igo.geo.workspace.deleteSuccess');
|
|
38730
|
+
this.messageService.success(message);
|
|
38731
|
+
this.refreshMap(workspace.layer, workspace.layer.map);
|
|
38732
|
+
for (const relation of workspace.layer.options.sourceOptions.relations) {
|
|
38733
|
+
workspace.map.layers.forEach((layer) => {
|
|
38734
|
+
if (layer.title === relation.title) {
|
|
38735
|
+
layer.dataSource.ol.refresh();
|
|
38736
|
+
}
|
|
38737
|
+
});
|
|
38738
|
+
}
|
|
38739
|
+
}, error => {
|
|
38740
|
+
this.loading = false;
|
|
38741
|
+
error.error.caught = true;
|
|
38742
|
+
const genericErrorMessage = this.languageService.translate.instant('igo.geo.workspace.addError');
|
|
38743
|
+
const messages = workspace.layer.dataSource.options.edition.messages;
|
|
38744
|
+
if (messages) {
|
|
38745
|
+
let text;
|
|
38746
|
+
messages.forEach(message => {
|
|
38747
|
+
const key = Object.keys(message)[0];
|
|
38748
|
+
if (error.error.message.includes(key)) {
|
|
38749
|
+
text = message[key];
|
|
38750
|
+
this.messageService.error(text);
|
|
38751
|
+
}
|
|
38752
|
+
});
|
|
38753
|
+
if (!text) {
|
|
38754
|
+
this.messageService.error(genericErrorMessage);
|
|
38755
|
+
}
|
|
38756
|
+
}
|
|
38757
|
+
else {
|
|
38758
|
+
this.messageService.error(genericErrorMessage);
|
|
38759
|
+
}
|
|
38760
|
+
});
|
|
38761
|
+
}
|
|
38762
|
+
modifyFeature(feature, workspace, url, headers, protocole = 'patch') {
|
|
38763
|
+
var _a;
|
|
38764
|
+
//TODO: adapt to any kind of geometry
|
|
38765
|
+
if (workspace.layer.dataSource.options.edition.hasGeometry) {
|
|
38766
|
+
//feature.properties[geom] = feature.geometry;
|
|
38767
|
+
feature.properties["longitude"] = feature.geometry.coordinates[0];
|
|
38768
|
+
feature.properties["latitude"] = feature.geometry.coordinates[1];
|
|
38769
|
+
}
|
|
38770
|
+
for (const property in feature.properties) {
|
|
38771
|
+
for (const sf of workspace.layer.dataSource.options.sourceFields) {
|
|
38772
|
+
if ((sf.name === property && ((_a = sf.validation) === null || _a === void 0 ? void 0 : _a.readonly)) || property === 'boundedBy') {
|
|
38773
|
+
delete feature.properties[property];
|
|
38774
|
+
}
|
|
38775
|
+
}
|
|
38776
|
+
}
|
|
38777
|
+
this.loading = true;
|
|
38778
|
+
this.http[protocole](`${url}`, feature.properties, { headers: headers }).subscribe(() => {
|
|
38779
|
+
this.loading = false;
|
|
38780
|
+
this.cancelEdit(workspace, feature, true);
|
|
38781
|
+
const message = this.languageService.translate.instant('igo.geo.workspace.modifySuccess');
|
|
38782
|
+
this.messageService.success(message);
|
|
38783
|
+
this.refreshMap(workspace.layer, workspace.layer.map);
|
|
38784
|
+
let relationLayers = [];
|
|
38785
|
+
for (const relation of workspace.layer.options.sourceOptions.relations) {
|
|
38786
|
+
workspace.map.layers.forEach((layer) => {
|
|
38787
|
+
if (layer.title === relation.title) {
|
|
38788
|
+
relationLayers.push(layer);
|
|
38789
|
+
layer.dataSource.ol.refresh();
|
|
38790
|
+
}
|
|
38791
|
+
});
|
|
38792
|
+
}
|
|
38793
|
+
this.relationLayers$.next(relationLayers);
|
|
38794
|
+
}, error => {
|
|
38795
|
+
this.loading = false;
|
|
38796
|
+
error.error.caught = true;
|
|
38797
|
+
const genericErrorMessage = this.languageService.translate.instant('igo.geo.workspace.addError');
|
|
38798
|
+
const messages = workspace.layer.dataSource.options.edition.messages;
|
|
38799
|
+
if (messages) {
|
|
38800
|
+
let text;
|
|
38801
|
+
messages.forEach(message => {
|
|
38802
|
+
const key = Object.keys(message)[0];
|
|
38803
|
+
if (error.error.message.includes(key)) {
|
|
38804
|
+
text = message[key];
|
|
38805
|
+
this.messageService.error(text);
|
|
38806
|
+
}
|
|
38807
|
+
});
|
|
38808
|
+
if (!text) {
|
|
38809
|
+
this.messageService.error(genericErrorMessage);
|
|
38810
|
+
}
|
|
38811
|
+
}
|
|
38812
|
+
else {
|
|
38813
|
+
this.messageService.error(genericErrorMessage);
|
|
38814
|
+
}
|
|
38815
|
+
});
|
|
38816
|
+
}
|
|
38817
|
+
cancelEdit(workspace, feature, fromSave = false) {
|
|
38818
|
+
feature.edition = false;
|
|
38819
|
+
this.adding$.next(false);
|
|
38820
|
+
workspace.deleteDrawings();
|
|
38821
|
+
if (feature.newFeature) {
|
|
38822
|
+
workspace.entityStore.stateView.clear();
|
|
38823
|
+
workspace.entityStore.delete(feature);
|
|
38824
|
+
workspace.deactivateDrawControl();
|
|
38825
|
+
this.rowsInMapExtentCheckCondition$.next(true);
|
|
38826
|
+
}
|
|
38827
|
+
else {
|
|
38828
|
+
if (!fromSave) {
|
|
38829
|
+
feature.properties = feature.original_properties;
|
|
38830
|
+
feature.geometry = feature.original_geometry;
|
|
38831
|
+
}
|
|
38832
|
+
delete feature.original_properties;
|
|
38833
|
+
delete feature.original_geometry;
|
|
38834
|
+
}
|
|
38835
|
+
}
|
|
38836
|
+
getDomainValues(table) {
|
|
38837
|
+
let url = this.configService.getConfig('edition.url') + table;
|
|
38838
|
+
return this.http.get(url).pipe(map(result => {
|
|
38839
|
+
return result;
|
|
38840
|
+
}), catchError((err) => {
|
|
38841
|
+
return throwError(err);
|
|
38842
|
+
}));
|
|
38843
|
+
}
|
|
38844
|
+
/*
|
|
38845
|
+
* Refresh both wms and wfs layer
|
|
38846
|
+
* A new wfs loader is used to ensure cache is not retrieving old data
|
|
38847
|
+
* WMS params are updated to ensure layer is correctly refreshed
|
|
38848
|
+
*/
|
|
38849
|
+
refreshMap(layer, map) {
|
|
38850
|
+
var _a, _b;
|
|
38851
|
+
const wfsOlLayer = layer.dataSource.ol;
|
|
38852
|
+
const loader = (extent, resolution, proj, success, failure) => {
|
|
38853
|
+
layer.customWFSLoader(layer.ol.getSource(), layer.options.sourceOptions, this.authInterceptor, extent, resolution, proj, success, failure, true);
|
|
38854
|
+
};
|
|
38855
|
+
wfsOlLayer.setLoader(loader);
|
|
38856
|
+
wfsOlLayer.refresh();
|
|
38857
|
+
for (const lay of map.layers) {
|
|
38858
|
+
if (lay.id !== layer.id &&
|
|
38859
|
+
((_a = lay.options.linkedLayers) === null || _a === void 0 ? void 0 : _a.linkId.includes(layer.id.substr(0, layer.id.indexOf('.') - 1))) &&
|
|
38860
|
+
((_b = lay.options.linkedLayers) === null || _b === void 0 ? void 0 : _b.linkId.includes('WmsWorkspaceTableSrc'))) {
|
|
38861
|
+
const wmsOlLayer = lay.dataSource.ol;
|
|
38862
|
+
let params = wmsOlLayer.getParams();
|
|
38863
|
+
params._t = new Date().getTime();
|
|
38864
|
+
wmsOlLayer.updateParams(params);
|
|
38865
|
+
}
|
|
38866
|
+
}
|
|
38867
|
+
}
|
|
38868
|
+
validateFeature(feature, workspace) {
|
|
38869
|
+
const translate = this.languageService.translate;
|
|
38870
|
+
let message;
|
|
38871
|
+
let key;
|
|
38872
|
+
let valid = true;
|
|
38873
|
+
workspace.meta.tableTemplate.columns.forEach(column => {
|
|
38874
|
+
if (column.hasOwnProperty('validation') && column.validation) {
|
|
38875
|
+
key = getColumnKeyWithoutPropertiesTag(column.name);
|
|
38876
|
+
Object.keys(column.validation).forEach((type) => {
|
|
38877
|
+
switch (type) {
|
|
38878
|
+
case 'mandatory': {
|
|
38879
|
+
if (column.validation[type] && (!feature.properties.hasOwnProperty(key) || !feature.properties[key])) {
|
|
38880
|
+
valid = false;
|
|
38881
|
+
message = translate.instant('igo.geo.formValidation.mandatory', {
|
|
38882
|
+
column: column.title
|
|
38883
|
+
});
|
|
38884
|
+
this.messageService.error(message);
|
|
38885
|
+
}
|
|
38886
|
+
break;
|
|
38887
|
+
}
|
|
38888
|
+
case 'minValue': {
|
|
38889
|
+
if (feature.properties.hasOwnProperty(key) && feature.properties[key] && feature.properties[key] < column.validation[type]) {
|
|
38890
|
+
valid = false;
|
|
38891
|
+
message = translate.instant('igo.geo.formValidation.minValue', {
|
|
38892
|
+
column: column.title,
|
|
38893
|
+
value: column.validation[type]
|
|
38894
|
+
});
|
|
38895
|
+
this.messageService.error(message);
|
|
38896
|
+
}
|
|
38897
|
+
break;
|
|
38898
|
+
}
|
|
38899
|
+
case 'maxValue': {
|
|
38900
|
+
if (feature.properties.hasOwnProperty(key) && feature.properties[key] && feature.properties[key] > column.validation[type]) {
|
|
38901
|
+
valid = false;
|
|
38902
|
+
message = translate.instant('igo.geo.formValidation.maxValue', {
|
|
38903
|
+
column: column.title,
|
|
38904
|
+
value: column.validation[type]
|
|
38905
|
+
});
|
|
38906
|
+
this.messageService.error(message);
|
|
38907
|
+
}
|
|
38908
|
+
break;
|
|
38909
|
+
}
|
|
38910
|
+
case 'minLength': {
|
|
38911
|
+
if (feature.properties.hasOwnProperty(key) && feature.properties[key] &&
|
|
38912
|
+
feature.properties[key].length < column.validation[type]) {
|
|
38913
|
+
valid = false;
|
|
38914
|
+
message = translate.instant('igo.geo.formValidation.minLength', {
|
|
38915
|
+
column: column.title,
|
|
38916
|
+
value: column.validation[type]
|
|
38917
|
+
});
|
|
38918
|
+
this.messageService.error(message);
|
|
38919
|
+
}
|
|
38920
|
+
break;
|
|
38921
|
+
}
|
|
38922
|
+
case 'maxLength': {
|
|
38923
|
+
if (feature.properties.hasOwnProperty(key) && feature.properties[key] &&
|
|
38924
|
+
feature.properties[key].length > column.validation[type]) {
|
|
38925
|
+
valid = false;
|
|
38926
|
+
message = translate.instant('igo.geo.formValidation.maxLength', {
|
|
38927
|
+
column: column.title,
|
|
38928
|
+
value: column.validation[type]
|
|
38929
|
+
});
|
|
38930
|
+
this.messageService.error(message);
|
|
38931
|
+
}
|
|
38932
|
+
break;
|
|
38933
|
+
}
|
|
38934
|
+
}
|
|
38935
|
+
});
|
|
38936
|
+
}
|
|
38937
|
+
});
|
|
38938
|
+
return valid;
|
|
38939
|
+
}
|
|
38940
|
+
sanitizeParameter(feature, workspace) {
|
|
38941
|
+
workspace.meta.tableTemplate.columns.forEach(column => {
|
|
38942
|
+
if (column.type === 'list' && feature.properties[getColumnKeyWithoutPropertiesTag(column.name)]) {
|
|
38943
|
+
feature.properties[getColumnKeyWithoutPropertiesTag(column.name)] =
|
|
38944
|
+
feature.properties[getColumnKeyWithoutPropertiesTag(column.name)].toString();
|
|
38945
|
+
}
|
|
38946
|
+
});
|
|
38947
|
+
}
|
|
38948
|
+
}
|
|
38949
|
+
EditionWorkspaceService.ɵfac = function EditionWorkspaceService_Factory(t) { return new (t || EditionWorkspaceService)(i0.ɵɵinject(LayerService), i0.ɵɵinject(i2$1.StorageService), i0.ɵɵinject(i2$1.ConfigService), i0.ɵɵinject(i2$1.MessageService), i0.ɵɵinject(i2$1.LanguageService), i0.ɵɵinject(i1$2.HttpClient), i0.ɵɵinject(i1.MatDialog), i0.ɵɵinject(i5.AuthInterceptor)); };
|
|
38950
|
+
EditionWorkspaceService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: EditionWorkspaceService, factory: EditionWorkspaceService.ɵfac, providedIn: 'root' });
|
|
38951
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EditionWorkspaceService, [{
|
|
38952
|
+
type: Injectable,
|
|
38953
|
+
args: [{
|
|
38954
|
+
providedIn: 'root'
|
|
38955
|
+
}]
|
|
38956
|
+
}], function () { return [{ type: LayerService }, { type: i2$1.StorageService }, { type: i2$1.ConfigService }, { type: i2$1.MessageService }, { type: i2$1.LanguageService }, { type: i1$2.HttpClient }, { type: i1.MatDialog }, { type: i5.AuthInterceptor }]; }, null); })();
|
|
38957
|
+
function getColumnKeyWithoutPropertiesTag(column) {
|
|
38958
|
+
if (column.includes('properties.')) {
|
|
38959
|
+
return column.split('.')[1];
|
|
38960
|
+
}
|
|
38961
|
+
return column;
|
|
38962
|
+
}
|
|
38963
|
+
|
|
37456
38964
|
class FeatureWorkspace extends Workspace {
|
|
37457
38965
|
constructor(options) {
|
|
37458
38966
|
super(options);
|
|
@@ -37469,25 +38977,42 @@ class FeatureWorkspace extends Workspace {
|
|
|
37469
38977
|
}
|
|
37470
38978
|
get layer() { return this.options.layer; }
|
|
37471
38979
|
get map() { return this.options.map; }
|
|
38980
|
+
getLayerWksOptionTabQuery() {
|
|
38981
|
+
var _a;
|
|
38982
|
+
if (((_a = this.layer.options.workspace.queryOptions) === null || _a === void 0 ? void 0 : _a.tabQuery) !== undefined) {
|
|
38983
|
+
return this.layer.options.workspace.queryOptions.tabQuery;
|
|
38984
|
+
}
|
|
38985
|
+
return true;
|
|
38986
|
+
}
|
|
38987
|
+
getLayerWksOptionMapQuery() {
|
|
38988
|
+
var _a;
|
|
38989
|
+
if (((_a = this.layer.options.workspace.queryOptions) === null || _a === void 0 ? void 0 : _a.mapQueryOnOpenTab) !== undefined) {
|
|
38990
|
+
return this.layer.options.workspace.queryOptions.mapQueryOnOpenTab;
|
|
38991
|
+
}
|
|
38992
|
+
return true;
|
|
38993
|
+
}
|
|
38994
|
+
getInResolutionRange() {
|
|
38995
|
+
return this.inResolutionRange$.value;
|
|
38996
|
+
}
|
|
37472
38997
|
}
|
|
37473
38998
|
|
|
37474
38999
|
class FeatureWorkspaceService {
|
|
37475
39000
|
constructor(storageService) {
|
|
37476
39001
|
this.storageService = storageService;
|
|
39002
|
+
this.ws$ = new BehaviorSubject(undefined);
|
|
37477
39003
|
}
|
|
37478
39004
|
get zoomAuto() {
|
|
37479
39005
|
return this.storageService.get('zoomAuto');
|
|
37480
39006
|
}
|
|
37481
39007
|
createWorkspace(layer, map) {
|
|
37482
39008
|
var _a;
|
|
37483
|
-
if (((_a = layer.options.workspace) === null || _a === void 0 ? void 0 : _a.enabled) === false) {
|
|
39009
|
+
if (((_a = layer.options.workspace) === null || _a === void 0 ? void 0 : _a.enabled) === false || layer.dataSource.options.edition) {
|
|
37484
39010
|
return;
|
|
37485
39011
|
}
|
|
37486
|
-
layer.options.workspace = Object.assign({}, layer.options.workspace, { enabled: true });
|
|
37487
39012
|
layer.options.workspace = Object.assign({}, layer.options.workspace, {
|
|
37488
|
-
enabled: true,
|
|
37489
39013
|
srcId: layer.id,
|
|
37490
|
-
workspaceId: layer.id
|
|
39014
|
+
workspaceId: layer.id,
|
|
39015
|
+
enabled: true
|
|
37491
39016
|
});
|
|
37492
39017
|
const wks = new FeatureWorkspace({
|
|
37493
39018
|
id: layer.id,
|
|
@@ -37535,6 +39060,7 @@ class FeatureWorkspaceService {
|
|
|
37535
39060
|
}
|
|
37536
39061
|
createTableTemplate(workspace, layer) {
|
|
37537
39062
|
const fields = layer.dataSource.options.sourceFields || [];
|
|
39063
|
+
const relations = layer.dataSource.options.relations || [];
|
|
37538
39064
|
if (fields.length === 0) {
|
|
37539
39065
|
workspace.entityStore.entities$.pipe(skipWhile(val => val.length === 0), take(1)).subscribe(entities => {
|
|
37540
39066
|
const ol = entities[0].ol;
|
|
@@ -37562,9 +39088,28 @@ class FeatureWorkspaceService {
|
|
|
37562
39088
|
return {
|
|
37563
39089
|
name: `properties.${field.name}`,
|
|
37564
39090
|
title: field.alias ? field.alias : field.name,
|
|
37565
|
-
renderer: EntityTableColumnRenderer.UnsanitizedHTML
|
|
39091
|
+
renderer: EntityTableColumnRenderer.UnsanitizedHTML,
|
|
39092
|
+
tooltip: field.tooltip
|
|
37566
39093
|
};
|
|
37567
39094
|
});
|
|
39095
|
+
const relationsColumn = relations.map((relation) => {
|
|
39096
|
+
return {
|
|
39097
|
+
name: `properties.${relation.name}`,
|
|
39098
|
+
title: relation.alias ? relation.alias : relation.name,
|
|
39099
|
+
renderer: EntityTableColumnRenderer.Icon,
|
|
39100
|
+
icon: relation.icon,
|
|
39101
|
+
parent: relation.parent,
|
|
39102
|
+
type: 'relation',
|
|
39103
|
+
tooltip: relation.tooltip,
|
|
39104
|
+
onClick: () => {
|
|
39105
|
+
this.ws$.next(relation.title);
|
|
39106
|
+
},
|
|
39107
|
+
cellClassFunc: () => {
|
|
39108
|
+
return { 'class_icon': true };
|
|
39109
|
+
}
|
|
39110
|
+
};
|
|
39111
|
+
});
|
|
39112
|
+
columns.push(...relationsColumn);
|
|
37568
39113
|
workspace.meta.tableTemplate = {
|
|
37569
39114
|
selection: true,
|
|
37570
39115
|
sort: true,
|
|
@@ -37588,12 +39133,17 @@ FeatureWorkspaceService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token:
|
|
|
37588
39133
|
}], function () { return [{ type: i2$1.StorageService }]; }, null); })();
|
|
37589
39134
|
|
|
37590
39135
|
class WorkspaceSelectorDirective {
|
|
37591
|
-
constructor(component, wfsWorkspaceService, wmsWorkspaceService, featureWorkspaceService) {
|
|
39136
|
+
constructor(component, wfsWorkspaceService, wmsWorkspaceService, editionWorkspaceService, featureWorkspaceService) {
|
|
37592
39137
|
this.component = component;
|
|
37593
39138
|
this.wfsWorkspaceService = wfsWorkspaceService;
|
|
37594
39139
|
this.wmsWorkspaceService = wmsWorkspaceService;
|
|
39140
|
+
this.editionWorkspaceService = editionWorkspaceService;
|
|
37595
39141
|
this.featureWorkspaceService = featureWorkspaceService;
|
|
37596
39142
|
this.entities$$ = [];
|
|
39143
|
+
this.changeWorkspace = new EventEmitter();
|
|
39144
|
+
this.disableSwitch = new EventEmitter();
|
|
39145
|
+
this.relationLayers = new EventEmitter();
|
|
39146
|
+
this.rowsInMapExtentCheckCondition = new EventEmitter();
|
|
37597
39147
|
}
|
|
37598
39148
|
get workspaceStore() {
|
|
37599
39149
|
return this.component.store;
|
|
@@ -37602,6 +39152,15 @@ class WorkspaceSelectorDirective {
|
|
|
37602
39152
|
this.layers$$ = this.map.layers$
|
|
37603
39153
|
.pipe(debounceTime(50))
|
|
37604
39154
|
.subscribe((layers) => this.onLayersChange(layers));
|
|
39155
|
+
this.featureWorkspaceService.ws$.subscribe((ws) => { this.changeWorkspace.emit(ws); });
|
|
39156
|
+
this.wmsWorkspaceService.ws$.subscribe((ws) => { this.changeWorkspace.emit(ws); });
|
|
39157
|
+
this.wfsWorkspaceService.ws$.subscribe((ws) => { this.changeWorkspace.emit(ws); });
|
|
39158
|
+
this.editionWorkspaceService.ws$.subscribe((ws) => { this.changeWorkspace.emit(ws); });
|
|
39159
|
+
this.editionWorkspaceService.adding$.subscribe((adding) => { this.disableSwitch.emit(adding); });
|
|
39160
|
+
this.editionWorkspaceService.relationLayers$.subscribe((layers) => { this.relationLayers.emit(layers); });
|
|
39161
|
+
this.editionWorkspaceService.rowsInMapExtentCheckCondition$.subscribe((condition) => {
|
|
39162
|
+
this.rowsInMapExtentCheckCondition.emit(condition);
|
|
39163
|
+
});
|
|
37605
39164
|
}
|
|
37606
39165
|
ngOnDestroy() {
|
|
37607
39166
|
this.layers$$.unsubscribe();
|
|
@@ -37630,15 +39189,16 @@ class WorkspaceSelectorDirective {
|
|
|
37630
39189
|
}
|
|
37631
39190
|
}
|
|
37632
39191
|
getOrCreateWorkspace(layer) {
|
|
39192
|
+
var _a, _b, _c, _d;
|
|
37633
39193
|
const workspace = this.workspaceStore.get(layer.id);
|
|
37634
39194
|
if (workspace !== undefined) {
|
|
37635
39195
|
return;
|
|
37636
39196
|
}
|
|
37637
|
-
if (layer.dataSource instanceof WFSDataSource) {
|
|
39197
|
+
if (layer.dataSource instanceof WFSDataSource && ((_a = layer.dataSource.options.edition) === null || _a === void 0 ? void 0 : _a.enabled) !== true) {
|
|
37638
39198
|
const wfsWks = this.wfsWorkspaceService.createWorkspace(layer, this.map);
|
|
37639
39199
|
return wfsWks;
|
|
37640
39200
|
}
|
|
37641
|
-
else if (layer.dataSource instanceof WMSDataSource) {
|
|
39201
|
+
else if (layer.dataSource instanceof WMSDataSource && ((_b = layer.dataSource.options.edition) === null || _b === void 0 ? void 0 : _b.enabled) !== true) {
|
|
37642
39202
|
if (!layer.dataSource.options.paramsWFS) {
|
|
37643
39203
|
return;
|
|
37644
39204
|
}
|
|
@@ -37649,10 +39209,16 @@ class WorkspaceSelectorDirective {
|
|
|
37649
39209
|
});
|
|
37650
39210
|
return wmsWks;
|
|
37651
39211
|
}
|
|
37652
|
-
else if (layer.dataSource instanceof FeatureDataSource &&
|
|
39212
|
+
else if (layer.dataSource instanceof FeatureDataSource &&
|
|
39213
|
+
layer.exportable === true &&
|
|
39214
|
+
((_c = layer.dataSource.options.edition) === null || _c === void 0 ? void 0 : _c.enabled) !== true) {
|
|
37653
39215
|
const featureWks = this.featureWorkspaceService.createWorkspace(layer, this.map);
|
|
37654
39216
|
return featureWks;
|
|
37655
39217
|
}
|
|
39218
|
+
else if (layer.dataSource instanceof WMSDataSource && ((_d = layer.dataSource.options.edition) === null || _d === void 0 ? void 0 : _d.enabled) === true) {
|
|
39219
|
+
const editionWks = this.editionWorkspaceService.createWorkspace(layer, this.map);
|
|
39220
|
+
return editionWks;
|
|
39221
|
+
}
|
|
37656
39222
|
return;
|
|
37657
39223
|
}
|
|
37658
39224
|
layerIsEditable(layer) {
|
|
@@ -37672,15 +39238,23 @@ class WorkspaceSelectorDirective {
|
|
|
37672
39238
|
return false;
|
|
37673
39239
|
}
|
|
37674
39240
|
}
|
|
37675
|
-
WorkspaceSelectorDirective.ɵfac = function WorkspaceSelectorDirective_Factory(t) { return new (t || WorkspaceSelectorDirective)(i0.ɵɵdirectiveInject(i6
|
|
37676
|
-
WorkspaceSelectorDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: WorkspaceSelectorDirective, selectors: [["", "igoWorkspaceSelector", ""]], inputs: { map: "map" } });
|
|
39241
|
+
WorkspaceSelectorDirective.ɵfac = function WorkspaceSelectorDirective_Factory(t) { return new (t || WorkspaceSelectorDirective)(i0.ɵɵdirectiveInject(i6.WorkspaceSelectorComponent), i0.ɵɵdirectiveInject(WfsWorkspaceService), i0.ɵɵdirectiveInject(WmsWorkspaceService), i0.ɵɵdirectiveInject(EditionWorkspaceService), i0.ɵɵdirectiveInject(FeatureWorkspaceService)); };
|
|
39242
|
+
WorkspaceSelectorDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: WorkspaceSelectorDirective, selectors: [["", "igoWorkspaceSelector", ""]], inputs: { map: "map" }, outputs: { changeWorkspace: "changeWorkspace", disableSwitch: "disableSwitch", relationLayers: "relationLayers", rowsInMapExtentCheckCondition: "rowsInMapExtentCheckCondition" } });
|
|
37677
39243
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkspaceSelectorDirective, [{
|
|
37678
39244
|
type: Directive,
|
|
37679
39245
|
args: [{
|
|
37680
39246
|
selector: '[igoWorkspaceSelector]'
|
|
37681
39247
|
}]
|
|
37682
|
-
}], function () { return [{ type: i6
|
|
39248
|
+
}], function () { return [{ type: i6.WorkspaceSelectorComponent }, { type: WfsWorkspaceService }, { type: WmsWorkspaceService }, { type: EditionWorkspaceService }, { type: FeatureWorkspaceService }]; }, { map: [{
|
|
37683
39249
|
type: Input
|
|
39250
|
+
}], changeWorkspace: [{
|
|
39251
|
+
type: Output
|
|
39252
|
+
}], disableSwitch: [{
|
|
39253
|
+
type: Output
|
|
39254
|
+
}], relationLayers: [{
|
|
39255
|
+
type: Output
|
|
39256
|
+
}], rowsInMapExtentCheckCondition: [{
|
|
39257
|
+
type: Output
|
|
37684
39258
|
}] }); })();
|
|
37685
39259
|
|
|
37686
39260
|
/**
|
|
@@ -37710,9 +39284,10 @@ IgoWorkspaceSelectorModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports
|
|
|
37710
39284
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoWorkspaceSelectorModule, { declarations: [WorkspaceSelectorDirective], imports: [CommonModule], exports: [WorkspaceSelectorDirective] }); })();
|
|
37711
39285
|
|
|
37712
39286
|
class WorkspaceUpdatorDirective {
|
|
37713
|
-
constructor(wfsWorkspaceService, wmsWorkspaceService, featureWorkspaceService) {
|
|
39287
|
+
constructor(wfsWorkspaceService, wmsWorkspaceService, editionWorkspaceService, featureWorkspaceService) {
|
|
37714
39288
|
this.wfsWorkspaceService = wfsWorkspaceService;
|
|
37715
39289
|
this.wmsWorkspaceService = wmsWorkspaceService;
|
|
39290
|
+
this.editionWorkspaceService = editionWorkspaceService;
|
|
37716
39291
|
this.featureWorkspaceService = featureWorkspaceService;
|
|
37717
39292
|
this.entities$$ = [];
|
|
37718
39293
|
}
|
|
@@ -37748,29 +39323,41 @@ class WorkspaceUpdatorDirective {
|
|
|
37748
39323
|
}
|
|
37749
39324
|
}
|
|
37750
39325
|
getOrCreateWorkspace(layer) {
|
|
39326
|
+
var _a, _b, _c, _d;
|
|
37751
39327
|
const workspace = this.workspaceStore.get(layer.id);
|
|
37752
39328
|
if (workspace !== undefined) {
|
|
37753
39329
|
return;
|
|
37754
39330
|
}
|
|
37755
|
-
if (layer.dataSource instanceof WFSDataSource) {
|
|
39331
|
+
if (layer.dataSource instanceof WFSDataSource && ((_a = layer.dataSource.options.edition) === null || _a === void 0 ? void 0 : _a.enabled) !== true) {
|
|
37756
39332
|
const wfsWks = this.wfsWorkspaceService.createWorkspace(layer, this.map);
|
|
37757
39333
|
return wfsWks;
|
|
37758
39334
|
}
|
|
37759
|
-
else if (layer.dataSource instanceof WMSDataSource) {
|
|
39335
|
+
else if (layer.dataSource instanceof WMSDataSource && ((_b = layer.dataSource.options.edition) === null || _b === void 0 ? void 0 : _b.enabled) !== true) {
|
|
37760
39336
|
if (!layer.dataSource.options.paramsWFS) {
|
|
37761
39337
|
return;
|
|
37762
39338
|
}
|
|
37763
39339
|
const wmsWks = this.wmsWorkspaceService.createWorkspace(layer, this.map);
|
|
37764
39340
|
wmsWks === null || wmsWks === void 0 ? void 0 : wmsWks.inResolutionRange$.subscribe((inResolutionRange) => {
|
|
39341
|
+
var _a;
|
|
39342
|
+
if ((_a = layer.dataSource.options) === null || _a === void 0 ? void 0 : _a.queryFormatAsWms) {
|
|
39343
|
+
wmsWks.layer.dataSource.options.queryable = true;
|
|
39344
|
+
return wmsWks;
|
|
39345
|
+
}
|
|
37765
39346
|
layer.dataSource.options.queryable = !inResolutionRange;
|
|
37766
39347
|
wmsWks.layer.dataSource.options.queryable = inResolutionRange;
|
|
37767
39348
|
});
|
|
37768
39349
|
return wmsWks;
|
|
37769
39350
|
}
|
|
37770
|
-
else if (layer.dataSource instanceof FeatureDataSource &&
|
|
39351
|
+
else if (layer.dataSource instanceof FeatureDataSource &&
|
|
39352
|
+
layer.exportable === true &&
|
|
39353
|
+
((_c = layer.dataSource.options.edition) === null || _c === void 0 ? void 0 : _c.enabled) !== true) {
|
|
37771
39354
|
const featureWks = this.featureWorkspaceService.createWorkspace(layer, this.map);
|
|
37772
39355
|
return featureWks;
|
|
37773
39356
|
}
|
|
39357
|
+
else if (layer.dataSource instanceof WMSDataSource && ((_d = layer.dataSource.options.edition) === null || _d === void 0 ? void 0 : _d.enabled) === true) {
|
|
39358
|
+
const editionWks = this.editionWorkspaceService.createWorkspace(layer, this.map);
|
|
39359
|
+
return editionWks;
|
|
39360
|
+
}
|
|
37774
39361
|
return;
|
|
37775
39362
|
}
|
|
37776
39363
|
layerIsEditable(layer) {
|
|
@@ -37790,14 +39377,14 @@ class WorkspaceUpdatorDirective {
|
|
|
37790
39377
|
return false;
|
|
37791
39378
|
}
|
|
37792
39379
|
}
|
|
37793
|
-
WorkspaceUpdatorDirective.ɵfac = function WorkspaceUpdatorDirective_Factory(t) { return new (t || WorkspaceUpdatorDirective)(i0.ɵɵdirectiveInject(WfsWorkspaceService), i0.ɵɵdirectiveInject(WmsWorkspaceService), i0.ɵɵdirectiveInject(FeatureWorkspaceService)); };
|
|
39380
|
+
WorkspaceUpdatorDirective.ɵfac = function WorkspaceUpdatorDirective_Factory(t) { return new (t || WorkspaceUpdatorDirective)(i0.ɵɵdirectiveInject(WfsWorkspaceService), i0.ɵɵdirectiveInject(WmsWorkspaceService), i0.ɵɵdirectiveInject(EditionWorkspaceService), i0.ɵɵdirectiveInject(FeatureWorkspaceService)); };
|
|
37794
39381
|
WorkspaceUpdatorDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: WorkspaceUpdatorDirective, selectors: [["", "igoWorkspaceUpdator", ""]], inputs: { map: "map", workspaceStore: "workspaceStore" } });
|
|
37795
39382
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkspaceUpdatorDirective, [{
|
|
37796
39383
|
type: Directive,
|
|
37797
39384
|
args: [{
|
|
37798
39385
|
selector: '[igoWorkspaceUpdator]'
|
|
37799
39386
|
}]
|
|
37800
|
-
}], function () { return [{ type: WfsWorkspaceService }, { type: WmsWorkspaceService }, { type: FeatureWorkspaceService }]; }, { map: [{
|
|
39387
|
+
}], function () { return [{ type: WfsWorkspaceService }, { type: WmsWorkspaceService }, { type: EditionWorkspaceService }, { type: FeatureWorkspaceService }]; }, { map: [{
|
|
37801
39388
|
type: Input
|
|
37802
39389
|
}], workspaceStore: [{
|
|
37803
39390
|
type: Input
|
|
@@ -37829,6 +39416,37 @@ IgoWorkspaceUpdatorModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports:
|
|
|
37829
39416
|
}], null, null); })();
|
|
37830
39417
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoWorkspaceUpdatorModule, { declarations: [WorkspaceUpdatorDirective], imports: [CommonModule], exports: [WorkspaceUpdatorDirective] }); })();
|
|
37831
39418
|
|
|
39419
|
+
/**
|
|
39420
|
+
* @ignore
|
|
39421
|
+
*/
|
|
39422
|
+
class IgoConfirmationPopupModule {
|
|
39423
|
+
}
|
|
39424
|
+
IgoConfirmationPopupModule.ɵfac = function IgoConfirmationPopupModule_Factory(t) { return new (t || IgoConfirmationPopupModule)(); };
|
|
39425
|
+
IgoConfirmationPopupModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoConfirmationPopupModule });
|
|
39426
|
+
IgoConfirmationPopupModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
|
|
39427
|
+
CommonModule,
|
|
39428
|
+
MatButtonModule,
|
|
39429
|
+
MatDialogModule,
|
|
39430
|
+
MatButtonToggleModule
|
|
39431
|
+
]] });
|
|
39432
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoConfirmationPopupModule, [{
|
|
39433
|
+
type: NgModule,
|
|
39434
|
+
args: [{
|
|
39435
|
+
imports: [
|
|
39436
|
+
CommonModule,
|
|
39437
|
+
MatButtonModule,
|
|
39438
|
+
MatDialogModule,
|
|
39439
|
+
MatButtonToggleModule
|
|
39440
|
+
],
|
|
39441
|
+
exports: [ConfirmationPopupComponent],
|
|
39442
|
+
declarations: [ConfirmationPopupComponent]
|
|
39443
|
+
}]
|
|
39444
|
+
}], null, null); })();
|
|
39445
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoConfirmationPopupModule, { declarations: [ConfirmationPopupComponent], imports: [CommonModule,
|
|
39446
|
+
MatButtonModule,
|
|
39447
|
+
MatDialogModule,
|
|
39448
|
+
MatButtonToggleModule], exports: [ConfirmationPopupComponent] }); })();
|
|
39449
|
+
|
|
37832
39450
|
class IgoGeoWorkspaceModule {
|
|
37833
39451
|
}
|
|
37834
39452
|
IgoGeoWorkspaceModule.ɵfac = function IgoGeoWorkspaceModule_Factory(t) { return new (t || IgoGeoWorkspaceModule)(); };
|
|
@@ -37837,27 +39455,33 @@ IgoGeoWorkspaceModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
|
|
|
37837
39455
|
provideOgcFilterWidget()
|
|
37838
39456
|
], imports: [[
|
|
37839
39457
|
CommonModule,
|
|
39458
|
+
IgoLanguageModule,
|
|
37840
39459
|
IgoWidgetModule,
|
|
37841
39460
|
IgoWorkspaceSelectorModule,
|
|
37842
39461
|
IgoWorkspaceUpdatorModule,
|
|
37843
|
-
IgoOgcFilterModule
|
|
39462
|
+
IgoOgcFilterModule,
|
|
39463
|
+
MatDialogModule
|
|
37844
39464
|
], IgoWorkspaceSelectorModule,
|
|
37845
39465
|
IgoWorkspaceUpdatorModule,
|
|
37846
|
-
IgoOgcFilterModule
|
|
39466
|
+
IgoOgcFilterModule,
|
|
39467
|
+
IgoConfirmationPopupModule] });
|
|
37847
39468
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoGeoWorkspaceModule, [{
|
|
37848
39469
|
type: NgModule,
|
|
37849
39470
|
args: [{
|
|
37850
39471
|
imports: [
|
|
37851
39472
|
CommonModule,
|
|
39473
|
+
IgoLanguageModule,
|
|
37852
39474
|
IgoWidgetModule,
|
|
37853
39475
|
IgoWorkspaceSelectorModule,
|
|
37854
39476
|
IgoWorkspaceUpdatorModule,
|
|
37855
|
-
IgoOgcFilterModule
|
|
39477
|
+
IgoOgcFilterModule,
|
|
39478
|
+
MatDialogModule
|
|
37856
39479
|
],
|
|
37857
39480
|
exports: [
|
|
37858
39481
|
IgoWorkspaceSelectorModule,
|
|
37859
39482
|
IgoWorkspaceUpdatorModule,
|
|
37860
|
-
IgoOgcFilterModule
|
|
39483
|
+
IgoOgcFilterModule,
|
|
39484
|
+
IgoConfirmationPopupModule
|
|
37861
39485
|
],
|
|
37862
39486
|
declarations: [],
|
|
37863
39487
|
providers: [
|
|
@@ -37866,12 +39490,15 @@ IgoGeoWorkspaceModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
|
|
|
37866
39490
|
}]
|
|
37867
39491
|
}], null, null); })();
|
|
37868
39492
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoGeoWorkspaceModule, { imports: [CommonModule,
|
|
39493
|
+
IgoLanguageModule,
|
|
37869
39494
|
IgoWidgetModule,
|
|
37870
39495
|
IgoWorkspaceSelectorModule,
|
|
37871
39496
|
IgoWorkspaceUpdatorModule,
|
|
37872
|
-
IgoOgcFilterModule
|
|
39497
|
+
IgoOgcFilterModule,
|
|
39498
|
+
MatDialogModule], exports: [IgoWorkspaceSelectorModule,
|
|
37873
39499
|
IgoWorkspaceUpdatorModule,
|
|
37874
|
-
IgoOgcFilterModule
|
|
39500
|
+
IgoOgcFilterModule,
|
|
39501
|
+
IgoConfirmationPopupModule] }); })();
|
|
37875
39502
|
|
|
37876
39503
|
class IgoWktModule {
|
|
37877
39504
|
static forRoot() {
|
|
@@ -38265,7 +39892,7 @@ class NominatimSearchSource extends SearchSource {
|
|
|
38265
39892
|
},
|
|
38266
39893
|
{
|
|
38267
39894
|
title: 'igo.geo.search.nominatim.type.entertainment',
|
|
38268
|
-
value: 'arts_centre,brothel,casino,cinema,community_center_fountain,gambling,nightclub,planetarium \
|
|
39895
|
+
value: 'arts_centre,brothel,casino,cinema,community_center_fountain,gambling,nightclub,planetarium \
|
|
38269
39896
|
,public_bookcase,social_centre,stripclub,studio,swingerclub,theatre,internet_cafe',
|
|
38270
39897
|
enabled: false
|
|
38271
39898
|
},
|
|
@@ -38582,7 +40209,7 @@ class StoredQueriesSearchSource extends SearchSource {
|
|
|
38582
40209
|
const storedqueriesParams = this.termSplitter(term, this.storedQueriesOptions.fields);
|
|
38583
40210
|
const params = this.computeRequestParams(options || {}, storedqueriesParams);
|
|
38584
40211
|
this.options.params = this.options.params ? this.options.params : {};
|
|
38585
|
-
this.options.params.page =
|
|
40212
|
+
this.options.params.page = options.page ? String(options.page) : '1';
|
|
38586
40213
|
if (new RegExp('.*?gml.*?', 'i').test(this.storedQueriesOptions.outputformat)) {
|
|
38587
40214
|
return this.http
|
|
38588
40215
|
.get(this.searchUrl, { params, responseType: 'text' })
|
|
@@ -38964,5 +40591,5 @@ function noElementSelected(ws) {
|
|
|
38964
40591
|
* Generated bundle index. Do not edit.
|
|
38965
40592
|
*/
|
|
38966
40593
|
|
|
38967
|
-
export { AddCatalogDialogComponent, ArcGISRestDataSource, BaseLayersSwitcherComponent, CadastreSearchSource, CapabilitiesService, CartoDataSource, Catalog, CatalogBrowserComponent, CatalogFactory, CatalogItemType, CatalogLibaryComponent, CatalogService, ClusterDataSource, CompositeCatalog, CoordinatesReverseSearchSource, CoordinatesReverseSearchSourceFactory, CoordinatesSearchResultFormatter, DataService, DataSource, DataSourceService, DirectionRelativePositionType, DirectionType, DirectionsButtonsComponent, DirectionsComponent, DirectionsFormat, DirectionsInputsComponent, DirectionsResultsComponent, DirectionsService, DirectionsSource, DownloadButtonComponent, DownloadService, DrawComponent, DrawControl, DrawIconService, DrawStyleService, DropGeoFileDirective, EncodingFormat, EsriStyleGenerator, ExportButtonComponent, ExportError, ExportFormat, ExportInvalidFileError, ExportNothingToExportError, ExportService, FEATURE, FeatureDataSource, FeatureDetailsComponent, FeatureDetailsDirective, FeatureFormComponent, FeatureMotion, FeatureStore, FeatureStoreInMapExtentStrategy, FeatureStoreInMapResolutionStrategy, FeatureStoreLoadingLayerStrategy, FeatureStoreLoadingStrategy, FeatureStoreSelectionStrategy, FeatureWorkspace, FeatureWorkspaceService, FilterableDataSourcePipe, GeolocateButtonComponent, GeometryFormFieldComponent, GeometryFormFieldInputComponent, GeometrySliceError, GeometrySliceLineStringError, GeometrySliceMultiPolygonError, GeometrySliceTooManyIntersectionError, GeometryType, GoogleLinks, HoverFeatureDirective, IChercheReverseSearchSource, IChercheSearchResultFormatter, IChercheSearchSource, ILayerSearchResultFormatter, ILayerSearchSource, IgoCatalogBrowserModule, IgoCatalogLibraryModule, IgoCatalogModule, IgoDataSourceModule, IgoDirectionsModule, IgoDownloadModule, IgoDrawModule, IgoDrawingToolModule, IgoFeatureDetailsModule, IgoFeatureFormModule, IgoFeatureModule, IgoFilterModule, IgoGeoModule, IgoGeoWorkspaceModule, IgoGeometryFormFieldModule, IgoGeometryModule, IgoHttpParameterCodec, IgoImportExportModule, IgoLayerModule, IgoMap, IgoMapModule, IgoMeasureModule, IgoMeasurerModule, IgoMetadataModule, IgoOgcFilterModule, IgoOverlayModule, IgoPrintModule, IgoQueryModule, IgoSearchBarModule, IgoSearchModule, IgoSearchResultsModule, IgoSearchSelectorModule, IgoSearchSettingsModule, IgoStyleListModule, IgoToastModule, IgoWktModule, IgoWorkspaceSelectorModule, IgoWorkspaceUpdatorModule, ImageArcGISRestDataSource, ImageLayer, ImageWatcher, ImportError, ImportExportComponent, ImportInvalidFileError, ImportNothingToImportError, ImportOgreServerError, ImportSRSError, ImportService, ImportSizeError, ImportUnreadableFileError, LAYER, Layer, LayerItemComponent, LayerLegendComponent, LayerLegendItemComponent, LayerLegendListBindingDirective, LayerLegendListComponent, LayerListBindingDirective, LayerListComponent, LayerListControlsEnum, LayerListDisplacement, LayerListSelectVisibleEnum, LayerListToolComponent, LayerListToolControlsEnum, LayerListToolService, LayerService, LayerSyncWatcher, LinkedProperties, MEASURE_UNIT_AUTO, MVTDataSource, MapBrowserComponent, MapCenterComponent, MapController, MapOfflineDirective, MapService, MapViewAction, MapViewController, MeasureAreaUnit, MeasureAreaUnitAbbreviation, MeasureFormatPipe, MeasureLengthUnit, MeasureLengthUnitAbbreviation, MeasureType, MeasurerComponent, MenuButtonComponent, MetadataAbstractComponent, MetadataButtonComponent, MetadataService, MiniBaseMapComponent, ModifyControl, NominatimSearchSource, OGCFilterService, OSMDataSource, OfflineButtonComponent, OgcFilterButtonComponent, OgcFilterComponent, OgcFilterFormComponent, OgcFilterOperator, OgcFilterOperatorType, OgcFilterSelectionComponent, OgcFilterTimeComponent, OgcFilterTimeSliderComponent, OgcFilterWidget, OgcFilterWriter, OgcFilterableFormComponent, OgcFilterableItemComponent, OgcFilterableListBindingDirective, OgcFilterableListComponent, OlDragSelectInteraction, OptionsApiService, OptionsService, OsmLinks, OsrmDirectionsSource, Overlay, OverlayAction, OverlayDirective, OverlayService, PointerPositionDirective, PrintComponent, PrintFormComponent, PrintLegendPosition, PrintOrientation, PrintOutputFormat, PrintPaperFormat, PrintResolution, PrintSaveImageFormat, PrintService, ProjectionService, ProposalType, QueryDirective, QueryFormat, QueryFormatMimeType, QueryHtmlTarget, QuerySearchSource, QueryService, RotationButtonComponent, RoutesFeatureStore, SEARCH_TYPES, STYLELIST_OPTIONS, SearchBarComponent, SearchPointerSummaryDirective, SearchResultAddButtonComponent, SearchResultMode, SearchResultsComponent, SearchResultsItemComponent, SearchSelectorComponent, SearchService, SearchSettingsComponent, SearchSource, SearchSourceService, SliceControl, SourceDirectionsType, SpatialFilterItemComponent, SpatialFilterItemType, SpatialFilterListComponent, SpatialFilterQueryType, SpatialFilterService, SpatialFilterType, SpatialFilterTypeComponent, StepFeatureStore, StopsFeatureStore, StopsStore, StoredQueriesReverseSearchSource, StoredQueriesSearchSource, StyleListService, StyleService, SwipeControlComponent, TileArcGISRestDataSource, TileDebugDataSource, TileLayer, TileWatcher, TimeFilterButtonComponent, TimeFilterFormComponent, TimeFilterItemComponent, TimeFilterListBindingDirective, TimeFilterListComponent, TimeFilterService, TimeFilterStyle, TimeFilterType, ToastComponent, TooltipType, TrackFeatureButtonComponent, TypeCapabilities, TypeCatalog, VectorLayer, VectorTileLayer, VectorWatcher, WFSDataSource, WFSService, WMSDataSource, WMTSDataSource, WebSocketDataSource, WfsWorkspace, WfsWorkspaceService, WktService, WorkspaceSelectorDirective, WorkspaceUpdatorDirective, XYZDataSource, ZoomButtonComponent, addDirectionToRoutesFeatureStore, addLayerAndFeaturesStyledToMap, addLayerAndFeaturesToMap, addLinearRingToOlPolygon, addStopToStopsFeatureStore, addStopToStore, buildUrl, cadastreSearchSourceFactory, checkWfsParams, clearOlGeometryMidpoints, computeBestAreaUnit, computeBestLengthUnit, computeLayerTitleFromFile, computeMVTOptionsOnHover, computeOlFeatureExtent, computeOlFeaturesDiff, computeOlFeaturesExtent, computeProjectionsConstraints, computeRelativePosition, computeStopsPosition, computeTermSimilarity, convertDDToDMS, createDefaultTileGrid, createDrawHoleInteractionStyle, createDrawInteractionStyle, createInteractionStyle, createMeasureInteractionStyle, createMeasureLayerStyle, createOlTooltipAtPoint, createOlTooltipDrawAtPoint, createOverlayDefaultStyle, createOverlayLayer, createOverlayMarkerStyle, ctrlKeyDown, defaultCoordinatesSearchResultFormatterFactory, defaultEpsg, defaultFieldNameGeometry, defaultIChercheSearchResultFormatterFactory, defaultMaxFeatures, defaultWfsVersion, directionsStyle, entitiesToRowData, exportToCSV, featureFromOl, featureToOl, featureToSearchResult, featuresAreOutOfView, featuresAreTooDeepInView, findDiff, formatDistance, formatDuration, formatInstruction, formatMeasure, formatScale, formatWFSQueryString, generateArcgisRestIdFromSourceOptions, generateFeatureIdFromSourceOptions, generateId, generateIdFromSourceOptions, generateWMSIdFromSourceOptions, generateWMTSIdFromSourceOptions, generateWfsIdFromSourceOptions, generateXYZIdFromSourceOptions, getCommonVectorSelectedStyle, getCommonVectorStyle, getFileExtension, getFormatFromOptions, getLayersLegends, getMousePositionFromOlGeometryEvent, getOlTooltipAtCenter, getOlTooltipsAtMidpoints, getResolutionFromScale, getRowsInMapExtent, getScaleFromResolution, getSelectedOnly, getTooltipsOfOlGeometry, gmlRegex, handleFileExportError, handleFileExportSuccess, handleFileImportError, handleFileImportSuccess, handleInvalidFileImportError, handleNothingToExportError, handleNothingToImportError, handleOgreServerImportError, handleSRSImportError, handleSizeFileImportError, handleUnreadbleFileImportError, hideOlFeature, hoverFeatureMarker, ichercheReverseSearchSourceFactory, ichercheSearchSourceFactory, ilayerSearchResultFormatterFactory, ilayerSearchSourceFactory, initRoutesFeatureStore, initStepFeatureStore, initStopsFeatureStore, jsonRegex, layerFeatureIsQueryable, layerIsQueryable, lonLatConversion, mapExtentStrategyActiveToolTip, measureOlGeometry, measureOlGeometryArea, measureOlGeometryLength, metersToFeet, metersToKilometers, metersToMiles, metersToUnit, moveToOlFeatures, mtmZoneFromLonLat, noElementSelected, nominatimSearchSourceFactory, ogcFilterWidgetFactory, olLayerFeatureIsQueryable, olLayerIsQueryable, optionsApiFactory, osrmDirectionsSourcesFactory, pointerPositionSummaryMarker, provideCadastreSearchSource, provideCoordinatesReverseSearchSource, provideDefaultCoordinatesSearchResultFormatter, provideDefaultIChercheSearchResultFormatter, provideIChercheReverseSearchSource, provideIChercheSearchSource, provideILayerSearchResultFormatter, provideILayerSearchSource, provideNominatimSearchSource, provideOgcFilterWidget, provideOptionsApi, provideOsrmDirectionsSource, provideSearchSourceService, provideStoredQueriesReverseSearchSource, provideStoredQueriesSearchSource, provideStyleListLoader, provideStyleListOptions, removeStopFromStore, renderFeatureFromOl, roundCoordTo, scaleExtent, searchSourceServiceFactory, setRowsInMapExtent, setSelectedOnly, sliceOlGeometry, sliceOlLineString, sliceOlPolygon, sourceCanReverseSearch, sourceCanReverseSearchAsSummary, sourceCanSearch, squareMetersToAcres, squareMetersToHectares, squareMetersToSquareFeet, squareMetersToSquareKilometers, squareMetersToSquareMiles, squareMetersToUnit, standardizeUrl, storedqueriesReverseSearchSourceFactory, storedqueriesSearchSourceFactory, stringToLonLat, styleListFactory, translateBearing, translateModifier, tryAddLoadingStrategy, tryAddSelectionStrategy, tryBindStoreLayer, updateOlGeometryCenter, updateOlGeometryMidpoints, updateOlTooltipAtCenter, updateOlTooltipDrawAtCenter, updateOlTooltipsAtMidpoints, updateOlTooltipsDrawAtMidpoints, updateStoreSorting, utmZoneFromLonLat, viewStatesAreEqual, zoneMtm, zoneUtm };
|
|
40594
|
+
export { AddCatalogDialogComponent, ArcGISRestDataSource, BaseLayersSwitcherComponent, CadastreSearchSource, CapabilitiesService, CartoDataSource, Catalog, CatalogBrowserComponent, CatalogFactory, CatalogItemType, CatalogLibaryComponent, CatalogService, ClusterDataSource, CompositeCatalog, ConfirmationPopupComponent, CoordinatesReverseSearchSource, CoordinatesReverseSearchSourceFactory, CoordinatesSearchResultFormatter, DataService, DataSource, DataSourceService, DirectionRelativePositionType, DirectionType, DirectionsButtonsComponent, DirectionsComponent, DirectionsFormat, DirectionsInputsComponent, DirectionsResultsComponent, DirectionsService, DirectionsSource, DownloadButtonComponent, DownloadService, DrawComponent, DrawControl, DrawIconService, DrawStyleService, DropGeoFileDirective, EditionWorkspace, EditionWorkspaceService, EncodingFormat, EsriStyleGenerator, ExportButtonComponent, ExportError, ExportFormat, ExportInvalidFileError, ExportNothingToExportError, ExportService, FEATURE, FeatureDataSource, FeatureDetailsComponent, FeatureDetailsDirective, FeatureFormComponent, FeatureMotion, FeatureStore, FeatureStoreInMapExtentStrategy, FeatureStoreInMapResolutionStrategy, FeatureStoreLoadingLayerStrategy, FeatureStoreLoadingStrategy, FeatureStoreSelectionStrategy, FeatureWorkspace, FeatureWorkspaceService, FilterableDataSourcePipe, GeolocateButtonComponent, GeometryFormFieldComponent, GeometryFormFieldInputComponent, GeometrySliceError, GeometrySliceLineStringError, GeometrySliceMultiPolygonError, GeometrySliceTooManyIntersectionError, GeometryType, GoogleLinks, HomeExtentButtonComponent, HoverFeatureDirective, IChercheReverseSearchSource, IChercheSearchResultFormatter, IChercheSearchSource, ILayerSearchResultFormatter, ILayerSearchSource, IgoCatalogBrowserModule, IgoCatalogLibraryModule, IgoCatalogModule, IgoConfirmationPopupModule, IgoDataSourceModule, IgoDirectionsModule, IgoDownloadModule, IgoDrawModule, IgoDrawingToolModule, IgoFeatureDetailsModule, IgoFeatureFormModule, IgoFeatureModule, IgoFilterModule, IgoGeoModule, IgoGeoWorkspaceModule, IgoGeometryFormFieldModule, IgoGeometryModule, IgoHttpParameterCodec, IgoImportExportModule, IgoLayerModule, IgoMap, IgoMapModule, IgoMeasureModule, IgoMeasurerModule, IgoMetadataModule, IgoOgcFilterModule, IgoOverlayModule, IgoPrintModule, IgoQueryModule, IgoSearchBarModule, IgoSearchModule, IgoSearchResultsModule, IgoSearchSelectorModule, IgoSearchSettingsModule, IgoStyleListModule, IgoToastModule, IgoWktModule, IgoWorkspaceSelectorModule, IgoWorkspaceUpdatorModule, ImageArcGISRestDataSource, ImageLayer, ImageWatcher, ImportError, ImportExportComponent, ImportInvalidFileError, ImportNothingToImportError, ImportOgreServerError, ImportSRSError, ImportService, ImportSizeError, ImportUnreadableFileError, InfoSectionComponent, LAYER, Layer, LayerItemComponent, LayerLegendComponent, LayerLegendItemComponent, LayerLegendListBindingDirective, LayerLegendListComponent, LayerListBindingDirective, LayerListComponent, LayerListControlsEnum, LayerListDisplacement, LayerListSelectVisibleEnum, LayerListToolComponent, LayerListToolControlsEnum, LayerListToolService, LayerService, LayerSyncWatcher, LinkedProperties, MEASURE_UNIT_AUTO, MVTDataSource, MapBrowserComponent, MapCenterComponent, MapController, MapOfflineDirective, MapService, MapViewAction, MapViewController, MeasureAreaUnit, MeasureAreaUnitAbbreviation, MeasureFormatPipe, MeasureLengthUnit, MeasureLengthUnitAbbreviation, MeasureType, MeasurerComponent, MenuButtonComponent, MetadataAbstractComponent, MetadataButtonComponent, MetadataService, MiniBaseMapComponent, ModifyControl, NominatimSearchSource, OGCFilterService, OSMDataSource, OfflineButtonComponent, OgcFilterButtonComponent, OgcFilterComponent, OgcFilterFormComponent, OgcFilterOperator, OgcFilterOperatorType, OgcFilterSelectionComponent, OgcFilterTimeComponent, OgcFilterTimeSliderComponent, OgcFilterWidget, OgcFilterWriter, OgcFilterableFormComponent, OgcFilterableItemComponent, OgcFilterableListBindingDirective, OgcFilterableListComponent, OlDragSelectInteraction, OptionsApiService, OptionsService, OsmLinks, OsrmDirectionsSource, Overlay, OverlayAction, OverlayDirective, OverlayService, PointerPositionDirective, PrintComponent, PrintFormComponent, PrintLegendPosition, PrintOrientation, PrintOutputFormat, PrintPaperFormat, PrintResolution, PrintSaveImageFormat, PrintService, ProjectionService, ProposalType, QueryDirective, QueryFormat, QueryFormatMimeType, QueryHtmlTarget, QuerySearchSource, QueryService, RotationButtonComponent, RoutesFeatureStore, SEARCH_TYPES, STYLELIST_OPTIONS, SearchBarComponent, SearchPointerSummaryDirective, SearchResultAddButtonComponent, SearchResultMode, SearchResultsComponent, SearchResultsItemComponent, SearchSelectorComponent, SearchService, SearchSettingsComponent, SearchSource, SearchSourceService, SliceControl, SourceDirectionsType, SpatialFilterItemComponent, SpatialFilterItemType, SpatialFilterListComponent, SpatialFilterQueryType, SpatialFilterService, SpatialFilterType, SpatialFilterTypeComponent, StepFeatureStore, StopsFeatureStore, StopsStore, StoredQueriesReverseSearchSource, StoredQueriesSearchSource, StyleListService, StyleService, SwipeControlComponent, TileArcGISRestDataSource, TileDebugDataSource, TileLayer, TileWatcher, TimeFilterButtonComponent, TimeFilterFormComponent, TimeFilterItemComponent, TimeFilterListBindingDirective, TimeFilterListComponent, TimeFilterService, TimeFilterStyle, TimeFilterType, ToastComponent, TooltipType, TrackFeatureButtonComponent, TypeCapabilities, TypeCatalog, VectorLayer, VectorTileLayer, VectorWatcher, WFSDataSource, WFSService, WMSDataSource, WMTSDataSource, WebSocketDataSource, WfsWorkspace, WfsWorkspaceService, WktService, WorkspaceSelectorDirective, WorkspaceUpdatorDirective, XYZDataSource, ZoomButtonComponent, addDirectionToRoutesFeatureStore, addLayerAndFeaturesStyledToMap, addLayerAndFeaturesToMap, addLinearRingToOlPolygon, addStopToStopsFeatureStore, addStopToStore, buildUrl, cadastreSearchSourceFactory, checkWfsParams, clearOlGeometryMidpoints, computeBestAreaUnit, computeBestLengthUnit, computeLayerTitleFromFile, computeMVTOptionsOnHover, computeOlFeatureExtent, computeOlFeaturesDiff, computeOlFeaturesExtent, computeProjectionsConstraints, computeRelativePosition, computeStopsPosition, computeTermSimilarity, convertDDToDMS, createDefaultTileGrid, createDrawHoleInteractionStyle, createDrawInteractionStyle, createInteractionStyle, createMeasureInteractionStyle, createMeasureLayerStyle, createOlTooltipAtPoint, createOlTooltipDrawAtPoint, createOverlayDefaultStyle, createOverlayLayer, createOverlayMarkerStyle, ctrlKeyDown, defaultCoordinatesSearchResultFormatterFactory, defaultEpsg, defaultFieldNameGeometry, defaultIChercheSearchResultFormatterFactory, defaultMaxFeatures, defaultWfsVersion, directionsStyle, entitiesToRowData, exportToCSV, featureFromOl, featureToOl, featureToSearchResult, featuresAreOutOfView, featuresAreTooDeepInView, findDiff, formatDistance, formatDuration, formatInstruction, formatMeasure, formatScale, formatWFSQueryString, generateArcgisRestIdFromSourceOptions, generateFeatureIdFromSourceOptions, generateId, generateIdFromSourceOptions, generateWMSIdFromSourceOptions, generateWMTSIdFromSourceOptions, generateWfsIdFromSourceOptions, generateXYZIdFromSourceOptions, getCommonVectorSelectedStyle, getCommonVectorStyle, getFileExtension, getFormatFromOptions, getLayersLegends, getMousePositionFromOlGeometryEvent, getOlTooltipAtCenter, getOlTooltipsAtMidpoints, getResolutionFromScale, getRowsInMapExtent, getScaleFromResolution, getSelectedOnly, getTooltipsOfOlGeometry, gmlRegex, handleFileExportError, handleFileExportSuccess, handleFileImportError, handleFileImportSuccess, handleInvalidFileImportError, handleNothingToExportError, handleNothingToImportError, handleOgreServerImportError, handleSRSImportError, handleSizeFileImportError, handleUnreadbleFileImportError, hideOlFeature, hoverFeatureMarker, ichercheReverseSearchSourceFactory, ichercheSearchSourceFactory, ilayerSearchResultFormatterFactory, ilayerSearchSourceFactory, initRoutesFeatureStore, initStepFeatureStore, initStopsFeatureStore, jsonRegex, layerFeatureIsQueryable, layerIsQueryable, lonLatConversion, mapExtentStrategyActiveToolTip, measureOlGeometry, measureOlGeometryArea, measureOlGeometryLength, metersToFeet, metersToKilometers, metersToMiles, metersToUnit, moveToOlFeatures, mtmZoneFromLonLat, noElementSelected, nominatimSearchSourceFactory, ogcFilterWidgetFactory, olLayerFeatureIsQueryable, olLayerIsQueryable, optionsApiFactory, osrmDirectionsSourcesFactory, pointerPositionSummaryMarker, provideCadastreSearchSource, provideCoordinatesReverseSearchSource, provideDefaultCoordinatesSearchResultFormatter, provideDefaultIChercheSearchResultFormatter, provideIChercheReverseSearchSource, provideIChercheSearchSource, provideILayerSearchResultFormatter, provideILayerSearchSource, provideNominatimSearchSource, provideOgcFilterWidget, provideOptionsApi, provideOsrmDirectionsSource, provideSearchSourceService, provideStoredQueriesReverseSearchSource, provideStoredQueriesSearchSource, provideStyleListLoader, provideStyleListOptions, removeStopFromStore, renderFeatureFromOl, roundCoordTo, scaleExtent, searchSourceServiceFactory, setRowsInMapExtent, setSelectedOnly, sliceOlGeometry, sliceOlLineString, sliceOlPolygon, sourceCanReverseSearch, sourceCanReverseSearchAsSummary, sourceCanSearch, squareMetersToAcres, squareMetersToHectares, squareMetersToSquareFeet, squareMetersToSquareKilometers, squareMetersToSquareMiles, squareMetersToUnit, standardizeUrl, storedqueriesReverseSearchSourceFactory, storedqueriesSearchSourceFactory, stringToLonLat, styleListFactory, translateBearing, translateModifier, tryAddLoadingStrategy, tryAddSelectionStrategy, tryBindStoreLayer, updateOlGeometryCenter, updateOlGeometryMidpoints, updateOlTooltipAtCenter, updateOlTooltipDrawAtCenter, updateOlTooltipsAtMidpoints, updateOlTooltipsDrawAtMidpoints, updateStoreSorting, utmZoneFromLonLat, viewStatesAreEqual, zoneMtm, zoneUtm };
|
|
38968
40595
|
//# sourceMappingURL=igo2-geo.js.map
|