@igo2/geo 1.14.0 → 1.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +2 -2
- package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +2 -2
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +2 -2
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs +1 -1
- package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +2 -2
- package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +2 -2
- package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +2 -2
- package/esm2020/lib/catalog/catalog-library/catalog-library.module.mjs +1 -1
- package/esm2020/lib/catalog/catalog.module.mjs +1 -1
- package/esm2020/lib/catalog/index.mjs +1 -1
- package/esm2020/lib/catalog/shared/catalog.abstract.mjs +1 -1
- package/esm2020/lib/catalog/shared/catalog.enum.mjs +1 -1
- package/esm2020/lib/catalog/shared/catalog.interface.mjs +1 -1
- package/esm2020/lib/catalog/shared/catalog.service.mjs +1 -1
- package/esm2020/lib/catalog/shared/index.mjs +1 -1
- package/esm2020/lib/datasource/datasource.module.mjs +1 -1
- package/esm2020/lib/datasource/index.mjs +1 -1
- package/esm2020/lib/datasource/shared/capabilities.service.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasource.service.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/data.service.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/index.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/index.mjs +1 -1
- package/esm2020/lib/datasource/shared/options/index.mjs +1 -1
- package/esm2020/lib/datasource/shared/options/options-api.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +1 -1
- package/esm2020/lib/datasource/shared/options/options-api.service.mjs +1 -1
- package/esm2020/lib/datasource/shared/options/options.service.mjs +1 -1
- package/esm2020/lib/datasource/utils/esri-style-generator.mjs +1 -1
- package/esm2020/lib/datasource/utils/index.mjs +1 -1
- package/esm2020/lib/datasource/utils/tilegrid.mjs +1 -1
- package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +2 -2
- package/esm2020/lib/directions/directions-buttons/index.mjs +1 -1
- package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +2 -2
- package/esm2020/lib/directions/directions-inputs/index.mjs +1 -1
- package/esm2020/lib/directions/directions-results/directions-results.component.mjs +2 -2
- package/esm2020/lib/directions/directions-results/index.mjs +1 -1
- package/esm2020/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
- package/esm2020/lib/directions/directions-sources/directions-source.mjs +1 -1
- package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +1 -1
- package/esm2020/lib/directions/directions-sources/index.mjs +1 -1
- package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +1 -1
- package/esm2020/lib/directions/directions.component.mjs +2 -2
- package/esm2020/lib/directions/directions.module.mjs +1 -1
- package/esm2020/lib/directions/index.mjs +1 -1
- package/esm2020/lib/directions/shared/directions-source.service.mjs +1 -1
- package/esm2020/lib/directions/shared/directions.enum.mjs +1 -1
- package/esm2020/lib/directions/shared/directions.interface.mjs +1 -1
- package/esm2020/lib/directions/shared/directions.service.mjs +1 -1
- package/esm2020/lib/directions/shared/directions.utils.mjs +1 -1
- package/esm2020/lib/directions/shared/index.mjs +1 -1
- package/esm2020/lib/directions/shared/store.mjs +1 -1
- package/esm2020/lib/download/download-button/download-button.component.mjs +2 -2
- package/esm2020/lib/download/download-button/index.mjs +1 -1
- package/esm2020/lib/download/download.module.mjs +1 -1
- package/esm2020/lib/download/index.mjs +1 -1
- package/esm2020/lib/download/shared/download.interface.mjs +1 -1
- package/esm2020/lib/download/shared/download.service.mjs +1 -1
- package/esm2020/lib/download/shared/index.mjs +1 -1
- package/esm2020/lib/draw/draw/draw-layer-popup.component.mjs +2 -2
- package/esm2020/lib/draw/draw/draw-popup.component.mjs +2 -2
- package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +2 -2
- package/esm2020/lib/draw/draw/draw.component.mjs +4 -2
- package/esm2020/lib/draw/draw/draw.module.mjs +1 -1
- package/esm2020/lib/draw/drawingTool.module.mjs +1 -1
- package/esm2020/lib/draw/index.mjs +1 -1
- package/esm2020/lib/draw/shared/draw-icon.service.mjs +1 -1
- package/esm2020/lib/draw/shared/draw-style.service.mjs +1 -1
- package/esm2020/lib/draw/shared/draw.enum.mjs +1 -1
- package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
- package/esm2020/lib/draw/shared/draw.utils.mjs +1 -1
- package/esm2020/lib/draw/shared/index.mjs +1 -1
- package/esm2020/lib/feature/feature-details/feature-details.component.mjs +2 -2
- package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +1 -1
- package/esm2020/lib/feature/feature-details/feature-details.module.mjs +1 -1
- package/esm2020/lib/feature/feature-form/feature-form.component.mjs +2 -2
- package/esm2020/lib/feature/feature-form/feature-form.module.mjs +1 -1
- package/esm2020/lib/feature/feature.module.mjs +1 -1
- package/esm2020/lib/feature/index.mjs +1 -1
- package/esm2020/lib/feature/shared/feature.enums.mjs +1 -1
- package/esm2020/lib/feature/shared/feature.interfaces.mjs +1 -1
- package/esm2020/lib/feature/shared/feature.utils.mjs +1 -1
- package/esm2020/lib/feature/shared/index.mjs +1 -1
- package/esm2020/lib/feature/shared/store.mjs +1 -1
- package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +1 -1
- package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +1 -1
- package/esm2020/lib/feature/shared/strategies/index.mjs +1 -1
- package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +1 -1
- package/esm2020/lib/feature/shared/strategies/loading.mjs +1 -1
- package/esm2020/lib/feature/shared/strategies/selection.mjs +1 -1
- package/esm2020/lib/feature/shared/strategies.utils.mjs +1 -1
- package/esm2020/lib/filter/filter.module.mjs +1 -1
- package/esm2020/lib/filter/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-button/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filter-form/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filter-selection/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filter-time/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +43 -16
- package/esm2020/lib/filter/ogc-filterable-form/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filterable-item/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +2 -2
- package/esm2020/lib/filter/ogc-filterable-list/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +1 -1
- package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +2 -2
- package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +1 -1
- package/esm2020/lib/filter/shared/index.mjs +1 -1
- package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +1 -1
- package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +1 -1
- package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +1 -1
- package/esm2020/lib/filter/shared/ogc-filter.mjs +1 -1
- package/esm2020/lib/filter/shared/ogc-filter.service.mjs +1 -1
- package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +1 -1
- package/esm2020/lib/filter/shared/spatial-filter.interface.mjs +1 -1
- package/esm2020/lib/filter/shared/spatial-filter.service.mjs +1 -1
- package/esm2020/lib/filter/shared/time-filter.enum.mjs +1 -1
- package/esm2020/lib/filter/shared/time-filter.interface.mjs +1 -1
- package/esm2020/lib/filter/shared/time-filter.service.mjs +1 -1
- package/esm2020/lib/filter/spatial-filter/spatial-filter-item/index.mjs +1 -1
- package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +2 -2
- package/esm2020/lib/filter/spatial-filter/spatial-filter-list/index.mjs +1 -1
- package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +2 -2
- package/esm2020/lib/filter/spatial-filter/spatial-filter-type/index.mjs +1 -1
- package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +2 -2
- package/esm2020/lib/filter/time-filter-button/index.mjs +1 -1
- package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +2 -2
- package/esm2020/lib/filter/time-filter-form/index.mjs +1 -1
- package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +2 -2
- package/esm2020/lib/filter/time-filter-item/index.mjs +1 -1
- package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +2 -2
- package/esm2020/lib/filter/time-filter-list/index.mjs +1 -1
- package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +1 -1
- package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +2 -2
- package/esm2020/lib/geo.module.mjs +1 -1
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +1 -1
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +2 -2
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +1 -1
- package/esm2020/lib/geometry/geometry.module.mjs +1 -1
- package/esm2020/lib/geometry/index.mjs +1 -1
- package/esm2020/lib/geometry/shared/controls/draw.mjs +1 -1
- package/esm2020/lib/geometry/shared/controls/index.mjs +1 -1
- package/esm2020/lib/geometry/shared/controls/modify.mjs +1 -1
- package/esm2020/lib/geometry/shared/controls/slice.mjs +1 -1
- package/esm2020/lib/geometry/shared/geometry.errors.mjs +1 -1
- package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +1 -1
- package/esm2020/lib/geometry/shared/geometry.utils.mjs +1 -1
- package/esm2020/lib/geometry/shared/index.mjs +1 -1
- package/esm2020/lib/import-export/export-button/export-button.component.mjs +2 -2
- package/esm2020/lib/import-export/export-button/index.mjs +1 -1
- package/esm2020/lib/import-export/import-export/import-export.component.mjs +2 -2
- package/esm2020/lib/import-export/import-export/index.mjs +1 -1
- package/esm2020/lib/import-export/import-export.module.mjs +1 -1
- package/esm2020/lib/import-export/index.mjs +1 -1
- package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +1 -1
- package/esm2020/lib/import-export/shared/export.errors.mjs +1 -1
- package/esm2020/lib/import-export/shared/export.interface.mjs +1 -1
- package/esm2020/lib/import-export/shared/export.service.mjs +1 -1
- package/esm2020/lib/import-export/shared/export.type.mjs +1 -1
- package/esm2020/lib/import-export/shared/export.utils.mjs +1 -1
- package/esm2020/lib/import-export/shared/import.errors.mjs +1 -1
- package/esm2020/lib/import-export/shared/import.interface.mjs +1 -1
- package/esm2020/lib/import-export/shared/import.service.mjs +1 -1
- package/esm2020/lib/import-export/shared/import.utils.mjs +1 -1
- package/esm2020/lib/import-export/shared/index.mjs +1 -1
- package/esm2020/lib/import-export/style-list/index.mjs +1 -1
- package/esm2020/lib/import-export/style-list/style-list.interface.mjs +1 -1
- package/esm2020/lib/import-export/style-list/style-list.module.mjs +1 -1
- package/esm2020/lib/import-export/style-list/style-list.provider.mjs +1 -1
- package/esm2020/lib/import-export/style-list/style-list.service.mjs +1 -1
- package/esm2020/lib/layer/index.mjs +1 -1
- package/esm2020/lib/layer/layer-item/index.mjs +1 -1
- package/esm2020/lib/layer/layer-item/layer-item.component.mjs +2 -2
- package/esm2020/lib/layer/layer-legend/index.mjs +1 -1
- package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +2 -2
- package/esm2020/lib/layer/layer-legend-item/index.mjs +1 -1
- package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +2 -2
- package/esm2020/lib/layer/layer-legend-list/index.mjs +1 -1
- package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +1 -1
- package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +2 -2
- package/esm2020/lib/layer/layer-list/index.mjs +1 -1
- package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +1 -1
- package/esm2020/lib/layer/layer-list/layer-list.component.mjs +2 -2
- package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +1 -1
- package/esm2020/lib/layer/layer-list-tool/index.mjs +1 -1
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +2 -2
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +1 -1
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +1 -1
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +1 -1
- package/esm2020/lib/layer/layer.module.mjs +1 -1
- package/esm2020/lib/layer/shared/clusterParam.mjs +1 -1
- package/esm2020/lib/layer/shared/index.mjs +1 -1
- package/esm2020/lib/layer/shared/layer.enums.mjs +1 -1
- package/esm2020/lib/layer/shared/layer.service.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/any-layer.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/image-layer.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/index.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/layer.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/tile-layer.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/vector-layer.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
- package/esm2020/lib/layer/shared/style.service.mjs +1 -1
- package/esm2020/lib/layer/shared/vector-style.interface.mjs +1 -1
- package/esm2020/lib/layer/style-modal/index.mjs +1 -1
- package/esm2020/lib/layer/style-modal/style-modal.component.mjs +2 -2
- package/esm2020/lib/layer/track-feature-button/index.mjs +1 -1
- package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +2 -2
- package/esm2020/lib/layer/utils/image-watcher.mjs +1 -1
- package/esm2020/lib/layer/utils/index.mjs +1 -1
- package/esm2020/lib/layer/utils/layer.utils.mjs +1 -1
- package/esm2020/lib/layer/utils/outputLegend.mjs +1 -1
- package/esm2020/lib/layer/utils/tile-watcher.mjs +1 -1
- package/esm2020/lib/layer/utils/vector-watcher.mjs +1 -1
- package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +1 -1
- package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +2 -2
- package/esm2020/lib/map/baselayers-switcher/index.mjs +1 -1
- package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +2 -2
- package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +2 -2
- package/esm2020/lib/map/geolocate-button/index.mjs +1 -1
- package/esm2020/lib/map/index.mjs +1 -1
- package/esm2020/lib/map/info-section/index.mjs +1 -1
- package/esm2020/lib/map/info-section/info-section.component.mjs +2 -2
- package/esm2020/lib/map/map-browser/index.mjs +1 -1
- package/esm2020/lib/map/map-browser/map-browser.component.mjs +2 -2
- package/esm2020/lib/map/map-center/index.mjs +1 -1
- package/esm2020/lib/map/map-center/map-center.component.mjs +2 -2
- package/esm2020/lib/map/map.module.mjs +1 -1
- package/esm2020/lib/map/menu-button/index.mjs +1 -1
- package/esm2020/lib/map/menu-button/menu-button.component.mjs +2 -2
- package/esm2020/lib/map/offline-button/index.mjs +1 -1
- package/esm2020/lib/map/offline-button/offline-button.component.mjs +2 -2
- package/esm2020/lib/map/rotation-button/index.mjs +1 -1
- package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +2 -2
- package/esm2020/lib/map/shared/controllers/controller.mjs +1 -1
- package/esm2020/lib/map/shared/controllers/geolocation.mjs +1 -1
- package/esm2020/lib/map/shared/controllers/index.mjs +1 -1
- package/esm2020/lib/map/shared/controllers/view.mjs +1 -1
- package/esm2020/lib/map/shared/hover-feature.directive.mjs +1 -1
- package/esm2020/lib/map/shared/index.mjs +1 -1
- package/esm2020/lib/map/shared/linkedLayers.utils.mjs +3 -3
- package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +1 -1
- package/esm2020/lib/map/shared/map.enums.mjs +1 -1
- package/esm2020/lib/map/shared/map.interface.mjs +1 -1
- package/esm2020/lib/map/shared/map.mjs +1 -1
- package/esm2020/lib/map/shared/map.service.mjs +1 -1
- package/esm2020/lib/map/shared/map.utils.mjs +1 -1
- package/esm2020/lib/map/shared/mapOffline.directive.mjs +7 -7
- package/esm2020/lib/map/shared/projection.interfaces.mjs +1 -1
- package/esm2020/lib/map/shared/projection.service.mjs +1 -1
- package/esm2020/lib/map/shared/projection.utils.mjs +1 -1
- package/esm2020/lib/map/swipe-control/index.mjs +1 -1
- package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +2 -2
- package/esm2020/lib/map/utils/layer-watcher.mjs +1 -1
- package/esm2020/lib/map/wake-lock-button/index.mjs +1 -1
- package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +2 -2
- package/esm2020/lib/map/zoom-button/index.mjs +1 -1
- package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +2 -2
- package/esm2020/lib/measure/index.mjs +1 -1
- package/esm2020/lib/measure/measure.module.mjs +1 -1
- package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +1 -1
- package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +2 -2
- package/esm2020/lib/measure/measurer/measurer-item.component.mjs +2 -2
- package/esm2020/lib/measure/measurer/measurer.component.mjs +2 -2
- package/esm2020/lib/measure/measurer/measurer.module.mjs +1 -1
- package/esm2020/lib/measure/shared/index.mjs +1 -1
- package/esm2020/lib/measure/shared/measure.enum.mjs +1 -1
- package/esm2020/lib/measure/shared/measure.interfaces.mjs +1 -1
- package/esm2020/lib/measure/shared/measure.utils.mjs +1 -1
- package/esm2020/lib/metadata/index.mjs +1 -1
- package/esm2020/lib/metadata/metadata-button/index.mjs +1 -1
- package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +3 -3
- package/esm2020/lib/metadata/metadata.module.mjs +1 -1
- package/esm2020/lib/metadata/shared/index.mjs +1 -1
- package/esm2020/lib/metadata/shared/metadata.interface.mjs +1 -1
- package/esm2020/lib/metadata/shared/metadata.service.mjs +1 -1
- package/esm2020/lib/offline/geoDB/configFileToGeoDB.service.mjs +1 -1
- package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +1 -1
- package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +1 -1
- package/esm2020/lib/offline/geoDB/geoDB.service.mjs +1 -1
- package/esm2020/lib/offline/geoDB/index.mjs +1 -1
- package/esm2020/lib/offline/index.mjs +1 -1
- package/esm2020/lib/offline/shared/geo-network.service.mjs +1 -1
- package/esm2020/lib/offline/shared/index.mjs +1 -1
- package/esm2020/lib/overlay/index.mjs +1 -1
- package/esm2020/lib/overlay/overlay.module.mjs +1 -1
- package/esm2020/lib/overlay/shared/index.mjs +1 -1
- package/esm2020/lib/overlay/shared/overlay-marker-style.utils.mjs +1 -1
- package/esm2020/lib/overlay/shared/overlay.directive.mjs +1 -1
- package/esm2020/lib/overlay/shared/overlay.enum.mjs +1 -1
- package/esm2020/lib/overlay/shared/overlay.mjs +1 -1
- package/esm2020/lib/overlay/shared/overlay.service.mjs +1 -1
- package/esm2020/lib/overlay/shared/overlay.utils.mjs +1 -1
- package/esm2020/lib/print/index.mjs +1 -1
- package/esm2020/lib/print/print/print.component.mjs +2 -2
- package/esm2020/lib/print/print-form/index.mjs +1 -1
- package/esm2020/lib/print/print-form/print-form.component.mjs +2 -2
- package/esm2020/lib/print/print.module.mjs +1 -1
- package/esm2020/lib/print/shared/geopdf.mjs +3 -3
- package/esm2020/lib/print/shared/index.mjs +1 -1
- package/esm2020/lib/print/shared/print.interface.mjs +1 -1
- package/esm2020/lib/print/shared/print.service.mjs +1 -1
- package/esm2020/lib/print/shared/print.type.mjs +1 -1
- package/esm2020/lib/query/index.mjs +1 -1
- package/esm2020/lib/query/query.module.mjs +1 -1
- package/esm2020/lib/query/shared/index.mjs +1 -1
- package/esm2020/lib/query/shared/query-search-source.mjs +1 -1
- package/esm2020/lib/query/shared/query-search-source.providers.mjs +1 -1
- package/esm2020/lib/query/shared/query.directive.mjs +1 -1
- package/esm2020/lib/query/shared/query.enums.mjs +1 -1
- package/esm2020/lib/query/shared/query.interfaces.mjs +1 -1
- package/esm2020/lib/query/shared/query.service.mjs +5 -2
- package/esm2020/lib/query/shared/query.utils.mjs +1 -1
- package/esm2020/lib/search/index.mjs +1 -1
- package/esm2020/lib/search/search-bar/search-bar.component.mjs +30 -28
- package/esm2020/lib/search/search-bar/search-bar.module.mjs +1 -1
- package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +1 -1
- package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +2 -2
- package/esm2020/lib/search/search-results/search-results-item.component.mjs +2 -2
- package/esm2020/lib/search/search-results/search-results.component.mjs +23 -14
- package/esm2020/lib/search/search-results/search-results.module.mjs +1 -1
- package/esm2020/lib/search/search-selector/search-selector.component.mjs +2 -2
- package/esm2020/lib/search/search-selector/search-selector.module.mjs +1 -1
- package/esm2020/lib/search/search-settings/search-settings.component.mjs +2 -2
- package/esm2020/lib/search/search-settings/search-settings.module.mjs +1 -1
- package/esm2020/lib/search/search.module.mjs +1 -1
- package/esm2020/lib/search/shared/index.mjs +1 -1
- package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +1 -1
- package/esm2020/lib/search/shared/search-source-service.providers.mjs +1 -1
- package/esm2020/lib/search/shared/search-source.service.mjs +1 -1
- package/esm2020/lib/search/shared/search.enums.mjs +1 -1
- package/esm2020/lib/search/shared/search.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/search.service.mjs +1 -1
- package/esm2020/lib/search/shared/search.utils.mjs +2 -1
- package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/coordinates.mjs +1 -1
- package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +1 -1
- package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/icherche.mjs +70 -58
- package/esm2020/lib/search/shared/sources/icherche.providers.mjs +1 -1
- package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/ilayer.mjs +1 -1
- package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +1 -1
- package/esm2020/lib/search/shared/sources/index.mjs +1 -1
- package/esm2020/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/nominatim.mjs +2 -2
- package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +1 -1
- package/esm2020/lib/search/shared/sources/source.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/source.mjs +1 -1
- package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/storedqueries.mjs +1 -1
- package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +1 -1
- package/esm2020/lib/toast/index.mjs +1 -1
- package/esm2020/lib/toast/toast.component.mjs +2 -2
- package/esm2020/lib/toast/toast.module.mjs +1 -1
- package/esm2020/lib/utils/commonVectorStyle.interface.mjs +1 -1
- package/esm2020/lib/utils/commonVectorStyle.mjs +1 -1
- package/esm2020/lib/utils/googleLinks.mjs +1 -1
- package/esm2020/lib/utils/id-generator.mjs +1 -1
- package/esm2020/lib/utils/index.mjs +1 -1
- package/esm2020/lib/utils/osmLinks.mjs +1 -1
- package/esm2020/lib/wkt/index.mjs +1 -1
- package/esm2020/lib/wkt/shared/index.mjs +1 -1
- package/esm2020/lib/wkt/shared/wkt.service.mjs +15 -15
- package/esm2020/lib/wkt/wkt.module.mjs +1 -1
- package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +2 -2
- package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +1 -1
- package/esm2020/lib/workspace/confirmation-popup/index.mjs +1 -1
- package/esm2020/lib/workspace/index.mjs +1 -1
- package/esm2020/lib/workspace/shared/edition-workspace.mjs +1 -1
- package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +20 -9
- package/esm2020/lib/workspace/shared/feature-workspace.mjs +1 -1
- package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +1 -1
- package/esm2020/lib/workspace/shared/index.mjs +1 -1
- package/esm2020/lib/workspace/shared/wfs-workspace.mjs +1 -1
- package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +1 -1
- package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +1 -1
- package/esm2020/lib/workspace/shared/workspace.utils.mjs +1 -1
- package/esm2020/lib/workspace/widgets/index.mjs +1 -1
- package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +2 -2
- package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +1 -1
- package/esm2020/lib/workspace/widgets/widgets.mjs +1 -1
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +1 -1
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +1 -1
- package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +1 -1
- package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +1 -1
- package/esm2020/lib/workspace/workspace.module.mjs +1 -1
- package/esm2020/public_api.mjs +1 -1
- package/fesm2015/igo2-geo.mjs +273 -208
- package/fesm2015/igo2-geo.mjs.map +1 -1
- package/fesm2020/igo2-geo.mjs +272 -208
- package/fesm2020/igo2-geo.mjs.map +1 -1
- package/lib/datasource/shared/datasources/datasource.interface.d.ts +1 -0
- package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +1 -0
- package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +3 -1
- package/lib/search/search-bar/search-bar.component.d.ts +8 -8
- package/lib/search/search-results/search-results.component.d.ts +4 -1
- package/lib/workspace/shared/edition-workspace.service.d.ts +4 -0
- package/ngcc.config.js +3 -3
- package/package.json +4 -4
- package/style/geo.theming.scss +12 -12
package/fesm2015/igo2-geo.mjs
CHANGED
|
@@ -284,7 +284,7 @@ MetadataButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Met
|
|
|
284
284
|
(function () {
|
|
285
285
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MetadataButtonComponent, [{
|
|
286
286
|
type: Component,
|
|
287
|
-
args: [{ selector: 'igo-metadata-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\
|
|
287
|
+
args: [{ selector: 'igo-metadata-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"(options && options.metadata && options.metadata.url) || (options && options.metadata && options.metadata.abstract)\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.metadata.show' | translate\"\n [color]=\"color\"\n (click)=\"openMetadata(options.metadata)\">\n <mat-icon svgIcon=\"information-outline\"></mat-icon>\n</button>\n" }]
|
|
288
288
|
}], function () { return [{ type: MetadataService }, { type: i1.MatDialog }]; }, { layer: [{
|
|
289
289
|
type: Input
|
|
290
290
|
}], color: [{
|
|
@@ -320,7 +320,7 @@ MetadataAbstractComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: M
|
|
|
320
320
|
(function () {
|
|
321
321
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MetadataAbstractComponent, [{
|
|
322
322
|
type: Component,
|
|
323
|
-
args: [{ selector: 'igo-metadata-abstract', encapsulation: ViewEncapsulation.None, template: "<h2 mat-dialog-title>{{ data.layerTitle }}</h2>\
|
|
323
|
+
args: [{ selector: 'igo-metadata-abstract', encapsulation: ViewEncapsulation.None, template: "<h2 mat-dialog-title>{{ data.layerTitle }}</h2>\n<button class=\"close-button\" mat-button mat-dialog-close>X</button>\n<mat-dialog-content *ngIf=\"data.type !== 'arcgisrest'\" class=\"mat-typography\">\n <h3>{{ data.abstract }}</h3>\n</mat-dialog-content>\n<mat-dialog-content *ngIf=\"data.type === 'arcgisrest'\" class=\"mat-typography\">\n <h3 [innerHTML]=\"data.abstract\"></h3>\n</mat-dialog-content>\n", styles: [".close-button{top:5px;right:5px;padding:7px;line-height:10px;position:absolute!important;min-width:auto}mat-dialog-container{position:relative}\n"] }]
|
|
324
324
|
}], function () {
|
|
325
325
|
return [{ type: undefined, decorators: [{
|
|
326
326
|
type: Inject,
|
|
@@ -7770,7 +7770,7 @@ function getDirectParentLayerByProperty(map, layer, property) {
|
|
|
7770
7770
|
}
|
|
7771
7771
|
});
|
|
7772
7772
|
if (parents.length > 1) {
|
|
7773
|
-
console.warn(`Your layer ${layer.title || layer.id} must only have 1 parent (${parents.map(p => p.title || p.id)})
|
|
7773
|
+
console.warn(`Your layer ${layer.title || layer.id} must only have 1 parent (${parents.map(p => p.title || p.id)})
|
|
7774
7774
|
, The first parent (${parents[0].title || parents[0].id}) will be use to sync properties`);
|
|
7775
7775
|
}
|
|
7776
7776
|
return parents[0];
|
|
@@ -7827,7 +7827,7 @@ function getDirectParentLayerByDeletion(map, layer) {
|
|
|
7827
7827
|
}
|
|
7828
7828
|
});
|
|
7829
7829
|
if (parents.length > 1) {
|
|
7830
|
-
console.warn(`Your layer ${layer.title || layer.id} must only have 1 parent (${parents.map(p => p.title || p.id)})
|
|
7830
|
+
console.warn(`Your layer ${layer.title || layer.id} must only have 1 parent (${parents.map(p => p.title || p.id)})
|
|
7831
7831
|
, The first parent (${parents[0].title || parents[0].id}) will be use to sync properties`);
|
|
7832
7832
|
}
|
|
7833
7833
|
return parents[0];
|
|
@@ -8409,7 +8409,7 @@ MapBrowserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapBrow
|
|
|
8409
8409
|
(function () {
|
|
8410
8410
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapBrowserComponent, [{
|
|
8411
8411
|
type: Component,
|
|
8412
|
-
args: [{ selector: 'igo-map-browser', template: "<div [id]=\"id\" class=\"igo-map-browser-target\"></div>\
|
|
8412
|
+
args: [{ selector: 'igo-map-browser', template: "<div [id]=\"id\" class=\"igo-map-browser-target\"></div>\n<ng-content></ng-content>\n", styles: [":host{position:relative;display:block}:host,.igo-map-browser-target{width:100%;height:100%}:host ::ng-deep igo-zoom-button{position:absolute;bottom:50px;right:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){:host ::ng-deep igo-zoom-button{display:none}}:host ::ng-deep 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){:host ::ng-deep igo-offline-button{bottom:5px}}:host ::ng-deep 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){:host ::ng-deep igo-geolocate-button{bottom:5px}}:host ::ng-deep igo-rotation-button{position:absolute;top:50px;right:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){:host ::ng-deep igo-rotation-button{bottom:50px}}:host ::ng-deep igo-wake-lock-button{position:absolute;top:95px;right:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){:host ::ng-deep igo-wake-lock-button{bottom:50px}}:host ::ng-deep igo-home-extent-button{position:absolute;bottom:135px;right:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){:host ::ng-deep igo-home-extent-button{bottom:5px;right:95px}}:host ::ng-deep igo-user-button{position:absolute;bottom:5px;right:55px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){:host ::ng-deep igo-user-button{right:90px}}:host ::ng-deep igo-baselayers-switcher{position:absolute;bottom:5px;left:5px}:host ::ng-deep .ol-attribution{flex-flow:row;left:50px;bottom:5px;text-align:left;padding:0;margin-right:90px;background-color:#fff0;width:calc(100% - 100px)}:host ::ng-deep .ol-attribution.ol-logo-only{height:inherit}:host ::ng-deep .ol-attribution.ol-collapsed{background:none}:host ::ng-deep .ol-attribution.ol-collapsed button{transform:none}:host ::ng-deep .ol-attribution button{transform:rotate(180deg);background-color:#fff;cursor:pointer;outline:none}:host ::ng-deep .ol-scale-line-inner{color:#000;border-color:#000;text-shadow:rgb(255,255,255) -1px -1px 3px,rgb(255,255,255) 1px -1px 3px,rgb(255,255,255) -1px 1px 3px,rgb(255,255,255) 1px 1px 4px;box-shadow:0 1px 0 1px #fff9}:host ::ng-deep .ol-scale-line{background-color:#fff0;bottom:4px;transform:translate(-50%);left:50%}:host ::ng-deep .ol-scale-bar{background-color:#fff0;bottom:4px;transform:translate(-50%);left:50%}:host ::ng-deep .ol-scale-text{text-shadow:rgb(255,255,255) -1px -1px 3px,rgb(255,255,255) 1px -1px 3px,rgb(255,255,255) -1px 1px 3px,rgb(255,255,255) 1px 1px 4px}:host ::ng-deep .ol-scale-step-text{text-shadow:rgb(255,255,255) -1px -1px 3px,rgb(255,255,255) 1px -1px 3px,rgb(255,255,255) -1px 1px 3px,rgb(255,255,255) 1px 1px 4px}:host ::ng-deep canvas{display:block}\n"] }]
|
|
8413
8413
|
}], function () { return [{ type: i2$1.ActivityService }]; }, { map: [{
|
|
8414
8414
|
type: Input
|
|
8415
8415
|
}], view: [{
|
|
@@ -8509,12 +8509,12 @@ class MapOfflineDirective {
|
|
|
8509
8509
|
else {
|
|
8510
8510
|
if (this.networkState.connection === false ||
|
|
8511
8511
|
this.offlineButtonState.connection === false) {
|
|
8512
|
-
layer.
|
|
8512
|
+
layer.maxResolution = 0;
|
|
8513
8513
|
return;
|
|
8514
8514
|
}
|
|
8515
8515
|
else if (this.networkState.connection === true ||
|
|
8516
8516
|
this.offlineButtonState.connection === true) {
|
|
8517
|
-
layer.
|
|
8517
|
+
layer.maxResolution = layer.options.maxResolution || Infinity;
|
|
8518
8518
|
return;
|
|
8519
8519
|
}
|
|
8520
8520
|
}
|
|
@@ -8542,22 +8542,22 @@ class MapOfflineDirective {
|
|
|
8542
8542
|
else {
|
|
8543
8543
|
if (this.networkState.connection === false ||
|
|
8544
8544
|
this.offlineButtonState.connection === false) {
|
|
8545
|
-
layer.
|
|
8545
|
+
layer.maxResolution = 0;
|
|
8546
8546
|
}
|
|
8547
8547
|
else if (this.networkState.connection === true ||
|
|
8548
8548
|
this.offlineButtonState.connection === true) {
|
|
8549
|
-
layer.
|
|
8549
|
+
layer.maxResolution = layer.options.maxResolution || Infinity;
|
|
8550
8550
|
}
|
|
8551
8551
|
}
|
|
8552
8552
|
}
|
|
8553
8553
|
else {
|
|
8554
8554
|
if (this.networkState.connection === false ||
|
|
8555
8555
|
this.offlineButtonState.connection === false) {
|
|
8556
|
-
layer.
|
|
8556
|
+
layer.maxResolution = 0;
|
|
8557
8557
|
}
|
|
8558
8558
|
else if (this.networkState.connection === true ||
|
|
8559
8559
|
this.offlineButtonState.connection === true) {
|
|
8560
|
-
layer.
|
|
8560
|
+
layer.maxResolution = layer.options.maxResolution || Infinity;
|
|
8561
8561
|
}
|
|
8562
8562
|
}
|
|
8563
8563
|
});
|
|
@@ -9266,7 +9266,7 @@ ZoomButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ZoomBut
|
|
|
9266
9266
|
(function () {
|
|
9267
9267
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ZoomButtonComponent, [{
|
|
9268
9268
|
type: Component,
|
|
9269
|
-
args: [{ selector: 'igo-zoom-button', template: "<div class=\"igo-zoom-button-container\">\
|
|
9269
|
+
args: [{ selector: 'igo-zoom-button', template: "<div class=\"igo-zoom-button-container\">\n <button\n mat-icon-button\n [matTooltip]=\"'igo.geo.mapButtons.zoomIn' | translate: {zoom: zoom + 1}\"\n matTooltipPosition=\"left\"\n [color]=\"color\"\n [disabled]=\"zoom >= maxZoom\"\n (click)=\"map.viewController.zoomIn()\">\n <mat-icon svgIcon=\"plus\"></mat-icon>\n </button>\n\n <button\n mat-icon-button\n [matTooltip]=\"'igo.geo.mapButtons.zoomOut' | translate: {zoom: zoom - 1}\"\n matTooltipPosition=\"left\"\n [color]=\"color\"\n [disabled]=\"zoom <= minZoom\"\n (click)=\"map.viewController.zoomOut()\">\n <mat-icon svgIcon=\"minus\"></mat-icon>\n </button>\n</div>\n", styles: [".igo-zoom-button-container{width:40px}.igo-zoom-button-container button{background-color:#fff}.igo-zoom-button-container button:hover{background-color:#efefef}.igo-zoom-button-container button:first-child{margin-bottom:2px}button,:host ::ng-deep button .mat-button-ripple-round{border-radius:0}\n"] }]
|
|
9270
9270
|
}], function () { return []; }, { map: [{
|
|
9271
9271
|
type: Input
|
|
9272
9272
|
}], color: [{
|
|
@@ -9325,7 +9325,7 @@ MenuButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuBut
|
|
|
9325
9325
|
(function () {
|
|
9326
9326
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuButtonComponent, [{
|
|
9327
9327
|
type: Component,
|
|
9328
|
-
args: [{ selector: 'igo-menu-button', template: "<button\
|
|
9328
|
+
args: [{ selector: 'igo-menu-button', template: "<button\n mat-icon-button\n id= \"menu-button\"\n [ngClass]=\"menuButtonClass\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"(sidenavOpened ? 'menu.close' : 'menu.open') | translate\"\n (click)=\"onToggleSidenavClick()\">\n <mat-icon svgIcon=\"menu\"></mat-icon>\n</button>\n", styles: ["#menu-button{background-color:#fff;border-radius:0;left:5px;top:5px}#menu-button.menu-button-reverse-color{height:40px;border-radius:0;height:45px;width:48px;left:0px;top:3px}#menu-button.menu-button-reverse-color-close{border-radius:0;left:5px;top:5px}mat-icon.disabled{color:#00000061}#menu-button ::ng-deep div.mat-button-ripple-round{border-radius:0}\n"] }]
|
|
9329
9329
|
}], function () { return [{ type: i2$1.ConfigService }]; }, { sidenavOpened: [{
|
|
9330
9330
|
type: Input
|
|
9331
9331
|
}], openSidenav: [{
|
|
@@ -9403,7 +9403,7 @@ GeolocateButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Ge
|
|
|
9403
9403
|
(function () {
|
|
9404
9404
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GeolocateButtonComponent, [{
|
|
9405
9405
|
type: Component,
|
|
9406
|
-
args: [{ selector: 'igo-geolocate-button', template: "<div class=\"igo-geolocate-button-container\" *ngIf=\"map.geolocationController\">\
|
|
9406
|
+
args: [{ selector: 'igo-geolocate-button', template: "<div class=\"igo-geolocate-button-container\" *ngIf=\"map.geolocationController\">\n <button\n mat-icon-button\n [matTooltip]=\"map.geolocationController.tracking ? ('igo.geo.mapButtons.geolocateInactive' | translate) :('igo.geo.mapButtons.geolocate' | translate)\"\n matTooltipPosition=\"left\"\n [color]=\"color\"\n (click)=\"onGeolocationClick()\">\n <mat-icon svgIcon=\"{{icon$ | async}}\"></mat-icon>\n </button>\n</div>\n", styles: [".igo-geolocate-button-container{width:40px;background-color:#fff}.igo-geolocate-button-container:hover{background-color:#efefef}button,:host ::ng-deep button .mat-button-ripple-round{border-radius:0}\n"] }]
|
|
9407
9407
|
}], function () { return [{ type: i2$1.ConfigService }]; }, { map: [{
|
|
9408
9408
|
type: Input
|
|
9409
9409
|
}], color: [{
|
|
@@ -9535,7 +9535,7 @@ OfflineButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Offl
|
|
|
9535
9535
|
(function () {
|
|
9536
9536
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OfflineButtonComponent, [{
|
|
9537
9537
|
type: Component,
|
|
9538
|
-
args: [{ selector: 'igo-offline-button', template: "<div *ngIf=\"visible\" class=\"igo-user-button-container\">\
|
|
9538
|
+
args: [{ selector: 'igo-offline-button', template: "<div *ngIf=\"visible\" class=\"igo-user-button-container\">\n <div>\n <button\n mat-icon-button\n [matTooltip]=\"checked ? ('igo.geo.mapButtons.online' | translate): ('igo.geo.mapButtons.offline' | translate)\"\n matTooltipPosition=\"left\"\n [ngClass]=\"[btnStyle]\"\n [color]=\"checked ? color : [colorOff]\"\n (click)=\"onToggle()\"\n (click)=\"map.onOfflineToggle(check)\">\n <mat-icon svgIcon=\"wifi-strength-off\"></mat-icon>\n </button>\n </div>\n</div>", styles: [".baseStyle{width:40px;background-color:#fff}.baseStyle:hover{background-color:#efefef}.toggleStyle{width:40px;background-color:#b9b9b9}button,:host ::ng-deep button .mat-button-ripple-round{border-radius:0}\n"] }]
|
|
9539
9539
|
}], function () { return [{ type: i2$1.ConfigService }]; }, { change: [{
|
|
9540
9540
|
type: Output
|
|
9541
9541
|
}], map: [{
|
|
@@ -9648,7 +9648,7 @@ WakeLockButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wak
|
|
|
9648
9648
|
(function () {
|
|
9649
9649
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WakeLockButtonComponent, [{
|
|
9650
9650
|
type: Component,
|
|
9651
|
-
args: [{ selector: 'igo-wake-lock-button', template: "<div *ngIf=\"visible\" class=\"igo-wake-lock-button-container\">\
|
|
9651
|
+
args: [{ selector: 'igo-wake-lock-button', template: "<div *ngIf=\"visible\" class=\"igo-wake-lock-button-container\">\n <div>\n <button \n [color]=\"color\"\n mat-icon-button\n [matTooltip]=\"enabled ? ('igo.geo.mapButtons.preventSreenLock' | translate): ('igo.geo.mapButtons.letScreenLock' | translate)\"\n matTooltipPosition=\"left\"\n (click)=\"toggleWakeLock()\">\n <mat-icon svgIcon=\"{{icon$ | async}}\"></mat-icon>\n </button>\n </div>\n</div>", styles: [".igo-wake-lock-button-container{width:40px;background-color:#fff}.igo-wake-lock-button-container:hover{background-color:#efefef}button,:host ::ng-deep button .mat-button-ripple-round{border-radius:0}\n"] }]
|
|
9652
9652
|
}], function () { return [{ type: i2$1.ConfigService }, { type: i2$1.StorageService }]; }, { color: [{
|
|
9653
9653
|
type: Input
|
|
9654
9654
|
}], map: [{
|
|
@@ -9775,7 +9775,7 @@ BaseLayersSwitcherComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
9775
9775
|
(function () {
|
|
9776
9776
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BaseLayersSwitcherComponent, [{
|
|
9777
9777
|
type: Component,
|
|
9778
|
-
args: [{ selector: 'igo-baselayers-switcher', animations: [baseLayersSwitcherSlideInOut()], template: "<div *ngIf=\"baseLayers.length > 0\"\
|
|
9778
|
+
args: [{ selector: 'igo-baselayers-switcher', animations: [baseLayersSwitcherSlideInOut()], template: "<div *ngIf=\"baseLayers.length > 0\"\n class=\"igo-baselayers-switcher-container\"\n [ngClass]=\"{'container-expand': expand}\"\n [@baseLayerSwitcherState]=\"expand ? 'expand' : useStaticIcon ? 'collapseIcon' : 'collapseMap'\"\n (@baseLayerSwitcherState.start)=\"showButton=false\"\n (@baseLayerSwitcherState.done)=\"showButton=true\"\n (click)=\"collapseOrExpand()\">\n\n <div *ngIf=\"useStaticIcon && !expand && showButton\" class=\"igo-baselayers-switcher-button-container\">\n <button\n mat-icon-button\n [matTooltip]=\"'igo.geo.mapButtons.baselayerSwitcher' | translate\"\n matTooltipPosition=\"right\"\n color=\"primary\">\n <mat-icon svgIcon=\"image-multiple\"></mat-icon>\n </button>\n </div>\n\n <igo-mini-basemap class=\"mat-typography\" *ngFor=\"let baseLayer of baseLayers; let i = index\"\n [map]=\"map\"\n [baseLayer]=\"baseLayer\"\n [title]=\"(baseLayers.length > 2 && !expand) ? ('igo.geo.baselayersSwitcher.title' | translate) : baseLayer.title\"\n [display]=\"expand || (i === 0 && !useStaticIcon)\"\n [disabled]=\"!expand && baseLayers.length > 1\">\n </igo-mini-basemap>\n\n <div class=\"more-baselayers\">\n <mat-icon class=\"material-icons mat-icon mat-list-avatar\" color=\"primary\" svgIcon=\"menu-down\"></mat-icon>\n </div>\n\n</div>\n", styles: [".igo-baselayers-switcher-container{height:auto;position:relative}.container-expand{overflow:hidden;border-width:0}.more-baselayers{width:80px;height:20px;background-color:#fff;text-align:center;cursor:pointer}.more-baselayers:hover{background-color:#efefef}.igo-baselayers-switcher-button-container{width:40px;background-color:#fff}.igo-baselayers-switcher-button-container:hover{background-color:#efefef}button,:host ::ng-deep button .mat-button-ripple-round{border-radius:0}\n"] }]
|
|
9779
9779
|
}], function () { return [{ type: i2$1.MediaService }]; }, { map: [{
|
|
9780
9780
|
type: Input
|
|
9781
9781
|
}], useStaticIcon: [{
|
|
@@ -10309,7 +10309,7 @@ MiniBaseMapComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MiniBa
|
|
|
10309
10309
|
(function () {
|
|
10310
10310
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MiniBaseMapComponent, [{
|
|
10311
10311
|
type: Component,
|
|
10312
|
-
args: [{ selector: 'igo-mini-basemap', template: "<div class=\"igo-mini-basemap-container\">\
|
|
10312
|
+
args: [{ selector: 'igo-mini-basemap', template: "<div class=\"igo-mini-basemap-container\">\n\n <div *ngIf=\"display\" (click)=\"changeBaseLayer(baseLayer)\">\n <igo-map-browser [map]=\"basemap\"></igo-map-browser>\n <div *ngIf='title' class='igo-mini-basemap-title'> {{title}} </div>\n </div>\n\n</div>\n", styles: [".igo-mini-basemap-container{width:80px;height:80px;background-color:#ffffff03;border:2px solid white;box-shadow:0 1px 4px #0000004d;cursor:pointer;margin-top:5px}.igo-mini-basemap-container:hover .igo-mini-basemap-title{color:#000;text-shadow:0 0 5px white}.igo-mini-basemap-container>div{width:100%;height:100%}.igo-mini-basemap-title{position:relative;top:-76px;height:76px;width:76px;text-align:center;vertical-align:bottom;color:#fff;text-shadow:0 0 5px black;white-space:normal;display:flex;align-items:flex-end;justify-content:center}\n"] }]
|
|
10313
10313
|
}], function () { return [{ type: LayerService }, { type: i0.ApplicationRef }]; }, { map: [{
|
|
10314
10314
|
type: Input
|
|
10315
10315
|
}], disabled: [{
|
|
@@ -10382,7 +10382,7 @@ RotationButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Rot
|
|
|
10382
10382
|
(function () {
|
|
10383
10383
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RotationButtonComponent, [{
|
|
10384
10384
|
type: Component,
|
|
10385
|
-
args: [{ selector: 'igo-rotation-button', template: "<div *ngIf=\"((rotated$ | async) && !showIfNoRotation) || showIfNoRotation\" class=\"igo-rotation-button-container\"\
|
|
10385
|
+
args: [{ selector: 'igo-rotation-button', template: "<div *ngIf=\"((rotated$ | async) && !showIfNoRotation) || showIfNoRotation\" class=\"igo-rotation-button-container\"\n [matTooltip]=\"(rotated$ | async) ? ('igo.geo.mapButtons.resetRotation' | translate: {azimuth: azimuthRounded, rotation: rotationRounded}): ('igo.geo.mapButtons.tipRotation' | translate)\"\n matTooltipPosition=\"left\">\n <button mat-icon-button matTooltipPosition=\"left\" [color]=\"color\" [disabled]=\"(rotated$ | async) === false\"\n (click)=\"map.viewController.resetRotation()\">\n <mat-icon [ngStyle]=\"currentStyle$ | async\" svgIcon=\"navigation\">\n </mat-icon>\n </button>\n</div>\n", styles: [".igo-rotation-button-container{width:40px;background-color:#fff}.igo-rotation-button-container:hover{background-color:#efefef}button,:host ::ng-deep button .mat-button-ripple-round{border-radius:0}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){button:disabled,:host ::ng-deep button .mat-button-ripple-round:disabled{display:none}}\n"] }]
|
|
10386
10386
|
}], function () { return []; }, { map: [{
|
|
10387
10387
|
type: Input
|
|
10388
10388
|
}], showIfNoRotation: [{
|
|
@@ -10580,7 +10580,7 @@ SwipeControlComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Swipe
|
|
|
10580
10580
|
(function () {
|
|
10581
10581
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SwipeControlComponent, [{
|
|
10582
10582
|
type: Component,
|
|
10583
|
-
args: [{ selector: 'igo-swipe-control', template: "<div class=\"igo-swipe-control-container\" id=\"igo-layer-swipe\"\
|
|
10583
|
+
args: [{ selector: 'igo-swipe-control', template: "<div class=\"igo-swipe-control-container\" id=\"igo-layer-swipe\"\n (mousedown)=\"dragDown($event)\"\n (mouseup)=\"closeDragMouseElement()\"\n (touchstart)=\"dragDown($event)\"\n (touchend)=\"closeDragTouchElement()\">\n <div class=\"igo-swipe-control-line\" ></div>\n \n <div class=\"igo-swipe-control-arrows\" id=\"arrows\">\n <div class=\"igo-arrow-left\"></div>\n <div class=\"igo-arrow-right\"></div>\n </div>\n</div>\n", styles: [".igo-swipe-control-container{position:absolute;width:80px;height:100%;top:0%;left:50%;cursor:-webkit-grab;cursor:grab;z-index:1;transform:translate(-40px)}.igo-swipe-control-container:active{cursor:-webkit-grabbing;cursor:grabbing}.igo-swipe-control-line{position:absolute;width:4px;height:100%;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#5e5a5a}.igo-swipe-control-arrows{position:absolute;width:32px;height:32px;left:50%;top:50%;transform:translate(-50%,-50%);margin-top:-16px;padding:5px 4px;background-color:#5e5a5a;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0)}.igo-swipe-control-arrows div{display:inline-block;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent}.igo-swipe-control-arrows .igo-arrow-right{margin-left:4px;border-left:10px solid white}.igo-swipe-control-arrows .igo-arrow-left{border-right:10px solid white}.igo-swipe-control-arrows:active{display:none}\n"] }]
|
|
10584
10584
|
}], function () { return []; }, { map: [{
|
|
10585
10585
|
type: Input
|
|
10586
10586
|
}] });
|
|
@@ -10632,7 +10632,7 @@ MapCenterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MapCente
|
|
|
10632
10632
|
(function () {
|
|
10633
10633
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MapCenterComponent, [{
|
|
10634
10634
|
type: Component,
|
|
10635
|
-
args: [{ selector: 'igo-map-center', template: "<div\
|
|
10635
|
+
args: [{ selector: 'igo-map-center', template: "<div\n class=\"mapCenter\"\n id=\"mapCenter\">\n <div class=\"vertical\"></div>\n <div class=\"horizontal\"></div>\n</div>\n", styles: [".mapCenter{width:30px;height:30px;position:absolute;top:50%;left:50%;transform:translate(-15px,-15px);pointer-events:none}.mapCenter .vertical,.mapCenter .horizontal{width:4px;height:30px;position:absolute;left:13px;background-color:#000}.mapCenter .horizontal{transform:rotate(90deg)}\n"] }]
|
|
10636
10636
|
}], function () { return []; }, { map: [{
|
|
10637
10637
|
type: Input
|
|
10638
10638
|
}] });
|
|
@@ -10667,7 +10667,7 @@ InfoSectionComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: InfoSe
|
|
|
10667
10667
|
(function () {
|
|
10668
10668
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoSectionComponent, [{
|
|
10669
10669
|
type: Component,
|
|
10670
|
-
args: [{ selector: 'igo-info-section', template: "<div *ngIf=\"infoContent && infoContent.length\" class=\"infoSection\">\
|
|
10670
|
+
args: [{ selector: 'igo-info-section', template: "<div *ngIf=\"infoContent && infoContent.length\" class=\"infoSection\">\n <pre>{{infoContent}}</pre>\n</div>", styles: [".infoSection{border-radius:10px;background-color:#6e6e6e66;padding:2.5px;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{top:50px;left:10%}}\n"] }]
|
|
10671
10671
|
}], function () { return []; }, { infoContent: [{
|
|
10672
10672
|
type: Input
|
|
10673
10673
|
}] });
|
|
@@ -11208,6 +11208,7 @@ class QueryService {
|
|
|
11208
11208
|
delete properties.SHAPE_P;
|
|
11209
11209
|
delete properties.the_geom;
|
|
11210
11210
|
delete properties.geom;
|
|
11211
|
+
delete properties.geom32198;
|
|
11211
11212
|
let geometry;
|
|
11212
11213
|
if (featureGeometry) {
|
|
11213
11214
|
geometry = {
|
|
@@ -11367,7 +11368,9 @@ class QueryService {
|
|
|
11367
11368
|
*
|
|
11368
11369
|
*/
|
|
11369
11370
|
getCustomQueryUrl(datasource, options, mapExtent) {
|
|
11370
|
-
|
|
11371
|
+
const extent = olextent.getForViewAndSize(options.coordinates, options.resolution, 0, [101, 101]);
|
|
11372
|
+
let url = datasource.options.queryUrl.replace(/\{bbox\}/g, extent.join(','))
|
|
11373
|
+
.replace(/\{xmin\}/g, mapExtent[0].toString())
|
|
11371
11374
|
.replace(/\{ymin\}/g, mapExtent[1].toString())
|
|
11372
11375
|
.replace(/\{xmax\}/g, mapExtent[2].toString())
|
|
11373
11376
|
.replace(/\{ymax\}/g, mapExtent[3].toString())
|
|
@@ -12822,7 +12825,7 @@ CatalogBrowserComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Cat
|
|
|
12822
12825
|
(function () {
|
|
12823
12826
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogBrowserComponent, [{
|
|
12824
12827
|
type: Component,
|
|
12825
|
-
args: [{ selector: 'igo-catalog-browser', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"false\" [selection]=\"false\">\
|
|
12828
|
+
args: [{ selector: 'igo-catalog-browser', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"false\" [selection]=\"false\">\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\n <ng-container *ngIf=\"isGroup(item)\">\n <igo-catalog-browser-group\n [catalog]=\"catalog\"\n [group]=\"item\"\n [state]=\"store.state\"\n [resolution]=\"resolution$ | async\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [collapsed]=\"(store.count === 1) ? false : true\"\n [toggleCollapsed]=\"toggleCollapsedGroup\"\n (addedChange)=\"onGroupAddedChange($event)\"\n (layerAddedChange)=\"onLayerAddedChange($event)\">\n </igo-catalog-browser-group>\n </ng-container>\n\n <ng-container *ngIf=\"isLayer(item)\">\n <igo-catalog-browser-layer\n igoListItem\n [layer]=\"item\"\n [resolution]=\"resolution$ | async\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [added]=\"store.state.get(item).added\"\n (addedChange)=\"onLayerAddedChange($event)\">\n </igo-catalog-browser-layer>\n </ng-container>\n </ng-template>\n</igo-list>\n" }]
|
|
12826
12829
|
}], function () { return [{ type: LayerService }, { type: i0.ChangeDetectorRef }]; }, { catalogAllowLegend: [{
|
|
12827
12830
|
type: Input
|
|
12828
12831
|
}], catalog: [{
|
|
@@ -13241,7 +13244,7 @@ LayerLegendComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LayerL
|
|
|
13241
13244
|
(function () {
|
|
13242
13245
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LayerLegendComponent, [{
|
|
13243
13246
|
type: Component,
|
|
13244
|
-
args: [{ selector: 'igo-layer-legend', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"legendItems$ | async as items\">\
|
|
13247
|
+
args: [{ selector: 'igo-layer-legend', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"legendItems$ | async as items\">\n <ng-container *ngIf=\"items.length; else noItems\">\n <ng-container *ngFor=\"let item of items.slice().reverse()\" #renderedLegends>\n <div *ngIf=\"getLegend; else noItems\">\n <mat-list-item *ngIf=\"item.title\">\n <mat-icon\n id=\"legend-toggle\"\n class=\"igo-chevron\"\n mat-list-avatar\n igoCollapse\n [target]=\"legend\"\n [collapsed]=\"(item.collapsed)\"\n (toggle)=\"toggleLegendItem($event, item)\"\n svgIcon=\"chevron-up\">\n </mat-icon>\n <h4 matLine>{{computeItemTitle(item) | async}} </h4>\n </mat-list-item>\n <div #legend class=\"igo-layer-legend\" [ngClass]=\"{'with-title': item.title}\">\n <div *ngIf=\"currentStyle !== undefined\">\n <mat-form-field>\n <mat-select tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\" [(ngModel)]=\"currentStyle\"\n (selectionChange)=\"onChangeStyle()\">\n <mat-option *ngFor=\"let style of styles\" [value]=\"style.name\">{{style.title}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div *ngIf=\"!(item.collapsed)\">\n <div *ngIf=\"item.url\">\n <img igoImageError *ngIf=\"item.imgGraphValue\" hideError=\"true\" #renderedLegend id=\"{{item.title}}\" (load)=\"onLoadImage(item.title)\"\n [src]=\"item.imgGraphValue\"\n alt=\"{{'igo.geo.layer.legend.loadingLegendText' | translate}}\">\n <small *ngIf=\"imagesHeight[item.title]<16\">\n {{'igo.geo.layer.legend.noLegendScale' | translate}}\n </small>\n </div>\n <div\n [ngStyle]=\"item.style\"\n [innerHTML]=\"item.html | sanitizeHtml\"\n *ngIf=\"item.html\">\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n\n <ng-template #noItems>\n <small>\n {{'igo.geo.layer.legend.noLegendText' | translate}}\n </small>\n </ng-template>\n\n</ng-container>\n", styles: [".igo-layer-legend.with-title{padding-left:18px}img: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)}}\n"] }]
|
|
13245
13248
|
}], function () { return [{ type: CapabilitiesService }, { type: i2$1.LanguageService }, { type: i2$1.ConfigService }, { type: i1$2.HttpClient }, { type: i0.ChangeDetectorRef }]; }, { updateLegendOnResolutionChange: [{
|
|
13246
13249
|
type: Input
|
|
13247
13250
|
}], renderedLegends: [{
|
|
@@ -13502,7 +13505,7 @@ CatalogBrowserLayerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type
|
|
|
13502
13505
|
(function () {
|
|
13503
13506
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogBrowserLayerComponent, [{
|
|
13504
13507
|
type: Component,
|
|
13505
|
-
args: [{ selector: 'igo-catalog-browser-layer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\
|
|
13508
|
+
args: [{ selector: 'igo-catalog-browser-layer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\n <mat-icon *ngIf=\"haveGroup()\" mat-list-avatar svgIcon=\"blank\"></mat-icon>\n <h4 mat-line matTooltipShowDelay=\"500\" [ngClass]=\"(catalogAllowLegend)?'igo-cataloglayer-title':''\" (click)=\"askForLegend($event)\" [matTooltip]=\"computeTitleTooltip()\">{{title}}</h4>\n\n <button *ngIf=\"layer.externalProvider\"\n disabled=\"true\"\n mat-icon-button>\n <mat-icon\n class=\"igo-cataloglayer-external-icon\"\n *ngIf=\"layer.externalProvider\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.layer' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n svgIcon=\"earth-arrow-right\">\n </mat-icon>\n </button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n\n <button\n (mouseenter)=\"onMouseEvent($event)\" (mouseleave)=\"onMouseEvent($event)\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"computeTooltip() | translate\"\n [color]=\"(isPreview$ | async) ? '' : added ? 'warn' : ''\"\n (click)=\"onToggleClick($event)\">\n <mat-icon\n matBadge=\"icon\"\n igoMatBadgeIcon=\"eye-off\"\n igoMatBadgeInverseColor=\"true\"\n [matBadgeHidden]=\"isInResolutionsRange()\"\n matBadgeDisabled=\"true\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n [svgIcon]=\"(isPreview$ | async) ? 'plus' : added ? 'delete' : 'plus'\">\n </mat-icon>\n </button>\n\n</mat-list-item>\n\n<div #legend class=\"igo-cataloglayer-legend-container\">\n <igo-layer-legend\n *ngIf=\"(layerLegendShown$ | async) && (igoLayer$ | async) && catalogAllowLegend\"\n [layer]=\"igoLayer$ | async\">\n </igo-layer-legend>\n</div>\n", styles: [".igo-cataloglayer-title{cursor:pointer}.igo-cataloglayer-legend-container{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon{cursor:help}\n"] }]
|
|
13506
13509
|
}], function () { return [{ type: LayerService }]; }, { resolution: [{
|
|
13507
13510
|
type: Input
|
|
13508
13511
|
}], catalogAllowLegend: [{
|
|
@@ -13806,7 +13809,7 @@ CatalogBrowserGroupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type
|
|
|
13806
13809
|
(function () {
|
|
13807
13810
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogBrowserGroupComponent, [{
|
|
13808
13811
|
type: Component,
|
|
13809
|
-
args: [{ selector: 'igo-catalog-browser-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\
|
|
13812
|
+
args: [{ selector: 'igo-catalog-browser-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\n <mat-icon\n mat-list-avatar\n svgIcon=\"chevron-up\"\n igoCollapse\n class=\"igo-chevron\"\n [target]=\"items\"\n [collapsed]=\"collapsed\"\n (toggle)=\"onToggleCollapsed($event)\">\n </mat-icon>\n\n <h4 class=\"igo-catalog-group-title\" id=\"catalog-group-title\" mat-line matTooltipShowDelay=\"500\" [matTooltip]=\"title\" (click)=\"onTitleClick()\">{{title}}</h4>\n\n <button *ngIf=\"group.externalProvider\"\n disabled=\"true\"\n mat-icon-button>\n <mat-icon\n class=\"igo-cataloggroup-external-icon\"\n *ngIf=\"group.externalProvider\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.group' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n svgIcon=\"earth-arrow-right\">\n </mat-icon>\n </button>\n\n <ng-container *ngIf=\"(added$ | async) && (preview$ | async) === false; else notadded\">\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.removeFromMap' | translate\"\n color=\"warn\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick()\">\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n </ng-container>\n\n <ng-template #notadded>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.addToMap' | translate\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick()\">\n <mat-icon svgIcon=\"plus\"></mat-icon>\n </button>\n </ng-template>\n</mat-list-item>\n\n<div #items>\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\n <ng-container *ngIf=\"isGroup(item)\">\n <!-- todo: add display ans manage CatalogItemGroup -->\n </ng-container>\n <ng-container *ngIf=\"isLayer(item)\">\n <igo-catalog-browser-layer\n igoListItem\n [layer]=\"item\"\n [resolution]=\"resolution\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [added]=\"state.get(item).added\"\n (addedLayerIsPreview)=\"onLayerPreview($event)\"\n (addedChange)=\"onLayerAddedChange($event)\">\n </igo-catalog-browser-layer>\n </ng-container>\n </ng-template>\n</div>\n", styles: [".igo-catalog-group-title{cursor:pointer;opacity:.9}#catalog-group-title{font-weight:700}.igo-cataloggroup-external-icon{cursor:help}\n"] }]
|
|
13810
13813
|
}], null, { catalog: [{
|
|
13811
13814
|
type: Input
|
|
13812
13815
|
}], group: [{
|
|
@@ -14130,7 +14133,7 @@ LayerItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LayerIte
|
|
|
14130
14133
|
(function () {
|
|
14131
14134
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LayerItemComponent, [{
|
|
14132
14135
|
type: Component,
|
|
14133
|
-
args: [{ selector: 'igo-layer-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item class= \"igo-layer-list-item\">\
|
|
14136
|
+
args: [{ selector: 'igo-layer-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item class= \"igo-layer-list-item\">\n <mat-checkbox *ngIf=\"selectionMode\"\n class=\"layerCheck\"\n mat-list-icon\n (change)=\"check()\"\n [checked]=\"layerCheck\">\n </mat-checkbox>\n <h4 (click)=\"toggleLegendOnClick()\" matLine class=\"igo-layer-title\" [matTooltip]=\"tooltipText\" matTooltipShowDelay=\"500\">{{layer.title}}</h4>\n\n <button *ngIf=\"!selectionMode\"\n mat-icon-button\n [color]=\"layer.visible ? 'primary' : 'default'\"\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"eyeTooltip | translate\"\n (click)=\"toggleVisibility()\">\n <mat-icon\n matBadge=\"?\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n [matBadgeHidden]=\"queryBadgeHidden$ | async\"\n [ngClass]=\"{disabled: (inResolutionRange$ | async)===false}\"\n [svgIcon]=\"(layer.visible$ | async) ? 'eye' : 'eye-off'\">\n </mat-icon>\n </button>\n\n <button *ngIf=\"selectionMode\" class=\"selection-eye\"\n mat-icon-button\n [color]=\"layer.visible ? 'primary' : 'default'\"\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"layer.visible ?\n ('igo.geo.layer.hideLayer' | translate) :\n ('igo.geo.layer.showLayer' | translate)\"\n (click)=\"toggleVisibility()\">\n <mat-icon\n matBadge=\"?\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n [matBadgeHidden]=\"queryBadgeHidden$ | async\"\n [ngClass]=\"{disabled: (inResolutionRange$ | async)===false}\"\n [svgIcon]=\"layer.visible ? 'eye' : 'eye-off'\">\n </mat-icon>\n</button>\n\n <button *ngIf=\"!selectionMode\"\n class=\"actions-button\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]= \"'igo.geo.layer.moreOptions' | translate\"\n mat-icon-button\n color=\"primary\"\n (click)=\"toggleLayerTool()\">\n <mat-icon svgIcon=\"dots-horizontal\"></mat-icon>\n </button>\n</mat-list-item>\n\n<div #legend class=\"igo-layer-legend-container\">\n <igo-layer-legend\n *ngIf=\"showLegend$ | async\"\n [layer]=\"layer\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\">\n </igo-layer-legend>\n</div>\n", styles: [":host{overflow:hidden}mat-list-item ::ng-deep .mat-list-item-content .layerCheck{align-self:baseline;width:16px;padding-right:0}.igo-layer-list-item{height:46px;clear:both}.igo-layer-title{cursor:pointer}.igo-layer-legend-container{padding-left:18px;width:calc(100% - 18px)}mat-icon.disabled{color:#00000061}mat-icon[matBadge] ::ng-deep .mat-badge-content{font-size:12px}.selection-eye{padding-right:45px}\n"] }]
|
|
14134
14137
|
}], function () { return [{ type: i2$1.NetworkService }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, { activeLayer: [{
|
|
14135
14138
|
type: Input
|
|
14136
14139
|
}], selectAll: [{
|
|
@@ -15187,7 +15190,7 @@ LayerListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LayerLis
|
|
|
15187
15190
|
(function () {
|
|
15188
15191
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LayerListComponent, [{
|
|
15189
15192
|
type: Component,
|
|
15190
|
-
args: [{ selector: 'igo-layer-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list>\r\n <igo-layer-list-tool *ngIf=\"showToolbar$ | async\"\r\n floatLabel=\"auto\"\r\n [layersAreAllVisible]=\"layersAreAllVisible\"\r\n [term]=\"layerFilterAndSortOptions.keyword\"\r\n [onlyVisible]=\"layerFilterAndSortOptions.onlyVisible\"\r\n [sortAlpha]=\"layerFilterAndSortOptions.sortAlpha\"\r\n (appliedFilterAndSort)=\"onAppliedFilterAndSortChange($event)\"\r\n (selection)=\"toggleSelectionMode($event)\">\r\n </igo-layer-list-tool>\r\n</mat-list>\r\n\r\n<mat-list-item *ngIf=\"selection\" class=\"select-all\">\r\n <mat-checkbox\r\n class=\"select-all-checkbox mat-subheading-2\"\r\n [color]=\"!selectAllCheck && layersChecked.length > 0 ? 'accent' : 'primary'\"\r\n (change)=\"selectAll()\"\r\n [checked]=\"selectAllCheck\"\r\n [indeterminate]=\"!selectAllCheck && layersChecked.length > 0\"> {{selectAllCheck ? ('igo.geo.layer.deselectAll' | translate) : ('igo.geo.layer.selectAll' | translate)}}\r\n </mat-checkbox>\r\n</mat-list-item>\r\n<mat-divider></mat-divider>\r\n\r\n<igo-list #igoList [ngClass]=\"{'igo-list-tools-multi': selection, 'igo-list-tools-single': (layerTool && !selection), 'igo-list-no-tools': (!layerTool && !selection)}\" [navigation]=\"false\" [selection]=\"false\">\r\n <ng-template ngFor let-layer let-i=\"index\" [ngForOf]=\"layers$ | async\">\r\n <igo-layer-item *ngIf=\"!(excludeBaseLayers && layer.baseLayer)\"\r\n igoListItem\r\n [layer]=\"layer\"\r\n [activeLayer]=\"activeLayer\"\r\n [orderable]=\"orderable && !layer.baseLayer\"\r\n [lowerDisabled]=\"getLowerLayer().id === layer.id\"\r\n [raiseDisabled]=\"getUpperLayer().id === layer.id\"\r\n [queryBadge]=\"queryBadge\"\r\n [expandLegendIfVisible]=\"expandLegendOfVisibleLayers\"\r\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\r\n [toggleLegendOnVisibilityChange]=\"toggleLegendOnVisibilityChange\"\r\n [selectionMode]=\"selection\"\r\n [selectAll]=\"selectAllCheck\"\r\n [layerCheck]=\"layer.options.check\"\r\n [changeDetection]=\"layerItemChangeDetection$\"\r\n (action)=\"toggleLayerTool($event)\"\r\n (checkbox)=\"layersCheck($event)\">\r\n </igo-layer-item>\r\n </ng-template>\r\n</igo-list>\r\n\r\n<igo-panel *ngIf=\"!selection && layerTool && activeLayer\" class=\"igo-layer-actions-container\" [title]=\"activeLayer.title\">\r\n <div class=\"igo-layer-button-group\">\r\n <button\r\n *ngIf=\"isLayerRemovable(activeLayer)\"\r\n class=\"delete-button\"\r\n mat-icon-button\r\n color=\"warn\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.layer.removeLayer' | translate\"\r\n (click)=\"removeLayers()\">\r\n <mat-icon svgIcon=\"delete\"></mat-icon>\r\n </button>\r\n\r\n <button\r\n class=\"down-button\"\r\n mat-icon-button\r\n color=\"primary\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"(sortAlpha || onlyVisible || keyword) ? ('igo.geo.layer.filterLowerLayer' | translate) : ('igo.geo.layer.lowerLayer' | translate)\"\r\n [disabled]=\"lowerDisabled\"\r\n (click)=\"moveActiveLayer(activeLayer,layerListDisplacement.Lower, true)\">\r\n <mat-icon [matBadge]=\"(sortAlpha || onlyVisible || keyword) ? '!' : ''\" matBadgeColor=\"warn\" matBadgeSize=\"medium\" [matBadgeHidden]=\"lowerDisabled\"\r\n svgIcon=\"arrow-down\"></mat-icon>\r\n </button>\r\n\r\n <button\r\n class=\"up-button\"\r\n color=\"primary\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"(sortAlpha || onlyVisible || keyword) ? ('igo.geo.layer.filterRaiseLayer' | translate) : ('igo.geo.layer.raiseLayer' | translate)\"\r\n [disabled]=\"raiseDisabled\"\r\n (click)=\"moveActiveLayer(activeLayer,layerListDisplacement.Raise, true)\">\r\n <mat-icon [matBadge]=\"(sortAlpha || onlyVisible || keyword) ? '!' : ''\" matBadgeColor=\"warn\" matBadgeSize=\"medium\" [matBadgeHidden]=\"raiseDisabled\"\r\n svgIcon=\"arrow-up\"></mat-icon>\r\n </button>\r\n\r\n <!-- <label>{{ 'igo.geo.layer.opacity' | translate }} </label> -->\r\n <button\r\n class=\"opacity-button\"\r\n color=\"primary\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matMenuTriggerFor]=\"opacityMenu\"\r\n [matTooltip]=\"'igo.geo.layer.opacity' | translate\">\r\n <mat-icon [matBadge]=\"badgeOpacity\" matBadgeColor=\"primary\" matBadgeSize=\"medium\" svgIcon=\"opacity\"></mat-icon>\r\n </button>\r\n\r\n <mat-menu #opacityMenu=\"matMenu\" class=\"mat-menu-opacity-slider\">\r\n <div id=\"opacity-menu\">\r\n <mat-slider\r\n id=\"opacity-slider\"\r\n color=\"primary\"\r\n thumbLabel\r\n tickInterval=\"5\"\r\n step=\"5\"\r\n [min]=\"0\"\r\n [max]=\"100\"\r\n [value]=\"opacity\"\r\n (input)=\"changeOpacity($event)\"\r\n [matTooltip]=\"'igo.geo.layer.opacity' | translate\"\r\n (click) = \"$event.stopPropagation()\"\r\n matTooltipShowDelay=\"500\"\r\n tooltip-position=\"below\">\r\n </mat-slider>\r\n </div>\r\n </mat-menu>\r\n\r\n <button\r\n *ngIf=\"activeLayerExtentIsValid(activeLayer)\"\r\n class=\"zoomLayer-button\"\r\n color=\"primary\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.layer.zoomLayer' | translate\"\r\n (click)=\"zoomLayerExtents(activeLayer)\">\r\n <mat-icon matBadgeColor=\"primary\" matBadgeSize=\"medium\" svgIcon=\"magnify-scan\"></mat-icon>\r\n </button>\r\n\r\n <ng-container igoLayerItemToolbar\r\n [ngTemplateOutlet]=\"templateLayerToolbar\"\r\n [ngTemplateOutletContext]=\"{layer: activeLayer}\">\r\n </ng-container>\r\n\r\n <ng-content select=\"[igoLayerItemToolbar]\"></ng-content>\r\n </div>\r\n</igo-panel>\r\n\r\n<igo-panel *ngIf=\"selection && layers.length > 0\" class=\"igo-layer-actions-container\" [title]=\"'igo.geo.layer.tools' | translate\">\r\n <div class=\"actions-buttons-multi\">\r\n <button\r\n class=\"delete-button\"\r\n mat-icon-button\r\n color=\"warn\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [disabled]=\"layersChecked.length === 0\"\r\n [matTooltip]=\"isAllLayersRemovable(layersChecked) ? ('igo.geo.layer.removeSelectedLayers' | translate) : 'igo.geo.layer.removeSelectedLayersRestriction' | translate\"\r\n (click)=\"removeLayers(layersChecked)\">\r\n <mat-icon [matBadge]=\"'!'\" matBadgeColor=\"warn\" matBadgeSize=\"medium\" [matBadgeHidden]=\"isAllLayersRemovable(layersChecked)\"\r\n svgIcon=\"delete\"></mat-icon>\r\n </button>\r\n\r\n <button\r\n class=\"eye-button\"\r\n mat-icon-button\r\n color=\"primary\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [disabled]=\"layersChecked.length === 0\"\r\n [matTooltip]=\"statusSelectedLayersCheck === 'ALL_HIDDEN' ? ('igo.geo.layer.showSelectedLayers' | translate) : ('igo.geo.layer.hideSelectedLayers' | translate)\"\r\n (click)=\"toggleVisibility(layersChecked)\">\r\n <mat-icon\t[svgIcon]=\"(statusSelectedLayersCheck === 'ALL_HIDDEN') ? 'eye-off' : 'eye'\"></mat-icon>\r\n </button>\r\n\r\n <button\r\n class=\"down-button\"\r\n mat-icon-button\r\n color=\"primary\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"(sortAlpha || onlyVisible || keyword) ? ('igo.geo.layer.filterLowerLayer' | translate) : ('igo.geo.layer.lowerLayer' | translate)\"\r\n [disabled]=\"lowerDisabledSelection\"\r\n (click)=\"lowerLayers(layersChecked)\">\r\n <mat-icon [matBadge]=\"(sortAlpha || onlyVisible || keyword) ? '!' : ''\" matBadgeColor=\"warn\" matBadgeSize=\"medium\" [matBadgeHidden]=\"lowerDisabledSelection\"\r\n svgIcon=\"arrow-down\"></mat-icon>\r\n </button>\r\n\r\n <button\r\n class=\"up-button\"\r\n color=\"primary\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"(sortAlpha || onlyVisible || keyword) ? ('igo.geo.layer.filterRaiseLayer' | translate) : ('igo.geo.layer.raiseLayer' | translate)\"\r\n [disabled]=\"raiseDisabledSelection\"\r\n (click)=\"raiseLayers(layersChecked)\">\r\n <mat-icon [matBadge]=\"(sortAlpha || onlyVisible || keyword) ? '!' : ''\" matBadgeColor=\"warn\" matBadgeSize=\"medium\" [matBadgeHidden]=\"raiseDisabledSelection\"\r\n svgIcon=\"arrow-up\"></mat-icon>\r\n </button>\r\n\r\n <button\r\n class=\"opacity-button\"\r\n color=\"primary\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [disabled]=\"layersChecked.length === 0\"\r\n [matMenuTriggerFor]=\"opacityMenu\"\r\n [matTooltip]=\"'igo.geo.layer.opacity' | translate\">\r\n <mat-icon svgIcon=\"opacity\"></mat-icon>\r\n </button>\r\n\r\n <mat-menu #opacityMenu=\"matMenu\" class=\"mat-menu-opacity-slider\">\r\n <div id=\"opacity-menu\">\r\n <mat-slider *ngIf=\"layersChecked.length\"\r\n id=\"opacity-slider\"\r\n color=\"primary\"\r\n thumbLabel\r\n tickInterval=\"5\"\r\n step=\"5\"\r\n [min]=\"0\"\r\n [max]=\"100\"\r\n [(ngModel)]=\"checkOpacity\"\r\n [matTooltip]=\"'igo.geo.layer.opacity' | translate\"\r\n matTooltipShowDelay=\"500\"\r\n tooltip-position=\"below\"\r\n (click) = \"$event.stopPropagation()\">\r\n </mat-slider>\r\n </div>\r\n </mat-menu>\r\n\r\n <button\r\n *ngIf=\"layersChecked.length !== 0 && activeLayersExtentAreValid(layersChecked)\"\r\n class=\"zoomLayer-button\"\r\n color=\"primary\"\r\n mat-icon-button\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.layer.zoomLayers' | translate\"\r\n (click)=\"zoomLayersExtents(layersChecked)\">\r\n <mat-icon svgIcon=\"magnify-scan\"></mat-icon>\r\n </button>\r\n </div>\r\n</igo-panel>\r\n", styles: [":host .igo-list-no-tools{height:calc(100% - 57px);padding-top:8px}:host .igo-list-tools-single{height:calc(100% - 153px);padding-top:8px}:host .igo-list-tools-multi{height:calc(100% - 191px);padding-top:8px}mat-form-field.inputFilter{width:calc(100% - 100px);max-width:200px}.igo-layer-actions-container{width:calc(100% - 5px);padding-left:4px}.igo-layer-actions-container>div{text-align:center}mat-list-item ::ng-deep .mat-list-item-content{margin-bottom:10px}mat-checkbox ::ng-deep .mat-checkbox-inner-container{margin-left:8px;margin-right:16px}#opacity-slider{float:left;min-width:0;min-width:initial;width:110px;left:10px;top:10px}.igo-layer-button-group,.actions-buttons-multi{display:flex;align-items:center;flex-direction:row-reverse;overflow-x:auto;overflow-y:hidden}.igo-layer-button-group::-webkit-scrollbar,.actions-buttons-multi::-webkit-scrollbar{height:4px}.igo-layer-button-group::-webkit-scrollbar-track,.actions-buttons-multi::-webkit-scrollbar-track{background:#f1f1f1}.igo-layer-button-group::-webkit-scrollbar-thumb,.actions-buttons-multi::-webkit-scrollbar-thumb{background:#888}.igo-layer-button-group::-webkit-scrollbar-thumb:hover,.actions-buttons-multi::-webkit-scrollbar-thumb:hover{background:#555}.igo-layer-button-group{padding-top:5px}:host igo-panel{height:auto;height:initial}#opacity-menu{max-width:none;max-width:initial;width:132px;height:50px}#opacity-menu .mat-menu-content:not(:empty){padding-top:20px}.select-all ::ng-deep .mat-list-item-content{margin:0}\n"] }]
|
|
15193
|
+
args: [{ selector: 'igo-layer-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list>\n <igo-layer-list-tool *ngIf=\"showToolbar$ | async\"\n floatLabel=\"auto\"\n [layersAreAllVisible]=\"layersAreAllVisible\"\n [term]=\"layerFilterAndSortOptions.keyword\"\n [onlyVisible]=\"layerFilterAndSortOptions.onlyVisible\"\n [sortAlpha]=\"layerFilterAndSortOptions.sortAlpha\"\n (appliedFilterAndSort)=\"onAppliedFilterAndSortChange($event)\"\n (selection)=\"toggleSelectionMode($event)\">\n </igo-layer-list-tool>\n</mat-list>\n\n<mat-list-item *ngIf=\"selection\" class=\"select-all\">\n <mat-checkbox\n class=\"select-all-checkbox mat-subheading-2\"\n [color]=\"!selectAllCheck && layersChecked.length > 0 ? 'accent' : 'primary'\"\n (change)=\"selectAll()\"\n [checked]=\"selectAllCheck\"\n [indeterminate]=\"!selectAllCheck && layersChecked.length > 0\"> {{selectAllCheck ? ('igo.geo.layer.deselectAll' | translate) : ('igo.geo.layer.selectAll' | translate)}}\n </mat-checkbox>\n</mat-list-item>\n<mat-divider></mat-divider>\n\n<igo-list #igoList [ngClass]=\"{'igo-list-tools-multi': selection, 'igo-list-tools-single': (layerTool && !selection), 'igo-list-no-tools': (!layerTool && !selection)}\" [navigation]=\"false\" [selection]=\"false\">\n <ng-template ngFor let-layer let-i=\"index\" [ngForOf]=\"layers$ | async\">\n <igo-layer-item *ngIf=\"!(excludeBaseLayers && layer.baseLayer)\"\n igoListItem\n [layer]=\"layer\"\n [activeLayer]=\"activeLayer\"\n [orderable]=\"orderable && !layer.baseLayer\"\n [lowerDisabled]=\"getLowerLayer().id === layer.id\"\n [raiseDisabled]=\"getUpperLayer().id === layer.id\"\n [queryBadge]=\"queryBadge\"\n [expandLegendIfVisible]=\"expandLegendOfVisibleLayers\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n [toggleLegendOnVisibilityChange]=\"toggleLegendOnVisibilityChange\"\n [selectionMode]=\"selection\"\n [selectAll]=\"selectAllCheck\"\n [layerCheck]=\"layer.options.check\"\n [changeDetection]=\"layerItemChangeDetection$\"\n (action)=\"toggleLayerTool($event)\"\n (checkbox)=\"layersCheck($event)\">\n </igo-layer-item>\n </ng-template>\n</igo-list>\n\n<igo-panel *ngIf=\"!selection && layerTool && activeLayer\" class=\"igo-layer-actions-container\" [title]=\"activeLayer.title\">\n <div class=\"igo-layer-button-group\">\n <button\n *ngIf=\"isLayerRemovable(activeLayer)\"\n class=\"delete-button\"\n mat-icon-button\n color=\"warn\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.removeLayer' | translate\"\n (click)=\"removeLayers()\">\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n\n <button\n class=\"down-button\"\n mat-icon-button\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"(sortAlpha || onlyVisible || keyword) ? ('igo.geo.layer.filterLowerLayer' | translate) : ('igo.geo.layer.lowerLayer' | translate)\"\n [disabled]=\"lowerDisabled\"\n (click)=\"moveActiveLayer(activeLayer,layerListDisplacement.Lower, true)\">\n <mat-icon [matBadge]=\"(sortAlpha || onlyVisible || keyword) ? '!' : ''\" matBadgeColor=\"warn\" matBadgeSize=\"medium\" [matBadgeHidden]=\"lowerDisabled\"\n svgIcon=\"arrow-down\"></mat-icon>\n </button>\n\n <button\n class=\"up-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"(sortAlpha || onlyVisible || keyword) ? ('igo.geo.layer.filterRaiseLayer' | translate) : ('igo.geo.layer.raiseLayer' | translate)\"\n [disabled]=\"raiseDisabled\"\n (click)=\"moveActiveLayer(activeLayer,layerListDisplacement.Raise, true)\">\n <mat-icon [matBadge]=\"(sortAlpha || onlyVisible || keyword) ? '!' : ''\" matBadgeColor=\"warn\" matBadgeSize=\"medium\" [matBadgeHidden]=\"raiseDisabled\"\n svgIcon=\"arrow-up\"></mat-icon>\n </button>\n\n <!-- <label>{{ 'igo.geo.layer.opacity' | translate }} </label> -->\n <button\n class=\"opacity-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matMenuTriggerFor]=\"opacityMenu\"\n [matTooltip]=\"'igo.geo.layer.opacity' | translate\">\n <mat-icon [matBadge]=\"badgeOpacity\" matBadgeColor=\"primary\" matBadgeSize=\"medium\" svgIcon=\"opacity\"></mat-icon>\n </button>\n\n <mat-menu #opacityMenu=\"matMenu\" class=\"mat-menu-opacity-slider\">\n <div id=\"opacity-menu\">\n <mat-slider\n id=\"opacity-slider\"\n color=\"primary\"\n thumbLabel\n tickInterval=\"5\"\n step=\"5\"\n [min]=\"0\"\n [max]=\"100\"\n [value]=\"opacity\"\n (input)=\"changeOpacity($event)\"\n [matTooltip]=\"'igo.geo.layer.opacity' | translate\"\n (click) = \"$event.stopPropagation()\"\n matTooltipShowDelay=\"500\"\n tooltip-position=\"below\">\n </mat-slider>\n </div>\n </mat-menu>\n\n <button\n *ngIf=\"activeLayerExtentIsValid(activeLayer)\"\n class=\"zoomLayer-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.zoomLayer' | translate\"\n (click)=\"zoomLayerExtents(activeLayer)\">\n <mat-icon matBadgeColor=\"primary\" matBadgeSize=\"medium\" svgIcon=\"magnify-scan\"></mat-icon>\n </button>\n\n <ng-container igoLayerItemToolbar\n [ngTemplateOutlet]=\"templateLayerToolbar\"\n [ngTemplateOutletContext]=\"{layer: activeLayer}\">\n </ng-container>\n\n <ng-content select=\"[igoLayerItemToolbar]\"></ng-content>\n </div>\n</igo-panel>\n\n<igo-panel *ngIf=\"selection && layers.length > 0\" class=\"igo-layer-actions-container\" [title]=\"'igo.geo.layer.tools' | translate\">\n <div class=\"actions-buttons-multi\">\n <button\n class=\"delete-button\"\n mat-icon-button\n color=\"warn\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"layersChecked.length === 0\"\n [matTooltip]=\"isAllLayersRemovable(layersChecked) ? ('igo.geo.layer.removeSelectedLayers' | translate) : 'igo.geo.layer.removeSelectedLayersRestriction' | translate\"\n (click)=\"removeLayers(layersChecked)\">\n <mat-icon [matBadge]=\"'!'\" matBadgeColor=\"warn\" matBadgeSize=\"medium\" [matBadgeHidden]=\"isAllLayersRemovable(layersChecked)\"\n svgIcon=\"delete\"></mat-icon>\n </button>\n\n <button\n class=\"eye-button\"\n mat-icon-button\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"layersChecked.length === 0\"\n [matTooltip]=\"statusSelectedLayersCheck === 'ALL_HIDDEN' ? ('igo.geo.layer.showSelectedLayers' | translate) : ('igo.geo.layer.hideSelectedLayers' | translate)\"\n (click)=\"toggleVisibility(layersChecked)\">\n <mat-icon\t[svgIcon]=\"(statusSelectedLayersCheck === 'ALL_HIDDEN') ? 'eye-off' : 'eye'\"></mat-icon>\n </button>\n\n <button\n class=\"down-button\"\n mat-icon-button\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"(sortAlpha || onlyVisible || keyword) ? ('igo.geo.layer.filterLowerLayer' | translate) : ('igo.geo.layer.lowerLayer' | translate)\"\n [disabled]=\"lowerDisabledSelection\"\n (click)=\"lowerLayers(layersChecked)\">\n <mat-icon [matBadge]=\"(sortAlpha || onlyVisible || keyword) ? '!' : ''\" matBadgeColor=\"warn\" matBadgeSize=\"medium\" [matBadgeHidden]=\"lowerDisabledSelection\"\n svgIcon=\"arrow-down\"></mat-icon>\n </button>\n\n <button\n class=\"up-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"(sortAlpha || onlyVisible || keyword) ? ('igo.geo.layer.filterRaiseLayer' | translate) : ('igo.geo.layer.raiseLayer' | translate)\"\n [disabled]=\"raiseDisabledSelection\"\n (click)=\"raiseLayers(layersChecked)\">\n <mat-icon [matBadge]=\"(sortAlpha || onlyVisible || keyword) ? '!' : ''\" matBadgeColor=\"warn\" matBadgeSize=\"medium\" [matBadgeHidden]=\"raiseDisabledSelection\"\n svgIcon=\"arrow-up\"></mat-icon>\n </button>\n\n <button\n class=\"opacity-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"layersChecked.length === 0\"\n [matMenuTriggerFor]=\"opacityMenu\"\n [matTooltip]=\"'igo.geo.layer.opacity' | translate\">\n <mat-icon svgIcon=\"opacity\"></mat-icon>\n </button>\n\n <mat-menu #opacityMenu=\"matMenu\" class=\"mat-menu-opacity-slider\">\n <div id=\"opacity-menu\">\n <mat-slider *ngIf=\"layersChecked.length\"\n id=\"opacity-slider\"\n color=\"primary\"\n thumbLabel\n tickInterval=\"5\"\n step=\"5\"\n [min]=\"0\"\n [max]=\"100\"\n [(ngModel)]=\"checkOpacity\"\n [matTooltip]=\"'igo.geo.layer.opacity' | translate\"\n matTooltipShowDelay=\"500\"\n tooltip-position=\"below\"\n (click) = \"$event.stopPropagation()\">\n </mat-slider>\n </div>\n </mat-menu>\n\n <button\n *ngIf=\"layersChecked.length !== 0 && activeLayersExtentAreValid(layersChecked)\"\n class=\"zoomLayer-button\"\n color=\"primary\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.zoomLayers' | translate\"\n (click)=\"zoomLayersExtents(layersChecked)\">\n <mat-icon svgIcon=\"magnify-scan\"></mat-icon>\n </button>\n </div>\n</igo-panel>\n", styles: [":host .igo-list-no-tools{height:calc(100% - 57px);padding-top:8px}:host .igo-list-tools-single{height:calc(100% - 153px);padding-top:8px}:host .igo-list-tools-multi{height:calc(100% - 191px);padding-top:8px}mat-form-field.inputFilter{width:calc(100% - 100px);max-width:200px}.igo-layer-actions-container{width:calc(100% - 5px);padding-left:4px}.igo-layer-actions-container>div{text-align:center}mat-list-item ::ng-deep .mat-list-item-content{margin-bottom:10px}mat-checkbox ::ng-deep .mat-checkbox-inner-container{margin-left:8px;margin-right:16px}#opacity-slider{float:left;min-width:0;min-width:initial;width:110px;left:10px;top:10px}.igo-layer-button-group,.actions-buttons-multi{display:flex;align-items:center;flex-direction:row-reverse;overflow-x:auto;overflow-y:hidden}.igo-layer-button-group::-webkit-scrollbar,.actions-buttons-multi::-webkit-scrollbar{height:4px}.igo-layer-button-group::-webkit-scrollbar-track,.actions-buttons-multi::-webkit-scrollbar-track{background:#f1f1f1}.igo-layer-button-group::-webkit-scrollbar-thumb,.actions-buttons-multi::-webkit-scrollbar-thumb{background:#888}.igo-layer-button-group::-webkit-scrollbar-thumb:hover,.actions-buttons-multi::-webkit-scrollbar-thumb:hover{background:#555}.igo-layer-button-group{padding-top:5px}:host igo-panel{height:auto;height:initial}#opacity-menu{max-width:none;max-width:initial;width:132px;height:50px}#opacity-menu .mat-menu-content:not(:empty){padding-top:20px}.select-all ::ng-deep .mat-list-item-content{margin:0}\n"] }]
|
|
15191
15194
|
}], function () { return [{ type: i0.ElementRef }]; }, { templateLayerToolbar: [{
|
|
15192
15195
|
type: ContentChild,
|
|
15193
15196
|
args: ['igoLayerItemToolbar', /* TODO: add static flag */ {}]
|
|
@@ -15360,7 +15363,7 @@ LayerListToolComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Laye
|
|
|
15360
15363
|
(function () {
|
|
15361
15364
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LayerListToolComponent, [{
|
|
15362
15365
|
type: Component,
|
|
15363
|
-
args: [{ selector: 'igo-layer-list-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: " <mat-list-item>\
|
|
15366
|
+
args: [{ selector: 'igo-layer-list-tool', changeDetection: ChangeDetectionStrategy.OnPush, template: " <mat-list-item>\n <mat-form-field class=\"inputFilter\" [floatLabel]=\"floatLabel\">\n <input\n matInput\n [placeholder]=\"'igo.geo.layer.filterPlaceholder' | translate\"\n [matTooltip]=\"'igo.geo.layer.subsetLayersListKeyword' | translate\"\n matTooltipShowDelay=\"500\"\n type=\"text\" [(ngModel)]=\"term\">\n <button\n mat-button\n *ngIf=\"term\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n color=\"warn\"\n (click)=\"clearTerm()\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n </mat-form-field>\n\n <div [matTooltip]=\"sortAlpha ?\n ('igo.geo.layer.sortMapOrder' | translate) :\n ('igo.geo.layer.sortAlphabetically' | translate)\" matTooltipShowDelay=\"500\">\n <button class=\"sort-alpha\" [color]=\"sortAlpha ? 'warn' : 'primary'\" mat-icon-button (click)=\"toggleSortAlpha()\">\n <mat-icon [svgIcon]=\"sortAlpha ? 'sort-ascending' : 'sort-alphabetical-ascending'\"></mat-icon>\n </button>\n </div>\n\n <div [matTooltip]=\"onlyVisible ?\n ('igo.geo.layer.resetLayersList' | translate) :\n ('igo.geo.layer.subsetLayersListOnlyVisible' | translate)\" matTooltipShowDelay=\"500\">\n <button class=\"only-visible\" mat-icon-button [disabled]=\"layersAreAllVisible && !onlyVisible\"\n [color]=\"onlyVisible ? 'warn' : 'primary'\" (click)=\"toggleOnlyVisible()\">\n <mat-icon\n matBadge=\"icon\"\n igoMatBadgeIcon=\"eye\"\n igoMatBadgeInverseColor=\"true\"\n igoMatBadgeInheritColor=\"true\"\n [svgIcon]=\"onlyVisible ? 'filter-remove' : 'filter'\">\n </mat-icon>\n </button>\n </div>\n\n <div [matTooltip]=\"selectionMode ?\n ('igo.geo.layer.deactivateSelectionMode' | translate) :\n ('igo.geo.layer.activateSelectionMode' | translate)\" matTooltipShowDelay=\"500\">\n <button class=\"selection-mode\" mat-icon-button\n color=\"primary\" (click)=\"toggleSelectionMode()\">\n <mat-icon [svgIcon]=\"selectionMode ? 'checkbox-multiple-marked-outline' : 'checkbox-multiple-blank-outline'\"></mat-icon>\n </button>\n </div>\n\n</mat-list-item>\n", styles: ["mat-form-field.inputFilter{width:calc(100% - 100px);max-width:200px}.selection-mode{margin-left:5px}\n"] }]
|
|
15364
15367
|
}], null, { layersAreAllVisible: [{
|
|
15365
15368
|
type: Input
|
|
15366
15369
|
}], floatLabel: [{
|
|
@@ -15637,7 +15640,7 @@ LayerLegendListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: La
|
|
|
15637
15640
|
(function () {
|
|
15638
15641
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LayerLegendListComponent, [{
|
|
15639
15642
|
type: Component,
|
|
15640
|
-
args: [{ selector: 'igo-layer-legend-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "\
|
|
15643
|
+
args: [{ selector: 'igo-layer-legend-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<div class=\"layer-legend-list-container\">\n <mat-slide-toggle \n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.legend.showAll' | translate\"\n [checked]=\"showAllLegendsValue\" class=\"mat-typography\" \n *ngIf=\"(layersInUi$ | async).length && allowShowAllLegends\" [labelPosition]=\"'before'\" (change)=\"toggleShowAllLegends($event.checked)\">\n {{'igo.geo.layer.legend.showAll' | translate}}\n </mat-slide-toggle>\n <mat-divider *ngIf=\"(layersInUi$ | async).length && allowShowAllLegends\"></mat-divider>\n <igo-list [navigation]=\"false\" [selection]=\"false\">\n <ng-template ngFor let-layer let-i=\"index\" [ngForOf]=\"layers$ | async\">\n <igo-layer-legend-item *ngIf=\"!(excludeBaseLayers && layer.baseLayer)\"\n igoListItem [layer]=\"layer\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\">\n </igo-layer-legend-item>\n </ng-template>\n </igo-list>\n <p class=\"layers-empty mat-typography\" \n *ngIf=\"!showAllLegendsValue && (layersInUi$ | async).length && (hasVisibleOrInRangeLayers$ | async)===false && (hasVisibleAndNotInRangeLayers$ | async)===false && allowShowAllLegends\">\n {{'igo.geo.layer.legend.noLayersVisibleWithShowAllButton' | translate}} \n </p>\n <p class=\"layers-empty mat-typography\" \n *ngIf=\"!showAllLegendsValue && (layersInUi$ | async).length && (hasVisibleOrInRangeLayers$ | async)===false && (hasVisibleAndNotInRangeLayers$ | async) && allowShowAllLegends\">\n {{'igo.geo.layer.legend.noLayersVisibleWithShowAllButtonButZoom' | translate}} \n </p>\n <p class=\"layers-empty mat-typography\"\n *ngIf=\"(layersInUi$ | async).length && (hasVisibleOrInRangeLayers$ | async)===false && (hasVisibleAndNotInRangeLayers$ | async)===false && !allowShowAllLegends\">\n {{'igo.geo.layer.legend.noLayersVisible' | translate}} \n </p>\n <p class=\"layers-empty mat-typography\"\n *ngIf=\"(layersInUi$ | async).length && (hasVisibleOrInRangeLayers$ | async)===false && (hasVisibleAndNotInRangeLayers$ | async) && !allowShowAllLegends\">\n {{'igo.geo.layer.legend.noLayersVisibleButZoom' | translate}} \n </p>\n\n</div>", styles: ["mat-slide-toggle{width:100%;margin:10px}mat-slide-toggle ::ng-deep .mat-slide-toggle-content{width:calc(100% - 60px)}igo-list{display:contents}.layers-empty{text-align:justify;margin:10px}.layer-legend-list-container{max-height:100%;overflow:auto}\n"] }]
|
|
15641
15644
|
}], function () { return []; }, { layers: [{
|
|
15642
15645
|
type: Input
|
|
15643
15646
|
}], excludeBaseLayers: [{
|
|
@@ -15751,7 +15754,7 @@ TrackFeatureButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
15751
15754
|
(function () {
|
|
15752
15755
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TrackFeatureButtonComponent, [{
|
|
15753
15756
|
type: Component,
|
|
15754
|
-
args: [{ selector: 'igo-track-feature-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button *ngIf=\"options.trackFeature\"\
|
|
15757
|
+
args: [{ selector: 'igo-track-feature-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button *ngIf=\"options.trackFeature\"\n mat-icon-button\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.layer.trackFeature' | translate\"\n [color]=\"color\"\n (click)=\"toggleTrackFeature()\">\n <mat-icon svgIcon=\"crosshairs-gps\"></mat-icon>\n</button>\n" }]
|
|
15755
15758
|
}], function () { return []; }, { layer: [{
|
|
15756
15759
|
type: Input
|
|
15757
15760
|
}], trackFeature: [{
|
|
@@ -15835,7 +15838,7 @@ LayerLegendItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: La
|
|
|
15835
15838
|
(function () {
|
|
15836
15839
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LayerLegendItemComponent, [{
|
|
15837
15840
|
type: Component,
|
|
15838
|
-
args: [{ selector: 'igo-layer-legend-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item class= \"igo-layer-list-item\">\
|
|
15841
|
+
args: [{ selector: 'igo-layer-legend-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item class= \"igo-layer-list-item\">\n <h4 matLine class=\"igo-layer-title\" [matTooltip]=\"tooltipText\" matTooltipShowDelay=\"500\">{{layer.title}}</h4>\n</mat-list-item>\n\n<div #legend class=\"igo-layer-legend-container\">\n <igo-layer-legend\n [layer]=\"layer\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\">\n </igo-layer-legend>\n</div>\n", styles: [":host{overflow:hidden}.igo-layer-list-item{height:46px;clear:both}.igo-layer-legend-container{padding-left:18px;width:calc(100% - 18px)}\n"] }]
|
|
15839
15842
|
}], function () { return [{ type: i2$1.NetworkService }]; }, { layer: [{
|
|
15840
15843
|
type: Input
|
|
15841
15844
|
}], updateLegendOnResolutionChange: [{
|
|
@@ -17135,7 +17138,7 @@ FeatureDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Fea
|
|
|
17135
17138
|
(function () {
|
|
17136
17139
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FeatureDetailsComponent, [{
|
|
17137
17140
|
type: Component,
|
|
17138
|
-
args: [{ selector: 'igo-feature-details', changeDetection: ChangeDetectionStrategy.OnPush, template: "<table class=\"igo-striped mat-typography\" *ngIf=\"ready && feature && isObject(feature.properties) && feature.properties.target !== 'iframe'\">\
|
|
17141
|
+
args: [{ selector: 'igo-feature-details', changeDetection: ChangeDetectionStrategy.OnPush, template: "<table class=\"igo-striped mat-typography\" *ngIf=\"ready && feature && isObject(feature.properties) && feature.properties.target !== 'iframe'\">\n <tbody>\n <tr *ngFor=\"let property of filterFeatureProperties(feature) | keyvalue\">\n\n <td *ngIf=\"feature.properties.target === '_blank' && property.key === 'url'\">\n <mat-icon mat-list-avatar svgIcon=\"{{icon}}\"></mat-icon>\n </td>\n\n <td *ngIf=\"feature.properties.target === '_blank' && property.key === 'url'\">\n <a href=\"{{property.value}}\" target='_blank' rel=\"noopener noreferrer\"> {{ 'igo.geo.targetHtmlUrl' | translate }} {{title}}</a>\n <button class=\"copyClipboard\" mat-icon-button (click)=\"copyTextToClipboard(property.value)\">\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\n </button>\n </td>\n\n <td id=\"keyValue\" *ngIf=\"feature.properties.target === undefined\">\n {{property.key}}\n </td>\n\n <td *ngIf=\"feature.properties.target === undefined && !isObject(property.value) && !isUrl(property.value) && !isEmbeddedLink(property.value)\" [innerHTML]=\"property.value\">\n </td>\n\n <td *ngIf=\"feature.properties.target === undefined && isEmbeddedLink(property.value)\">\n <u [ngStyle]=\"{'cursor': 'pointer', 'color': 'blue'}\" (click)=\"openSecureUrl(property.value)\">{{ getEmbeddedLinkText(property.value) }}</u>\n </td>\n\n <td *ngIf=\"feature.properties.target === undefined && !isObject(property.value) && (isDoc(property.value) || isUrl(property.value)) && !isImg(property.value)\">\n <u [ngStyle]=\"{'cursor': 'pointer', 'color': 'blue'}\" (click)=\"openSecureUrl(property.value)\">{{ 'igo.geo.targetHtmlUrl' | translate }}</u>\n <button class=\"copyClipboard\" mat-icon-button (click)=\"copyTextToClipboard(property.value)\">\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\n </button>\n </td>\n\n <td *ngIf=\"feature.properties.target === undefined && !isObject(property.value) && isUrl(property.value) && isImg(property.value)\">\n <a href=\"{{property.value}}\" target='_blank' (click)=\"openSecureUrl(property.value)\" rel=\"noopener noreferrer\">\n <img igoImageError src=\"{{(property.value | secureImage) |\u00A0async}}\" width=\"225\" height=\"auto\">\n </a>\n </td>\n\n <td *ngIf=\"feature.properties.target === undefined && isObject(property.value)\" [innerHTML]=\"property.value | json\">\n </td>\n\n </tr>\n </tbody>\n</table>\n\n<iframe *ngIf=\"isHtmlDisplay()\" [srcdoc]=\"htmlSanitizer(feature.properties)\" [src]=\"urlSanitizer(feature.properties.url)\"></iframe>\n", styles: ["table{width:100%}table td{padding:5px}#keyValue{width:30%}table ::ng-deep .routing{cursor:pointer}iframe{height:calc(100% - 4px);width:100%;border:0}.copyClipboard{border:none;background:transparent;cursor:pointer}\n"] }]
|
|
17139
17142
|
}], function () { return [{ type: i1$2.HttpClient }, { type: i0.ChangeDetectorRef }, { type: i2$3.DomSanitizer }, { type: i2$1.NetworkService }, { type: i2$1.MessageService }, { type: i2$1.ConfigService }]; }, { source: [{
|
|
17140
17143
|
type: Input
|
|
17141
17144
|
}], map: [{
|
|
@@ -17252,7 +17255,7 @@ FeatureFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Featur
|
|
|
17252
17255
|
(function () {
|
|
17253
17256
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FeatureFormComponent, [{
|
|
17254
17257
|
type: Component,
|
|
17255
|
-
args: [{ selector: 'igo-feature-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "\
|
|
17258
|
+
args: [{ selector: 'igo-feature-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<igo-form\n #igoForm\n [form]=\"form\"\n [formData]=\"feature$ | async\"\n (submitForm)=\"onSubmit($event)\">\n\n <ng-content></ng-content>\n \n <ng-content select=\"[formButtons]\" formButtons></ng-content>\n \n</igo-form>\n", styles: [":host{display:block}igo-form{height:100%}\n"] }]
|
|
17256
17259
|
}], function () { return []; }, { form: [{
|
|
17257
17260
|
type: Input
|
|
17258
17261
|
}], feature: [{
|
|
@@ -18303,7 +18306,7 @@ DrawPopupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawPopu
|
|
|
18303
18306
|
(function () {
|
|
18304
18307
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawPopupComponent, [{
|
|
18305
18308
|
type: Component,
|
|
18306
|
-
args: [{ selector: 'igo-draw-popup-component', template: "<div>\
|
|
18309
|
+
args: [{ selector: 'igo-draw-popup-component', template: "<div>\n <h2 mat-dialog-title>\n {{ 'igo.geo.draw.popupTitle' | translate }}\n </h2>\n</div>\n\n\n<div class=\"geometry-type-toggle mat-typography\">\n <mat-button-toggle-group\n (change)=\"onLabelTypeChange($event.value)\" [value]=\"customOrPredefined\">\n <mat-button-toggle [value]=\"labelType.Custom\" >\n {{ 'igo.geo.draw.labelType.custom' | translate }}\n </mat-button-toggle>\n <mat-button-toggle [value]=\"labelType.Predefined\">\n {{ 'igo.geo.draw.labelType.predefined' | translate }}\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>\n\n<div *ngIf=\"labelFlag !== labelType.Custom\">\n <div>\n <p class=\"mat-typography\">{{ 'igo.geo.draw.builtInInstructions' | translate }}</p>\n <mat-radio-group *ngIf=\"olGeometryType !== 'Polygon'\" class=\"mat-typography\">\n <mat-radio-button *ngFor=\"let option of arrayBuiltInType\" [value]=\"option.value\" [disabled]=\"optionAvailable(option.value)\" \n (change)=\"onLabelTypeChange($event.value)\" [checked]=\"option.checked\">\n {{getProperLengthLabel(option.value)}}\n </mat-radio-button>\n </mat-radio-group>\n <ng-container class=\"mat-typography\" *ngIf=\"olGeometryType === 'Polygon'\">\n <mat-checkbox\n *ngFor=\"let option of arrayBuiltInType\"\n class=\"mat-typography\"\n [value]=\"option.value\"\n [disabled]=\"optionAvailable(option.value)\"\n (change)=\"onLabelTypeChange($event.source.value, $event.checked)\"\n [checked]=\"option.checked\">\n {{getProperLengthLabel(option.value)}}\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"labelFlag === labelType.Coordinates\">\n <mat-form-field class=\"readOnly-Input\">\n <input\n #input\n matInput\n placeholder=\"(Latitude, Longitude)\"\n value=\"{{currentCoordinates}}\" readonly>\n </mat-form-field>\n <mat-form-field class=\"unit-field\">\n <mat-select [value]=\"coordinatesMeasureUnit\" (selectionChange)=\"onChangeCoordinateUnit($event.value)\">\n <mat-option *ngFor=\"let unit of allCoordinatesUnits\" [value]=\"unit\">\n {{unit}}\n </mat-option>\n </mat-select> \n </mat-form-field>\n </div>\n <div *ngIf=\"labelFlag === labelType.Length || polygonCheck === 2\">\n <mat-form-field class=\"readOnly-Input\">\n <input\n #input\n matInput\n placeholder={{lengthLabelT}}\n value=\"{{currentLength}}\" readonly>\n </mat-form-field>\n <mat-form-field class=\"unit-field\">\n <mat-select [value]=\"lengthMeasureUnit\" (selectionChange)=\"onChangeLengthUnit($event.value)\">\n <mat-option *ngFor=\"let unit of allLengthUnits\" [value]=\"unit\">\n {{getLengthUnitEnum(unit)}}\n </mat-option>\n </mat-select> \n </mat-form-field>\n </div>\n <div *ngIf=\"labelFlag === labelType.Area || polygonCheck === 2\">\n <mat-form-field class=\"readOnly-Input\">\n <input\n #input\n matInput\n placeholder=\"{{ 'igo.geo.draw.labelType.Area' | translate }}\"\n value=\"{{currentArea}}\" readonly>\n </mat-form-field>\n <mat-form-field class=\"unit-field\">\n <mat-select [value]=\"areaMeasureUnit\" (selectionChange)=\"onChangeAreaUnit($event.value)\">\n <mat-option *ngFor=\"let unit of allAreaUnits\" [value]=\"unit\">\n {{getAreaUnitEnum(unit)}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n\n\n <div mat-dialog-actions>\n <button mat-raised-button (click)=\"cancelDrawing()\" >\n {{'igo.geo.draw.cancel' | translate}}\n </button>\n <button \n mat-raised-button \n color=\"primary\" \n (click)=\"confirm()\"> \n {{noLabelButton()}} \n </button>\n </div>\n</div>\n\n<div *ngIf=\"labelFlag === labelType.Custom\">\n <div>\n <p class=\"mat-typography\">{{ 'igo.geo.draw.dialogInstruction' | translate }}</p>\n <mat-form-field class=\"input\">\n <input\n #input\n matInput\n (select)=\"true\"\n (input)=\"getLabelLength($event.target.value)\"\n placeholder=\"{{'igo.geo.draw.dialogTitle' | translate}}\"\n value=\"{{ currentLabel }}\"\n cdkFocusInitial/>\n </mat-form-field>\n </div>\n \n <div mat-dialog-actions>\n <button mat-raised-button (click)=\"cancelDrawing()\" >\n {{'igo.geo.draw.cancel' | translate}}\n </button>\n <button \n mat-raised-button \n color=\"primary\" \n (click)=\"confirm(input.value)\">\n {{noLabelButton()}}\n </button>\n </div>\n</div>\n", styles: [".mat-radio-button~.mat-radio-button{margin-left:16px}.readOnly-Input{width:200px!important}.unit-field{width:50px;margin-left:10px;margin-top:10px}.mat-form-field{position:-webkit-sticky!important;position:sticky!important}.coordinatesInputView{top:5em!important}::ng-deep .mat-form-field-wrapper{margin-bottom:-1.25em;margin-top:.25em}.geometry-type-toggle,.mat-dialog-actions{display:flex!important;justify-content:center}.input{width:auto!important}.mat-button-toggle-group,.mat-button-toggle{width:100%}mat-checkbox{margin-right:10px}\n"] }]
|
|
18307
18310
|
}], function () {
|
|
18308
18311
|
return [{ type: i2$1.LanguageService }, { type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
18309
18312
|
type: Inject,
|
|
@@ -18365,7 +18368,7 @@ DrawShorcutsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawS
|
|
|
18365
18368
|
(function () {
|
|
18366
18369
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawShorcutsComponent, [{
|
|
18367
18370
|
type: Component,
|
|
18368
|
-
args: [{ selector: 'igo-draw-shorcuts', template: "<mat-dialog-content>\
|
|
18371
|
+
args: [{ selector: 'igo-draw-shorcuts', template: "<mat-dialog-content>\n <div>\n <span class=\"shortcut mat-typography\">\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-return\"></mat-icon>{{'igo.geo.draw.finish' | translate}}</span>\n </div>\n <div>\n <span class=\"shortcut mat-typography\">\n <mat-icon class=\"shortcut-icon\" svgIcon=\"backspace-outline\"></mat-icon>{{'igo.geo.draw.undo' | translate}}</span>\n </div>\n <div>\n <span class=\"shortcut mat-typography\">\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-esc\"></mat-icon>{{'igo.geo.draw.abort' | translate}}</span>\n </div>\n <div>\n <span class=\"shortcut mat-typography\">\n <mat-icon class=\"shortcut-icon\" svgIcon=\"keyboard-space\"></mat-icon>{{'igo.geo.draw.move' | translate}}</span>\n </div>\n</mat-dialog-content>\n<mat-dialog-actions class=\"shortcuts-close\">\n <button mat-raised-button mat-dialog-close color=\"primary\">OK</button>\n</mat-dialog-actions>", styles: [".shortcut{display:flex;align-items:center}.shortcut-icon{margin-right:10px}.shortcuts-close{display:flex;justify-content:center}\n"] }]
|
|
18369
18372
|
}], null, null);
|
|
18370
18373
|
})();
|
|
18371
18374
|
|
|
@@ -18416,7 +18419,7 @@ DrawLayerPopupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dra
|
|
|
18416
18419
|
(function () {
|
|
18417
18420
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawLayerPopupComponent, [{
|
|
18418
18421
|
type: Component,
|
|
18419
|
-
args: [{ selector: 'igo-draw-popup-component', template: "<div mat-dialog-content>\
|
|
18422
|
+
args: [{ selector: 'igo-draw-popup-component', template: "<div mat-dialog-content>\n <p class=\"mat-typography\">\n {{ 'igo.geo.draw.layer.layerDialogInstruction' | translate }}\n </p>\n <mat-form-field class=\"example-full-width\">\n <input\n #input\n matInput\n placeholder=\"{{ 'igo.geo.draw.layer.title' | translate }}\"\n />\n </mat-form-field>\n</div>\n<div mat-dialog-actions>\n <button mat-raised-button (click)=\"cancelDrawing()\">\n {{ 'igo.geo.draw.cancel' | translate }}\n </button>\n <button mat-raised-button color=\"primary\" (click)=\"confirm(input.value)\">\n OK\n </button>\n</div>\n" }]
|
|
18420
18423
|
}], function () { return [{ type: i1.MatDialogRef }]; }, { confirmFlag: [{
|
|
18421
18424
|
type: Input
|
|
18422
18425
|
}] });
|
|
@@ -19044,6 +19047,7 @@ class DrawComponent {
|
|
|
19044
19047
|
id: featureId
|
|
19045
19048
|
}
|
|
19046
19049
|
});
|
|
19050
|
+
this.activeStore.setLayerExtent();
|
|
19047
19051
|
this.activeDrawControl.predefinedRadius$.next(undefined);
|
|
19048
19052
|
this.activeDrawControl.radiusDrawEnd$.next(undefined);
|
|
19049
19053
|
}
|
|
@@ -19110,6 +19114,7 @@ class DrawComponent {
|
|
|
19110
19114
|
});
|
|
19111
19115
|
});
|
|
19112
19116
|
this.updateHeightTable();
|
|
19117
|
+
this.activeStore.setLayerExtent();
|
|
19113
19118
|
}
|
|
19114
19119
|
/**
|
|
19115
19120
|
* Called when the user toggles the labels toggle
|
|
@@ -19677,7 +19682,7 @@ DrawComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DrawComponent
|
|
|
19677
19682
|
transition('open => closed', [animate('600ms ease')]),
|
|
19678
19683
|
transition('closed => open', [animate('800ms ease')])
|
|
19679
19684
|
])
|
|
19680
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\
|
|
19685
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\n <div class=\"geometry-type-toggle mat-typography\">\n <mat-button-toggle-group\n (change)=\"onGeometryTypeChange($event.value)\" [value]=\"geometryType.Point\">\n <mat-button-toggle [value]=\"geometryType.Point\">\n {{'igo.geo.draw.' + geometryType.Point | translate}}\n </mat-button-toggle>\n\n <mat-button-toggle [value]=\"geometryType.LineString\">\n {{'igo.geo.draw.' + geometryType.LineString | translate}}\n </mat-button-toggle>\n\n <mat-button-toggle [value]=\"geometryType.Polygon\">\n {{'igo.geo.draw.' + geometryType.Polygon | translate}}\n </mat-button-toggle>\n\n <mat-button-toggle [value]=\"geometryType.Circle\">\n {{'igo.geo.draw.' + geometryType.Circle | translate}}\n </mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n\n <div class=\"draw-options mat-typography\">\n <mat-slide-toggle\n [disabled]=\"drawControlIsDisabled\"\n [checked]=\"drawControlIsActive\"\n [labelPosition]=\"'before'\"\n (change)=\"onToggleDrawControl($event.checked)\">\n {{'igo.geo.spatialFilter.drawControl' | translate}}\n </mat-slide-toggle>\n\n <mat-slide-toggle\n [checked]=\"labelsAreShown\"\n [labelPosition]=\"'before'\"\n (change)=\"onToggleLabels()\">\n {{ 'igo.geo.draw.toggleMapTooltips' | translate }}\n </mat-slide-toggle>\n\n <mat-slide-toggle\n *ngIf=\"!isPoint()\"\n [checked]=\"freehandMode\"\n [labelPosition]=\"'before'\"\n (change)=\"onToggleFreehandMode($event)\">\n {{ 'igo.geo.draw.freehandMode' | translate }}\n </mat-slide-toggle>\n\n <div class=\"radius-unit\" *ngIf=\"isCircle()\">\n <form class=\"radius-form\">\n <mat-form-field class=\"radius\">\n <input\n matInput type=\"number\"\n min=\"0\"\n placeholder=\"{{ 'igo.geo.spatialFilter.radius' | translate }}\"\n [formControl]=\"radiusFormControl\"\n [readonly]=\"this.freehandMode\">\n </mat-form-field>\n </form>\n\n <mat-form-field class=\"unit-field\">\n <mat-select\n [value]=\"measureUnit\"\n (selectionChange)=\"onMeasureUnitChange($event.value)\">\n <mat-option\n *ngFor=\"let measureUnit of measureUnits\"\n [value]=\"measureUnit\">\n {{('igo.geo.measure.' + measureUnit) | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n\n <mat-divider></mat-divider>\n\n <div>\n <mat-form-field appearance=\"outline\" class=\"layer-select\">\n <mat-label>{{'igo.geo.draw.layer.title' | translate}}</mat-label>\n <mat-select #selectedLayer (selectionChange)=\"onLayerChange(selectedLayer.value)\" [value]=\"updateActiveLayer()\">\n <mat-option *ngFor=\"let layer of allLayers\" [value]=\"layer\">\n {{ layer.title }}\n </mat-option>\n <mat-option id=\"createNewLayer\" >\n {{'igo.geo.draw.layer.createNewLayer' | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <button\n *ngIf=\"activeDrawingLayer\"\n mat-icon-button\n [color]=\"activeDrawingLayer.visible ? 'primary' : 'default'\"\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"activeDrawingLayer.visible ?\n ('igo.geo.layer.hideLayer' | translate) :\n ('igo.geo.layer.showLayer' | translate)\"\n (click)=\"activeDrawingLayer.visible = !activeDrawingLayer.visible\">\n <mat-icon\n [svgIcon]=\"activeDrawingLayer.visible ? 'eye' : 'eye-off'\">\n </mat-icon>\n </button>\n </div>\n <mat-divider></mat-divider>\n <div>\n <button\n *ngIf=\"activeStore.count$.getValue() > 0\"\n class=\"deleteBtn\"\n mat-icon-button\n color=\"warn\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.draw.delete' | translate\"\n [disabled]=\"(selectedFeatures$ | async).length === 0\"\n (click)=\"deleteDrawings()\"\n >\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n\n <div>\n <igo-entity-table\n #table\n class=\"table-compact\"\n [store]=\"activeStore\"\n [template]=\"tableTemplate\">\n </igo-entity-table>\n </div>\n </div>\n\n <div class=\"icon-options\">\n <mat-form-field *ngIf=\"icons.length >= 1\">\n <mat-label>{{ 'igo.geo.draw.icon' | translate }}</mat-label>\n <mat-select>\n <mat-select-trigger>\n <div *ngIf=\"icon\" class=\"box\">\n <img src=\"{{ icon }}\">\n </div>\n </mat-select-trigger>\n <mat-option value=\"\" (click)=\"onIconChange()\">{{ 'igo.geo.draw.noIcon' | translate }}</mat-option>\n <mat-option\n *ngFor=\"let icon_html of icons\"\n [value]=\"icon_html\"\n (click)=\"onIconChange(icon_html)\">\n <div class=\"box\">\n <img src=\"{{ icon_html }}\">\n </div>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <button\n mat-icon-button\n color=\"accent\"\n disableRipple=\"true\"\n (click)=\"openShorcutsDialog()\"\n >\n <mat-icon\n class=\"shortcuts-icon\"\n svgIcon=\"keyboard-outline\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.draw.shortcuts' | translate\"\n >\n </mat-icon>\n </button>\n\n <button\n *ngIf=\"selectedFeatures$.value.length\"\n mat-raised-button\n color=\"primary\"\n (click)=\"openStyleModalDialog()\"\n [matTooltip]=\"'igo.geo.layer.style.styleModalTooltip' | translate\">\n {{'igo.geo.layer.style.styleModal' | translate}}\n <mat-icon\n class=\"style-icon\"\n svgIcon=\"palette\"\n [matBadge]=\"selectedFeatures$.value.length\"\n matBadgeColor=\"warn\"\n matBadgeSize=\"medium\">\n </mat-icon>\n </button>\n</div>\n", styles: [".geometry-type-toggle{padding:10px;text-align:center}.geometry-type-toggle mat-button-toggle-group{width:100%}.geometry-type-toggle mat-button-toggle-group mat-button-toggle{width:25%}.draw-options{overflow-x:hidden}.draw-options mat-slide-toggle{width:100%;margin:10px}.draw-options mat-slide-toggle ::ng-deep .mat-slide-toggle-content{width:calc(100% - 60px)}.icon-options{margin:5px 5px 0}.edition-drawing{padding:10px 0}img{width:100%;height:100%}.deleteBtn{margin-left:12px}.storeTable{height:auto!important}.layer-select{width:85%;padding:10px 10px 0%}.input-button-container{padding:10px}.input-button-container mat-form-field{width:25%}.input-button-container button{left:8px;bottom:10px}.radius{display:flex;flex-flow:column nowrap;width:110%}.unit-field{width:110px;margin-left:30px}.radius-unit{display:flex;width:100%;margin-left:2px;padding:5px}::ng-deep igo-entity-table td:last-child{text-align:right!important}::ng-deep igo-entity-table td:last-child button{margin:0%!important}\n"] }]
|
|
19681
19686
|
}], function () { return [{ type: i2$1.LanguageService }, { type: i2$2.UntypedFormBuilder }, { type: DrawStyleService }, { type: i1.MatDialog }, { type: DrawIconService }]; }, { map: [{
|
|
19682
19687
|
type: Input
|
|
19683
19688
|
}], stores: [{
|
|
@@ -19981,7 +19986,7 @@ StyleModalComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: StyleMo
|
|
|
19981
19986
|
(function () {
|
|
19982
19987
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StyleModalComponent, [{
|
|
19983
19988
|
type: Component,
|
|
19984
|
-
args: [{ selector: 'igo-style-modal-component', template: "<div mat-dialog-content>\
|
|
19989
|
+
args: [{ selector: 'igo-style-modal-component', template: "<div mat-dialog-content>\n <h2 mat-dialog-title class=\"mat-typography\">{{ 'igo.geo.layer.style.styleModal' | translate }}</h2>\n <div\n class=\"edition-drawing mat-typography\"\n [hidden]=\"data.features.length === 0\">\n <form\n class=\"igo-form\"\n [formGroup]=\"form\">\n <div class=\"fill-color-picker mat-typography\" *ngIf=\"linestringOnly !== true\">\n <span>\n <mat-icon class=\"stroke-palette-icon\" svgIcon=\"square\"></mat-icon>\n {{ 'igo.geo.draw.fill' | translate }}\n </span>\n\n <mat-form-field\n class=\"fill-field\"\n appearance=\"outline\"\n floatLabel=\"always\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.draw.colorPicker' | translate\">\n <mat-label>{{ getFeatureFillColor() }}</mat-label>\n <input\n #fillColorInput\n formControlName=\"fill\"\n matInput\n type=\"text\"\n [style.background]=\"getFeatureFillColor()\"\n [readonly]=\"true\"\n [colorPicker]=\"getFeatureFillColor()\"\n [cpWidth]=\"'200px'\"\n [cpOutputFormat]=\"'rgba'\"\n [cpPosition]=\"'bottom'\"\n [cpPositionOffset]=\"'-75%'\"\n [cpCancelButton]=\"true\"\n [cpCancelButtonText]=\"'igo.geo.draw.cancel' | translate\"\n [cpOKButton]=\"true\"\n (colorPickerChange)=\"styleModalData.fillColor = $event\">\n </mat-form-field>\n </div>\n\n <div class=\"stroke-color-picker mat-typography\">\n <span>\n <mat-icon\n class=\"stroke-palette-icon\"\n svgIcon=\"square-outline\">\n </mat-icon>\n {{'igo.geo.draw.stroke' | translate}}\n </span>\n\n <mat-form-field\n class=\"stroke-field\"\n appearance=\"outline\"\n floatLabel=\"always\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.draw.colorPicker' | translate\">\n <mat-label>{{ getFeatureStrokeColor() }}</mat-label>\n <input\n #strokeColorInput\n formControlName=\"stroke\"\n matInput\n type=\"text\"\n [style.background]=\"getFeatureStrokeColor()\"\n [readonly]=\"true\"\n [colorPicker]=\"getFeatureStrokeColor()\"\n [cpWidth]=\"'200px'\"\n [cpPosition]=\"'bottom'\"\n [cpPositionOffset]=\"'-75%'\"\n [cpOutputFormat]=\"'rgba'\"\n [cpCancelButton]=\"true\"\n [cpCancelButtonText]=\"'igo.geo.draw.cancel' | translate\"\n [cpOKButton]=\"true\"\n (colorPickerChange)=\"styleModalData.strokeColor = $event\">\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\">\n <mat-form-field appearance=\"outline\" class=\"igo-form-input-box\">\n <mat-label>{{ 'igo.geo.draw.fontSize' | translate }}</mat-label>\n <input\n matInput\n #testFontSize\n type=\"number\"\n placeholder=\"10\"\n min=\"10\"\n onkeydown=\"return event.keyCode !== 69\"\n [value]=\"getFeatureFontSize()\"\n (input)=\"styleModalData.fontSize = $event.target.value\">\n <span matSuffix>px</span>\n </mat-form-field>\n <mat-form-field appearance=\"outline\" class=\"igo-form-input-box\">\n <mat-label>{{ 'igo.geo.draw.fontStyle' | translate }}</mat-label>\n <mat-select\n #testFontStyle\n [value]=\"getFeatureFontStyle()\"\n (selectionChange)=\"styleModalData.fontStyle = $event.value\">\n <mat-option\n *ngFor=\"let fontSelect of allFontStyles\"\n [value]=\"fontSelect\">\n {{ fontSelect }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\">\n <mat-form-field appearance=\"outline\" class=\"igo-form-input-box\">\n <mat-label>{{ 'igo.geo.draw.offsetX' | translate }}</mat-label>\n <input\n matInput\n #offsetXInput\n type=\"number\"\n onkeydown=\"return event.keyCode !== 69\"\n [value]=\"getFeatureOffsetX()\"\n (input)=\"styleModalData.offsetX = $event.target.value\">\n </mat-form-field>\n <mat-form-field appearance=\"outline\" class=\"igo-form-input-box\">\n <mat-label>{{ 'igo.geo.draw.offsetY' | translate }}</mat-label>\n <input\n matInput\n #offsetYInput\n type=\"number\"\n onkeydown=\"return event.keyCode !== 69\"\n [value]=\"getFeatureOffsetY()\"\n (input)=\"styleModalData.offsetY= $event.target.value\">\n </mat-form-field>\n </div>\n </form>\n </div>\n</div>\n<div mat-dialog-actions>\n <button \n mat-raised-button \n (click)=\"cancelDrawing()\">{{'igo.geo.draw.cancel' | translate}}\n </button>\n <button \n mat-raised-button \n color=\"primary\" \n (click)=\"confirm()\">OK\n </button>\n</div>\n", styles: ["h2{font-weight:700;font-size:large}.igo-form{padding:10px}.fill-field,.stroke-field{width:130px}.fill-color-picker mat-icon{position:relative;top:7px}.fill-color-picker mat-form-field{left:8px}.stroke-color-picker mat-icon{position:relative;top:7px}.stroke-color-picker mat-form-field{left:35px}.box{width:25px;height:25px}.edition-drawing{padding:10px 0}.igo-input-container .mat-form-field+.mat-form-field{margin-left:8px}.igo-form-input-box{width:150px}button{margin-right:5px}\n"] }]
|
|
19985
19990
|
}], function () {
|
|
19986
19991
|
return [{ type: i1.MatDialogRef }, { type: i2$2.UntypedFormBuilder }, { type: DrawStyleService }, { type: undefined, decorators: [{
|
|
19987
19992
|
type: Inject,
|
|
@@ -20402,7 +20407,7 @@ AddCatalogDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: A
|
|
|
20402
20407
|
(function () {
|
|
20403
20408
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddCatalogDialogComponent, [{
|
|
20404
20409
|
type: Component,
|
|
20405
|
-
args: [{ selector: 'igo-add-catalog-dialog', template: "<h1 mat-dialog-title class=\"mat-typography\">{{'igo.geo.catalog.library.addTitle' | translate}}</h1>\
|
|
20410
|
+
args: [{ selector: 'igo-add-catalog-dialog', template: "<h1 mat-dialog-title class=\"mat-typography\">{{'igo.geo.catalog.library.addTitle' | translate}}</h1>\n<div mat-dialog-content class=\"mat-typography\">\n <form class=\"igo-form\" [formGroup]=\"form\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input type=\"text\" formControlName=\"title\" placeholder=\"{{'igo.geo.printForm.title' | translate}}\" matInput [matAutocomplete]=\"auto2\">\n <mat-autocomplete #auto2=\"matAutocomplete\" (optionSelected)='changeUrlOrTitle($event.option.value)'>\n <mat-option *ngFor=\"let predefinedCatalog of (predefinedCatalogsList$ | async)\" matTooltipShowDelay=\"500\"\n [matTooltip]=\"predefinedCatalog.title\" [value]=\"predefinedCatalog\">\n {{predefinedCatalog.title}}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input type=\"text\" formControlName=\"url\" placeholder=\"URL\" matInput [matAutocomplete]=\"auto\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)='changeUrlOrTitle($event.option.value)'>\n <mat-option *ngFor=\"let predefinedCatalog of (predefinedCatalogsList$ | async)\" matTooltipShowDelay=\"500\"\n [matTooltip]=\"predefinedCatalog.url\" [value]=\"predefinedCatalog\">\n {{predefinedCatalog.url}}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-select\n formControlName=\"type\"\n placeholder=\"Type\">\n <mat-option\n *ngFor=\"let type of typeCapabilities\"\n [value]=\"type\"\n (click)=\"$event.stopPropagation()\">\n <p mat-line>{{type}}</p>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </form>\n <span *ngIf=\"error && addedCatalog && emailAddress\">\n <p class=\"error\">{{languageService.translate.instant('igo.geo.catalog.externalProvider.unavailableWithEmail', { value: addedCatalog.url, email: emailAddress })}}</p>\n </span>\n <span *ngIf=\"error && addedCatalog && !emailAddress\">\n <p class=\"error\">{{languageService.translate.instant('igo.geo.catalog.unavailable', { value: addedCatalog.url })}}</p>\n </span>\n</div>\n<div mat-dialog-actions style=\"justify-content: center\">\n <div class=\"igo-form-button-group add-catalog-button-top-padding\">\n <button\n mat-raised-button\n type=\"button\"\n (click)=\"cancel()\">\n {{'igo.geo.catalog.library.cancel' | translate}}\n </button>\n <button\n id=\"addCatalogBtnDialog\"\n mat-raised-button\n type=\"button\"\n color=\"primary\"\n [disabled]=\"!form.valid\"\n (click)=\"addCatalog(form.value)\">\n {{'igo.geo.catalog.library.add' | translate}}\n </button>\n </div>\n</div>", styles: ["mat-form-field{width:100%}.add-catalog-button-top-padding{padding-top:25px}.igo-form{padding:10px 5px 5px}.igo-form-button-group{text-align:center}button{cursor:pointer}button#addCatalogBtnDialog[disabled=true]{cursor:default;background-color:#0000001f;color:#00000042}.error{color:red}\n"] }]
|
|
20406
20411
|
}], function () {
|
|
20407
20412
|
return [{ type: i2$2.UntypedFormBuilder }, { type: i2$1.LanguageService }, { type: i2$1.ConfigService }, { type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
20408
20413
|
type: Optional
|
|
@@ -20617,7 +20622,7 @@ CatalogLibaryComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Cata
|
|
|
20617
20622
|
(function () {
|
|
20618
20623
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogLibaryComponent, [{
|
|
20619
20624
|
type: Component,
|
|
20620
|
-
args: [{ selector: 'igo-catalog-library', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"false\">\
|
|
20625
|
+
args: [{ selector: 'igo-catalog-library', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"false\">\n <ng-template ngFor let-catalog [ngForOf]=\"getCatalogs() | async\">\n <igo-catalog-library-item\n igoListItem\n color=\"accent\"\n [map]=\"map\"\n [catalog]=\"catalog\"\n (catalogRemove)=\"onCatalogRemove(catalog)\"\n (select)=\"onCatalogSelect(catalog)\">\n </igo-catalog-library-item>\n </ng-template>\n</igo-list>\n\n<div *ngIf=\"addCatalogAllowed\" class=btnAddCatalog>\n <button\n mat-raised-button\n [matTooltip]=\"'igo.geo.catalog.library.addBtn' | translate\"\n matTooltipPosition=\"above\"\n color=\"primary\"\n (click)=\"addCatalogDialog()\">\n {{'igo.geo.catalog.library.addBtn' | translate}}\n <mat-icon svgIcon=\"earth-plus\"></mat-icon>\n </button>\n</div>\n", styles: ["igo-list{height:auto}.btnAddCatalog{justify-content:center;display:flex;margin:30px 0}\n"] }]
|
|
20621
20626
|
}], function () { return [{ type: CapabilitiesService }, { type: i2$1.MessageService }, { type: i2$1.LanguageService }, { type: i2$1.StorageService }, { type: i1.MatDialog }]; }, { store: [{
|
|
20622
20627
|
type: Input
|
|
20623
20628
|
}], map: [{
|
|
@@ -20703,7 +20708,7 @@ CatalogLibaryItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
20703
20708
|
(function () {
|
|
20704
20709
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogLibaryItemComponent, [{
|
|
20705
20710
|
type: Component,
|
|
20706
|
-
args: [{ selector: 'igo-catalog-library-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\
|
|
20711
|
+
args: [{ selector: 'igo-catalog-library-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\n <h4 mat-line>\n {{title}}\n </h4>\n <mat-icon\n class=\"igo-external-provider\"\n *ngIf=\"catalog.externalProvider\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.catalog' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n svgIcon=\"earth-arrow-right\">\n </mat-icon>\n\n <button\n *ngIf=\"catalog.removable\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.library.remove' | translate\"\n color=\"warn\"\n (click)=\"removeCatalogFromLibrary($event)\">\n <mat-icon svgIcon=\"delete\"></mat-icon>\n</button>\n\n<button\n class=\"igo-blank\"\n *ngIf=\"!catalog.removable\"\n disabled=\"true\"\n mat-icon-button>\n <mat-icon svgIcon=\"blank\"></mat-icon>\n</button>\n</mat-list-item>\n", styles: [".igo-blank{cursor:pointer}.igo-external-provider{cursor:help}\n"] }]
|
|
20707
20712
|
}], null, { catalog: [{
|
|
20708
20713
|
type: Input
|
|
20709
20714
|
}], map: [{
|
|
@@ -21462,7 +21467,7 @@ DownloadButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dow
|
|
|
21462
21467
|
(function () {
|
|
21463
21468
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DownloadButtonComponent, [{
|
|
21464
21469
|
type: Component,
|
|
21465
|
-
args: [{ selector: 'igo-download-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\
|
|
21470
|
+
args: [{ selector: 'igo-download-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"options && options.download && (options.download['dynamicUrl'] || options.download['url']) \"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.download.action' | translate\"\n [color]=\"color\"\n (click)=\"openDownload(layer)\">\n <mat-icon svgIcon=\"download\"></mat-icon>\n</button>\n" }]
|
|
21466
21471
|
}], function () { return [{ type: DownloadService }]; }, { layer: [{
|
|
21467
21472
|
type: Input
|
|
21468
21473
|
}], color: [{
|
|
@@ -22644,7 +22649,7 @@ MeasurerDialogComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Mea
|
|
|
22644
22649
|
(function () {
|
|
22645
22650
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MeasurerDialogComponent, [{
|
|
22646
22651
|
type: Component,
|
|
22647
|
-
args: [{ selector: 'igo-measurer-dialog', template: "<h3 mat-dialog-title>{{'igo.geo.measure.dialog.title' | translate}}</h3>\
|
|
22652
|
+
args: [{ selector: 'igo-measurer-dialog', template: "<h3 mat-dialog-title>{{'igo.geo.measure.dialog.title' | translate}}</h3>\n\n<table *ngIf=\"data.length > 0\"\n class=\"mat-typography\">\n <thead>\n <tr>\n <th colspan=\"2\">{{'igo.geo.measure.dialog.length.title' | translate}}</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>{{data.length | measureFormat: measureLengthUnit.Meters}}</td>\n <td>{{'igo.geo.measure.dialog.lengthInMeters' | translate}}</td>\n </tr>\n <tr>\n <td>{{data.length | measureFormat: measureLengthUnit.Kilometers}}</td>\n <td>{{'igo.geo.measure.dialog.lengthInKilometers' | translate}}</td>\n </tr>\n <tr>\n <td>{{data.length | measureFormat: measureLengthUnit.Miles}}</td>\n <td>{{'igo.geo.measure.dialog.lengthInMiles' | translate}}</td>\n </tr>\n <tr>\n <td>{{data.length | measureFormat: measureLengthUnit.Feet}}</td>\n <td>{{'igo.geo.measure.dialog.lengthInFeet' | translate}}</td>\n </tr>\n </tbody>\n</table>\n\n<table *ngIf=\"data.area > 0\"\n class=\"mat-typography\">\n <thead>\n <tr>\n <th colspan=\"2\">{{'igo.geo.measure.dialog.area.title' | translate}}</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>{{data.area | measureFormat: measureAreaUnit.SquareMeters}}</td>\n <td>{{'igo.geo.measure.dialog.areaInSquareMeters' | translate}}</td>\n </tr>\n <tr>\n <td>{{data.area | measureFormat:measureAreaUnit.SquareKilometers}}</td>\n <td>{{'igo.geo.measure.dialog.areaInSquareKilometers' | translate}}</td>\n </tr>\n <tr>\n <td>{{data.area | measureFormat: measureAreaUnit.SquareMiles}}</td>\n <td>{{'igo.geo.measure.dialog.areaInSquareMiles' | translate}}</td>\n </tr>\n <tr>\n <td>{{data.area | measureFormat: measureAreaUnit.Acres}}</td>\n <td>{{'igo.geo.measure.dialog.areaInAcres' | translate}}</td>\n </tr>\n <tr>\n <td>{{data.area | measureFormat: measureAreaUnit.Hectares}}</td>\n <td>{{'igo.geo.measure.dialog.areaInHectares' | translate}}</td>\n </tr>\n <tr>\n <td>{{'igo.geo.measure.dialog.perimeterInMeters' | translate}}</td>\n <td>{{data.perimeter | measureFormat: measureLengthUnit.Meters}}</td>\n </tr>\n </tbody>\n</table>\n", styles: [":host{font-family:Roboto,Helvetica Neue,sans-serif}h3{text-align:center;margin:0}table{width:100%;padding:10px}table tbody tr td:last-child{padding-left:10px}\n"] }]
|
|
22648
22653
|
}], function () {
|
|
22649
22654
|
return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
22650
22655
|
type: Inject,
|
|
@@ -23701,7 +23706,7 @@ MeasurerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MeasurerC
|
|
|
23701
23706
|
(function () {
|
|
23702
23707
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MeasurerComponent, [{
|
|
23703
23708
|
type: Component,
|
|
23704
|
-
args: [{ selector: 'igo-measurer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\
|
|
23709
|
+
args: [{ selector: 'igo-measurer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\n <div class=\"measure-type-toggle mat-typography\">\n <mat-button-toggle-group\n [value]=\"activeMeasureType\"\n (change)=\"onMeasureTypeChange($event.value)\">\n <mat-button-toggle [value]=\"measureType.Length\">\n {{('igo.geo.measure.' + measureType.Length) | translate}}\n </mat-button-toggle>\n <mat-button-toggle [value]=\"measureType.Area\">\n {{('igo.geo.measure.' + measureType.Area) | translate}}\n </mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n\n <div class=\"measure-options mat-typography\">\n <mat-slide-toggle\n [disabled]=\"drawControlIsDisabled\"\n [checked]=\"drawControlIsActive\"\n [labelPosition]=\"'before'\"\n (change)=\"onToggleDrawControl($event.checked)\">\n {{'igo.geo.measure.toggleActive' | translate}}\n </mat-slide-toggle>\n\n <mat-divider *ngIf=\"(hasLine$ | async)\"></mat-divider>\n\n <mat-slide-toggle *ngIf=\"(hasLine$ | async)\"\n [checked]=\"displayLines\"\n [labelPosition]=\"'before'\"\n (change)=\"onToggleDisplayLines($event.checked)\">\n {{'igo.geo.measure.toggleDisplayLines' | translate}}\n </mat-slide-toggle>\n\n <mat-divider *ngIf=\"(hasLine$ | async) || (hasArea$ | async)\"></mat-divider>\n\n <mat-slide-toggle *ngIf=\"(hasArea$ | async)\"\n [checked]=\"displayDistance\"\n [labelPosition]=\"'before'\"\n (change)=\"onToggleDisplayDistance($event.checked)\">\n {{'igo.geo.measure.toggleDisplayDistance' | translate}}\n </mat-slide-toggle>\n\n <mat-slide-toggle *ngIf=\"(hasArea$ | async)\"\n [checked]=\"displayAreas\"\n [labelPosition]=\"'before'\"\n (change)=\"onToggleDisplayAreas($event.checked)\">\n {{'igo.geo.measure.toggleDisplayAreas' | translate}}\n </mat-slide-toggle>\n\n <mat-divider *ngIf=\"(hasArea$ | async)\"></mat-divider>\n\n <mat-slide-toggle\n [checked]=\"measureUnitsAuto\"\n [labelPosition]=\"'before'\"\n (change)=\"onToggleMeasureUnitsAuto($event.checked)\">\n {{'igo.geo.measure.toggleAutoUnits' | translate}}\n </mat-slide-toggle>\n </div>\n\n <ng-container *ngIf=\"measure$ | async as measure\">\n <igo-measurer-item *ngIf=\"activeMeasureType === measureType.Length || activeMeasureType === measureType.Area\"\n [measureType]=\"measureType.Length\"\n [measureUnit]=\"measureLengthUnit.Meters\"\n [measure]=\"measure.length\"\n [auto]=\"measureUnitsAuto\"\n [placeholder]=\"(activeMeasureType === measureType.Area ? 'igo.geo.measure.perimeter' : 'igo.geo.measure.length') | translate\"\n (measureUnitChange)=\"onLengthUnitChange($event)\">\n </igo-measurer-item>\n\n <igo-measurer-item *ngIf=\"activeMeasureType === measureType.Area\"\n [measureType]=\"measureType.Area\"\n [measureUnit]=\"measureAreaUnit.SquareMeters\"\n [measure]=\"measure.area\"\n [auto]=\"measureUnitsAuto\"\n [placeholder]=\"'igo.geo.measure.area' | translate\"\n (measureUnitChange)=\"onAreaUnitChange($event)\">\n </igo-measurer-item>\n </ng-container>\n\n <mat-divider *ngIf=\"(hasLine$ | async) || (hasArea$ | async)\"></mat-divider>\n\n <div class=\"measure-store-buttons\">\n <button *ngIf=\"(hasLine$ | async) || (hasArea$ | async)\"\n mat-icon-button\n [matTooltip]=\"'igo.geo.measure.actionbar.calculate.tooltip' | translate\"\n [disabled]=\"(selectedFeatures$ | async).length === 0\"\n color=\"accent\"\n (click)=\"onCalculateClick()\">\n <mat-icon svgIcon=\"calculator\"></mat-icon>\n </button>\n\n <button *ngIf=\"(hasLine$ | async) || (hasArea$ | async)\"\n mat-icon-button\n [matTooltip]=\"'igo.geo.measure.actionbar.delete.tooltip' | translate\"\n [disabled]=\"(selectedFeatures$ | async).length === 0\"\n color=\"warn\"\n (click)=\"onDeleteClick()\">\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n\n <!--button\n mat-icon-button\n [matTooltip]=\"'igo.geo.measure.actionbar.modify.tooltip' | translate\"\n [disabled]=\"(selectedFeatures$ | async).length !== 1\"\n (click)=\"onModifyClick()\">\n <mat-icon svgIcon=\"edit\"></mat-icon>\n </button-->\n </div>\n\n <igo-entity-table\n #table\n class=\"table-compact\"\n [store]=\"store\"\n [template]=\"tableTemplate\">\n </igo-entity-table>\n</div>\n", styles: [".measure-type-toggle{padding:10px;text-align:center}.measure-type-toggle mat-button-toggle-group{width:100%}.measure-type-toggle mat-button-toggle-group mat-button-toggle{width:50%}.measure-options{overflow-x:hidden}.measure-options mat-slide-toggle{width:100%;margin:10px}.measure-options mat-slide-toggle ::ng-deep .mat-slide-toggle-content{width:calc(100% - 60px)}.measure-store-buttons{margin-left:-2px}.measure-store-buttons button:first-of-type{margin-left:14px}.table-compact ::ng-deep .mat-header-cell.mat-column-selectionCheckbox{width:52px}\n"] }]
|
|
23705
23710
|
}], function () { return [{ type: i2$1.LanguageService }, { type: i1.MatDialog }, { type: i2$1.StorageService }]; }, { map: [{
|
|
23706
23711
|
type: Input
|
|
23707
23712
|
}], store: [{
|
|
@@ -24423,7 +24428,7 @@ GeometryFormFieldComponent = __decorate([
|
|
|
24423
24428
|
(function () {
|
|
24424
24429
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GeometryFormFieldComponent, [{
|
|
24425
24430
|
type: Component,
|
|
24426
|
-
args: [{ selector: 'igo-geometry-form-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-geometry-form-field-input\
|
|
24431
|
+
args: [{ selector: 'igo-geometry-form-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-geometry-form-field-input\n [formControl]=\"formControl\"\n [map]=\"map\"\n [geometryType]=\"geometryType$ | async\"\n [drawGuide]=\"drawGuide$ | async\"\n [measure]=\"measure\"\n [drawControlIsActive]=\"drawControlIsActive\"\n [freehandDrawIsActive]=\"freehandDrawIsActive\"\n [controlOptions]=\"controlOptions\"\n [drawStyle]=\"drawStyle\"\n [overlayStyle]=\"overlayStyle\">\n</igo-geometry-form-field-input>\n\n<div *ngIf=\"geometryTypeField\" class=\"geometry-type-toggle\">\n <mat-button-toggle-group\n [disabled]=\"(value$ | async) !== undefined\"\n [(ngModel)]=\"geometryType\">\n <mat-button-toggle\n value=\"Point\"\n [disabled]=\"geometryTypes.indexOf('Point') < 0\">\n {{'igo.geo.geometry.point' | translate}}\n </mat-button-toggle>\n <mat-button-toggle\n value=\"LineString\"\n [disabled]=\"geometryTypes.indexOf('LineString') < 0\">\n {{'igo.geo.geometry.line' | translate}}\n </mat-button-toggle>\n <mat-button-toggle\n value=\"Polygon\"\n [disabled]=\"geometryTypes.indexOf('Polygon') < 0\">\n {{'igo.geo.geometry.polygon' | translate}}\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>\n\n<mat-form-field *ngIf=\"drawGuideField\" class=\"draw-guide-field\">\n <input\n matInput\n type=\"number\"\n [placeholder]=\"drawGuidePlaceholder\"\n [(ngModel)]=\"drawGuide\">\n <mat-icon\n matPrefix\n [color]=\"'primary'\"\n svgIcon=\"adjust\"> \n </mat-icon>\n <span matSuffix class=\"draw-guide-units\">{{'igo.geo.measure.meters' | translate}}</span>\n</mat-form-field>", styles: [":host{display:block;width:100%}.geometry-type-toggle,.draw-guide-field{width:100%}.geometry-type-toggle{padding:10px;text-align:center}.draw-guide-field mat-icon{margin:0 10px}.draw-guide-units{padding:10px}\n"] }]
|
|
24427
24432
|
}], function () { return [{ type: i0.ChangeDetectorRef }]; }, { formControl: [{
|
|
24428
24433
|
type: Input
|
|
24429
24434
|
}], map: [{
|
|
@@ -24612,7 +24617,7 @@ TimeFilterButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: T
|
|
|
24612
24617
|
(function () {
|
|
24613
24618
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeFilterButtonComponent, [{
|
|
24614
24619
|
type: Component,
|
|
24615
|
-
args: [{ selector: 'igo-time-filter-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button *ngIf=\"header && options.timeFilterable && options.timeFilter\"\
|
|
24620
|
+
args: [{ selector: 'igo-time-filter-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button *ngIf=\"header && options.timeFilterable && options.timeFilter\"\n mat-icon-button\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.filterBy' | translate\"\n [color]=\"color\">\n <mat-icon [matBadge]=\"badge\" matBadgeColor=\"warn\" matBadgeSize=\"medium\" svgIcon=\"history\"></mat-icon>\n</button>\n\n<div #ogcFilter class=\"igo-layer-actions-container\"\n*ngIf=\"header && options.timeFilterable && options.timeFilter\">\n <igo-time-filter-item\n *ngIf=\"timeFilterCollapse && options.timeFilter\"\n igoListItem\n [header]=\"false\"\n [layer]=\"layer\">\n </igo-time-filter-item>\n</div>\n" }]
|
|
24616
24621
|
}], function () { return []; }, { layer: [{
|
|
24617
24622
|
type: Input
|
|
24618
24623
|
}], map: [{
|
|
@@ -25367,7 +25372,7 @@ TimeFilterFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Tim
|
|
|
25367
25372
|
(function () {
|
|
25368
25373
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeFilterFormComponent, [{
|
|
25369
25374
|
type: Component,
|
|
25370
|
-
args: [{ selector: 'igo-time-filter-form', template: "<div *ngIf=\"style === 'calendar' && type !=='year'\">\
|
|
25375
|
+
args: [{ selector: 'igo-time-filter-form', template: "<div *ngIf=\"style === 'calendar' && type !=='year'\">\n <div *ngIf=\"!isRange\" class=\"igo-col igo-col-100 igo-col-100-m\">\n <mat-form-field>\n <mat-datetimepicker-toggle class=\"time-filter-mat-datetimepicker-toggle\" [for]=\"datetimePicker\" matSuffix></mat-datetimepicker-toggle>\n <mat-datetimepicker #datetimePicker type=\"{{type}}\" openOnFocus=\"true\" timeInterval=\"5\"></mat-datetimepicker>\n <input matInput autocomplete=\"false\"\n placeholder=\"{{'igo.geo.timeFilter.date' | translate}}\"\n [matDatetimepicker]=\"datetimePicker\"\n [(ngModel)]=\"date\"\n [min]=\"min\"\n [max]=\"max\"\n readonly=\"readonly\"\n (dateChange)=\"handleDateChange($event)\">\n </mat-form-field>\n\n </div>\n\n <div *ngIf=\"isRange\">\n <div class=\"igo-col igo-col-100\">\n <mat-form-field>\n <mat-datetimepicker-toggle class=\"time-filter-mat-datetimepicker-toggle\" [for]=\"minDatetimePicker\" matSuffix></mat-datetimepicker-toggle>\n <mat-datetimepicker #minDatetimePicker type=\"{{type}}\" openOnFocus=\"true\" timeInterval=\"5\"></mat-datetimepicker>\n <input matInput autocomplete=\"false\"\n placeholder=\"{{'igo.geo.timeFilter.startDate' | translate}}\"\n [matDatetimepicker]=\"minDatetimePicker\"\n [(ngModel)]=\"startDate\"\n [min]=\"min\"\n [max]=\"getRangeMaxDate()\"\n readonly=\"readonly\"\n (input)=\"startDate\"\n (dateChange)=\"handleDateChange($event)\">\n </mat-form-field>\n </div>\n\n <div class=\"igo-col igo-col-100\">\n <mat-form-field>\n <mat-datetimepicker-toggle class=\"time-filter-mat-datetimepicker-toggle\" [for]=\"maxDatetimePicker\" matSuffix></mat-datetimepicker-toggle>\n <mat-datetimepicker #maxDatetimePicker type=\"{{type}}\" openOnFocus=\"true\" timeInterval=\"5\"></mat-datetimepicker>\n <input matInput autocomplete=\"false\"\n placeholder=\"{{'igo.geo.timeFilter.endDate' | translate}}\"\n [matDatetimepicker]=\"maxDatetimePicker\"\n [(ngModel)]=\"endDate\"\n [min]=\"getRangeMinDate()\"\n [max]=\"max\"\n readonly=\"readonly\"\n (dateChange)=\"handleDateChange($event)\">\n </mat-form-field>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"style === 'calendar' && type ==='year'\">\n\n <div *ngIf=\"!isRange\" class=\"igo-col igo-col-100 igo-col-100-m\">\n <mat-form-field>\n <mat-select placeholder=\"{{'igo.geo.timeFilter.date' | translate}}\" [(ngModel)]=\"year\" (selectionChange)=\"handleYearChange($event)\">\n <mat-option [value]=\"year\" *ngFor=\"let year of listYears\">{{year}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div *ngIf=\"isRange\">\n <div class=\"igo-col igo-col-100\">\n <mat-form-field>\n <mat-select placeholder=\"{{'igo.geo.timeFilter.startDate' | translate}}\" [(ngModel)]=\"startYear\" (selectionChange)=\"handleYearChange($event)\">\n <mat-option [value]=\"startYear\" *ngFor=\"let startYear of startListYears\">{{startYear}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-col igo-col-100\">\n <mat-form-field>\n <mat-select placeholder=\"{{'igo.geo.timeFilter.endDate' | translate}}\" [(ngModel)]=\"endYear\" (selectionChange)=\"handleYearChange($event)\">\n <mat-option [value]=\"endYear\" *ngFor=\"let endYear of endListYears\">{{endYear}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n\n</div>\n\n\n <br>\n <div *ngIf=\"!isRange && style === 'slider' && type === 'year'\" class=\"igo-col igo-col-100 igo-col-100-m mat-typography\">\n <span>{{startYear}}</span>\n <mat-slider\n id=\"time-slider\"\n tickInterval=\"auto\"\n step=\"{{step}}\"\n [min]=\"startYear\"\n [max]=\"endYear\"\n [value]=\"handleSliderValue()\"\n [color]=\"color\"\n thumbLabel\n (input)=\"handleSliderYearChange($event)\"\n (change)=\"handleSliderYearChange($event)\"\n [disabled]= \"!options.enabled || !layer.visible\">\n </mat-slider>\n <span>{{endYear}}</span>\n <p *ngIf= \"options.enabled\" class=\"date-below\">{{year}}</p>\n <div #actions class=\"igo-layer-actions-container\">\n <mat-slide-toggle (change)=\"toggleFilterState()\" tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.toggleFilterState' | translate\" [color]=\"color\" [checked]=\"options.enabled\"\n [disabled]=\"!layer.visible\">\n </mat-slide-toggle>\n <button [disabled]= \"!options.enabled || !layer.visible\" mat-icon-button color=\"primary\" (click)=\"playYear($event)\">\n <mat-icon svgIcon=\"{{playIcon}}\"></mat-icon>\n </button>\n <button [disabled]=\"!options.enabled || !layer.visible\" mat-icon-button color=\"primary\" (click)=\"resetFilter($event)\">\n <mat-icon svgIcon=\"{{resetIcon}}\"></mat-icon>\n </button>\n </div>\n </div>\n\n<div *ngIf=\"style === 'slider' && type !== 'year'\" class=\"igo-col igo-col-100 igo-col-100-m\">\n <mat-slider\n id=\"time-slider\"\n tickInterval=\"auto\"\n step=\"{{step}}\"\n [min]=\"dateToNumber(min)\"\n [max]=\"dateToNumber(max)\"\n [value]=\"handleSliderValue()\"\n thumbLabel\n (input)=\"handleSliderDateChange($event)\"\n (selectionChange)=\"handleSliderDateChange($event)\">\n </mat-slider>\n <p class=\"date-below\">{{handleSliderTooltip()}}</p>\n <button mat-icon-button color=\"primary\" (click)=\"playFilter($event)\">\n <mat-icon svgIcon=\"{{playIcon}}\"></mat-icon>\n </button>\n</div>\n", styles: [".igo-layer-filters-container{padding-left:5px}mat-slider ::ng-deep div.mat-slider-thumb-label{width:32px;height:32px;margin:0 auto}mat-slider ::ng-deep span.mat-slider-thumb-label-text{font-size:10px}#time-slider{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{width:60%;margin:0 auto}}.date-below{margin:0}mat-form-field{text-align:center}mat-datetimepicker-toggle ::ng-deep .mat-icon{padding-bottom:30px}.igo-layer-actions-container>.mat-slide-toggle{vertical-align:middle}.time-filter-mat-datetimepicker-toggle ::ng-deep .mat-icon{width:auto}\n"] }]
|
|
25371
25376
|
}], function () { return [{ type: i9.DateAdapter }]; }, { layer: [{
|
|
25372
25377
|
type: Input
|
|
25373
25378
|
}], options: [{
|
|
@@ -25505,7 +25510,7 @@ TimeFilterItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Tim
|
|
|
25505
25510
|
(function () {
|
|
25506
25511
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeFilterItemComponent, [{
|
|
25507
25512
|
type: Component,
|
|
25508
|
-
args: [{ selector: 'igo-time-filter-item', template: "<mat-list-item *ngIf=\"header\">\
|
|
25513
|
+
args: [{ selector: 'igo-time-filter-item', template: "<mat-list-item *ngIf=\"header\">\n <mat-icon\n class=\"igo-chevron\"\n mat-list-avatar\n igoCollapse\n [target]=\"filters\"\n [collapsed]=\"filtersCollapsed\"\n (click)=\"toggleFiltersCollapsed()\"\n svgIcon=\"chevron-up\" >\n </mat-icon>\n <h4 (click)=\"toggleLegendOnClick()\" [ngStyle]=\"{'cursor': filtersCollapsed ? 'default' : 'pointer'}\" matLine>{{layer.title}}</h4>\n \n <button *ngIf=\"header\"\n mat-icon-button\n [color]=\"layer.visible ? 'primary' : 'default'\"\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"layer.visible ?\n ('igo.geo.layer.hideLayer' | translate) :\n ('igo.geo.layer.showLayer' | translate)\"\n (click)=\"layer.visible = !layer.visible\">\n <mat-icon\n [ngClass]=\"{disabled: (inResolutionRange$ | async)===false}\"\n [svgIcon]=\"layer.visible ? 'eye' : 'eye-off'\">\n </mat-icon>\n </button>\n\n</mat-list-item>\n\n<div #filters class=\"igo-datasource-filters-container\">\n <div #legend class=\"igo-layer-legend-container\">\n <igo-layer-legend *ngIf=\"showLegend$ | async\" [layer]=\"layer\">\n </igo-layer-legend>\n </div>\n <igo-time-filter-form\n [layer]= \"layer\"\n [options]=\"datasource.options.timeFilter\"\n [currentValue]=\"datasource.options.params.TIME\"\n (change)=\"handleDateChange($event)\"\n (yearChange)=\"handleYearChange($event)\">\n </igo-time-filter-form>\n</div>\n", styles: [":host{overflow:hidden}.igo-datasource-filters-container{text-align:center;width:100%;display:inline-block;padding-top:5px}.igo-layer-legend-container{padding-left:1.125em;width:calc(100% - 18px)}\n"] }]
|
|
25509
25514
|
}], function () { return [{ type: TimeFilterService }]; }, { header: [{
|
|
25510
25515
|
type: Input
|
|
25511
25516
|
}], layer: [{
|
|
@@ -25552,7 +25557,7 @@ TimeFilterListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Tim
|
|
|
25552
25557
|
(function () {
|
|
25553
25558
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeFilterListComponent, [{
|
|
25554
25559
|
type: Component,
|
|
25555
|
-
args: [{ selector: 'igo-time-filter-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"false\" [selection]=\"false\">\
|
|
25560
|
+
args: [{ selector: 'igo-time-filter-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"false\" [selection]=\"false\">\n <ng-template ngFor let-layer [ngForOf]=\"layers | filterableDataSource: 'time'\">\n <igo-time-filter-item [header]=\"true\" igoListItem [layer]=\"layer\"></igo-time-filter-item>\n </ng-template>\n</igo-list>\n" }]
|
|
25556
25561
|
}], function () { return [{ type: i0.ChangeDetectorRef }]; }, { layers: [{
|
|
25557
25562
|
type: Input
|
|
25558
25563
|
}] });
|
|
@@ -25600,22 +25605,22 @@ class WktService {
|
|
|
25600
25605
|
extentToWkt(epsgTO, extent, extentProj) {
|
|
25601
25606
|
let currentExtent = olproj.transformExtent(extent, extentProj, epsgTO);
|
|
25602
25607
|
currentExtent = this.roundCoordinateArray(currentExtent, epsgTO, 0);
|
|
25603
|
-
const wktPoly = `POLYGON((
|
|
25604
|
-
${extent[0]} ${extent[1]},
|
|
25605
|
-
${extent[0]} ${extent[3]},
|
|
25606
|
-
${extent[2]} ${extent[3]},
|
|
25607
|
-
${extent[2]} ${extent[1]},
|
|
25608
|
+
const wktPoly = `POLYGON((
|
|
25609
|
+
${extent[0]} ${extent[1]},
|
|
25610
|
+
${extent[0]} ${extent[3]},
|
|
25611
|
+
${extent[2]} ${extent[3]},
|
|
25612
|
+
${extent[2]} ${extent[1]},
|
|
25608
25613
|
${extent[0]} ${extent[1]}))`;
|
|
25609
|
-
const wktLine = `LINESTRING(
|
|
25610
|
-
${extent[0]} ${extent[1]},
|
|
25611
|
-
${extent[0]} ${extent[3]},
|
|
25612
|
-
${extent[2]} ${extent[3]},
|
|
25613
|
-
${extent[2]} ${extent[1]},
|
|
25614
|
+
const wktLine = `LINESTRING(
|
|
25615
|
+
${extent[0]} ${extent[1]},
|
|
25616
|
+
${extent[0]} ${extent[3]},
|
|
25617
|
+
${extent[2]} ${extent[3]},
|
|
25618
|
+
${extent[2]} ${extent[1]},
|
|
25614
25619
|
${extent[0]} ${extent[1]})`;
|
|
25615
|
-
const wktMultiPoints = `MULTIPOINT(
|
|
25616
|
-
${extent[0]} ${extent[1]},
|
|
25617
|
-
${extent[0]} ${extent[3]},
|
|
25618
|
-
${extent[2]} ${extent[3]},
|
|
25620
|
+
const wktMultiPoints = `MULTIPOINT(
|
|
25621
|
+
${extent[0]} ${extent[1]},
|
|
25622
|
+
${extent[0]} ${extent[3]},
|
|
25623
|
+
${extent[2]} ${extent[3]},
|
|
25619
25624
|
${extent[2]} ${extent[1]})`;
|
|
25620
25625
|
return {
|
|
25621
25626
|
wktPoly,
|
|
@@ -26516,7 +26521,7 @@ OgcFilterFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OgcF
|
|
|
26516
26521
|
(function () {
|
|
26517
26522
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OgcFilterFormComponent, [{
|
|
26518
26523
|
type: Component,
|
|
26519
|
-
args: [{ selector: 'igo-ogc-filter-form', template: "<mat-checkbox\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.filter.toggleFilterState' | translate\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"toggleFilterState($event)\"\r\n [checked]=\"currentFilter.active\">\r\n</mat-checkbox>\r\n\r\n<mat-form-field\r\n [ngClass]=\"{'logical': activeFilters.indexOf(currentFilter) !== 0 && currentFilter.active===true, 'logicalHidden': activeFilters.indexOf(currentFilter) === 0 || currentFilter.active!==true}\">\r\n <mat-select\r\n [disabled]=\"!currentFilter.active\"\r\n [value]=\"currentFilter.parentLogical\"\r\n tooltip-position=\"above\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"currentFilter.parentLogical ? (('igo.geo.operators.tooltip.'+ currentFilter.parentLogical) | translate) : ''\"\r\n (selectionChange)=\"changeLogical($event.value)\">\r\n <mat-option\r\n [value]=ogcFilterOperator.And\r\n tooltip-position=\"above\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.operators.tooltip.And' | translate\">\r\n {{'igo.geo.operators.And' | translate}}\r\n </mat-option>\r\n <mat-option\r\n [value]=ogcFilterOperator.Or\r\n tooltip-position=\"above\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.operators.tooltip.Or' | translate\">\r\n {{'igo.geo.operators.Or' | translate}}\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n\r\n<mat-form-field\r\n class=\"field\"\r\n *ngIf=\"(currentFilterIsSpatial$ | async)===false && (fields$ | async) && (fields$| async).length > 0 && (fields$| async)[0].name !== ''\"\r\n (mouseenter)=\"inputClearable = 'selectField'\"\r\n (mouseleave)=\"inputClearable = undefined\"\r\n [floatLabel]=\"floatLabel\">\r\n <input\r\n matInput\r\n [placeholder]=\"'igo.geo.sourceFields.selectField' | translate\"\r\n [disabled]=\"!currentFilter.active\"\r\n [matAutocomplete]=\"autoCompleteField\"\r\n [value]=\"(selectedField$ | async) ? (selectedField$ | async).alias : ''\"\r\n tooltip-position=\"above\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"(selectedField$ | async) ? (selectedField$ | async).alias : ('igo.geo.sourceFields.selectField' | translate)\"\r\n (input)=\"updateFieldsList($event.target.value)\">\r\n <mat-autocomplete #autoCompleteField=\"matAutocomplete\"\r\n (optionSelected)='changeField($event.option.id)'>\r\n <mat-option\r\n *ngFor=\"let field of filteredFields$ | async\"\r\n matTooltipShowDelay=\"500\"\r\n [value]=\"field.alias\"\r\n [id]=\"field.name\"\r\n [matTooltip]=\"field.alias\">\r\n {{field.alias}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n <button mat-button\r\n *ngIf=\"currentFilter.propertyName && inputClearable === 'selectField' && currentFilter.active\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n [disabled]=\"!currentFilter.active\"\r\n (click)=\"clearSelectedField()\">\r\n <mat-icon svgIcon=\"close\"></mat-icon>\r\n </button>\r\n</mat-form-field>\r\n\r\n\r\n<mat-form-field\r\n [ngClass]=\"{'operator': (currentFilterIsSpatial$ | async)===false , 'dualInput': (currentFilterIsSpatial$ | async)}\"\r\n [floatLabel]=\"floatLabel\">\r\n <mat-select\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"currentFilter.operator ? (('igo.geo.operators.tooltip.'+ currentFilter.operator) | translate) : ('igo.geo.filter.selectOperator' | translate)\"\r\n [disabled]=\"!currentFilter.active\"\r\n [value]=\"currentFilter.operator\"\r\n (selectionChange)=\"changeOperator($event.value)\">\r\n <mat-option\r\n *ngFor=\"let operator of (ogcFilterOperators$ | async) | keyvalue\"\r\n tooltip-position=\"above\"\r\n matTooltipShowDelay=\"500\"\r\n [value]=\"operator.key\"\r\n [matTooltip]=\"('igo.geo.operators.tooltip.'+ operator.key) | translate\">\r\n {{('igo.geo.operators.'+ operator.key) | translate}}\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n\r\n<mat-form-field\r\nclass=\"spatialSelector\"\r\n*ngIf=\"currentFilterIsSpatial$ | async\">\r\n <mat-select\r\n [disabled]=\"!currentFilter.active\"\r\n [value]=\"currentFilter.igoSpatialSelector\"\r\n (selectionChange)=\"changeSpatialSelector($event.value)\">\r\n <mat-option\r\n *ngFor=\"let igoSpatialSelector of igoSpatialSelectors\"\r\n [value]=\"igoSpatialSelector.type\">\r\n {{('igo.geo.spatialSelector.'+ igoSpatialSelector.type) | translate}}\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n\r\n<mat-form-field\r\nclass=\"singleInput\"\r\n*ngIf=\"['expression','pattern'].indexOf(detectProperty()) !== -1\"\r\n(mouseenter)=\"inputClearable = 'selectProperty'\"\r\n(mouseleave)=\"inputClearable = undefined\"\r\n[floatLabel]=\"floatLabel\">\r\n <input\r\n matInput\r\n [placeholder]=\"'igo.geo.filter.placeholder' | translate\"\r\n [disabled]=\"!currentFilter.active\"\r\n [matAutocomplete]=\"autoCompleteValues\"\r\n [value]=\"detectProperty() === 'expression' ? currentFilter.expression : currentFilter.pattern\"\r\n tooltip-position=\"above\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"detectProperty() === 'expression' ? currentFilter.expression || '' : currentFilter.pattern || ''\"\r\n (input)=\"updateValuesList($event.target.value)\">\r\n <mat-autocomplete #autoCompleteValues=\"matAutocomplete\"\r\n (optionSelected)=\"changeProperty($event.option.value)\">\r\n <mat-option\r\n *ngFor=\"let value of filteredValues$ | async\"\r\n matTooltipShowDelay=\"500\"\r\n [value]=\"value\"\r\n [matTooltip]=\"value\">\r\n {{value}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n <button mat-button\r\n *ngIf=\"isClearable() && inputClearable === 'selectProperty' && currentFilter.active\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n [disabled]=\"!currentFilter.active\"\r\n (click)=\"clearProperty()\">\r\n <mat-icon svgIcon=\"close\"></mat-icon>\r\n </button>\r\n</mat-form-field>\r\n\r\n<div class=\"igo-layer-button-group\">\r\n <button\r\n mat-icon-button\r\n collapsibleButton\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.filter.removeFilter' | translate\"\r\n color=\"warn\"\r\n (click)=\"deleteFilter()\">\r\n <mat-icon svgIcon=\"delete\"></mat-icon>\r\n </button>\r\n</div>\r\n\r\n<mat-form-field\r\nclass=\"snrc\"\r\n*ngIf=\"(currentFilterIsSpatial$ | async) && currentFilter.igoSpatialSelector === 'snrc'\"\r\n(mouseenter)=\"inputClearable = 'selectSNRC'\"\r\n(mouseleave)=\"inputClearable = undefined\"\r\n[floatLabel]=\"floatLabel\">\r\n <input\r\n matInput\r\n [placeholder]=\"'igo.geo.filter.placeholderSnrc' | translate\"\r\n [value]=\"currentFilter.igoSNRC\"\r\n tooltip-position=\"above\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"currentFilter.igoSNRC ? currentFilter.igoSNRC : ''\"\r\n (input)=\"changeSNRC($event.target.value)\">\r\n <button\r\n mat-button\r\n *ngIf=\"currentFilter.igoSNRC\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n [disabled]=\"!currentFilter.active && inputClearable === 'selectSNRC' && currentFilter.active\"\r\n (click)=\"currentFilter.igoSNRC=''\">\r\n <mat-icon svgIcon=\"close\"></mat-icon>\r\n </button>\r\n </mat-form-field>\r\n\r\n <ng-container *ngIf=\"(currentFilterIsSpatial$ | async) && currentFilter.igoSpatialSelector === 'fixedExtent'\">\r\n <button\r\n mat-button\r\n [disabled]=\"!currentFilter.active\"\r\n *ngIf=\"currentFilter.igoSpatialSelector === 'fixedExtent'\"\r\n matSuffix\r\n mat-icon-button\r\n [disabled]=\"!currentFilter.active\"\r\n (click)=\"changeMapExtentGeometry()\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.spatialSelector.btnSetExtent' | translate\">\r\n <mat-icon svgIcon=\"arrow-expand-all\"></mat-icon>\r\n </button>\r\n</ng-container>\r\n\r\n<br/>\r\n\r\n<mat-form-field\r\nclass=\"dualInput\"\r\n*ngIf=\"!isTemporalOperator() && ['lowerBoundary','begin'].indexOf(detectProperty(1)) !== -1\"\r\n(mouseenter)=\"inputClearable = 'selectProperty1'\"\r\n(mouseleave)=\"inputClearable = undefined\"\r\n[floatLabel]=\"floatLabel\">\r\n <input\r\n matInput\r\n [placeholder]=\"'igo.geo.filter.placeholder' | translate\"\r\n [disabled]=\"!currentFilter.active\"\r\n [matAutocomplete]=\"autoDualValueOperator1\"\r\n type=\"number\"\r\n [value]=\"detectProperty(1) === 'lowerBoundary' ? currentFilter.lowerBoundary : currentFilter.begin\"\r\n (input)=\"updateValuesList($event.target.value,1)\">\r\n <mat-autocomplete #autoDualValueOperator1=\"matAutocomplete\"\r\n (optionSelected)=\"changeNumericProperty($event.option.value,1)\">\r\n <mat-option\r\n *ngFor=\"let value of filteredValues$ | async\"\r\n matTooltipShowDelay=\"500\"\r\n [value]=\"value\"\r\n [matTooltip]=\"value\">\r\n {{value}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n <button mat-button\r\n *ngIf=\"isClearable(1) && inputClearable === 'selectProperty1' && currentFilter.active\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n [disabled]=\"!currentFilter.active\"\r\n (click)=\"clearProperty(1)\">\r\n <mat-icon svgIcon=\"close\"></mat-icon>\r\n </button>\r\n</mat-form-field>\r\n\r\n<mat-form-field\r\n class=\"dualInput\"\r\n *ngIf=\"!isTemporalOperator() && ['upperBoundary','end'].indexOf(detectProperty(2)) !== -1\"\r\n (mouseenter)=\"inputClearable = 'selectProperty2'\"\r\n (mouseleave)=\"inputClearable = undefined\"\r\n [floatLabel]=\"floatLabel\">\r\n <input\r\n matInput\r\n [placeholder]=\"'igo.geo.filter.placeholder' | translate\"\r\n [disabled]=\"!currentFilter.active\"\r\n [matAutocomplete]=\"autoDualValueOperator2\"\r\n type=\"number\"\r\n [value]=\"detectProperty(2) === 'upperBoundary' ? currentFilter.upperBoundary : currentFilter.end\"\r\n (input)=\"updateValuesList($event.target.value,2)\">\r\n <mat-autocomplete #autoDualValueOperator2=\"matAutocomplete\"\r\n (optionSelected)=\"changeNumericProperty($event.option.value,2)\">\r\n <mat-option\r\n *ngFor=\"let value of filteredValues$ | async\"\r\n matTooltipShowDelay=\"500\"\r\n [value]=\"value\"\r\n [matTooltip]=\"value\">\r\n {{value}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n <button mat-button\r\n *ngIf=\"isClearable(2) && inputClearable === 'selectProperty2' && currentFilter.active\"\r\n matSuffix\r\n mat-icon-button\r\n aria-label=\"Clear\"\r\n [disabled]=\"!currentFilter.active\"\r\n (click)=\"clearProperty(2)\">\r\n <mat-icon svgIcon=\"close\"></mat-icon>\r\n </button>\r\n</mat-form-field>\r\n\r\n<igo-ogc-filter-time *ngIf=\"isTemporalOperator()\"\r\n [(datasource)]=\"datasource\"\r\n [(currentFilter)]=\"currentFilter\"\r\n (changeProperty)=\"changeProperty($event.value, $event.pos)\">\r\n</igo-ogc-filter-time>\r\n\r\n<!--\r\nTODO C'EST PERTINENT je crois\r\n<mat-form-field class=\"field\" *ngIf=\"!(currentFilterIsSpatial$ | async) && (fields$| async) && (fields$| async).length === 1 && (fields$| async)[0].name === ''\">\r\n<input [disabled]=\"!currentFilter.active\" matInput #fieldPerUser (keyup)=\"changeProperty(currentFilter,'propertyName',fieldPerUser.value)\"\r\n (blur)=\"changeProperty(currentFilter,'propertyName',fieldPerUser.value)\" [(ngModel)]=\"currentFilter.propertyName\">\r\n<button mat-button *ngIf=\"currentFilter.propertyName\" matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"currentFilter.propertyName=''\">\r\n <mat-icon svgIcon=\"close\"></mat-icon>\r\n</button>\r\n</mat-form-field>\r\n\r\n\r\n\r\n<mat-checkbox labelPosition='before' (change)=\"changeCaseSensitive($event)\" [(ngModel)]=\"currentFilter.matchCase\">\r\n {{('igo.geo.operators.caseSensitive') | translate}}\r\n</mat-checkbox>\r\n\r\n</mat-list-item> -->\r\n", styles: [":host{width:100%;padding:5px 10px}::ng-deep .mat-form-field .mat-icon svg{width:1em;height:1em;color:#d3d3d3}.mat-form-field{width:100%}.mat-select-arrow{visibility:hidden}.mat-slide-toggle{margin-top:10px}.logical{flex-flow:column nowrap;width:10%;max-width:45px;margin-left:5px}.logicalHidden{flex-flow:column nowrap;width:10%;visibility:hidden;max-width:45px;margin-left:5px}::ng-deep .logical .mat-select-arrow{visibility:hidden}::ng-deep .logicalHidden .mat-select-arrow{visibility:hidden}.field{width:20%}::ng-deep .field .mat-select-arrow{visibility:hidden}.operator{width:12%;margin-left:10px;text-align:center}::ng-deep .operator .mat-select-arrow{visibility:hidden}.spatialSelector{width:15%;margin-left:5px}::ng-deep .spatialSelector .mat-select-arrow{visibility:hidden}.singleInput{width:30%;margin-left:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.singleInput{width:27%}}.snrc{width:20%;margin-left:5px}::ng-deep .singleInput .mat-select-arrow{visibility:hidden}.dualInput{width:20%;margin-left:5px}::ng-deep .dualInput .mat-select-arrow{visibility:hidden}.igo-layer-button-group{display:flex;float:right;padding-top:5px}.container{display:flex}\n"] }]
|
|
26524
|
+
args: [{ selector: 'igo-ogc-filter-form', template: "<mat-checkbox\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.toggleFilterState' | translate\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleFilterState($event)\"\n [checked]=\"currentFilter.active\">\n</mat-checkbox>\n\n<mat-form-field\n [ngClass]=\"{'logical': activeFilters.indexOf(currentFilter) !== 0 && currentFilter.active===true, 'logicalHidden': activeFilters.indexOf(currentFilter) === 0 || currentFilter.active!==true}\">\n <mat-select\n [disabled]=\"!currentFilter.active\"\n [value]=\"currentFilter.parentLogical\"\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"currentFilter.parentLogical ? (('igo.geo.operators.tooltip.'+ currentFilter.parentLogical) | translate) : ''\"\n (selectionChange)=\"changeLogical($event.value)\">\n <mat-option\n [value]=ogcFilterOperator.And\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.operators.tooltip.And' | translate\">\n {{'igo.geo.operators.And' | translate}}\n </mat-option>\n <mat-option\n [value]=ogcFilterOperator.Or\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.operators.tooltip.Or' | translate\">\n {{'igo.geo.operators.Or' | translate}}\n </mat-option>\n </mat-select>\n</mat-form-field>\n\n<mat-form-field\n class=\"field\"\n *ngIf=\"(currentFilterIsSpatial$ | async)===false && (fields$ | async) && (fields$| async).length > 0 && (fields$| async)[0].name !== ''\"\n (mouseenter)=\"inputClearable = 'selectField'\"\n (mouseleave)=\"inputClearable = undefined\"\n [floatLabel]=\"floatLabel\">\n <input\n matInput\n [placeholder]=\"'igo.geo.sourceFields.selectField' | translate\"\n [disabled]=\"!currentFilter.active\"\n [matAutocomplete]=\"autoCompleteField\"\n [value]=\"(selectedField$ | async) ? (selectedField$ | async).alias : ''\"\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"(selectedField$ | async) ? (selectedField$ | async).alias : ('igo.geo.sourceFields.selectField' | translate)\"\n (input)=\"updateFieldsList($event.target.value)\">\n <mat-autocomplete #autoCompleteField=\"matAutocomplete\"\n (optionSelected)='changeField($event.option.id)'>\n <mat-option\n *ngFor=\"let field of filteredFields$ | async\"\n matTooltipShowDelay=\"500\"\n [value]=\"field.alias\"\n [id]=\"field.name\"\n [matTooltip]=\"field.alias\">\n {{field.alias}}\n </mat-option>\n </mat-autocomplete>\n <button mat-button\n *ngIf=\"currentFilter.propertyName && inputClearable === 'selectField' && currentFilter.active\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n [disabled]=\"!currentFilter.active\"\n (click)=\"clearSelectedField()\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n</mat-form-field>\n\n\n<mat-form-field\n [ngClass]=\"{'operator': (currentFilterIsSpatial$ | async)===false , 'dualInput': (currentFilterIsSpatial$ | async)}\"\n [floatLabel]=\"floatLabel\">\n <mat-select\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"currentFilter.operator ? (('igo.geo.operators.tooltip.'+ currentFilter.operator) | translate) : ('igo.geo.filter.selectOperator' | translate)\"\n [disabled]=\"!currentFilter.active\"\n [value]=\"currentFilter.operator\"\n (selectionChange)=\"changeOperator($event.value)\">\n <mat-option\n *ngFor=\"let operator of (ogcFilterOperators$ | async) | keyvalue\"\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [value]=\"operator.key\"\n [matTooltip]=\"('igo.geo.operators.tooltip.'+ operator.key) | translate\">\n {{('igo.geo.operators.'+ operator.key) | translate}}\n </mat-option>\n </mat-select>\n</mat-form-field>\n\n<mat-form-field\nclass=\"spatialSelector\"\n*ngIf=\"currentFilterIsSpatial$ | async\">\n <mat-select\n [disabled]=\"!currentFilter.active\"\n [value]=\"currentFilter.igoSpatialSelector\"\n (selectionChange)=\"changeSpatialSelector($event.value)\">\n <mat-option\n *ngFor=\"let igoSpatialSelector of igoSpatialSelectors\"\n [value]=\"igoSpatialSelector.type\">\n {{('igo.geo.spatialSelector.'+ igoSpatialSelector.type) | translate}}\n </mat-option>\n </mat-select>\n</mat-form-field>\n\n<mat-form-field\nclass=\"singleInput\"\n*ngIf=\"['expression','pattern'].indexOf(detectProperty()) !== -1\"\n(mouseenter)=\"inputClearable = 'selectProperty'\"\n(mouseleave)=\"inputClearable = undefined\"\n[floatLabel]=\"floatLabel\">\n <input\n matInput\n [placeholder]=\"'igo.geo.filter.placeholder' | translate\"\n [disabled]=\"!currentFilter.active\"\n [matAutocomplete]=\"autoCompleteValues\"\n [value]=\"detectProperty() === 'expression' ? currentFilter.expression : currentFilter.pattern\"\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"detectProperty() === 'expression' ? currentFilter.expression || '' : currentFilter.pattern || ''\"\n (input)=\"updateValuesList($event.target.value)\">\n <mat-autocomplete #autoCompleteValues=\"matAutocomplete\"\n (optionSelected)=\"changeProperty($event.option.value)\">\n <mat-option\n *ngFor=\"let value of filteredValues$ | async\"\n matTooltipShowDelay=\"500\"\n [value]=\"value\"\n [matTooltip]=\"value\">\n {{value}}\n </mat-option>\n </mat-autocomplete>\n <button mat-button\n *ngIf=\"isClearable() && inputClearable === 'selectProperty' && currentFilter.active\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n [disabled]=\"!currentFilter.active\"\n (click)=\"clearProperty()\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n</mat-form-field>\n\n<div class=\"igo-layer-button-group\">\n <button\n mat-icon-button\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.removeFilter' | translate\"\n color=\"warn\"\n (click)=\"deleteFilter()\">\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n</div>\n\n<mat-form-field\nclass=\"snrc\"\n*ngIf=\"(currentFilterIsSpatial$ | async) && currentFilter.igoSpatialSelector === 'snrc'\"\n(mouseenter)=\"inputClearable = 'selectSNRC'\"\n(mouseleave)=\"inputClearable = undefined\"\n[floatLabel]=\"floatLabel\">\n <input\n matInput\n [placeholder]=\"'igo.geo.filter.placeholderSnrc' | translate\"\n [value]=\"currentFilter.igoSNRC\"\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"currentFilter.igoSNRC ? currentFilter.igoSNRC : ''\"\n (input)=\"changeSNRC($event.target.value)\">\n <button\n mat-button\n *ngIf=\"currentFilter.igoSNRC\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n [disabled]=\"!currentFilter.active && inputClearable === 'selectSNRC' && currentFilter.active\"\n (click)=\"currentFilter.igoSNRC=''\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n </mat-form-field>\n\n <ng-container *ngIf=\"(currentFilterIsSpatial$ | async) && currentFilter.igoSpatialSelector === 'fixedExtent'\">\n <button\n mat-button\n [disabled]=\"!currentFilter.active\"\n *ngIf=\"currentFilter.igoSpatialSelector === 'fixedExtent'\"\n matSuffix\n mat-icon-button\n [disabled]=\"!currentFilter.active\"\n (click)=\"changeMapExtentGeometry()\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.spatialSelector.btnSetExtent' | translate\">\n <mat-icon svgIcon=\"arrow-expand-all\"></mat-icon>\n </button>\n</ng-container>\n\n<br/>\n\n<mat-form-field\nclass=\"dualInput\"\n*ngIf=\"!isTemporalOperator() && ['lowerBoundary','begin'].indexOf(detectProperty(1)) !== -1\"\n(mouseenter)=\"inputClearable = 'selectProperty1'\"\n(mouseleave)=\"inputClearable = undefined\"\n[floatLabel]=\"floatLabel\">\n <input\n matInput\n [placeholder]=\"'igo.geo.filter.placeholder' | translate\"\n [disabled]=\"!currentFilter.active\"\n [matAutocomplete]=\"autoDualValueOperator1\"\n type=\"number\"\n [value]=\"detectProperty(1) === 'lowerBoundary' ? currentFilter.lowerBoundary : currentFilter.begin\"\n (input)=\"updateValuesList($event.target.value,1)\">\n <mat-autocomplete #autoDualValueOperator1=\"matAutocomplete\"\n (optionSelected)=\"changeNumericProperty($event.option.value,1)\">\n <mat-option\n *ngFor=\"let value of filteredValues$ | async\"\n matTooltipShowDelay=\"500\"\n [value]=\"value\"\n [matTooltip]=\"value\">\n {{value}}\n </mat-option>\n </mat-autocomplete>\n <button mat-button\n *ngIf=\"isClearable(1) && inputClearable === 'selectProperty1' && currentFilter.active\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n [disabled]=\"!currentFilter.active\"\n (click)=\"clearProperty(1)\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n</mat-form-field>\n\n<mat-form-field\n class=\"dualInput\"\n *ngIf=\"!isTemporalOperator() && ['upperBoundary','end'].indexOf(detectProperty(2)) !== -1\"\n (mouseenter)=\"inputClearable = 'selectProperty2'\"\n (mouseleave)=\"inputClearable = undefined\"\n [floatLabel]=\"floatLabel\">\n <input\n matInput\n [placeholder]=\"'igo.geo.filter.placeholder' | translate\"\n [disabled]=\"!currentFilter.active\"\n [matAutocomplete]=\"autoDualValueOperator2\"\n type=\"number\"\n [value]=\"detectProperty(2) === 'upperBoundary' ? currentFilter.upperBoundary : currentFilter.end\"\n (input)=\"updateValuesList($event.target.value,2)\">\n <mat-autocomplete #autoDualValueOperator2=\"matAutocomplete\"\n (optionSelected)=\"changeNumericProperty($event.option.value,2)\">\n <mat-option\n *ngFor=\"let value of filteredValues$ | async\"\n matTooltipShowDelay=\"500\"\n [value]=\"value\"\n [matTooltip]=\"value\">\n {{value}}\n </mat-option>\n </mat-autocomplete>\n <button mat-button\n *ngIf=\"isClearable(2) && inputClearable === 'selectProperty2' && currentFilter.active\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n [disabled]=\"!currentFilter.active\"\n (click)=\"clearProperty(2)\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n</mat-form-field>\n\n<igo-ogc-filter-time *ngIf=\"isTemporalOperator()\"\n [(datasource)]=\"datasource\"\n [(currentFilter)]=\"currentFilter\"\n (changeProperty)=\"changeProperty($event.value, $event.pos)\">\n</igo-ogc-filter-time>\n\n<!--\nTODO C'EST PERTINENT je crois\n<mat-form-field class=\"field\" *ngIf=\"!(currentFilterIsSpatial$ | async) && (fields$| async) && (fields$| async).length === 1 && (fields$| async)[0].name === ''\">\n<input [disabled]=\"!currentFilter.active\" matInput #fieldPerUser (keyup)=\"changeProperty(currentFilter,'propertyName',fieldPerUser.value)\"\n (blur)=\"changeProperty(currentFilter,'propertyName',fieldPerUser.value)\" [(ngModel)]=\"currentFilter.propertyName\">\n<button mat-button *ngIf=\"currentFilter.propertyName\" matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"currentFilter.propertyName=''\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n</button>\n</mat-form-field>\n\n\n\n<mat-checkbox labelPosition='before' (change)=\"changeCaseSensitive($event)\" [(ngModel)]=\"currentFilter.matchCase\">\n {{('igo.geo.operators.caseSensitive') | translate}}\n</mat-checkbox>\n\n</mat-list-item> -->\n", styles: [":host{width:100%;padding:5px 10px}::ng-deep .mat-form-field .mat-icon svg{width:1em;height:1em;color:#d3d3d3}.mat-form-field{width:100%}.mat-select-arrow{visibility:hidden}.mat-slide-toggle{margin-top:10px}.logical{flex-flow:column nowrap;width:10%;max-width:45px;margin-left:5px}.logicalHidden{flex-flow:column nowrap;width:10%;visibility:hidden;max-width:45px;margin-left:5px}::ng-deep .logical .mat-select-arrow{visibility:hidden}::ng-deep .logicalHidden .mat-select-arrow{visibility:hidden}.field{width:20%}::ng-deep .field .mat-select-arrow{visibility:hidden}.operator{width:12%;margin-left:10px;text-align:center}::ng-deep .operator .mat-select-arrow{visibility:hidden}.spatialSelector{width:15%;margin-left:5px}::ng-deep .spatialSelector .mat-select-arrow{visibility:hidden}.singleInput{width:30%;margin-left:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.singleInput{width:27%}}.snrc{width:20%;margin-left:5px}::ng-deep .singleInput .mat-select-arrow{visibility:hidden}.dualInput{width:20%;margin-left:5px}::ng-deep .dualInput .mat-select-arrow{visibility:hidden}.igo-layer-button-group{display:flex;float:right;padding-top:5px}.container{display:flex}\n"] }]
|
|
26520
26525
|
}], function () { return [{ type: WktService }]; }, { refreshFilters: [{
|
|
26521
26526
|
type: Input
|
|
26522
26527
|
}], datasource: [{
|
|
@@ -26591,7 +26596,7 @@ OgcFilterableFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
26591
26596
|
(function () {
|
|
26592
26597
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OgcFilterableFormComponent, [{
|
|
26593
26598
|
type: Component,
|
|
26594
|
-
args: [{ selector: 'igo-ogc-filterable-form', template: "<igo-ogc-filter-selection\
|
|
26599
|
+
args: [{ selector: 'igo-ogc-filterable-form', template: "<igo-ogc-filter-selection\n *ngIf=\"!advancedOgcFilters\"\n igoListItem\n [refreshFilters]=\"refreshFunc\"\n [datasource]=\"datasource\"\n [map]=\"map\"\n [currentFilter]=\"currentFilter\">\n</igo-ogc-filter-selection>\n\n<ng-template \n*ngIf=\"advancedOgcFilters && datasource.options.ogcFilters.editable\"\nngFor let-currentFilter \n[ngForOf]=\"datasource.options.ogcFilters.interfaceOgcFilters\">\n<igo-ogc-filter-form\n [currentFilter]=\"currentFilter\"\n [refreshFilters]=\"refreshFunc\"\n [datasource]=\"datasource\"\n [map]=\"map\">\n</igo-ogc-filter-form>\n</ng-template>" }]
|
|
26595
26600
|
}], function () { return []; }, { datasource: [{
|
|
26596
26601
|
type: Input
|
|
26597
26602
|
}], map: [{
|
|
@@ -26918,7 +26923,7 @@ OgcFilterableItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
26918
26923
|
(function () {
|
|
26919
26924
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OgcFilterableItemComponent, [{
|
|
26920
26925
|
type: Component,
|
|
26921
|
-
args: [{ selector: 'igo-ogc-filterable-item', template: "<div [ngClass]=\"{'separate-item' : header === true}\" >\
|
|
26926
|
+
args: [{ selector: 'igo-ogc-filterable-item', template: "<div [ngClass]=\"{'separate-item' : header === true}\" >\n <mat-list-item>\n <mat-icon\n *ngIf=\"header\"\n class=\"igo-chevron\"\n mat-list-avatar\n igoCollapse [target]=\"ogcFilters\"\n [collapsed]=\"filtersCollapsed\"\n (click)=\"toggleFiltersCollapsed()\"\n svgIcon=\"chevron-up\">\n </mat-icon>\n <h4 (click)=\"toggleLegendOnClick()\" *ngIf=\"header\" [ngStyle]=\"{'cursor': filtersCollapsed ? 'default' : 'pointer'}\" matLine [matTooltip]=\"layer.title\" matTooltipShowDelay=\"500\">{{layer.title}}</h4>\n <button *ngIf=\"isAdvancedOgcFilters() && filtersAreEditable\" [disabled]=\"addFilterDisabled()\" mat-icon-button tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.addFilter' | translate\" [color]=\"color\" (click)=\"addFilterToSequence()\">\n <mat-icon svgIcon=\"plus\"></mat-icon>\n </button>\n <button *ngIf=\"header\"\n mat-icon-button\n [color]=\"layer.visible ? 'primary' : 'default'\"\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"layer.visible ?\n ('igo.geo.layer.hideLayer' | translate) :\n ('igo.geo.layer.showLayer' | translate)\"\n (click)=\"layer.visible = !layer.visible\">\n <mat-icon\n [ngClass]=\"{disabled: (inResolutionRange$ | async)===false}\"\n [svgIcon]=\"layer.visible ? 'eye' : 'eye-off'\">\n </mat-icon>\n </button>\n </mat-list-item>\n\n <div #ogcFilters>\n <div *ngIf=\"header\" #legend class=\"igo-layer-legend-container\">\n <igo-layer-legend *ngIf=\"showLegend$ | async\" [layer]=\"layer\">\n </igo-layer-legend>\n </div>\n <igo-ogc-filterable-form [datasource]=\"datasource\" [map]=\"map\" [refreshFilters]=\"refreshFunc\">\n </igo-ogc-filterable-form>\n\n <section *ngIf=\"hasSelector && filtersAreEditable\" class=\"mat-typography advancedOgcFilters\">\n <mat-divider></mat-divider>\n <mat-checkbox labelPosition='before' (change)=\"changeOgcFilterType($event)\"\n [(ngModel)]=\"datasource.options.ogcFilters.advancedOgcFilters\">\n {{'igo.geo.filter.advancedOgcFilters' | translate}}\n </mat-checkbox>\n </section>\n </div>\n</div>", styles: [":host{overflow:hidden}.advancedOgcFilters{text-align:center;width:100%;display:inline-block}.mat-list-item{height:auto}.igo-layer-legend-container{padding-left:1.125em;width:calc(100% - 18px)}mat-icon.disabled{color:#00000061}.separate-item{border-bottom:4px solid darkgrey}\n"] }]
|
|
26922
26927
|
}], function () { return [{ type: OGCFilterService }]; }, { layer: [{
|
|
26923
26928
|
type: Input
|
|
26924
26929
|
}], map: [{
|
|
@@ -26973,7 +26978,7 @@ OgcFilterableListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
26973
26978
|
(function () {
|
|
26974
26979
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OgcFilterableListComponent, [{
|
|
26975
26980
|
type: Component,
|
|
26976
|
-
args: [{ selector: 'igo-ogc-filterable-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "\
|
|
26981
|
+
args: [{ selector: 'igo-ogc-filterable-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<igo-list [navigation]=\"false\" [selection]=\"false\">\n <div id=\"no-layer-message\" *ngIf=\"(layers | filterableDataSource : 'ogc').length === 0\">{{'igo.geo.filter.noFilterableLayer' | translate}}</div>\n <ng-template ngFor let-layer [ngForOf]=\"layers | filterableDataSource: 'ogc'\">\n <igo-ogc-filterable-item igoListItem [header]=\"true\" [layer]=\"layer\" \n [map]=\"layer.map\" ></igo-ogc-filterable-item>\n </ng-template>\n</igo-list>\n", styles: ["#no-layer-message{padding:7%;text-align:center;font-size:medium;font-weight:700}\n"] }]
|
|
26977
26982
|
}], function () { return []; }, { layers: [{
|
|
26978
26983
|
type: Input
|
|
26979
26984
|
}], map: [{
|
|
@@ -27153,7 +27158,7 @@ OgcFilterButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Og
|
|
|
27153
27158
|
(function () {
|
|
27154
27159
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OgcFilterButtonComponent, [{
|
|
27155
27160
|
type: Component,
|
|
27156
|
-
args: [{ selector: 'igo-ogc-filter-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\
|
|
27161
|
+
args: [{ selector: 'igo-ogc-filter-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"header && options.ogcFilters && options.ogcFilters.enabled &&\n (options.ogcFilters.pushButtons || options.ogcFilters.checkboxes || options.ogcFilters.radioButtons || options.ogcFilters.select || options.ogcFilters.autocomplete\n || options.ogcFilters.editable)\"\n mat-icon-button\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.filterBy' | translate\"\n [color]=\"color\">\n <mat-icon [matBadge]=\"badge\" matBadgeColor=\"warn\" matBadgeSize=\"medium\" svgIcon=\"filter\"></mat-icon>\n</button>\n\n<div #ogcFilter class=\"igo-layer-actions-container\"\n*ngIf=\"options.ogcFilters && options.ogcFilters.enabled &&\n(options.ogcFilters.pushButtons || options.ogcFilters.checkboxes || options.ogcFilters.radioButtons || options.ogcFilters.select || options.ogcFilters.autocomplete\n || options.ogcFilters.editable)\">\n <igo-ogc-filterable-item\n *ngIf=\"ogcFilterCollapse && options.ogcFilters.enabled\"\n igoListItem\n [header]=\"false\"\n [map]=\"layer.map\"\n [layer]=\"layer\">\n </igo-ogc-filterable-item>\n</div>\n" }]
|
|
27157
27162
|
}], function () { return []; }, { layer: [{
|
|
27158
27163
|
type: Input
|
|
27159
27164
|
}], map: [{
|
|
@@ -28663,7 +28668,7 @@ OgcFilterSelectionComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
28663
28668
|
(function () {
|
|
28664
28669
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OgcFilterSelectionComponent, [{
|
|
28665
28670
|
type: Component,
|
|
28666
|
-
args: [{ selector: 'igo-ogc-filter-selection', providers: [DOMService], template: "<form [formGroup]=\"form\">\r\n <div *ngFor=\"let selector of ogcFiltersSelectors\">\r\n <div class=\"pushButtonGroups\" *ngIf=\"selector.selectorType === 'pushButton'\">\r\n <mat-divider></mat-divider>\r\n <div class=\"groupsSelector\" *ngIf=\"getPushButtonsGroups().length > 1\">\r\n <mat-form-field>\r\n <mat-select\r\n formControlName=\"pushButtonsGroup\"\r\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\" tooltip-position=\"below\" matTooltipShowDelay=\"500\"\r\n [(value)]=\"currentPushButtonsGroup\">\r\n <mat-option *ngFor=\"let selectorGroup of getPushButtonsGroups()\"\r\n [value]=\"selectorGroup\">{{selectorGroup.title}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <ng-container *ngFor=\"let bundle of currentPushButtonsGroup.computedSelectors\">\r\n <h4>{{bundle.title}}</h4>\r\n <mat-button-toggle-group\r\n formControlName=\"pushButtons\" class=\"mat-typography\" appearance=\"legacy\" vertical={{bundleIsVertical(bundle)}} multiple=\"true\">\r\n <mat-button-toggle *ngFor=\"let ogcPushButton of bundle.selectors\"\r\n [matTooltip]=\"getToolTip(ogcPushButton)\" tooltip-position=\"below\" matTooltipShowDelay=\"500\" matTooltipClass=\"material-tooltip\"\r\n [ngStyle]=\"getButtonColor(ogcPushButton)\"\r\n [checked]=\"ogcPushButton.enabled\" (change)=\"onSelectionChange(ogcPushButton, selector.selectorType)\"\r\n [value]=\"ogcPushButton\">{{ogcPushButton.title}}\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"checkboxGroups\" *ngIf=\"selector.selectorType === 'checkbox'\">\r\n <mat-divider></mat-divider>\r\n <div class=\"groupsSelector\" *ngIf=\"getCheckboxesGroups().length > 1\">\r\n <mat-form-field>\r\n <mat-select\r\n formControlName=\"checkboxesGroup\"\r\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\" tooltip-position=\"below\" matTooltipShowDelay=\"500\"\r\n [(value)]=\"currentCheckboxesGroup\">\r\n <mat-option *ngFor=\"let selectorGroup of getCheckboxesGroups()\"\r\n [value]=\"selectorGroup\">{{selectorGroup.title}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <ng-container *ngFor=\"let bundle of currentCheckboxesGroup.computedSelectors\">\r\n <h4>{{bundle.title}}</h4>\r\n <div class=\"checkboxes mat-typography\">\r\n <mat-checkbox *ngFor=\"let ogcCheckbox of bundle.selectors\"\r\n [matTooltip]=\"getToolTip(ogcCheckbox)\" tooltip-position=\"below\" matTooltipShowDelay=\"500\" matTooltipClass=\"material-tooltip\"\r\n [checked]=\"ogcCheckbox.enabled\" (change)=\"onSelectionChange(ogcCheckbox, selector.selectorType)\"\r\n [value]=\"ogcCheckbox\">{{ogcCheckbox.title}}\r\n </mat-checkbox>\r\n </div>\r\n <p *ngIf=\"isLessResults(bundle, 'checkbox') || isMoreResults(bundle, 'checkbox')\">\r\n <u *ngIf=\"isLessResults(bundle, 'checkbox')\"\r\n class=\"lessResults mat-typography\"\r\n (click)=\"displayLessResults('checkbox')\">{{ 'igo.geo.filter.displayLessResults' | translate }}\r\n </u>\r\n <u *ngIf=\"isMoreResults(bundle, 'checkbox')\"\r\n class=\"moreResults mat-typography\"\r\n (click)=\"displayMoreResults('checkbox')\">{{ 'igo.geo.filter.displayMoreResults' | translate }}\r\n </u>\r\n </p>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"radioButtonGroups\" *ngIf=\"selector.selectorType === 'radioButton'\">\r\n <mat-divider></mat-divider>\r\n <div class=\"groupsSelector\" *ngIf=\"getRadioButtonsGroups().length > 1\">\r\n <mat-form-field>\r\n <mat-select\r\n formControlName=\"radioButtonsGroup\"\r\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\" tooltip-position=\"below\" matTooltipShowDelay=\"500\"\r\n [(value)]=\"currentRadioButtonsGroup\">\r\n <mat-option *ngFor=\"let selectorGroup of getRadioButtonsGroups()\"\r\n [value]=\"selectorGroup\">{{selectorGroup.title}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <ng-container *ngFor=\"let bundle of currentRadioButtonsGroup.computedSelectors\">\r\n <h4>{{bundle.title}}</h4>\r\n <mat-radio-group\r\n formControlName=\"radioButtons\" class=\"mat-typography\">\r\n <mat-radio-button *ngIf=\"bundle.unfiltered\"\r\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\" tooltip-position=\"below\" matTooltipShowDelay=\"500\" matTooltipClass=\"material-tooltip\"\r\n (change)=\"emptyRadioButtons()\">{{ 'igo.geo.filter.resetFilters' | translate }}\r\n </mat-radio-button>\r\n <mat-radio-button *ngFor=\"let ogcRadioButton of bundle.selectors\"\r\n [matTooltip]=\"getToolTip(ogcRadioButton)\" tooltip-position=\"below\" matTooltipShowDelay=\"500\" matTooltipClass=\"material-tooltip\"\r\n [checked]=\"ogcRadioButton.enabled\" (change)=\"onSelectionChange(ogcRadioButton, selector.selectorType)\"\r\n [value]=\"ogcRadioButton\">{{ogcRadioButton.title}}\r\n </mat-radio-button>\r\n <p *ngIf=\"isLessResults(bundle, 'radio') || isMoreResults(bundle, 'radio')\">\r\n <u *ngIf=\"isLessResults(bundle, 'radio')\"\r\n class=\"lessResults mat-typography\"\r\n (click)=\"displayLessResults('radio')\">{{ 'igo.geo.filter.displayLessResults' | translate }}\r\n </u>\r\n <u *ngIf=\"isMoreResults(bundle, 'radio')\"\r\n class=\"moreResults mat-typography\"\r\n (click)=\"displayMoreResults('radio')\">{{ 'igo.geo.filter.displayMoreResults' | translate }}\r\n </u>\r\n </p>\r\n </mat-radio-group>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"selectGroups\" *ngIf=\"selector.selectorType === 'select'\">\r\n <mat-divider></mat-divider>\r\n <div class=\"groupsSelector\" *ngIf=\"getSelectGroups().length > 1\">\r\n <mat-form-field>\r\n <mat-select\r\n formControlName=\"selectGroup\"\r\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\" tooltip-position=\"below\" matTooltipShowDelay=\"500\"\r\n [(value)]=\"currentSelectGroup\">\r\n <mat-option *ngFor=\"let selectorGroup of getSelectGroups()\"\r\n [value]=\"selectorGroup\">{{selectorGroup.title}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <ng-container *ngFor=\"let bundle of currentSelectGroup.computedSelectors\">\r\n <h4>{{bundle.title}}</h4>\r\n <div class=\"groupsSelector\">\r\n <mat-button *ngIf=\"bundle.unfiltered && !bundle.multiple\"\r\n mat-icon-button\r\n color=\"warn\"\r\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\" tooltip-position=\"below\" matTooltipShowDelay=\"500\" matTooltipClass=\"material-tooltip\"\r\n (click)=\"emptySelect()\">\r\n <mat-icon svgIcon=\"filter-remove\"></mat-icon>\r\n </mat-button>\r\n <mat-form-field [style.width.%]=\"bundle.width ? bundle.width : undefined\">\r\n <div *ngIf=\"bundle.multiple; else notMulti\">\r\n <mat-select\r\n #selection [multiple]=\"bundle.multiple\" [placeholder]=\"bundle.title\" formControlName=\"selectMulti\">\r\n <div class=\"checkboxes mat-typography\">\r\n <mat-checkbox *ngIf=\"bundle.multiple\"\r\n [(ngModel)]=\"selectAllSelected\" [ngModelOptions]=\"{standalone: true}\"\r\n (change)=\"toggleAllSelection()\">Tous\r\n </mat-checkbox>\r\n </div>\r\n <mat-option *ngFor=\"let ogcSelect of bundle.selectors\"\r\n [matTooltip]=\"getToolTip(ogcSelect)\" tooltip-position=\"below\" matTooltipDelay=\"500\" matTooltipClass=\"material-tooltip\"\r\n (onSelectionChange)=\"selectOptionClick($event.source.value, bundle, $event)\"\r\n [value]=\"ogcSelect\">{{ogcSelect.title}}\r\n </mat-option>\r\n </mat-select>\r\n </div>\r\n <ng-template #notMulti>\r\n <mat-select\r\n [placeholder]=\"bundle.title\" formControlName=\"select\">\r\n <mat-option *ngFor=\"let ogcSelect of bundle.selectors\"\r\n [matTooltip]=\"getToolTip(ogcSelect)\" tooltip-position=\"below\" matTooltipDelay=\"500\" matTooltipClass=\"material-tooltip\"\r\n [value]=\"ogcSelect\" (onSelectionChange)=\"selectOptionClick($event.source.value, bundle)\">{{ogcSelect.title}}\r\n </mat-option>\r\n </mat-select>\r\n </ng-template>\r\n </mat-form-field>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"autocompleteGroups\" *ngIf=\"selector.selectorType === 'autocomplete'\">\r\n <mat-divider></mat-divider>\r\n <div class=\"groupsSelector\" *ngIf=\"getAutocompleteGroups().length > 1\">\r\n <mat-form-field>\r\n <mat-select\r\n formControlName=\"autocompleteGroup\"\r\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\" tooltip-position=\"below\" matTooltipShowDelay=\"500\"\r\n [(value)]=\"currentAutocompleteGroup\">\r\n <mat-option *ngFor=\"let autocompleteGroup of getAutocompleteGroups()\"\r\n [value]=\"autocompleteGroup\">{{autocompleteGroup.title}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <ng-container *ngFor=\"let bundle of currentAutocompleteGroup.computedSelectors\">\r\n <h4>{{bundle.title}}</h4>\r\n <div class=\"groupsSelector\">\r\n <mat-button *ngIf=\"bundle.unfiltered\"\r\n mat-icon-button\r\n color=\"warn\"\r\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\" tooltip-position=\"below\" matTooltipShowDelay=\"500\" matTooltipClass=\"material-tooltip\"\r\n (click)=\"emptyAutocomplete()\">\r\n <mat-icon svgIcon=\"filter-remove\"></mat-icon>\r\n </mat-button>\r\n <mat-form-field *ngIf=\"filteredOgcAutocomplete[bundle.id]\" [style.width.%]=\"bundle.width ? bundle.width : undefined\">\r\n <input matInput type=\"text\" formControlName=\"autocomplete\" #autocomplete class=\"autocomplete\"\r\n [matAutocomplete]=\"auto\" [placeholder]=\"bundle.title\">\r\n <mat-autocomplete #auto=\"matAutocomplete\" #autocomplete (optionSelected)=\"autocompleteOptionClick($event.option.value)\"\r\n [displayWith]=\"displayFn\">\r\n <mat-option *ngFor=\"let ogcAutocomplete of filteredOgcAutocomplete[bundle.id] | async\" [value]=\"ogcAutocomplete\">\r\n {{ ogcAutocomplete.value }}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<div *ngIf=\"isTemporalOperator()\">\r\n <mat-divider></mat-divider>\r\n <h4 *ngIf=\"!currentFilter.title\">{{ 'igo.geo.filter.reportingDate' | translate }}</h4>\r\n <h4 *ngIf=\"currentFilter.title\">{{ currentFilter.title }}</h4>\r\n <igo-ogc-filter-time\r\n [(datasource)]=\"datasource\"\r\n [(currentFilter)]=\"currentFilter\"\r\n (changeProperty)=\"changeProperty($event.value, $event.pos)\">\r\n </igo-ogc-filter-time>\r\n</div>", styles: [".mat-button-toggle-group{margin:5px;flex-wrap:wrap;box-shadow:none!important;width:95%}.checkboxes{flex-wrap:wrap;box-shadow:none}.groupsSelector{text-align:center}mat-button-toggle{display:inline-flex;border:1.5px solid black;border-radius:5px;margin:5px;white-space:normal;min-height:40px;height:auto;width:142px}mat-button-toggle ::ng-deep .mat-button-toggle-label-content{line-height:inherit;font-size:small;display:block}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){mat-button-toggle{width:45%}}::ng-deep .material-tooltip{white-space:pre-wrap}mat-checkbox,mat-radio-button{margin:7px;width:95%;display:inline-flex;font-size:larger}mat-checkbox ::ng-deep label,mat-radio-button ::ng-deep label{white-space:normal}mat-checkbox{vertical-align:middle}mat-button{padding-right:10px;cursor:pointer}h4{margin:7px;text-align:left}u{cursor:pointer;color:#00f;margin:5px}p{margin:0;margin:initial}\n"] }]
|
|
28671
|
+
args: [{ selector: 'igo-ogc-filter-selection', providers: [DOMService], template: "<form [formGroup]=\"form\">\n <div *ngFor=\"let selector of ogcFiltersSelectors\">\n <div class=\"pushButtonGroups\" *ngIf=\"selector.selectorType === 'pushButton'\">\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getPushButtonsGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"pushButtonsGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\" tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n [(value)]=\"currentPushButtonsGroup\">\n <mat-option *ngFor=\"let selectorGroup of getPushButtonsGroups()\"\n [value]=\"selectorGroup\">{{selectorGroup.title}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container *ngFor=\"let bundle of currentPushButtonsGroup.computedSelectors\">\n <h4>{{bundle.title}}</h4>\n <mat-button-toggle-group\n formControlName=\"pushButtons\" class=\"mat-typography\" appearance=\"legacy\" vertical={{bundleIsVertical(bundle)}} multiple=\"true\">\n <mat-button-toggle *ngFor=\"let ogcPushButton of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcPushButton)\" tooltip-position=\"below\" matTooltipShowDelay=\"500\" matTooltipClass=\"material-tooltip\"\n [ngStyle]=\"getButtonColor(ogcPushButton)\"\n [checked]=\"ogcPushButton.enabled\" (change)=\"onSelectionChange(ogcPushButton, selector.selectorType)\"\n [value]=\"ogcPushButton\">{{ogcPushButton.title}}\n </mat-button-toggle>\n </mat-button-toggle-group>\n </ng-container>\n </div>\n\n <div class=\"checkboxGroups\" *ngIf=\"selector.selectorType === 'checkbox'\">\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getCheckboxesGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"checkboxesGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\" tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n [(value)]=\"currentCheckboxesGroup\">\n <mat-option *ngFor=\"let selectorGroup of getCheckboxesGroups()\"\n [value]=\"selectorGroup\">{{selectorGroup.title}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container *ngFor=\"let bundle of currentCheckboxesGroup.computedSelectors\">\n <h4>{{bundle.title}}</h4>\n <div class=\"checkboxes mat-typography\">\n <mat-checkbox *ngFor=\"let ogcCheckbox of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcCheckbox)\" tooltip-position=\"below\" matTooltipShowDelay=\"500\" matTooltipClass=\"material-tooltip\"\n [checked]=\"ogcCheckbox.enabled\" (change)=\"onSelectionChange(ogcCheckbox, selector.selectorType)\"\n [value]=\"ogcCheckbox\">{{ogcCheckbox.title}}\n </mat-checkbox>\n </div>\n <p *ngIf=\"isLessResults(bundle, 'checkbox') || isMoreResults(bundle, 'checkbox')\">\n <u *ngIf=\"isLessResults(bundle, 'checkbox')\"\n class=\"lessResults mat-typography\"\n (click)=\"displayLessResults('checkbox')\">{{ 'igo.geo.filter.displayLessResults' | translate }}\n </u>\n <u *ngIf=\"isMoreResults(bundle, 'checkbox')\"\n class=\"moreResults mat-typography\"\n (click)=\"displayMoreResults('checkbox')\">{{ 'igo.geo.filter.displayMoreResults' | translate }}\n </u>\n </p>\n </ng-container>\n </div>\n\n <div class=\"radioButtonGroups\" *ngIf=\"selector.selectorType === 'radioButton'\">\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getRadioButtonsGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"radioButtonsGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\" tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n [(value)]=\"currentRadioButtonsGroup\">\n <mat-option *ngFor=\"let selectorGroup of getRadioButtonsGroups()\"\n [value]=\"selectorGroup\">{{selectorGroup.title}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container *ngFor=\"let bundle of currentRadioButtonsGroup.computedSelectors\">\n <h4>{{bundle.title}}</h4>\n <mat-radio-group\n formControlName=\"radioButtons\" class=\"mat-typography\">\n <mat-radio-button *ngIf=\"bundle.unfiltered\"\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\" tooltip-position=\"below\" matTooltipShowDelay=\"500\" matTooltipClass=\"material-tooltip\"\n (change)=\"emptyRadioButtons()\">{{ 'igo.geo.filter.resetFilters' | translate }}\n </mat-radio-button>\n <mat-radio-button *ngFor=\"let ogcRadioButton of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcRadioButton)\" tooltip-position=\"below\" matTooltipShowDelay=\"500\" matTooltipClass=\"material-tooltip\"\n [checked]=\"ogcRadioButton.enabled\" (change)=\"onSelectionChange(ogcRadioButton, selector.selectorType)\"\n [value]=\"ogcRadioButton\">{{ogcRadioButton.title}}\n </mat-radio-button>\n <p *ngIf=\"isLessResults(bundle, 'radio') || isMoreResults(bundle, 'radio')\">\n <u *ngIf=\"isLessResults(bundle, 'radio')\"\n class=\"lessResults mat-typography\"\n (click)=\"displayLessResults('radio')\">{{ 'igo.geo.filter.displayLessResults' | translate }}\n </u>\n <u *ngIf=\"isMoreResults(bundle, 'radio')\"\n class=\"moreResults mat-typography\"\n (click)=\"displayMoreResults('radio')\">{{ 'igo.geo.filter.displayMoreResults' | translate }}\n </u>\n </p>\n </mat-radio-group>\n </ng-container>\n </div>\n\n <div class=\"selectGroups\" *ngIf=\"selector.selectorType === 'select'\">\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getSelectGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"selectGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\" tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n [(value)]=\"currentSelectGroup\">\n <mat-option *ngFor=\"let selectorGroup of getSelectGroups()\"\n [value]=\"selectorGroup\">{{selectorGroup.title}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container *ngFor=\"let bundle of currentSelectGroup.computedSelectors\">\n <h4>{{bundle.title}}</h4>\n <div class=\"groupsSelector\">\n <mat-button *ngIf=\"bundle.unfiltered && !bundle.multiple\"\n mat-icon-button\n color=\"warn\"\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\" tooltip-position=\"below\" matTooltipShowDelay=\"500\" matTooltipClass=\"material-tooltip\"\n (click)=\"emptySelect()\">\n <mat-icon svgIcon=\"filter-remove\"></mat-icon>\n </mat-button>\n <mat-form-field [style.width.%]=\"bundle.width ? bundle.width : undefined\">\n <div *ngIf=\"bundle.multiple; else notMulti\">\n <mat-select\n #selection [multiple]=\"bundle.multiple\" [placeholder]=\"bundle.title\" formControlName=\"selectMulti\">\n <div class=\"checkboxes mat-typography\">\n <mat-checkbox *ngIf=\"bundle.multiple\"\n [(ngModel)]=\"selectAllSelected\" [ngModelOptions]=\"{standalone: true}\"\n (change)=\"toggleAllSelection()\">Tous\n </mat-checkbox>\n </div>\n <mat-option *ngFor=\"let ogcSelect of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcSelect)\" tooltip-position=\"below\" matTooltipDelay=\"500\" matTooltipClass=\"material-tooltip\"\n (onSelectionChange)=\"selectOptionClick($event.source.value, bundle, $event)\"\n [value]=\"ogcSelect\">{{ogcSelect.title}}\n </mat-option>\n </mat-select>\n </div>\n <ng-template #notMulti>\n <mat-select\n [placeholder]=\"bundle.title\" formControlName=\"select\">\n <mat-option *ngFor=\"let ogcSelect of bundle.selectors\"\n [matTooltip]=\"getToolTip(ogcSelect)\" tooltip-position=\"below\" matTooltipDelay=\"500\" matTooltipClass=\"material-tooltip\"\n [value]=\"ogcSelect\" (onSelectionChange)=\"selectOptionClick($event.source.value, bundle)\">{{ogcSelect.title}}\n </mat-option>\n </mat-select>\n </ng-template>\n </mat-form-field>\n </div>\n </ng-container>\n </div>\n\n <div class=\"autocompleteGroups\" *ngIf=\"selector.selectorType === 'autocomplete'\">\n <mat-divider></mat-divider>\n <div class=\"groupsSelector\" *ngIf=\"getAutocompleteGroups().length > 1\">\n <mat-form-field>\n <mat-select\n formControlName=\"autocompleteGroup\"\n [matTooltip]=\"'igo.geo.layer.legend.selectStyle' | translate\" tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n [(value)]=\"currentAutocompleteGroup\">\n <mat-option *ngFor=\"let autocompleteGroup of getAutocompleteGroups()\"\n [value]=\"autocompleteGroup\">{{autocompleteGroup.title}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <ng-container *ngFor=\"let bundle of currentAutocompleteGroup.computedSelectors\">\n <h4>{{bundle.title}}</h4>\n <div class=\"groupsSelector\">\n <mat-button *ngIf=\"bundle.unfiltered\"\n mat-icon-button\n color=\"warn\"\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\" tooltip-position=\"below\" matTooltipShowDelay=\"500\" matTooltipClass=\"material-tooltip\"\n (click)=\"emptyAutocomplete()\">\n <mat-icon svgIcon=\"filter-remove\"></mat-icon>\n </mat-button>\n <mat-form-field *ngIf=\"filteredOgcAutocomplete[bundle.id]\" [style.width.%]=\"bundle.width ? bundle.width : undefined\">\n <input matInput type=\"text\" formControlName=\"autocomplete\" #autocomplete class=\"autocomplete\"\n [matAutocomplete]=\"auto\" [placeholder]=\"bundle.title\">\n <mat-autocomplete #auto=\"matAutocomplete\" #autocomplete (optionSelected)=\"autocompleteOptionClick($event.option.value)\"\n [displayWith]=\"displayFn\">\n <mat-option *ngFor=\"let ogcAutocomplete of filteredOgcAutocomplete[bundle.id] | async\" [value]=\"ogcAutocomplete\">\n {{ ogcAutocomplete.value }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n </ng-container>\n </div>\n </div>\n</form>\n\n<div *ngIf=\"isTemporalOperator()\">\n <mat-divider></mat-divider>\n <h4 *ngIf=\"!currentFilter.title\">{{ 'igo.geo.filter.reportingDate' | translate }}</h4>\n <h4 *ngIf=\"currentFilter.title\">{{ currentFilter.title }}</h4>\n <igo-ogc-filter-time\n [(datasource)]=\"datasource\"\n [(currentFilter)]=\"currentFilter\"\n (changeProperty)=\"changeProperty($event.value, $event.pos)\">\n </igo-ogc-filter-time>\n</div>", styles: [".mat-button-toggle-group{margin:5px;flex-wrap:wrap;box-shadow:none!important;width:95%}.checkboxes{flex-wrap:wrap;box-shadow:none}.groupsSelector{text-align:center}mat-button-toggle{display:inline-flex;border:1.5px solid black;border-radius:5px;margin:5px;white-space:normal;min-height:40px;height:auto;width:142px}mat-button-toggle ::ng-deep .mat-button-toggle-label-content{line-height:inherit;font-size:small;display:block}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){mat-button-toggle{width:45%}}::ng-deep .material-tooltip{white-space:pre-wrap}mat-checkbox,mat-radio-button{margin:7px;width:95%;display:inline-flex;font-size:larger}mat-checkbox ::ng-deep label,mat-radio-button ::ng-deep label{white-space:normal}mat-checkbox{vertical-align:middle}mat-button{padding-right:10px;cursor:pointer}h4{margin:7px;text-align:left}u{cursor:pointer;color:#00f;margin:5px}p{margin:0;margin:initial}\n"] }]
|
|
28667
28672
|
}], function () { return [{ type: OGCFilterService }, { type: i2$2.UntypedFormBuilder }, { type: i5$1.DOMService }, { type: i2$1.ConfigService }, { type: i0.ChangeDetectorRef }]; }, { sel: [{
|
|
28668
28673
|
type: ViewChild,
|
|
28669
28674
|
args: ['selection']
|
|
@@ -28808,7 +28813,7 @@ SpatialFilterTypeComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
28808
28813
|
(function () {
|
|
28809
28814
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SpatialFilterTypeComponent, [{
|
|
28810
28815
|
type: Component,
|
|
28811
|
-
args: [{ selector: 'igo-spatial-filter-type', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-tab-group\
|
|
28816
|
+
args: [{ selector: 'igo-spatial-filter-type', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-tab-group\n [selectedIndex]=\"selectedTypeIndex.value\"\n (selectedIndexChange)=\"selectedTypeIndex.setValue($event)\"\n (selectedTabChange)=\"onTypeChange($event)\">\n\n <mat-tab [label]=\"'igo.geo.spatialFilter.predefined' |\u00A0translate\">\n <mat-form-field>\n <mat-label>{{'igo.geo.spatialFilter.searchLabel' | translate}}</mat-label>\n <mat-select (selectionChange)=\"onSelectionChange()\" [(value)]=\"selectedQueryType\">\n <mat-option *ngFor=\"let queryType of queryType\" [value]=\"queryType\">\n {{('igo.geo.terrapi.' + queryType) | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <igo-spatial-filter-list\n [store]=\"store\"\n [queryType]=\"selectedQueryType\"\n [zone]=\"zone\"\n [layers]=\"layers\"\n (zoneChange)=\"zoneChange.emit($event)\"\n (zoneWithBufferChange)=\"zoneWithBufferChange.emit($event)\"\n (bufferChange)=\"bufferChange.emit($event)\"\n (measureUnitChange)=\"measureUnitChange.emit($event)\">\n </igo-spatial-filter-list>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.geo.spatialFilter.draw' |\u00A0translate\">\n <div class=\"spatial-type-toggle\">\n <mat-button-toggle-group\n [value]=\"activeDrawType\"\n (change)=\"onDrawTypeChange($event.value)\">\n <mat-button-toggle [value]=\"spatialType.Polygon\" [matTooltip]=\"'igo.geo.spatialFilter.drawPolygon' |\u00A0translate\">\n <mat-icon svgIcon=\"pentagon-outline\"></mat-icon>\n </mat-button-toggle>\n <mat-button-toggle [value]=\"spatialType.Point\" [matTooltip]=\"'igo.geo.spatialFilter.drawCircle' |\u00A0translate\">\n <mat-icon svgIcon=\"record-circle-outline\"></mat-icon>\n </mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n </mat-tab>\n\n</mat-tab-group>\n", styles: [".mat-form-field{padding:5px;width:95%;margin-left:2px}.mat-tab-group ::ng-deep .mat-tab-body-content{overflow:hidden}.mat-tab-group ::ng-deep .mat-tab-label{padding:10px}.mat-tab-group ::ng-deep .mat-tab-body-wrapper{margin-top:5px}.spatial-type-toggle{padding:10px;text-align:center}.spatial-type-toggle mat-button-toggle-group{width:50%}.spatial-type-toggle mat-button-toggle-group mat-button-toggle{width:50%}\n"] }]
|
|
28812
28817
|
}], function () { return []; }, { store: [{
|
|
28813
28818
|
type: Input
|
|
28814
28819
|
}], selectedQueryType: [{
|
|
@@ -29015,7 +29020,7 @@ SpatialFilterListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
29015
29020
|
(function () {
|
|
29016
29021
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SpatialFilterListComponent, [{
|
|
29017
29022
|
type: Component,
|
|
29018
|
-
args: [{ selector: 'igo-spatial-filter-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form class=\"form-list\">\
|
|
29023
|
+
args: [{ selector: 'igo-spatial-filter-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form class=\"form-list\">\n <mat-form-field class=\"zone-list\">\n <input #input type=\"text\" placeholder=\"{{'igo.geo.spatialFilter.listLabel' |\u00A0translate}}\" matInput\n [formControl]=\"formControl\" [matAutocomplete]=\"auto\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onZoneChange($event.option.value)\"\n [displayWith]=\"displayFn\">\n <mat-option *ngFor=\"let entities of this.store.view.all$() | async\" [value]=\"entities\">\n {{entities.properties.nom}}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n<form>\n\n<div class=\"buffer-div\">\n <form class=\"buffer-form\">\n <mat-form-field class=\"buffer\">\n <input type=\"number\" matInput placeholder=\"{{'igo.geo.spatialFilter.buffer' | translate}}\" [formControl]=\"bufferFormControl\"\n [value]=\"0\" [readonly]=\"!zone\">\n </mat-form-field>\n </form>\n\n <mat-form-field class=\"unit-field\">\n <mat-select\n [value]=\"measureUnit\"\n (selectionChange)=\"onMeasureUnitChange($event.value)\">\n <mat-option *ngFor=\"let measureUnit of measureUnits\" [value]=\"measureUnit\">\n {{('igo.geo.measure.' + measureUnit) | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n</div>\n", styles: [".buffer-div{display:flex;width:100%;margin-left:2px;padding:5px}.zone-list{padding:5px;width:95%;margin-left:2px}.buffer{display:flex;flex-flow:column nowrap;width:110%}.unit-field{width:110px;margin-left:30px}\n"] }]
|
|
29019
29024
|
}], function () { return [{ type: SpatialFilterService }, { type: i2$1.MessageService }, { type: i2$1.LanguageService }]; }, { store: [{
|
|
29020
29025
|
type: Input
|
|
29021
29026
|
}], queryType: [{
|
|
@@ -30113,7 +30118,7 @@ SpatialFilterItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
30113
30118
|
(function () {
|
|
30114
30119
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SpatialFilterItemComponent, [{
|
|
30115
30120
|
type: Component,
|
|
30116
|
-
args: [{ selector: 'igo-spatial-filter-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-geometry-form-field-input\r\n [formControl]=\"formControl\"\r\n [map]=\"map\"\r\n [geometryType]=\"geometryType\"\r\n [drawGuide]=\"drawGuide$ | async\"\r\n [measure]=\"measure\"\r\n [drawControlIsActive]=\"drawControlIsActive\"\r\n [freehandDrawIsActive]=\"freehandDrawIsActive\"\r\n [drawStyle]=\"drawStyle$ | async\"\r\n [overlayStyle]=\"overlayStyle$ | async\"\r\n [radius]=\"radius\"\r\n [predefinedRadius]=\"predefinedRadius\">\r\n</igo-geometry-form-field-input>\r\n\r\n<div class=\"header\">\r\n <mat-slide-toggle *ngIf=\"!isPredefined()\"\r\n [checked]=\"drawControlIsActive\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"onDrawControlChange()\">\r\n {{'igo.geo.spatialFilter.drawControl' | translate}}\r\n </mat-slide-toggle>\r\n <mat-slide-toggle *ngIf=\"!isPredefined()\"\r\n [checked]=\"freehandDrawIsActive\"\r\n [labelPosition]=\"'before'\"\r\n (change)=\"onfreehandControlChange()\">\r\n {{'igo.geo.spatialFilter.freehandControl' | translate}}\r\n </mat-slide-toggle>\r\n</div>\r\n\r\n<div class=\"buffer-unit\" *ngIf=\"isPolygon()\">\r\n <form class=\"buffer-form\">\r\n <mat-form-field class=\"buffer\">\r\n <input type=\"number\" matInput placeholder=\"{{'igo.geo.spatialFilter.buffer' | translate}}\" [formControl]=\"bufferFormControl\"\r\n [value]=\"0\" [readonly]=\"this.formControl.value === null\">\r\n </mat-form-field>\r\n </form>\r\n\r\n <mat-form-field class=\"unit-field\">\r\n <mat-select\r\n [value]=\"measureUnit\"\r\n (selectionChange)=\"onMeasureUnitChange($event.value)\">\r\n <mat-option *ngFor=\"let measureUnit of measureUnits\" [value]=\"measureUnit\">\r\n {{('igo.geo.measure.' + measureUnit) | translate}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</div>\r\n\r\n<div class=\"radius-unit\" *ngIf=\"isPoint()\">\r\n <form class=\"radius-form\">\r\n <mat-form-field class=\"radius\">\r\n <input type=\"number\" matInput placeholder=\"{{'igo.geo.spatialFilter.radius' | translate}}\" [formControl]=\"radiusFormControl\"\r\n [value]=\"1000\" (input)=\"getRadius()\" [readonly]=\"this.freehandDrawIsActive && this.formControl.value === null\">\r\n </mat-form-field>\r\n </form>\r\n\r\n <mat-form-field class=\"unit-field\">\r\n <mat-select\r\n [value]=\"measureUnit\"\r\n (selectionChange)=\"onMeasureUnitChange($event.value)\">\r\n <mat-option *ngFor=\"let measureUnit of measureUnits\" [value]=\"measureUnit\">\r\n {{('igo.geo.measure.' + measureUnit) | translate}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n</div>\r\n\r\n<mat-label class=\"title mat-typography\">{{'igo.geo.spatialFilter.search' | translate}} : </mat-label>\r\n<mat-radio-group [value]=\"selectedItemType\">\r\n <mat-radio-button *ngFor=\"let item of itemType\"\r\n [value]=\"item\"\r\n (change)=\"onItemTypeChange($event)\">\r\n {{'igo.geo.spatialFilter.' + item | translate}}\r\n </mat-radio-button>\r\n</mat-radio-group>\r\n\r\n<div class=\"thematics\" *ngIf=\"(selectedItemType==='Thematics' && !tableTemplate) || (selectedItemType==='Thematics' && tableTemplate && !listIsVisible)\">\r\n <mat-table>\r\n <!-- Name Column -->\r\n <ng-container matColumnDef=\"name\">\r\n <mat-header-cell *matHeaderCellDef class=\"thematics-header\">{{'igo.geo.spatialFilter.Thematics' | translate}}</mat-header-cell>\r\n </ng-container>\r\n\r\n <!-- Select Column -->\r\n <ng-container matColumnDef=\"select\">\r\n <mat-header-cell *matHeaderCellDef class=\"checks-header\">\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"isAllSelected()\"\r\n [indeterminate]=\"selectedThematics.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </mat-header-cell>\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\r\n <mat-row *matRowDef=\"let row; columns: displayedColumns;\"></mat-row>\r\n\r\n </mat-table>\r\n\r\n <mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\r\n <!-- This is the tree node template for leaf nodes -->\r\n <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodeToggle>\r\n <li class=\"mat-tree-node\">\r\n <!-- use a disabled button to provide padding for tree leaf -->\r\n <button mat-icon-button disabled></button>\r\n {{node.name}}\r\n <mat-checkbox class=\"tree-check\" (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? onToggleChange(node) : null\"\r\n [checked]=\"selectedThematics.isSelected(node)\">\r\n </mat-checkbox>\r\n </li>\r\n </mat-tree-node>\r\n\r\n <!-- This is the tree node template for expandable nodes -->\r\n <mat-nested-tree-node *matTreeNodeDef=\"let node; when: hasChild\">\r\n <div class=\"mat-tree-node\">\r\n <button mat-icon-button\r\n (click)=\"onToggleClick(node)\">\r\n <mat-icon [svgIcon]=\"treeControl.isExpanded(node) ? 'chevron-down' : 'chevron-right'\"></mat-icon>\r\n </button>\r\n {{node.name}}\r\n <mat-checkbox class=\"tree-check-2\" (change)=\"$event ? childrensToggle(node) : null\"\r\n [checked]=\"isAllSelected(node)\"\r\n [indeterminate]=\"hasChildrenSelected(node) && !isAllSelected(node)\">\r\n </mat-checkbox>\r\n </div>\r\n <ul class=\"tree-ul\" [class.example-tree-invisible]=\"!treeControl.isExpanded(node)\">\r\n <ng-container matTreeNodeOutlet></ng-container>\r\n </ul>\r\n </mat-nested-tree-node>\r\n\r\n </mat-tree>\r\n</div>\r\n\r\n<div class=\"buttons\">\r\n\r\n <button *ngIf=\"isPredefined()\" mat-raised-button class=\"clear-search-button\" [disabled]=\"disabledClearSearch()\"\r\n (click)=\"clearSearch()\">\r\n {{'igo.geo.spatialFilter.clearSearch' | translate}}\r\n </button>\r\n\r\n <button *ngIf=\"isPolygon() || isPoint()\" mat-raised-button class=\"clear-form-button\" [disabled]=\"this.formControl.value === null\"\r\n (click)=\"clearDrawZone()\">\r\n {{'igo.geo.spatialFilter.clearForm' | translate}}\r\n </button>\r\n\r\n <button mat-raised-button class=\"search-button\" [disabled]=\"disableSearchButton()\" color=\"primary\"\r\n (click)=\"toggleSearchButton()\">\r\n {{'igo.geo.spatialFilter.goSearch' | translate}}\r\n </button>\r\n\r\n <button mat-raised-button class=\"remove-button\" [disabled]=\"allLayers.length === 0\" (click)=\"clearButton()\">\r\n {{'igo.geo.spatialFilter.removeLayer' | translate}}\r\n </button>\r\n\r\n <button mat-raised-button class=\"export-button\" [disabled]=\"!store.entities$.getValue().length\" (click)=\"export.emit()\">\r\n {{'igo.geo.spatialFilter.exportLayer' | translate}}\r\n </button>\r\n\r\n</div>\r\n\r\n<button\r\n class=\"chevron-down\"\r\n *ngIf=\"store.all().length && tableTemplate && !listIsVisible\"\r\n mat-icon-button\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.spatialFilter.showSearchResults' | translate\"\r\n (click)=\"toggleVisibleList()\">\r\n <mat-icon svgIcon=\"chevron-down\"></mat-icon>\r\n</button>\r\n\r\n<div class=\"results\" *ngIf=\"store.all().length && tableTemplate && listIsVisible\">\r\n <button\r\n *ngIf=\"listIsVisible\"\r\n mat-icon-button\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.spatialFilter.hideSearchResults' | translate\"\r\n (click)=\"toggleVisibleList()\">\r\n <mat-icon svgIcon=\"chevron-up\"></mat-icon>\r\n </button>\r\n <igo-entity-table\r\n class=\"results-list\"\r\n [template]=\"tableTemplate\"\r\n [store]=\"store\"\r\n (entitySelectChange)=\"entityChange.emit($event)\">\r\n </igo-entity-table>\r\n</div>\r\n", styles: [".header{margin-top:5px;width:100%}.mat-slide-toggle{padding:5px;margin-bottom:15px;width:98%}.mat-slide-toggle ::ng-deep .mat-slide-toggle-content{width:calc(100% - 20px)}.title{margin-left:5px;font-size:medium;font-size:initial}.mat-radio-group{display:flex;flex-direction:column;padding-top:10px}.mat-radio-button{display:inline-flex;position:relative;margin-left:16px;margin-top:10px}.mat-form-field{margin-top:5px}.mat-column-select{overflow:auto}.buttons{margin-top:15px}.search-button{left:15px;width:46%}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.search-button{left:10px;width:45%;min-height:35px;white-space:normal;line-height:normal}}.export-button{left:15px;width:46%;margin-bottom:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.export-button{left:10px;margin-top:10px;width:45%;min-height:35px;white-space:normal;line-height:normal}}.remove-button{margin-top:12px;left:5px;width:46%}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.remove-button{margin:0;width:45%;min-height:35px;white-space:normal;line-height:normal}}.clear-form-button{left:5px;width:46%}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.clear-form-button{width:45%;min-height:35px;white-space:normal;line-height:normal}}.clear-search-button{left:5px;width:46%}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.clear-search-button{width:45%;min-height:35px;white-space:normal;line-height:normal}}.thematics{max-height:35%;overflow:auto;margin-top:5px;width:98%}.results{overflow:auto;max-height:250px;width:98%}.mat-column-typeResults{max-width:100px;margin-right:5px}.buffer-unit,.radius-unit{display:flex;width:100%;margin-left:2px;padding:5px}.radius,.buffer{display:flex;flex-flow:column nowrap;width:110%}.unit-field{width:110px;margin-left:30px}.example-tree-invisible{display:none}.tree-ul{margin:0;padding:0 0 0 20px;list-style-type:none}.tree-check,.tree-check-2{position:relative;margin-left:auto;margin-right:5px}.thematics-header{max-width:250px}.checks-header{padding:none;max-width:calc(100% - 316px);overflow:hidden}.mat-checkbox{padding:5px}.mat-tree-node{position:relative;min-height:42px;width:280px}.mat-header-cell{height:56px}.results{max-height:45%;width:98%}.results igo-entity-table ::ng-deep div.table-container{overflow:visible;overflow:initial}\n"] }]
|
|
30121
|
+
args: [{ selector: 'igo-spatial-filter-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-geometry-form-field-input\n [formControl]=\"formControl\"\n [map]=\"map\"\n [geometryType]=\"geometryType\"\n [drawGuide]=\"drawGuide$ | async\"\n [measure]=\"measure\"\n [drawControlIsActive]=\"drawControlIsActive\"\n [freehandDrawIsActive]=\"freehandDrawIsActive\"\n [drawStyle]=\"drawStyle$ | async\"\n [overlayStyle]=\"overlayStyle$ | async\"\n [radius]=\"radius\"\n [predefinedRadius]=\"predefinedRadius\">\n</igo-geometry-form-field-input>\n\n<div class=\"header\">\n <mat-slide-toggle *ngIf=\"!isPredefined()\"\n [checked]=\"drawControlIsActive\"\n [labelPosition]=\"'before'\"\n (change)=\"onDrawControlChange()\">\n {{'igo.geo.spatialFilter.drawControl' | translate}}\n </mat-slide-toggle>\n <mat-slide-toggle *ngIf=\"!isPredefined()\"\n [checked]=\"freehandDrawIsActive\"\n [labelPosition]=\"'before'\"\n (change)=\"onfreehandControlChange()\">\n {{'igo.geo.spatialFilter.freehandControl' | translate}}\n </mat-slide-toggle>\n</div>\n\n<div class=\"buffer-unit\" *ngIf=\"isPolygon()\">\n <form class=\"buffer-form\">\n <mat-form-field class=\"buffer\">\n <input type=\"number\" matInput placeholder=\"{{'igo.geo.spatialFilter.buffer' | translate}}\" [formControl]=\"bufferFormControl\"\n [value]=\"0\" [readonly]=\"this.formControl.value === null\">\n </mat-form-field>\n </form>\n\n <mat-form-field class=\"unit-field\">\n <mat-select\n [value]=\"measureUnit\"\n (selectionChange)=\"onMeasureUnitChange($event.value)\">\n <mat-option *ngFor=\"let measureUnit of measureUnits\" [value]=\"measureUnit\">\n {{('igo.geo.measure.' + measureUnit) | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n</div>\n\n<div class=\"radius-unit\" *ngIf=\"isPoint()\">\n <form class=\"radius-form\">\n <mat-form-field class=\"radius\">\n <input type=\"number\" matInput placeholder=\"{{'igo.geo.spatialFilter.radius' | translate}}\" [formControl]=\"radiusFormControl\"\n [value]=\"1000\" (input)=\"getRadius()\" [readonly]=\"this.freehandDrawIsActive && this.formControl.value === null\">\n </mat-form-field>\n </form>\n\n <mat-form-field class=\"unit-field\">\n <mat-select\n [value]=\"measureUnit\"\n (selectionChange)=\"onMeasureUnitChange($event.value)\">\n <mat-option *ngFor=\"let measureUnit of measureUnits\" [value]=\"measureUnit\">\n {{('igo.geo.measure.' + measureUnit) | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n</div>\n\n<mat-label class=\"title mat-typography\">{{'igo.geo.spatialFilter.search' | translate}} : </mat-label>\n<mat-radio-group [value]=\"selectedItemType\">\n <mat-radio-button *ngFor=\"let item of itemType\"\n [value]=\"item\"\n (change)=\"onItemTypeChange($event)\">\n {{'igo.geo.spatialFilter.' + item | translate}}\n </mat-radio-button>\n</mat-radio-group>\n\n<div class=\"thematics\" *ngIf=\"(selectedItemType==='Thematics' && !tableTemplate) || (selectedItemType==='Thematics' && tableTemplate && !listIsVisible)\">\n <mat-table>\n <!-- Name Column -->\n <ng-container matColumnDef=\"name\">\n <mat-header-cell *matHeaderCellDef class=\"thematics-header\">{{'igo.geo.spatialFilter.Thematics' | translate}}</mat-header-cell>\n </ng-container>\n\n <!-- Select Column -->\n <ng-container matColumnDef=\"select\">\n <mat-header-cell *matHeaderCellDef class=\"checks-header\">\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\n [checked]=\"isAllSelected()\"\n [indeterminate]=\"selectedThematics.hasValue() && !isAllSelected()\">\n </mat-checkbox>\n </mat-header-cell>\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns;\"></mat-row>\n\n </mat-table>\n\n <mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\n <!-- This is the tree node template for leaf nodes -->\n <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodeToggle>\n <li class=\"mat-tree-node\">\n <!-- use a disabled button to provide padding for tree leaf -->\n <button mat-icon-button disabled></button>\n {{node.name}}\n <mat-checkbox class=\"tree-check\" (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? onToggleChange(node) : null\"\n [checked]=\"selectedThematics.isSelected(node)\">\n </mat-checkbox>\n </li>\n </mat-tree-node>\n\n <!-- This is the tree node template for expandable nodes -->\n <mat-nested-tree-node *matTreeNodeDef=\"let node; when: hasChild\">\n <div class=\"mat-tree-node\">\n <button mat-icon-button\n (click)=\"onToggleClick(node)\">\n <mat-icon [svgIcon]=\"treeControl.isExpanded(node) ? 'chevron-down' : 'chevron-right'\"></mat-icon>\n </button>\n {{node.name}}\n <mat-checkbox class=\"tree-check-2\" (change)=\"$event ? childrensToggle(node) : null\"\n [checked]=\"isAllSelected(node)\"\n [indeterminate]=\"hasChildrenSelected(node) && !isAllSelected(node)\">\n </mat-checkbox>\n </div>\n <ul class=\"tree-ul\" [class.example-tree-invisible]=\"!treeControl.isExpanded(node)\">\n <ng-container matTreeNodeOutlet></ng-container>\n </ul>\n </mat-nested-tree-node>\n\n </mat-tree>\n</div>\n\n<div class=\"buttons\">\n\n <button *ngIf=\"isPredefined()\" mat-raised-button class=\"clear-search-button\" [disabled]=\"disabledClearSearch()\"\n (click)=\"clearSearch()\">\n {{'igo.geo.spatialFilter.clearSearch' | translate}}\n </button>\n\n <button *ngIf=\"isPolygon() || isPoint()\" mat-raised-button class=\"clear-form-button\" [disabled]=\"this.formControl.value === null\"\n (click)=\"clearDrawZone()\">\n {{'igo.geo.spatialFilter.clearForm' | translate}}\n </button>\n\n <button mat-raised-button class=\"search-button\" [disabled]=\"disableSearchButton()\" color=\"primary\"\n (click)=\"toggleSearchButton()\">\n {{'igo.geo.spatialFilter.goSearch' | translate}}\n </button>\n\n <button mat-raised-button class=\"remove-button\" [disabled]=\"allLayers.length === 0\" (click)=\"clearButton()\">\n {{'igo.geo.spatialFilter.removeLayer' | translate}}\n </button>\n\n <button mat-raised-button class=\"export-button\" [disabled]=\"!store.entities$.getValue().length\" (click)=\"export.emit()\">\n {{'igo.geo.spatialFilter.exportLayer' | translate}}\n </button>\n\n</div>\n\n<button\n class=\"chevron-down\"\n *ngIf=\"store.all().length && tableTemplate && !listIsVisible\"\n mat-icon-button\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.spatialFilter.showSearchResults' | translate\"\n (click)=\"toggleVisibleList()\">\n <mat-icon svgIcon=\"chevron-down\"></mat-icon>\n</button>\n\n<div class=\"results\" *ngIf=\"store.all().length && tableTemplate && listIsVisible\">\n <button\n *ngIf=\"listIsVisible\"\n mat-icon-button\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.spatialFilter.hideSearchResults' | translate\"\n (click)=\"toggleVisibleList()\">\n <mat-icon svgIcon=\"chevron-up\"></mat-icon>\n </button>\n <igo-entity-table\n class=\"results-list\"\n [template]=\"tableTemplate\"\n [store]=\"store\"\n (entitySelectChange)=\"entityChange.emit($event)\">\n </igo-entity-table>\n</div>\n", styles: [".header{margin-top:5px;width:100%}.mat-slide-toggle{padding:5px;margin-bottom:15px;width:98%}.mat-slide-toggle ::ng-deep .mat-slide-toggle-content{width:calc(100% - 20px)}.title{margin-left:5px;font-size:medium;font-size:initial}.mat-radio-group{display:flex;flex-direction:column;padding-top:10px}.mat-radio-button{display:inline-flex;position:relative;margin-left:16px;margin-top:10px}.mat-form-field{margin-top:5px}.mat-column-select{overflow:auto}.buttons{margin-top:15px}.search-button{left:15px;width:46%}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.search-button{left:10px;width:45%;min-height:35px;white-space:normal;line-height:normal}}.export-button{left:15px;width:46%;margin-bottom:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.export-button{left:10px;margin-top:10px;width:45%;min-height:35px;white-space:normal;line-height:normal}}.remove-button{margin-top:12px;left:5px;width:46%}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.remove-button{margin:0;width:45%;min-height:35px;white-space:normal;line-height:normal}}.clear-form-button{left:5px;width:46%}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.clear-form-button{width:45%;min-height:35px;white-space:normal;line-height:normal}}.clear-search-button{left:5px;width:46%}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.clear-search-button{width:45%;min-height:35px;white-space:normal;line-height:normal}}.thematics{max-height:35%;overflow:auto;margin-top:5px;width:98%}.results{overflow:auto;max-height:250px;width:98%}.mat-column-typeResults{max-width:100px;margin-right:5px}.buffer-unit,.radius-unit{display:flex;width:100%;margin-left:2px;padding:5px}.radius,.buffer{display:flex;flex-flow:column nowrap;width:110%}.unit-field{width:110px;margin-left:30px}.example-tree-invisible{display:none}.tree-ul{margin:0;padding:0 0 0 20px;list-style-type:none}.tree-check,.tree-check-2{position:relative;margin-left:auto;margin-right:5px}.thematics-header{max-width:250px}.checks-header{padding:none;max-width:calc(100% - 316px);overflow:hidden}.mat-checkbox{padding:5px}.mat-tree-node{position:relative;min-height:42px;width:280px}.mat-header-cell{height:56px}.results{max-height:45%;width:98%}.results igo-entity-table ::ng-deep div.table-container{overflow:visible;overflow:initial}\n"] }]
|
|
30117
30122
|
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: SpatialFilterService }, { type: i2$1.MessageService }, { type: i2$1.LanguageService }]; }, { map: [{
|
|
30118
30123
|
type: Input
|
|
30119
30124
|
}], type: [{
|
|
@@ -30439,7 +30444,7 @@ function OgcFilterTimeComponent_div_3_div_2_div_13_Template(rf, ctx) {
|
|
|
30439
30444
|
i0.ɵɵadvance(2);
|
|
30440
30445
|
i0.ɵɵproperty("for", _r35)("disabled", ctx_r25.filterStateDisable);
|
|
30441
30446
|
i0.ɵɵadvance(1);
|
|
30442
|
-
i0.ɵɵproperty("matDatepicker", _r35)("placeholder", i0.ɵɵpipeBind1(5, 14, "igo.geo.timeFilter.endDate"))("matDatepickerFilter", ctx_r25.
|
|
30447
|
+
i0.ɵɵproperty("matDatepicker", _r35)("placeholder", i0.ɵɵpipeBind1(5, 14, "igo.geo.timeFilter.endDate"))("matDatepickerFilter", ctx_r25.filterEndFunction)("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);
|
|
30443
30448
|
i0.ɵɵattribute("disabled", !ctx_r25.currentFilter.active);
|
|
30444
30449
|
i0.ɵɵadvance(4);
|
|
30445
30450
|
i0.ɵɵproperty("startView", ctx_r25.calendarView())("startAt", ctx_r25.endValue);
|
|
@@ -30483,7 +30488,7 @@ function OgcFilterTimeComponent_div_3_div_2_Template(rf, ctx) {
|
|
|
30483
30488
|
i0.ɵɵadvance(3);
|
|
30484
30489
|
i0.ɵɵproperty("for", _r22)("disabled", ctx_r9.filterStateDisable);
|
|
30485
30490
|
i0.ɵɵadvance(1);
|
|
30486
|
-
i0.ɵɵproperty("matDatepicker", _r22)("placeholder", i0.ɵɵpipeBind1(6, 20, "igo.geo.timeFilter.startDate"))("matDatepickerFilter", ctx_r9.
|
|
30491
|
+
i0.ɵɵproperty("matDatepicker", _r22)("placeholder", i0.ɵɵpipeBind1(6, 20, "igo.geo.timeFilter.startDate"))("matDatepickerFilter", ctx_r9.filterBeginFunction)("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);
|
|
30487
30492
|
i0.ɵɵattribute("disabled", !ctx_r9.currentFilter.active);
|
|
30488
30493
|
i0.ɵɵadvance(4);
|
|
30489
30494
|
i0.ɵɵproperty("startView", ctx_r9.calendarView())("startAt", ctx_r9.beginValue);
|
|
@@ -30580,6 +30585,8 @@ class OgcFilterTimeComponent {
|
|
|
30580
30585
|
this.updateHoursMinutesArray();
|
|
30581
30586
|
// update value for now value
|
|
30582
30587
|
this.updateValues();
|
|
30588
|
+
this.dateFilter(this.filterBeginFunction, 'begin');
|
|
30589
|
+
this.dateFilter(this.filterEndFunction, 'end');
|
|
30583
30590
|
}
|
|
30584
30591
|
parseFilter(filter) {
|
|
30585
30592
|
if (!filter) {
|
|
@@ -30740,10 +30747,12 @@ class OgcFilterTimeComponent {
|
|
|
30740
30747
|
if (type === 'end') {
|
|
30741
30748
|
const dateValuePlus1 = moment(dateValue).add(1, 'd');
|
|
30742
30749
|
const monthDiffPlus1 = moment(dateValuePlus1).diff(moment(this.handleMin()), 'years', true);
|
|
30743
|
-
|
|
30750
|
+
this.filterEndFunction = (monthDiffPlus1 % moment.duration(this.step).asYears()) === 0;
|
|
30751
|
+
return;
|
|
30744
30752
|
}
|
|
30745
30753
|
else if (type === 'begin') {
|
|
30746
|
-
|
|
30754
|
+
this.filterBeginFunction = (monthDiff % moment.duration(this.step).asYears()) === 0;
|
|
30755
|
+
return;
|
|
30747
30756
|
}
|
|
30748
30757
|
}
|
|
30749
30758
|
else if (this.ogcFilterTimeService.stepIsMonthDuration(this.step)) {
|
|
@@ -30751,10 +30760,12 @@ class OgcFilterTimeComponent {
|
|
|
30751
30760
|
if (type === 'end') {
|
|
30752
30761
|
const dateValuePlus1 = moment(dateValue).add(1, 'd');
|
|
30753
30762
|
const monthDiffPlus1 = moment(dateValuePlus1).diff(moment(this.handleMin()), 'months', true);
|
|
30754
|
-
|
|
30763
|
+
this.filterEndFunction = (monthDiffPlus1 % moment.duration(this.step).asMonths()) === 0;
|
|
30764
|
+
return;
|
|
30755
30765
|
}
|
|
30756
30766
|
else if (type === 'begin') {
|
|
30757
|
-
|
|
30767
|
+
this.filterBeginFunction = (monthDiff % moment.duration(this.step).asMonths()) === 0;
|
|
30768
|
+
return;
|
|
30758
30769
|
}
|
|
30759
30770
|
}
|
|
30760
30771
|
else if (this.ogcFilterTimeService.stepIsWeekDuration(this.step)) {
|
|
@@ -30762,10 +30773,12 @@ class OgcFilterTimeComponent {
|
|
|
30762
30773
|
if (type === 'end') {
|
|
30763
30774
|
const dateValuePlus1 = moment(dateValue).add(1, 'd');
|
|
30764
30775
|
const weekDiffPlus1 = moment(dateValuePlus1).diff(moment(this.handleMin()), 'weeks', true);
|
|
30765
|
-
|
|
30776
|
+
this.filterEndFunction = (weekDiffPlus1 % moment.duration(this.step).asWeeks()) === 0;
|
|
30777
|
+
return;
|
|
30766
30778
|
}
|
|
30767
30779
|
else if (type === 'begin') {
|
|
30768
|
-
|
|
30780
|
+
this.filterBeginFunction = (weekDiff % moment.duration(this.step).asWeeks()) === 0;
|
|
30781
|
+
return;
|
|
30769
30782
|
}
|
|
30770
30783
|
}
|
|
30771
30784
|
else if (this.ogcFilterTimeService.stepIsDayDuration(this.step)) {
|
|
@@ -30774,21 +30787,40 @@ class OgcFilterTimeComponent {
|
|
|
30774
30787
|
const dateValuePlus1 = moment(dateValue).add(1, 'd');
|
|
30775
30788
|
const dayDiffPlus1 = moment(dateValuePlus1).diff(moment(this.handleMin()), 'days', true);
|
|
30776
30789
|
const _mod = (dayDiffPlus1 % moment.duration(this.step).asDays());
|
|
30777
|
-
|
|
30790
|
+
this.filterEndFunction = (_mod < 0.0000001 && _mod > -0.0000001) || _mod === 0; // 1 millisecond = 1.1574074074074076e-8
|
|
30791
|
+
return;
|
|
30778
30792
|
}
|
|
30779
30793
|
else if (type === 'begin') {
|
|
30780
30794
|
const _mod = ((dayDiff % moment.duration(this.step).asDays()) + 1);
|
|
30781
|
-
|
|
30795
|
+
this.filterBeginFunction = (_mod < 0.0000001 && _mod > -0.0000001 && _mod !== 0) || _mod === 1; // 1 millisecond = 1.1574074074074076e-8
|
|
30796
|
+
return;
|
|
30782
30797
|
}
|
|
30783
30798
|
}
|
|
30784
30799
|
else if (this.ogcFilterTimeService.stepIsHourDuration(this.step)) {
|
|
30785
|
-
|
|
30786
|
-
|
|
30800
|
+
if (type === 'end') {
|
|
30801
|
+
const hourDiff = moment(dateValue).diff(moment(this.handleMin()), 'hours', true);
|
|
30802
|
+
this.filterEndFunction = (hourDiff % moment.duration(this.step).asHours()) === 0;
|
|
30803
|
+
return;
|
|
30804
|
+
}
|
|
30805
|
+
else if (type === 'begin') {
|
|
30806
|
+
const hourDiff = moment(dateValue).diff(moment(this.handleMin()), 'hours', true);
|
|
30807
|
+
this.filterBeginFunction = (hourDiff % moment.duration(this.step).asHours()) === 0;
|
|
30808
|
+
return;
|
|
30809
|
+
}
|
|
30787
30810
|
}
|
|
30788
30811
|
else if (this.ogcFilterTimeService.stepIsMinuteDuration(this.step)) {
|
|
30789
|
-
|
|
30812
|
+
if (type === 'end') {
|
|
30813
|
+
this.filterEndFunction = true;
|
|
30814
|
+
return;
|
|
30815
|
+
}
|
|
30816
|
+
else if (type === 'begin') {
|
|
30817
|
+
this.filterBeginFunction = true;
|
|
30818
|
+
return;
|
|
30819
|
+
}
|
|
30790
30820
|
}
|
|
30791
|
-
|
|
30821
|
+
this.filterEndFunction = diff % this.stepMilliseconds === 0;
|
|
30822
|
+
this.filterBeginFunction = diff % this.stepMilliseconds === 0;
|
|
30823
|
+
return;
|
|
30792
30824
|
}
|
|
30793
30825
|
getDateTime(date, pos) {
|
|
30794
30826
|
const valuetmp = new Date(date);
|
|
@@ -31058,7 +31090,7 @@ OgcFilterTimeComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OgcF
|
|
|
31058
31090
|
(function () {
|
|
31059
31091
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OgcFilterTimeComponent, [{
|
|
31060
31092
|
type: Component,
|
|
31061
|
-
args: [{ selector: 'igo-ogc-filter-time', template: "<div class=\"datetime-container\">\r\n <mat-slide-toggle \r\n *ngIf=\"this.currentFilter.sliderOptions?.enabled\"\r\n [(ngModel)]=\"sliderMode\"\r\n (change)=\"modeChange($event)\">\r\n {{'igo.geo.filter.sliderModeTitle' | translate}}\r\n </mat-slide-toggle>\r\n\r\n <div class=\"slider-container\" *ngIf=\"sliderMode\">\r\n <igo-ogc-filter-time-slider\r\n [begin]=\"beginValue\"\r\n [max]=\"this.restrictedToStep() ? this.maxDate : this.endValue\"\r\n [currentFilter]=\"currentFilter\" \r\n [datasource]=\"datasource\"\r\n (changeProperty)=\"changePropertyByPass($event)\"\r\n >\r\n </igo-ogc-filter-time-slider>\r\n \r\n </div>\r\n\r\n <div *ngIf=\"!sliderMode\">\r\n\r\n <div class=\"year-input-container\" *ngIf=\"calendarTypeYear\">\r\n <!-- to emulate a year-picker, 2 input: first input to show user just year and second input hiden and bind \r\n with the datepicker -->\r\n <mat-form-field class=\"year-input\">\r\n <mat-label>{{'igo.geo.timeFilter.startYear'| translate}}</mat-label>\r\n <input\r\n matInput\r\n class=\"year-input-only-year\"\r\n value=\"{{onlyYearBegin}}\"\r\n (change)= \"yearOnlyInputChange($event, beginDatepicker, 'begin')\"\r\n [disabled]= \"filterStateDisable\"\r\n >\r\n <mat-datepicker-toggle matSuffix [for]=\"beginDatepicker\" [disabled]=\"filterStateDisable\"></mat-datepicker-toggle>\r\n \r\n <mat-datepicker\r\n panelClass=\"datepicker-year\"\r\n #beginDatepicker\r\n [startView]=\"calendarView()\"\r\n [startAt]=\"beginValue\"\r\n (yearSelected)=\"yearSelected($event, beginDatepicker, 'begin')\"\r\n >\r\n </mat-datepicker>\r\n\r\n <input #beginYear\r\n class= \"year-input-hide\"\r\n matInput\r\n [matDatepicker]=\"beginDatepicker\"\r\n enabled= false\r\n readonly= true\r\n [value]=\"beginValue?beginValue:handleDate(datasource.options.minDate)\"\r\n [min]=\"handleDate(datasource.options.minDate)\"\r\n [max]=\"(endValue && (!restrictedToStep()))?endValue:handleDate(datasource.options.maxDate)\"\r\n >\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"year-input\">\r\n <mat-label>{{'igo.geo.timeFilter.endYear'| translate}}</mat-label>\r\n <input\r\n matInput\r\n class=\"year-input-only-year\"\r\n value=\"{{onlyYearEnd}}\"\r\n (change)= \"yearOnlyInputChange($event, endDatepicker, 'end')\"\r\n [disabled] = \"filterStateDisable\">\r\n <mat-datepicker-toggle matSuffix [for]=\"endDatepicker\" [disabled]=\"filterStateDisable\"></mat-datepicker-toggle>\r\n <mat-datepicker\r\n panelClass=\"datepicker-year\"\r\n #endDatepicker\r\n [startView]=\"calendarView()\"\r\n [startAt]=\"endValue\"\r\n (yearSelected)=\"yearSelected($event, endDatepicker, 'end')\"\r\n >\r\n </mat-datepicker>\r\n\r\n <input #endYear\r\n class= \"year-input-hide\"\r\n matInput\r\n [matDatepicker]=\"endDatepicker\"\r\n enabled= false\r\n readonly= true\r\n [value]=\"endValue?endValue:handleDate(datasource.options.maxDate)\"\r\n [min]=\"beginValue?beginValue:handleDate(datasource.options.minDate)\"\r\n [max]=\"handleDate(datasource.options.maxDate)\"\r\n >\r\n </mat-form-field>\r\n <button class=\"reset-button\" \r\n mat-icon-button\r\n color=\"primary\" \r\n (click)=\"resetFilter()\" \r\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\" \r\n [disabled]= \"filterStateDisable\">\r\n <mat-icon svgIcon=\"{{resetIcon}}\"></mat-icon>\r\n </button>\r\n <mat-slide-toggle \r\n class='toggle-filter-state' \r\n (change)=\"toggleFilterState()\" \r\n [matTooltip]=\"'igo.geo.filter.toggleFilterState' | translate\" \r\n tooltip-position=\"below\" \r\n matTooltipShowDelay=\"500\"\r\n [checked]=\"!filterStateDisable\">\r\n </mat-slide-toggle>\r\n\r\n </div>\r\n\r\n <div class=\"datetime-input-container\" *ngIf=\"calendarType()!=='year'\">\r\n <div class=\"datetime-input\">\r\n <mat-form-field class=\"date-input\">\r\n <mat-datepicker-toggle matSuffix [for]=\"beginDatepicker\" [disabled]= \"filterStateDisable\"></mat-datepicker-toggle>\r\n <input #begin\r\n matInput\r\n [matDatepicker]=\"beginDatepicker\"\r\n [placeholder]=\"'igo.geo.timeFilter.startDate' | translate\"\r\n [attr.disabled]=\"!currentFilter.active\"\r\n (dateChange)=\"changeTemporalProperty(begin.value, 1)\"\r\n [matDatepickerFilter]=\"dateFilter.bind(this, 'begin')\"\r\n [value]=\"beginValue?beginValue:handleDate(datasource.options.minDate)\"\r\n [min]=\"handleDate(datasource.options.minDate)\"\r\n [max]=\"(endValue && (!restrictedToStep()))?endValue:handleDate(datasource.options.maxDate)\" \r\n [disabled]= \"filterStateDisable\">\r\n <span class=\"filler\"></span>\r\n <mat-datepicker\r\n #beginDatepicker\r\n [startView]=\"calendarView()\"\r\n [startAt]=\"beginValue\"\r\n (yearSelected)=\"yearSelected($event, beginDatepicker, 'begin')\"\r\n (monthSelected)=\"monthSelected($event, beginDatepicker, 'begin')\">\r\n </mat-datepicker>\r\n </mat-form-field>\r\n\r\n <div class=\"time-input\">\r\n <mat-form-field class=\"hour-input\" *ngIf=\"calendarType()==='datetime'\">\r\n <mat-label>{{'igo.geo.timeFilter.hour' | translate}}</mat-label>\r\n <mat-select\r\n [formControl]=\"beginHourFormControl\"\r\n [attr.disabled]=\"!currentFilter.active\"\r\n (selectionChange)=\"changeTemporalProperty(begin.value, 1)\">\r\n <mat-option *ngFor=\"let hour of beginHours\" [value]=\"hour\">{{hour}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field class=\"minute-input\" *ngIf=\"calendarType()==='datetime'\">\r\n <mat-label>{{'igo.geo.timeFilter.minute' | translate}}</mat-label>\r\n <mat-select\r\n [formControl]=\"beginMinuteFormControl\"\r\n [attr.disabled]=\"!currentFilter.active\"\r\n (selectionChange)=\"changeTemporalProperty(begin.value, 1)\">\r\n <mat-option *ngFor=\"let minute of beginMinutes\" [value]=\"minute\">{{minute}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n <div class=\"datetime-input\" *ngIf=\"!restrictedToStep()\">\r\n <mat-form-field class=\"date-input\">\r\n <mat-datepicker-toggle matSuffix [for]=\"endDatepicker\" [disabled]= \"filterStateDisable\"></mat-datepicker-toggle>\r\n <input #end\r\n matInput\r\n [matDatepicker]=\"endDatepicker\"\r\n [placeholder]=\"'igo.geo.timeFilter.endDate' | translate\"\r\n [attr.disabled]=\"!currentFilter.active\"\r\n (dateChange)=\"changeTemporalProperty(end.value, 2)\"\r\n [matDatepickerFilter]=\"dateFilter.bind(this, 'end')\"\r\n [value]=\"endValue?endValue:handleDate(datasource.options.maxDate)\"\r\n [min]=\"beginValue?beginValue:handleDate(datasource.options.minDate)\"\r\n [max]=\"handleDate(datasource.options.maxDate)\" \r\n [disabled]= \"filterStateDisable\">\r\n <span class=\"filler\"></span>\r\n <mat-datepicker #endDatepicker\r\n [startView]=\"calendarView()\"\r\n [startAt]=\"endValue\"\r\n (yearSelected)=\"yearSelected($event, endDatepicker, 'end')\"\r\n (monthSelected)=\"monthSelected($event, endDatepicker, 'end')\">\r\n </mat-datepicker>\r\n </mat-form-field>\r\n\r\n <div class=\"time-input\">\r\n <mat-form-field class=\"hour-input\" *ngIf=\"calendarType()==='datetime'\" >\r\n <mat-label>{{'igo.geo.timeFilter.hour' | translate}}</mat-label>\r\n <mat-select\r\n [formControl]=\"endHourFormControl\"\r\n [attr.disabled]=\"!currentFilter.active\"\r\n (selectionChange)=\"changeTemporalProperty(end.value, 2)\">\r\n <mat-option *ngFor=\"let hour of endHours\" [value]=\"hour\">{{hour}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field class=\"minute-input\" *ngIf=\"calendarType()==='datetime'\">\r\n <mat-label>{{'igo.geo.timeFilter.minute' | translate}}</mat-label>\r\n <mat-select\r\n [formControl]=\"endMinuteFormControl\"\r\n [attr.disabled]=\"!currentFilter.active\"\r\n (selectionChange)=\"changeTemporalProperty(end.value, 2)\">\r\n <mat-option *ngFor=\"let minute of endMinutes\" [value]=\"minute\">{{minute}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n <button class=\"reset-button\" \r\n mat-icon-button color=\"primary\"\r\n (click)=\"resetFilter()\" \r\n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\" \r\n [disabled]= \"filterStateDisable\">\r\n <mat-icon svgIcon=\"{{resetIcon}}\"></mat-icon>\r\n </button>\r\n <mat-slide-toggle \r\n class=\"toggle-filter-state\" \r\n (change)=\"toggleFilterState()\" \r\n tooltip-position=\"below\" \r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.filter.toggleFilterState' | translate\" \r\n [checked]= \"!filterStateDisable\">\r\n </mat-slide-toggle>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["::ng-deep input{text-align:center!important;margin:auto 5px!important}.slider-container{text-align:center}.datetime-input{display:inline-block;width:100px;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{width:36%;margin:0}}.date-input{width:100px;margin-right:25px}.time-input{margin-right:25px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.time-input{margin-right:5px}}.hour-input,.minute-input{width:35px;margin-left:7px}.year-input{width:98px;margin:10px 14px 5px 4px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.year-input{width:32%;margin:0 0 0 10px}}.year-input-hide{width:120px;margin-right:25px;display:none}.year-input-only-year{width:120px;margin-right:25px}.reset-button{width:25px;padding-left:8px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.reset-button{padding-left:8px}}.toggle-filter-state{padding-left:20px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.toggle-filter-state{padding-left:12px}}::ng-deep .datepicker-year ::ng-deep .mat-calendar-arrow{display:none}::ng-deep .datepicker-year ::ng-deep .mat-calendar-period-button{pointer-events:none}::ng-deep .datepicker-year ::ng-deep .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover{background-color:#0000001f;border-radius:999px}\n"] }]
|
|
31093
|
+
args: [{ selector: 'igo-ogc-filter-time', template: "<div class=\"datetime-container\">\n <mat-slide-toggle \n *ngIf=\"this.currentFilter.sliderOptions?.enabled\"\n [(ngModel)]=\"sliderMode\"\n (change)=\"modeChange($event)\">\n {{'igo.geo.filter.sliderModeTitle' | translate}}\n </mat-slide-toggle>\n\n <div class=\"slider-container\" *ngIf=\"sliderMode\">\n <igo-ogc-filter-time-slider\n [begin]=\"beginValue\"\n [max]=\"this.restrictedToStep() ? this.maxDate : this.endValue\"\n [currentFilter]=\"currentFilter\" \n [datasource]=\"datasource\"\n (changeProperty)=\"changePropertyByPass($event)\"\n >\n </igo-ogc-filter-time-slider>\n \n </div>\n\n <div *ngIf=\"!sliderMode\">\n\n <div class=\"year-input-container\" *ngIf=\"calendarTypeYear\">\n <!-- to emulate a year-picker, 2 input: first input to show user just year and second input hiden and bind \n with the datepicker -->\n <mat-form-field class=\"year-input\">\n <mat-label>{{'igo.geo.timeFilter.startYear'| translate}}</mat-label>\n <input\n matInput\n class=\"year-input-only-year\"\n value=\"{{onlyYearBegin}}\"\n (change)= \"yearOnlyInputChange($event, beginDatepicker, 'begin')\"\n [disabled]= \"filterStateDisable\"\n >\n <mat-datepicker-toggle matSuffix [for]=\"beginDatepicker\" [disabled]=\"filterStateDisable\"></mat-datepicker-toggle>\n \n <mat-datepicker\n panelClass=\"datepicker-year\"\n #beginDatepicker\n [startView]=\"calendarView()\"\n [startAt]=\"beginValue\"\n (yearSelected)=\"yearSelected($event, beginDatepicker, 'begin')\"\n >\n </mat-datepicker>\n\n <input #beginYear\n class= \"year-input-hide\"\n matInput\n [matDatepicker]=\"beginDatepicker\"\n enabled= false\n readonly= true\n [value]=\"beginValue?beginValue:handleDate(datasource.options.minDate)\"\n [min]=\"handleDate(datasource.options.minDate)\"\n [max]=\"(endValue && (!restrictedToStep()))?endValue:handleDate(datasource.options.maxDate)\"\n >\n </mat-form-field>\n\n <mat-form-field class=\"year-input\">\n <mat-label>{{'igo.geo.timeFilter.endYear'| translate}}</mat-label>\n <input\n matInput\n class=\"year-input-only-year\"\n value=\"{{onlyYearEnd}}\"\n (change)= \"yearOnlyInputChange($event, endDatepicker, 'end')\"\n [disabled] = \"filterStateDisable\">\n <mat-datepicker-toggle matSuffix [for]=\"endDatepicker\" [disabled]=\"filterStateDisable\"></mat-datepicker-toggle>\n <mat-datepicker\n panelClass=\"datepicker-year\"\n #endDatepicker\n [startView]=\"calendarView()\"\n [startAt]=\"endValue\"\n (yearSelected)=\"yearSelected($event, endDatepicker, 'end')\"\n >\n </mat-datepicker>\n\n <input #endYear\n class= \"year-input-hide\"\n matInput\n [matDatepicker]=\"endDatepicker\"\n enabled= false\n readonly= true\n [value]=\"endValue?endValue:handleDate(datasource.options.maxDate)\"\n [min]=\"beginValue?beginValue:handleDate(datasource.options.minDate)\"\n [max]=\"handleDate(datasource.options.maxDate)\"\n >\n </mat-form-field>\n <button class=\"reset-button\" \n mat-icon-button\n color=\"primary\" \n (click)=\"resetFilter()\" \n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\" \n [disabled]= \"filterStateDisable\">\n <mat-icon svgIcon=\"{{resetIcon}}\"></mat-icon>\n </button>\n <mat-slide-toggle \n class='toggle-filter-state' \n (change)=\"toggleFilterState()\" \n [matTooltip]=\"'igo.geo.filter.toggleFilterState' | translate\" \n tooltip-position=\"below\" \n matTooltipShowDelay=\"500\"\n [checked]=\"!filterStateDisable\">\n </mat-slide-toggle>\n\n </div>\n\n <div class=\"datetime-input-container\" *ngIf=\"calendarType()!=='year'\">\n <div class=\"datetime-input\">\n <mat-form-field class=\"date-input\">\n <mat-datepicker-toggle matSuffix [for]=\"beginDatepicker\" [disabled]= \"filterStateDisable\"></mat-datepicker-toggle>\n <input #begin\n matInput\n [matDatepicker]=\"beginDatepicker\"\n [placeholder]=\"'igo.geo.timeFilter.startDate' | translate\"\n [attr.disabled]=\"!currentFilter.active\"\n (dateChange)=\"changeTemporalProperty(begin.value, 1)\"\n [matDatepickerFilter]=\"filterBeginFunction\"\n [value]=\"beginValue?beginValue:handleDate(datasource.options.minDate)\"\n [min]=\"handleDate(datasource.options.minDate)\"\n [max]=\"(endValue && (!restrictedToStep()))?endValue:handleDate(datasource.options.maxDate)\" \n [disabled]= \"filterStateDisable\">\n <span class=\"filler\"></span>\n <mat-datepicker\n #beginDatepicker\n [startView]=\"calendarView()\"\n [startAt]=\"beginValue\"\n (yearSelected)=\"yearSelected($event, beginDatepicker, 'begin')\"\n (monthSelected)=\"monthSelected($event, beginDatepicker, 'begin')\">\n </mat-datepicker>\n </mat-form-field>\n\n <div class=\"time-input\">\n <mat-form-field class=\"hour-input\" *ngIf=\"calendarType()==='datetime'\">\n <mat-label>{{'igo.geo.timeFilter.hour' | translate}}</mat-label>\n <mat-select\n [formControl]=\"beginHourFormControl\"\n [attr.disabled]=\"!currentFilter.active\"\n (selectionChange)=\"changeTemporalProperty(begin.value, 1)\">\n <mat-option *ngFor=\"let hour of beginHours\" [value]=\"hour\">{{hour}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field class=\"minute-input\" *ngIf=\"calendarType()==='datetime'\">\n <mat-label>{{'igo.geo.timeFilter.minute' | translate}}</mat-label>\n <mat-select\n [formControl]=\"beginMinuteFormControl\"\n [attr.disabled]=\"!currentFilter.active\"\n (selectionChange)=\"changeTemporalProperty(begin.value, 1)\">\n <mat-option *ngFor=\"let minute of beginMinutes\" [value]=\"minute\">{{minute}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n\n <div class=\"datetime-input\" *ngIf=\"!restrictedToStep()\">\n <mat-form-field class=\"date-input\">\n <mat-datepicker-toggle matSuffix [for]=\"endDatepicker\" [disabled]= \"filterStateDisable\"></mat-datepicker-toggle>\n <input #end\n matInput\n [matDatepicker]=\"endDatepicker\"\n [placeholder]=\"'igo.geo.timeFilter.endDate' | translate\"\n [attr.disabled]=\"!currentFilter.active\"\n (dateChange)=\"changeTemporalProperty(end.value, 2)\"\n [matDatepickerFilter]=\"filterEndFunction\"\n [value]=\"endValue?endValue:handleDate(datasource.options.maxDate)\"\n [min]=\"beginValue?beginValue:handleDate(datasource.options.minDate)\"\n [max]=\"handleDate(datasource.options.maxDate)\" \n [disabled]= \"filterStateDisable\">\n <span class=\"filler\"></span>\n <mat-datepicker #endDatepicker\n [startView]=\"calendarView()\"\n [startAt]=\"endValue\"\n (yearSelected)=\"yearSelected($event, endDatepicker, 'end')\"\n (monthSelected)=\"monthSelected($event, endDatepicker, 'end')\">\n </mat-datepicker>\n </mat-form-field>\n\n <div class=\"time-input\">\n <mat-form-field class=\"hour-input\" *ngIf=\"calendarType()==='datetime'\" >\n <mat-label>{{'igo.geo.timeFilter.hour' | translate}}</mat-label>\n <mat-select\n [formControl]=\"endHourFormControl\"\n [attr.disabled]=\"!currentFilter.active\"\n (selectionChange)=\"changeTemporalProperty(end.value, 2)\">\n <mat-option *ngFor=\"let hour of endHours\" [value]=\"hour\">{{hour}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field class=\"minute-input\" *ngIf=\"calendarType()==='datetime'\">\n <mat-label>{{'igo.geo.timeFilter.minute' | translate}}</mat-label>\n <mat-select\n [formControl]=\"endMinuteFormControl\"\n [attr.disabled]=\"!currentFilter.active\"\n (selectionChange)=\"changeTemporalProperty(end.value, 2)\">\n <mat-option *ngFor=\"let minute of endMinutes\" [value]=\"minute\">{{minute}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n\n <button class=\"reset-button\" \n mat-icon-button color=\"primary\"\n (click)=\"resetFilter()\" \n [matTooltip]=\"'igo.geo.filter.resetFilters' | translate\" \n [disabled]= \"filterStateDisable\">\n <mat-icon svgIcon=\"{{resetIcon}}\"></mat-icon>\n </button>\n <mat-slide-toggle \n class=\"toggle-filter-state\" \n (change)=\"toggleFilterState()\" \n tooltip-position=\"below\" \n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.toggleFilterState' | translate\" \n [checked]= \"!filterStateDisable\">\n </mat-slide-toggle>\n </div>\n </div>\n</div>\n", styles: ["::ng-deep input{text-align:center!important;margin:auto 5px!important}.slider-container{text-align:center}.datetime-input{display:inline-block;width:100px;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{width:36%;margin:0}}.date-input{width:100px;margin-right:25px}.time-input{margin-right:25px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.time-input{margin-right:5px}}.hour-input,.minute-input{width:35px;margin-left:7px}.year-input{width:98px;margin:10px 14px 5px 4px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.year-input{width:32%;margin:0 0 0 10px}}.year-input-hide{width:120px;margin-right:25px;display:none}.year-input-only-year{width:120px;margin-right:25px}.reset-button{width:25px;padding-left:8px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.reset-button{padding-left:8px}}.toggle-filter-state{padding-left:20px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.toggle-filter-state{padding-left:12px}}::ng-deep .datepicker-year ::ng-deep .mat-calendar-arrow{display:none}::ng-deep .datepicker-year ::ng-deep .mat-calendar-period-button{pointer-events:none}::ng-deep .datepicker-year ::ng-deep .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover{background-color:#0000001f;border-radius:999px}\n"] }]
|
|
31062
31094
|
}], function () { return [{ type: OGCFilterTimeService }]; }, { datasource: [{
|
|
31063
31095
|
type: Input
|
|
31064
31096
|
}], currentFilter: [{
|
|
@@ -31240,7 +31272,7 @@ OgcFilterTimeSliderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type
|
|
|
31240
31272
|
(function () {
|
|
31241
31273
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OgcFilterTimeSliderComponent, [{
|
|
31242
31274
|
type: Component,
|
|
31243
|
-
args: [{ selector: 'igo-ogc-filter-time-slider', template: "<div class=\"slider-container\">\
|
|
31275
|
+
args: [{ selector: 'igo-ogc-filter-time-slider', template: "<div class=\"slider-container\">\n <mat-slider\n id=\"time-slider\"\n [step]=\"1\"\n [min]=\"1\"\n [max]=\"calculatedStep\"\n [(ngModel)]=\"sliderValue\"\n [displayWith]=\"sliderDisplayWith\"\n (input)=\"handleSliderInput($event)\"\n thumbLabel\n >\n </mat-slider>\n <button mat-icon-button color=\"primary\" (click)=\"playFilter($event)\">\n <mat-icon [svgIcon]=\"playIcon\"></mat-icon>\n </button>\n <button mat-icon-button color=\"primary\" (click)=\"resetFilter($event)\">\n <mat-icon svgIcon=\"{{resetIcon}}\"></mat-icon>\n </button>\n \n</div>", styles: ["::ng-deep input{text-align:center!important;margin:auto 5px!important}::ng-deep .mat-slider-thumb{transform:scale(0)!important}::ng-deep .mat-slider-thumb-label{transform:rotate(45deg)!important;border-radius:50% 50% 0!important;background-color:#ffd740!important}::ng-deep .mat-slider-thumb-label-text{opacity:1!important;transform:rotate(135deg)!important}::ng-deep .mat-slider-horizontal .mat-slider-thumb-label{top:10px!important;transform:rotate(225deg)!important}::ng-deep .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(225deg)!important}.datetime-container,.slider-container{text-align:center}.datetime-input{display:inline-block;margin:5px 25px}.date-input{width:120px;margin-right:25px}.time-input{display:inherit;margin-right:25px}.hour-input,.minute-input{width:40px}.minute-input{margin-left:10px}\n"] }]
|
|
31244
31276
|
}], function () { return [{ type: OGCFilterTimeService }]; }, { currentFilter: [{
|
|
31245
31277
|
type: Input
|
|
31246
31278
|
}], begin: [{
|
|
@@ -31531,7 +31563,7 @@ ExportButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Expor
|
|
|
31531
31563
|
(function () {
|
|
31532
31564
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ExportButtonComponent, [{
|
|
31533
31565
|
type: Component,
|
|
31534
|
-
args: [{ selector: 'igo-export-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\
|
|
31566
|
+
args: [{ selector: 'igo-export-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n *ngIf=\"layerIsExportable()\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.download.action' | translate\"\n [color]=\"color\">\n <!-- (click)=\"openDownload(layer)\"> -->\n <mat-icon svgIcon=\"file-export\"></mat-icon>\n</button>\n\n" }]
|
|
31535
31567
|
}], function () { return []; }, { layer: [{
|
|
31536
31568
|
type: Input
|
|
31537
31569
|
}], color: [{
|
|
@@ -33561,7 +33593,7 @@ ImportExportComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Impor
|
|
|
33561
33593
|
(function () {
|
|
33562
33594
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImportExportComponent, [{
|
|
33563
33595
|
type: Component,
|
|
33564
|
-
args: [{ selector: 'igo-import-export', template: "<div class=\"import-export-toggle mat-typography\">\
|
|
33596
|
+
args: [{ selector: 'igo-import-export', template: "<div class=\"import-export-toggle mat-typography\">\n <mat-button-toggle-group\n [value]=\"selectedMode\"\n (change)=\"onImportExportChange($event)\">\n <mat-button-toggle [value]=\"'import'\">\n {{'igo.geo.importExportForm.importTabTitle' | translate}}\n </mat-button-toggle>\n <mat-button-toggle [value]=\"'export'\">\n {{'igo.geo.importExportForm.exportTabTitle' | translate}}\n </mat-button-toggle>\n </mat-button-toggle-group>\n</div>\n\n<form class=\"igo-form\" [formGroup]=\"importForm\" *ngIf=\"selectedMode === 'import'\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{'igo.geo.importExportForm.importProjPlaceholder' | translate}}</mat-label>\n <mat-select\n [(value)]=\"inputProj\">\n <mat-option\n *ngFor=\"let projection of (projections$ | async)\"\n [value]=\"projection\"\n (click)=\"$event.stopPropagation()\">\n <p mat-line *ngIf=\"projection.translateKey\">{{('igo.geo.importExportForm.projections.' + projection.translateKey) | translate: projection}}</p>\n <p mat-line *ngIf=\"!projection.translateKey\">{{projection.alias}}</p>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"importForm.invalid ? ('igo.geo.importExportForm.projections.choose' | translate) : ('igo.geo.importExportForm.importButton' | translate)\"\n class=\"igo-form-button-group\">\n <button\n [disabled]=\"importForm.invalid || (loading$ | async)\"\n mat-raised-button\n type=\"button\"\n (click)=\"fileInput.click()\">\n {{'igo.geo.importExportForm.importButton' | translate}}\n </button>\n <igo-spinner [shown]=\"loading$ | async\"></igo-spinner>\n <input\n hidden\n #fileInput\n type=\"file\"\n [style.display]=\"'none'\"\n (click)=\"fileInput.value = null\"\n (change)=\"importFiles($event.target.files)\">\n </div>\n</form>\n<section class=\"mat-typography\" *ngIf=\"selectedMode === 'import'\">\n <div *ngIf=\"importHtmlClarifications === ''\">\n <h4>{{'igo.geo.importExportForm.importClarifications' | translate}}</h4>\n <ul>\n <li>{{'igo.geo.importExportForm.importSizeMax' | translate: {size: fileSizeMb} }}</li>\n <li>{{'igo.geo.importExportForm.importFormatAuthorized' | translate}}</li>\n <li>{{'igo.geo.importExportForm.importShpZip' | translate}}</li>\n </ul>\n </div>\n <igo-custom-html *ngIf=\"importHtmlClarifications !== ''\" class=\"mat-typography\"\n [html]=\"importHtmlClarifications\">\n </igo-custom-html>\n</section>\n\n<section class=\"mat-typography\" *ngIf=\"(exportableLayers$ | async).length === 0 && selectedMode === 'export'\">\n <h4>{{'igo.geo.importExportForm.exportNoLayersExportable' | translate}}</h4>\n</section>\n\n<form class=\"igo-form\" [formGroup]=\"form\" *ngIf=\"(exportableLayers$ | async).length > 0 && selectedMode === 'export'\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{'igo.geo.importExportForm.exportLayerPlaceholder' | translate}}</mat-label>\n <mat-select\n [(value)]=\"layers\" multiple>\n <mat-select-trigger>\n {{layers.length ? getLayerTitleById(layers[0]) : ''}}\n <span *ngIf=\"layers.length > 1\" class=\"export-select-trigger\">\n (+{{layers.length - 1}} {{(layers?.length === 2 ? 'igo.geo.importExportForm.other' : 'igo.geo.importExportForm.others') | translate }})\n </span>\n </mat-select-trigger>\n <mat-option\n *ngFor=\"let layer of (exportableLayers$ | async)\"\n [ngClass]=\"{'igo-export-layer-mat-option': layerHasSelectedFeatures(layer)}\"\n [value]=\"layer.id\"\n (click)=\"$event.stopPropagation()\">\n <p mat-line>{{layer.title}}</p>\n <p mat-line>\n <mat-slide-toggle *ngIf=\"layerHasSelectedFeatures(layer)\"\n [labelPosition]=\"'after'\"\n (click)=\"onlySelectedClick($event,layer.id)\"\n (checked)=\"inLayersIdToExportSelectionOnly(layer)\"\n (change)=\"onlySelected($event,layer.id)\">\n <small>{{'igo.geo.importExportForm.exportSelectedFeature' | translate}}</small>\n </mat-slide-toggle>\n </p>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-label>{{'igo.geo.importExportForm.exportFormatPlaceholder' | translate}}</mat-label>\n <mat-select\n formControlName=\"format\">\n <ng-container *ngIf=\"(formats$ | async).length !== 0\">\n <mat-option *ngFor=\"let format of (formats$ | async) | keyvalue\" [value]=\"format.key\">\n {{'igo.geo.export.format.' + format.value | translate}}\n </mat-option>\n </ng-container>\n <mat-option *ngIf=\"(formats$ | async).length === 0\" disabled=\"true\">\n {{'igo.geo.export.noFormat.title' | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\" *ngIf=\"forceNaming && form.value.format !== 'URL'\">\n <mat-form-field>\n <input matInput formControlName=\"name\" placeholder=\"{{'igo.geo.importExportForm.exportFileNamePlaceholder' | translate}}\">\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\" *ngIf=\"form.value.format === 'CSVcomma' || form.value.format === 'CSVsemicolon'\">\n <mat-form-field>\n <mat-label>{{'igo.geo.importExportForm.encodingPlaceholder' | translate}}</mat-label>\n <mat-select\n formControlName=\"encoding\">\n <ng-container *ngIf=\"(encodings$ | async).length !== 0\">\n <mat-option *ngFor=\"let encoding of (encodings$ | async) | keyvalue\" [value]=\"encoding.key\">\n {{'igo.geo.export.encoding.' + encoding.value | translate}}\n </mat-option>\n </ng-container>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"export-combine-layers mat-typography\" *ngIf=\"layers.length > 1 && (form.value.format === 'CSVcomma' || form.value.format === 'CSVsemicolon')\">\n <mat-slide-toggle\n formControlName=\"combineLayers\"\n [labelPosition]=\"'before'\">\n {{'igo.geo.importExportForm.exportCombineResults' | translate}}\n </mat-slide-toggle>\n </div>\n\n <div class=\"export-separator mat-typography\" *ngIf=\"layers.length > 1 && (form.value.format === 'CSVcomma' || form.value.format === 'CSVsemicolon') && form.value.combineLayers\">\n <mat-slide-toggle\n formControlName=\"separator\"\n [labelPosition]=\"'before'\">\n {{'igo.geo.importExportForm.exportSeparator' | translate}}\n </mat-slide-toggle>\n </div>\n\n <div class=\"export-options mat-typography\" *ngIf=\"form.value.format !== 'URL'\">\n <mat-slide-toggle\n formControlName=\"featureInMapExtent\"\n [labelPosition]=\"'before'\">\n {{'igo.geo.importExportForm.exportFeatureInExtent' | translate}}\n </mat-slide-toggle>\n </div>\n\n <div class=\"igo-form-button-group\">\n <button\n mat-raised-button\n type=\"button\"\n [disabled]=\"!form.valid || (loading$ | async)\"\n (click)=\"handleExportFormSubmit(form.value)\">\n {{form.value.format !== 'URL' ? ('igo.geo.importExportForm.exportButton' | translate): (form.value.layers.length > 1 ? ('igo.geo.importExportForm.exportButtonLinks' | translate): ('igo.geo.importExportForm.exportButtonLink' | translate))}}\n </button>\n <igo-spinner [shown]=\"loading$ | async\"></igo-spinner>\n </div>\n\n <igo-custom-html *ngIf=\"exportHtmlClarifications !== ''\" class=\"mat-typography\"\n [html]=\"exportHtmlClarifications\">\n </igo-custom-html>\n\n</form>\n", styles: ["mat-option.igo-export-layer-mat-option{height:5em;line-height:1em}.import-export-toggle{padding:10px;text-align:center}.import-export-toggle mat-button-toggle-group{width:100%}.import-export-toggle mat-button-toggle-group mat-button-toggle{width:50%}h4{padding:0 5px}.igo-form{padding:15px 5px}.igo-input-container mat-form-field{width:100%}.igo-form-button-group{text-align:center;padding-top:10px}igo-spinner{position:absolute;padding-left:10px}.export-options,.export-combine-layers,.export-separator{overflow-x:hidden}.export-options mat-slide-toggle,.export-combine-layers mat-slide-toggle,.export-separator mat-slide-toggle{width:100%;margin:10px}.export-options mat-slide-toggle ::ng-deep .mat-slide-toggle-content,.export-combine-layers mat-slide-toggle ::ng-deep .mat-slide-toggle-content,.export-separator mat-slide-toggle ::ng-deep .mat-slide-toggle-content{width:calc(100% - 60px)}.export-select-trigger{opacity:.75;font-size:.75em}\n"] }]
|
|
33565
33597
|
}], function () { return [{ type: ImportService }, { type: ExportService }, { type: i2$1.LanguageService }, { type: i2$1.MessageService }, { type: StyleListService }, { type: StyleService }, { type: i2$2.UntypedFormBuilder }, { type: i2$1.ConfigService }, { type: i0.ChangeDetectorRef }, { type: i2$1.StorageService }, { type: DownloadService }]; }, { selectFirstProj: [{
|
|
33566
33598
|
type: Input
|
|
33567
33599
|
}], map: [{
|
|
@@ -34052,7 +34084,7 @@ MeasurerItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Measu
|
|
|
34052
34084
|
(function () {
|
|
34053
34085
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MeasurerItemComponent, [{
|
|
34054
34086
|
type: Component,
|
|
34055
|
-
args: [{ selector: 'igo-measurer-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field\
|
|
34087
|
+
args: [{ selector: 'igo-measurer-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field\n class=\"measure-field\"\n appearance=\"outline\"\n floatLabel=\"always\">\n <mat-label>{{placeholder}}</mat-label>\n <input\n matInput\n [readonly]=\"true\"\n [value]=\"((measure$ | async) || 0) | measureFormat: measureUnit\">\n</mat-form-field>\n<mat-form-field class=\"unit-field\">\n <mat-select\n [value]=\"measureUnit\"\n [disabled]=\"auto\"\n (selectionChange)=\"onMeasureUnitChange($event.value)\">\n <mat-option *ngFor=\"let measureUnit of measureUnits\" [value]=\"measureUnit\">\n {{('igo.geo.measure.' + measureUnit) | translate}}\n </mat-option>\n </mat-select>\n</mat-form-field>\n", styles: [":host{display:flex;width:100%;padding:5px 10px}.measure-field{pointer-events:none;display:flex;flex-flow:column nowrap;width:100%}.unit-field{width:50px;margin-left:10px;margin-top:10px}\n"] }]
|
|
34056
34088
|
}], function () { return []; }, { measureType: [{
|
|
34057
34089
|
type: Input
|
|
34058
34090
|
}], measureUnit: [{
|
|
@@ -34283,7 +34315,7 @@ function jsGeoPdfPlugin(jsPDFAPI) {
|
|
|
34283
34315
|
const bounds_obj = this.internal.newAdditionalObject();
|
|
34284
34316
|
const proj_obj = this.internal.newAdditionalObject();
|
|
34285
34317
|
proj_obj.content = '<< /EPSG 3857 /Type /PROJCS /WKT (PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere"' +
|
|
34286
|
-
'
|
|
34318
|
+
',GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0]' +
|
|
34287
34319
|
',UNIT["Degree",0.017453292519943295]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0]' +
|
|
34288
34320
|
',PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",0.0]' +
|
|
34289
34321
|
',PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0]]) >>';
|
|
@@ -34292,7 +34324,7 @@ function jsGeoPdfPlugin(jsPDFAPI) {
|
|
|
34292
34324
|
bbox_obj.content = '<< /BBox [ ' + bbox + ' ] /Measure ' + bounds_obj.objId + ' 0 R /Name (Layer) /Type /Viewport >>';
|
|
34293
34325
|
const title_obj = this.internal.newAdditionalObject();
|
|
34294
34326
|
const date = new Date().toLocaleDateString('en-CA');
|
|
34295
|
-
title_obj.content = '<< /Name IGO2 /Type OCG /Date ' + date + ' >>';
|
|
34327
|
+
title_obj.content = '<< /Name IGO2 /Type /OCG /Date ' + date + ' >>';
|
|
34296
34328
|
return bbox_obj.objId;
|
|
34297
34329
|
};
|
|
34298
34330
|
jsPDFAPI.setGeoArea = function (pdfExt, geoExt) {
|
|
@@ -35572,7 +35604,7 @@ PrintFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrintFor
|
|
|
35572
35604
|
(function () {
|
|
35573
35605
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrintFormComponent, [{
|
|
35574
35606
|
type: Component,
|
|
35575
|
-
args: [{ selector: 'igo-print-form', template: "<form class=\"igo-form\" [formGroup]=\"form\">\
|
|
35607
|
+
args: [{ selector: 'igo-print-form', template: "<form class=\"igo-form\" [formGroup]=\"form\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"title\"\n placeholder=\"{{'igo.geo.printForm.title' | translate}}\">\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"subtitle\"\n placeholder=\"{{'igo.geo.printForm.subtitle' | translate}}\">\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"comment\"\n placeholder=\"{{'igo.geo.printForm.comment' | translate}}\">\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\">\n <div class=\"print-slide-toggle-container mat-typography\">\n <mat-slide-toggle\n class=\"print-option\"\n formControlName=\"showProjection\"\n [labelPosition]=\"'before'\">\n {{'igo.geo.printForm.showProjection' | translate}}\n </mat-slide-toggle>\n <mat-slide-toggle\n class=\"print-option\"\n formControlName=\"showScale\"\n [labelPosition]=\"'before'\">\n {{'igo.geo.printForm.showScale' | translate}}\n </mat-slide-toggle>\n <mat-slide-toggle\n class=\"print-option\"\n formControlName=\"doZipFile\"\n [labelPosition]=\"'before'\"\n [style.display]=\"isPrintService ? 'none' : ''\">\n {{'igo.geo.printForm.doZipFile' | translate}}\n </mat-slide-toggle>\n </div>\n </div>\n\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-select\n formControlName=\"legendPosition\"\n placeholder=\"{{'igo.geo.printForm.legendPosition' | translate}}\">\n <mat-option *ngFor=\"let legendPosition of legendPositions | keyvalue \" [value]=\"legendPosition.key\">\n {{'igo.geo.printForm.legendPositions.' + legendPosition.value | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-select (selectionChange)=\"toggleImageSaveProp()\"\n formControlName=\"outputFormat\"\n placeholder=\"{{'igo.geo.printForm.outputFormat' | translate}}\">\n <mat-option *ngFor=\"let outputFormat of outputFormats | keyvalue \" [value]=\"outputFormat.key\">\n {{outputFormat.value}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\" [style.display]=\"isPrintService ? 'block' : 'none'\">\n <mat-form-field>\n <mat-select\n formControlName=\"paperFormat\"\n placeholder=\"{{'igo.geo.printForm.paperFormat' | translate}}\">\n <mat-option *ngFor=\"let paperFormat of paperFormats | keyvalue \" [value]=\"paperFormat.key\">\n {{('igo.geo.printForm.paperFormats.' + paperFormat.value) | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\" [style.display]=\"isPrintService ? 'none' : 'block'\">\n <mat-form-field>\n <mat-select\n formControlName=\"imageFormat\"\n placeholder=\"{{'igo.geo.printForm.imageFormat' | translate}}\">\n <mat-option *ngFor=\"let imageFormat of imageFormats | keyvalue \" [value]=\"imageFormat.key\">\n {{imageFormat.value}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\" style=\"display: none;\">\n <mat-form-field>\n <mat-select\n formControlName=\"resolution\"\n placeholder=\"{{'igo.geo.printForm.resolution' | translate}}\">\n <mat-option *ngFor=\"let resolution of resolutions | keyvalue \" [value]=\"resolution.key\">\n {{resolution.value + ' PPI'}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-input-container\" [style.display]=\"isPrintService ? 'block' : 'none'\">\n <mat-form-field>\n <mat-select\n formControlName=\"orientation\"\n placeholder=\"{{'igo.geo.printForm.orientation' | translate}}\">\n <mat-option *ngFor=\"let orientation of orientations | keyvalue \" [value]=\"orientation.key\">\n {{('igo.geo.printForm.' + orientation.value) | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div class=\"igo-form-button-group print-button-top-padding\">\n <button\n mat-raised-button\n type=\"button\"\n [disabled]=\"!form.valid || (disabled$ | async)\"\n (click)=\"handleFormSubmit(form.value, form.valid)\">\n {{'igo.geo.printForm.saveBtn' | translate}}\n </button>\n </div>\n\n</form>\n", styles: ["mat-form-field{width:100%}.print-slide-toggle-container{overflow-x:hidden}.print-slide-toggle-container mat-slide-toggle{width:100%;margin:10px}.print-slide-toggle-container mat-slide-toggle ::ng-deep .mat-slide-toggle-content{width:calc(100% - 60px)}.print-option{display:block;margin-right:10px;margin-bottom:15px}.print-button-top-padding{padding-top:25px}.igo-form{padding:10px 5px 5px}.igo-form-button-group{text-align:center}\n"] }]
|
|
35576
35608
|
}], function () { return [{ type: i2$2.UntypedFormBuilder }]; }, { disabled$: [{
|
|
35577
35609
|
type: Input
|
|
35578
35610
|
}], imageFormat: [{
|
|
@@ -35710,7 +35742,7 @@ PrintComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PrintCompone
|
|
|
35710
35742
|
(function () {
|
|
35711
35743
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PrintComponent, [{
|
|
35712
35744
|
type: Component,
|
|
35713
|
-
args: [{ selector: 'igo-print', template: "<igo-print-form\
|
|
35745
|
+
args: [{ selector: 'igo-print', template: "<igo-print-form\n [outputFormat]=\"outputFormat\"\n [paperFormat]=\"paperFormat\"\n [orientation]=\"orientation\"\n [imageFormat]=\"imageFormat\"\n [resolution]=\"resolution\"\n [legendPosition]=\"legendPosition\"\n [disabled$]=\"disabled$\"\n (submit)=\"handleFormSubmit($event)\">\n</igo-print-form>\n" }]
|
|
35714
35746
|
}], function () { return [{ type: PrintService }]; }, { map: [{
|
|
35715
35747
|
type: Input
|
|
35716
35748
|
}], outputFormat: [{
|
|
@@ -36645,7 +36677,7 @@ DirectionsInputsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: D
|
|
|
36645
36677
|
(function () {
|
|
36646
36678
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DirectionsInputsComponent, [{
|
|
36647
36679
|
type: Component,
|
|
36648
|
-
args: [{ selector: 'igo-directions-inputs', template: "<div cdkDropList class=\"stops-list\" (cdkDropListDropped)=\"drop($event)\">\
|
|
36680
|
+
args: [{ selector: 'igo-directions-inputs', template: "<div cdkDropList class=\"stops-list\" (cdkDropListDropped)=\"drop($event)\">\n <div touchleave \n (touchenter)=\"onStopEnter(stop)\"\n (touchleave)=\"onStopLeave()\"\n (mouseover)=\"onStopEnter(stop)\"\n (mouseleave)=\"onStopLeave()\"\n (cdkDragStarted)=\"stopIsDragged=true\"\n (cdkDragEnded)=\"stopIsDragged=false\"\n cdkDragLockAxis=\"y\" class=\"stop-box mat-typography\" *ngFor=\"let stop of stopsStore.view.all$() | async; let i = index;\" cdkDrag>\n <div [ngClass]=\"getNgClass(stop)\">\n <mat-form-field>\n <input id=\"{{stop.id}}\" type=\"text\"\n [placeholder]=\"getPlaceholder(stop)\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"stop.text\"\n aria-label=\"Number\"\n matInput\n (focus)=\"onInputFocus(stop)\"\n [(ngModel)]=\"stop.text\"\n (keyup)=\"setStopText($event,stop)\"\n (keydown.enter)=\"$event.preventDefault()\"\n [matAutocomplete]=\"auto\">\n <button \n mat-button \n *ngIf=\"(stop.text || stop.coordinates) && stopWithHover && stop.id===stopWithHover.id\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.directionsForm.clearStop' | translate\"\n matSuffix mat-icon-button color=\"warn\" aria-label=\"Clear\" (click)=\"clearStop(stop)\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n \n <mat-autocomplete [displayWith]=\"getOptionText\" #auto=\"matAutocomplete\" (optionSelected)=\"chooseProposal($event,stop)\">\n <mat-optgroup *ngFor=\"let source of stop.searchProposals\" [label]=\"source.source.title\" [disabled]=\"source.source.enabled === false\">\n <mat-option *ngFor=\"let result of source.results\" [value]=\"result\" \n matTooltipShowDelay=\"500\" [matTooltip]=\"result.meta ? result.meta.title : ''\">\n {{ result.meta ? result.meta.title : '' }}\n </mat-option>\n </mat-optgroup>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n\n\n\n\n <div class=\"igo-form-button-group\" *ngIf=\"!stopIsDragged && stopWithHover && stop.id === stopWithHover.id\">\n <button class=\"swipe-vertical\" cdkDragHandle mat-icon-button tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.directionsForm.moveStop' | translate\" color=\"primary\">\n <mat-icon svgIcon=\"gesture-swipe-vertical\"></mat-icon>\n </button>\n\n <button *ngIf=\"(stopsStore.count$ | async)> 2\" mat-icon-button tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.directionsForm.removeStop' | translate\" color=\"warn\" (click)=\"removeStop(stop)\">\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n <button *ngIf=\"(stopsStore.count$ | async)<= 2\" disabled=\"true\" mat-icon-button tooltip-position=\"below\"\n matTooltipShowDelay=\"500\" [matTooltip]=\"'igo.geo.directionsForm.removeStop' | translate\" color=\"warn\">\n <mat-icon svgIcon=\"blank\"></mat-icon>\n </button>\n </div>\n </div>\n</div>", styles: [".igo-input-container{width:100%}.igo-input-container mat-form-field{width:100%}.igo-input-container.reduce{width:70%}.igo-input-container.reduce mat-form-field{width:100%}.stops-list{max-width:100%;min-height:60px;display:block;background:white;border-radius:4px;overflow:hidden;padding:20px 10px}.swipe-vertical{cursor:move}.stop-box{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{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{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.stops-list.cdk-drop-list-dragging .stop-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
|
|
36649
36681
|
}], function () { return [{ type: i2$1.LanguageService }]; }, { stopsStore: [{
|
|
36650
36682
|
type: Input
|
|
36651
36683
|
}], stopsFeatureStore: [{
|
|
@@ -36734,6 +36766,7 @@ function featureToSearchResult(feature, source) {
|
|
|
36734
36766
|
delete feature.properties.SHAPE_P;
|
|
36735
36767
|
delete feature.properties.the_geom;
|
|
36736
36768
|
delete feature.properties.geom;
|
|
36769
|
+
delete feature.properties.geom32198;
|
|
36737
36770
|
}
|
|
36738
36771
|
feature.sourceId = source.getId();
|
|
36739
36772
|
return {
|
|
@@ -37156,7 +37189,7 @@ DirectionsButtonsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
37156
37189
|
(function () {
|
|
37157
37190
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DirectionsButtonsComponent, [{
|
|
37158
37191
|
type: Component,
|
|
37159
|
-
args: [{ selector: 'igo-directions-buttons', template: "<div class=\"igo-form-button-group\">\
|
|
37192
|
+
args: [{ selector: 'igo-directions-buttons', template: "<div class=\"igo-form-button-group\">\n <button mat-icon-button tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.directionsForm.addStop' | translate\" color=\"primary\" (click)=\"addStop()\">\n <mat-icon svgIcon=\"map-marker-plus\"></mat-icon>\n </button>\n <button mat-icon-button tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n *ngIf=\"(routesFeatureStore.count$ | async)>=1 || (stopsStore.count$ | async)>=1\"\n [matTooltip]=\"'igo.geo.directionsForm.resetDirectionsBtn' | translate\" color=\"warn\" (click)=\"resetStops()\">\n <mat-icon svgIcon=\"file-restore\"></mat-icon>\n </button>\n <button mat-icon-button tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n *ngIf=\"(routesFeatureStore.count$ | async)>=1\" (click)=\"zoomRoute()\"\n [matTooltip]=\"'igo.geo.directionsForm.zoomRoute' | translate\" color=\"primary\">\n <mat-icon svgIcon=\"magnify-plus-outline\"></mat-icon>\n </button>\n <button mat-icon-button tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n *ngIf=\"(routesFeatureStore.count$ | async)>=1\" (click)=\"copyDirectionsToClipboard()\"\n [matTooltip]=\"'igo.geo.directionsForm.copy' | translate\" color=\"primary\">\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\n </button>\n <button mat-icon-button tooltip-position=\"below\" matTooltipShowDelay=\"500\"\n *ngIf=\"(routesFeatureStore.count$ | async)>=1\" (click)=\"copyLinkToClipboard()\" \n [matTooltip]=\"'igo.geo.directionsForm.link' | translate\" color=\"primary\">\n <mat-icon svgIcon=\"link\"></mat-icon>\n </button>\n</div>" }]
|
|
37160
37193
|
}], function () {
|
|
37161
37194
|
return [{ type: i2$1.LanguageService }, { type: i2$1.MessageService }, { type: i2$1.RouteService, decorators: [{
|
|
37162
37195
|
type: Optional
|
|
@@ -37360,7 +37393,7 @@ DirectionsResultsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
37360
37393
|
(function () {
|
|
37361
37394
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DirectionsResultsComponent, [{
|
|
37362
37395
|
type: Component,
|
|
37363
|
-
args: [{ selector: 'igo-directions-results', template: "<div class=\"igo-input-container\" *ngIf=\"directions && activeDirection\">\
|
|
37396
|
+
args: [{ selector: 'igo-directions-results', template: "<div class=\"igo-input-container\" *ngIf=\"directions && activeDirection\">\n <mat-form-field *ngIf=\"directions && directions.length > 1\">\n <mat-select placeholder=\"{{'igo.geo.directionsForm.drivingOptions' | translate}}\"\n (selectionChange)=\"changeRoute()\" [(ngModel)]=\"activeDirection\">\n <mat-option *ngFor=\"let direction of directions; let cnt = index;\" [value]=\"direction\">\n Option {{cnt + 1}} : {{formatDistance(direction.distance)}}\n ({{formatDuration(direction.duration)}})\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-divider *ngIf=\"directions && directions.length === 0\"></mat-divider>\n\n <mat-list (mouseleave)=\"onStepsListBlur()\">\n <h2 mat-header class=\"igo-route-title mat-typography\">{{activeDirection.title}}</h2>\n <h2 mat-subheader>{{formatDistance(activeDirection.distance)}}, {{formatDuration(activeDirection.duration)}}</h2>\n <mat-list-item class=\"igo-steps\" \n (mouseenter)=\"showSegment(step)\" \n (click)=\"showSegment(step,true)\" \n *ngFor=\"let step of activeDirection.steps; let cnt = index;\" igoListItem>\n <mat-icon [ngClass]=\"formatStep(step,cnt).cssClass\" mat-list-icon svgIcon=\"{{formatStep(step,cnt).image}}\">\n </mat-icon>\n\n <h4 mat-line>{{cnt +1}}. {{formatStep(step,cnt).instruction}}</h4>\n <h4 mat-line class=\"right\">{{formatDistance(step.distance)}}</h4>\n </mat-list-item>\n\n <mat-divider></mat-divider>\n\n </mat-list>\n\n</div>", styles: [".igo-input-container{width:100%;padding:20px 10px}.igo-input-container mat-form-field{width:70%}.igo-route-title{font-weight:700}.igo-steps{cursor:pointer}.mat-line{word-wrap:break-word!important;white-space:pre-wrap!important}.mat-line.right{text-align:right}.rotate-90{transform:rotate(90deg)}.rotate-45{transform:rotate(45deg)}.rotate-270{transform:rotate(270deg)}.rotate-250{transform:rotate(250deg)}.rotate-290{transform:rotate(290deg)}.icon-flipped{transform:scaleY(-1)}\n"] }]
|
|
37364
37397
|
}], function () { return [{ type: i2$1.LanguageService }, { type: i0.ChangeDetectorRef }]; }, { routesFeatureStore: [{
|
|
37365
37398
|
type: Input
|
|
37366
37399
|
}], stepFeatureStore: [{
|
|
@@ -37642,7 +37675,7 @@ DirectionsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Directi
|
|
|
37642
37675
|
(function () {
|
|
37643
37676
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DirectionsComponent, [{
|
|
37644
37677
|
type: Component,
|
|
37645
|
-
args: [{ selector: 'igo-directions', template: "<igo-directions-buttons [contextUri]=\"contextUri\" [zoomToActiveRoute$]=\"zoomToActiveRoute$\" [routesFeatureStore]=\"routesFeatureStore\" [stopsStore]=\"stopsStore\"></igo-directions-buttons>\
|
|
37678
|
+
args: [{ selector: 'igo-directions', template: "<igo-directions-buttons [contextUri]=\"contextUri\" [zoomToActiveRoute$]=\"zoomToActiveRoute$\" [routesFeatureStore]=\"routesFeatureStore\" [stopsStore]=\"stopsStore\"></igo-directions-buttons>\n\n<igo-directions-inputs (stopInputHasFocus)=\"onStopInputHasFocusChange($event)\" [coordRoundedDecimals]=\"coordRoundedDecimals\" [projection]=\"projection\" [stopsFeatureStore]=\"stopsFeatureStore\" [stopsStore]=\"stopsStore\" [debounce]=\"debounce\" [length]=\"length\"></igo-directions-inputs>\n<br>\n<igo-directions-results [stepFeatureStore]=\"stepFeatureStore\" [routesFeatureStore]=\"routesFeatureStore\"></igo-directions-results>" }]
|
|
37646
37679
|
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i2$1.LanguageService }, { type: DirectionsService }, { type: SearchService }, { type: QueryService }]; }, { contextUri: [{
|
|
37647
37680
|
type: Input
|
|
37648
37681
|
}], stopsStore: [{
|
|
@@ -37874,6 +37907,30 @@ class IChercheSearchSource extends SearchSource {
|
|
|
37874
37907
|
enabled: types.indexOf('anciennes-adresses') !== -1,
|
|
37875
37908
|
hashtags: ['anciennes-adresses']
|
|
37876
37909
|
},
|
|
37910
|
+
{
|
|
37911
|
+
title: 'igo.geo.search.icherche.type.oldCity',
|
|
37912
|
+
value: 'anciennes-municipalites',
|
|
37913
|
+
enabled: types.indexOf('anciennes-municipalites') !== -1,
|
|
37914
|
+
hashtags: ['anciennes-municipalites']
|
|
37915
|
+
},
|
|
37916
|
+
{
|
|
37917
|
+
title: 'igo.geo.search.icherche.type.cn',
|
|
37918
|
+
value: 'bornes-cn',
|
|
37919
|
+
enabled: types.indexOf('bornes-cn') !== -1,
|
|
37920
|
+
hashtags: ['borne', 'bornes', 'cn']
|
|
37921
|
+
},
|
|
37922
|
+
{
|
|
37923
|
+
title: 'igo.geo.search.icherche.type.sumi',
|
|
37924
|
+
value: 'bornes-sumi',
|
|
37925
|
+
enabled: types.indexOf('bornes-sumi') !== -1,
|
|
37926
|
+
hashtags: ['borne', 'bornes', 'sumi']
|
|
37927
|
+
},
|
|
37928
|
+
{
|
|
37929
|
+
title: 'igo.geo.search.icherche.type.cadastre',
|
|
37930
|
+
value: 'cadastre',
|
|
37931
|
+
enabled: types.indexOf('cadastre') !== -1,
|
|
37932
|
+
hashtags: ['cadastre']
|
|
37933
|
+
},
|
|
37877
37934
|
{
|
|
37878
37935
|
title: 'igo.geo.search.icherche.type.postalCode',
|
|
37879
37936
|
value: 'codes-postaux',
|
|
@@ -37881,10 +37938,29 @@ class IChercheSearchSource extends SearchSource {
|
|
|
37881
37938
|
hashtags: ['code-postal']
|
|
37882
37939
|
},
|
|
37883
37940
|
{
|
|
37884
|
-
title: 'igo.geo.search.icherche.type.
|
|
37885
|
-
value: '
|
|
37886
|
-
enabled: types.indexOf('
|
|
37887
|
-
|
|
37941
|
+
title: 'igo.geo.search.icherche.type.entreprise',
|
|
37942
|
+
value: 'entreprises',
|
|
37943
|
+
enabled: types.indexOf('entreprises') !== -1,
|
|
37944
|
+
available: false,
|
|
37945
|
+
hashtags: ['entreprise']
|
|
37946
|
+
},
|
|
37947
|
+
{
|
|
37948
|
+
title: 'igo.geo.search.icherche.type.cycleStop',
|
|
37949
|
+
value: 'haltes_cyclables',
|
|
37950
|
+
enabled: types.indexOf('haltes_cyclables') !== -1,
|
|
37951
|
+
hashtags: ['haltevelo', 'haltes_cyclables']
|
|
37952
|
+
},
|
|
37953
|
+
{
|
|
37954
|
+
title: 'igo.geo.search.icherche.type.restArea',
|
|
37955
|
+
value: 'haltes_routieres',
|
|
37956
|
+
enabled: types.indexOf('haltes_routieres') !== -1,
|
|
37957
|
+
hashtags: ['halteroute', 'haltes_routieres']
|
|
37958
|
+
},
|
|
37959
|
+
{
|
|
37960
|
+
title: 'igo.geo.search.icherche.type.hq',
|
|
37961
|
+
value: 'hq',
|
|
37962
|
+
enabled: types.indexOf('hq') !== -1,
|
|
37963
|
+
hashtags: ['hq']
|
|
37888
37964
|
},
|
|
37889
37965
|
{
|
|
37890
37966
|
title: 'igo.geo.search.icherche.type.intersection',
|
|
@@ -37893,16 +37969,10 @@ class IChercheSearchSource extends SearchSource {
|
|
|
37893
37969
|
hashtags: ['intersection', '+']
|
|
37894
37970
|
},
|
|
37895
37971
|
{
|
|
37896
|
-
title: 'igo.geo.search.icherche.type.
|
|
37897
|
-
value: '
|
|
37898
|
-
enabled: types.indexOf('
|
|
37899
|
-
hashtags: ['
|
|
37900
|
-
},
|
|
37901
|
-
{
|
|
37902
|
-
title: 'igo.geo.search.icherche.type.oldCity',
|
|
37903
|
-
value: 'anciennes-municipalites',
|
|
37904
|
-
enabled: types.indexOf('anciennes-municipalites') !== -1,
|
|
37905
|
-
hashtags: ['anciennes-municipalites']
|
|
37972
|
+
title: 'igo.geo.search.icherche.type.place',
|
|
37973
|
+
value: 'lieux',
|
|
37974
|
+
enabled: types.indexOf('lieux') !== -1,
|
|
37975
|
+
hashtags: ['lieu']
|
|
37906
37976
|
},
|
|
37907
37977
|
{
|
|
37908
37978
|
title: 'igo.geo.search.icherche.type.mrc',
|
|
@@ -37910,37 +37980,18 @@ class IChercheSearchSource extends SearchSource {
|
|
|
37910
37980
|
enabled: types.indexOf('mrc') !== -1,
|
|
37911
37981
|
hashtags: ['mrc']
|
|
37912
37982
|
},
|
|
37983
|
+
{
|
|
37984
|
+
title: 'igo.geo.search.icherche.type.city',
|
|
37985
|
+
value: 'municipalites',
|
|
37986
|
+
enabled: types.indexOf('municipalites') !== -1,
|
|
37987
|
+
hashtags: ['municipalité', 'mun']
|
|
37988
|
+
},
|
|
37913
37989
|
{
|
|
37914
37990
|
title: 'igo.geo.search.icherche.type.regadmin',
|
|
37915
37991
|
value: 'regadmin',
|
|
37916
37992
|
enabled: types.indexOf('regadmin') !== -1,
|
|
37917
37993
|
hashtags: ['région-administrative', 'regadmin']
|
|
37918
37994
|
},
|
|
37919
|
-
{
|
|
37920
|
-
title: 'igo.geo.search.icherche.type.entreprise',
|
|
37921
|
-
value: 'entreprises',
|
|
37922
|
-
enabled: types.indexOf('entreprises') !== -1,
|
|
37923
|
-
available: false,
|
|
37924
|
-
hashtags: ['entreprise']
|
|
37925
|
-
},
|
|
37926
|
-
{
|
|
37927
|
-
title: 'igo.geo.search.icherche.type.place',
|
|
37928
|
-
value: 'lieux',
|
|
37929
|
-
enabled: types.indexOf('lieux') !== -1,
|
|
37930
|
-
hashtags: ['lieu']
|
|
37931
|
-
},
|
|
37932
|
-
{
|
|
37933
|
-
title: 'igo.geo.search.icherche.type.exit',
|
|
37934
|
-
value: 'sorties-autoroute',
|
|
37935
|
-
enabled: types.indexOf('sorties-autoroute') !== -1,
|
|
37936
|
-
hashtags: ['sortie', 'sorties', 'exit']
|
|
37937
|
-
},
|
|
37938
|
-
{
|
|
37939
|
-
title: 'igo.geo.search.icherche.type.km',
|
|
37940
|
-
value: 'bornes-km',
|
|
37941
|
-
enabled: types.indexOf('bornes-km') !== -1,
|
|
37942
|
-
hashtags: ['borne', 'bornes', 'repère', 'km']
|
|
37943
|
-
},
|
|
37944
37995
|
{
|
|
37945
37996
|
title: 'igo.geo.search.icherche.type.gcc',
|
|
37946
37997
|
value: 'bornes-gcc',
|
|
@@ -37948,28 +37999,22 @@ class IChercheSearchSource extends SearchSource {
|
|
|
37948
37999
|
hashtags: ['borne', 'bornes', 'repère', 'gcc', 'ccg']
|
|
37949
38000
|
},
|
|
37950
38001
|
{
|
|
37951
|
-
title: 'igo.geo.search.icherche.type.
|
|
37952
|
-
value: 'bornes-
|
|
37953
|
-
enabled: types.indexOf('bornes-
|
|
37954
|
-
hashtags: ['borne', 'bornes', '
|
|
37955
|
-
},
|
|
37956
|
-
{
|
|
37957
|
-
title: 'igo.geo.search.icherche.type.sumi',
|
|
37958
|
-
value: 'bornes-sumi',
|
|
37959
|
-
enabled: types.indexOf('bornes-sumi') !== -1,
|
|
37960
|
-
hashtags: ['borne', 'bornes', 'sumi']
|
|
38002
|
+
title: 'igo.geo.search.icherche.type.km',
|
|
38003
|
+
value: 'bornes-km',
|
|
38004
|
+
enabled: types.indexOf('bornes-km') !== -1,
|
|
38005
|
+
hashtags: ['borne', 'bornes', 'repère', 'km']
|
|
37961
38006
|
},
|
|
37962
38007
|
{
|
|
37963
|
-
title: 'igo.geo.search.icherche.type.
|
|
37964
|
-
value: '
|
|
37965
|
-
enabled: types.indexOf('
|
|
37966
|
-
hashtags: ['
|
|
38008
|
+
title: 'igo.geo.search.icherche.type.road',
|
|
38009
|
+
value: 'routes',
|
|
38010
|
+
enabled: types.indexOf('routes') !== -1,
|
|
38011
|
+
hashtags: ['route']
|
|
37967
38012
|
},
|
|
37968
38013
|
{
|
|
37969
|
-
title: 'igo.geo.search.icherche.type.
|
|
37970
|
-
value: '
|
|
37971
|
-
enabled: types.indexOf('
|
|
37972
|
-
hashtags: ['
|
|
38014
|
+
title: 'igo.geo.search.icherche.type.exit',
|
|
38015
|
+
value: 'sorties-autoroute',
|
|
38016
|
+
enabled: types.indexOf('sorties-autoroute') !== -1,
|
|
38017
|
+
hashtags: ['sortie', 'sorties', 'exit']
|
|
37973
38018
|
}
|
|
37974
38019
|
]
|
|
37975
38020
|
},
|
|
@@ -39209,7 +39254,7 @@ SearchSelectorComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sea
|
|
|
39209
39254
|
(function () {
|
|
39210
39255
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchSelectorComponent, [{
|
|
39211
39256
|
type: Component,
|
|
39212
|
-
args: [{ selector: 'igo-search-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"igo-search-selector\">\
|
|
39257
|
+
args: [{ selector: 'igo-search-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"igo-search-selector\">\n <button\n mat-icon-button\n class=\"igo-search-selector-button\"\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\n [matMenuTriggerFor]=\"searchSelectorMenu\">\n <mat-icon svgIcon=\"menu-down\"></mat-icon>\n </button>\n\n <mat-menu\n #searchSelectorMenu=\"matMenu\"\n class=\"no-border-radius\"\n xPosition=\"before\"\n yPosition=\"above\">\n <mat-radio-group\n class=\"igo-search-selector-radio-group\"\n [value]=\"searchType$ | async\"\n (change)=\"onSearchTypeChange($event.value)\">\n <mat-radio-button *ngFor=\"let searchType of searchTypes\" [value]=\"searchType\">\n {{getSearchTypeTitle(searchType) | translate}}\n </mat-radio-button>\n </mat-radio-group>\n </mat-menu>\n\n</div>\n", styles: [".igo-search-selector-button ::ng-deep div.mat-button-ripple-round{border-radius:0}.igo-search-selector-radio-group{display:inline-flex;flex-direction:column}.igo-search-selector-radio-group mat-radio-button{margin:5px}\n"] }]
|
|
39213
39258
|
}], function () { return [{ type: SearchSourceService }]; }, { searchTypes: [{
|
|
39214
39259
|
type: Input
|
|
39215
39260
|
}], searchType: [{
|
|
@@ -39693,7 +39738,7 @@ SearchSettingsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sea
|
|
|
39693
39738
|
(function () {
|
|
39694
39739
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchSettingsComponent, [{
|
|
39695
39740
|
type: Component,
|
|
39696
|
-
args: [{ selector: 'igo-search-settings', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"igo-search-settings\">\
|
|
39741
|
+
args: [{ selector: 'igo-search-settings', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"igo-search-settings\">\n\n <button\n mat-icon-button\n class=\"igo-search-settings-button\"\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\n [matMenuTriggerFor]=\"searchSettingsMenu\">\n <mat-icon svgIcon=\"chevron-down\"></mat-icon>\n </button>\n <mat-menu\n #searchSettingsMenu=\"matMenu\"\n class=\"no-border-radius\">\n <div class=\"checkAllButton\" *ngIf=\"getSearchSources().length>4\">\n <button mat-raised-button\n (click)=\"checkUncheckAllSources($event)\">{{!searchSourcesAllEnabled ? ('igo.geo.search.searchSources.unselectAll' | translate): ('igo.geo.search.searchSources.selectAll' | translate)}}</button>\n </div>\n <ng-container *ngFor=\"let source of getSearchSources()\">\n <span class=\"igo-search-settings-search-source\">\n <mat-checkbox\n class=\"igo-search-settings-checkbox\"\n [checked]=\"source.enabled\"\n [value]=\"source\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"onCheckSearchSource($event, source)\">\n </mat-checkbox>\n <button *ngIf=\"source.settings.length\u00A0>\u00A00\"\n [matMenuTriggerFor]=\"sub_menu\"\n mat-menu-item>{{source.title}}\n </button>\n <button\n mat-menu-item\n *ngIf=\"source.settings.length\u00A0===\u00A00\">\n {{source.title}}\n </button>\n </span>\n <mat-menu #sub_menu=\"matMenu\">\n <ng-container *ngFor=\"let setting of source.settings\">\n <button\n mat-menu-item\n [matMenuTriggerFor]=\"test_sub_menu\">\n {{'igo.geo.search.searchSources.settings.'+ setting.title | translate}}\n </button>\n <mat-menu #test_sub_menu=\"matMenu\"\n [ngSwitch]=\"setting.type\"\n yPosition=\"above\">\n <span *ngSwitchCase=\"'radiobutton'\">\n <mat-radio-group\n class=\"igo-search-settings-radio-group\"\n [value]=\"setting\">\n <mat-radio-button *ngFor=\"let settingValue of setting.values\"\n class=\"mat-typography\"\n [value]=\"settingValue\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n [checked]=\"settingValue.enabled\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"settingsValueCheckedRadioButton($event, source, setting, settingValue)\">\n {{settingValue.title | translate}}\n </mat-radio-button>\n </mat-radio-group>\n </span>\n <span *ngSwitchCase=\"'checkbox'\">\n <div class=\"checkAllButton\" *ngIf=\"setting.values.length\u00A0>\u00A03\">\n <button mat-raised-button\n (click)=\"checkUncheckAll($event, source, setting)\">{{setting.allEnabled || setting.allEnabled === undefined ? ('igo.geo.search.searchSources.settings.unselectAll' | translate): ('igo.geo.search.searchSources.settings.selectAll' | translate)}}</button>\n </div>\n <mat-checkbox *ngFor=\"let settingValue of getAvailableValues(setting)\"\n class=\"mat-menu-item\"\n [style.display]=\"displayBlock\"\n [checked]=\"settingValue.enabled\"\n [value]=\"setting\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"settingsValueCheckedCheckbox($event, source, setting, settingValue)\">\n {{settingValue.title | translate}}\n </mat-checkbox>\n </span>\n </mat-menu>\n </ng-container>\n </mat-menu>\n </ng-container>\n <span *ngIf=\"hasPointerReverseSearchSource && !isTouchScreen\">\n <mat-divider></mat-divider>\n <span class=\"pointer-summary-slide-toggle-container mat-typography\">\n <mat-slide-toggle class=\"pointer-summary-option\" (change)=\"changePointerReverseSearch($event)\" tooltip-position=\"below\"\n matTooltipShowDelay=\"500\" [matTooltip]=\"'igo.geo.search.pointerSearchSummary.tooltip' | translate\"\n (click)=\"$event.stopPropagation()\" [checked]=\"pointerSummaryEnabled\" [labelPosition]=\"'after'\">\n {{'igo.geo.search.pointerSearchSummary.title' | translate}}\n </mat-slide-toggle>\n <mat-slide-toggle class=\"pointer-summary-option\" (change)=\"changeSearchResultsGeometry($event)\" tooltip-position=\"below\"\n matTooltipShowDelay=\"500\" [matTooltip]=\"'igo.geo.search.searchResultsGeometry.tooltip' | translate\"\n (click)=\"$event.stopPropagation()\" [checked]=\"searchResultsGeometryEnabled\" [labelPosition]=\"'after'\">\n {{'igo.geo.search.searchResultsGeometry.title' | translate}}\n </mat-slide-toggle>\n </span>\n </span>\n </mat-menu>\n</div>\n", styles: [".checkAllButton{text-align:center;padding:0 5px}.igo-search-settings-button ::ng-deep div.mat-button-ripple-round{border-radius:0}.igo-search-settings-radio-group{display:flex;flex-direction:column}.igo-search-settings-radio-group mat-radio-button{margin:5px}.igo-search-settings-checkbox mat-radio-button{display:flex}.igo-search-settings-search-source{display:flex;width:100%}.igo-search-settings-search-source mat-checkbox{display:flex;margin-left:5px;margin-right:5px}.pointer-summary-option{display:block;margin-right:10px;margin-bottom:15px}.pointer-summary-slide-toggle-container{overflow-x:hidden}.pointer-summary-slide-toggle-container mat-slide-toggle{margin:10px}\n"] }]
|
|
39697
39742
|
}], function () { return [{ type: SearchSourceService }, { type: i2$1.MediaService }, { type: i2$1.StorageService }]; }, { pointerSummaryEnabled: [{
|
|
39698
39743
|
type: Input
|
|
39699
39744
|
}], searchResultsGeometryEnabled: [{
|
|
@@ -39776,29 +39821,27 @@ function SearchBarComponent_mat_label_3_Template(rf, ctx) {
|
|
|
39776
39821
|
}
|
|
39777
39822
|
function SearchBarComponent_button_11_Template(rf, ctx) {
|
|
39778
39823
|
if (rf & 1) {
|
|
39824
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
39779
39825
|
i0.ɵɵelementStart(0, "button", 10);
|
|
39780
|
-
i0.ɵɵ
|
|
39826
|
+
i0.ɵɵlistener("click", function SearchBarComponent_button_11_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.onClearButtonClick()); });
|
|
39827
|
+
i0.ɵɵpipe(1, "translate");
|
|
39828
|
+
i0.ɵɵelement(2, "mat-icon", 11);
|
|
39781
39829
|
i0.ɵɵelementEnd();
|
|
39782
39830
|
}
|
|
39783
39831
|
if (rf & 2) {
|
|
39784
39832
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
39785
|
-
i0.ɵɵproperty("color", ctx_r2.color);
|
|
39786
|
-
i0.ɵɵadvance(1);
|
|
39787
|
-
i0.ɵɵpropertyInterpolate("svgIcon", ctx_r2.searchIcon);
|
|
39833
|
+
i0.ɵɵproperty("color", ctx_r2.color)("matTooltip", i0.ɵɵpipeBind1(1, 2, "igo.geo.search.clearSearch"));
|
|
39788
39834
|
}
|
|
39789
39835
|
}
|
|
39790
|
-
function
|
|
39836
|
+
function SearchBarComponent_button_13_Template(rf, ctx) {
|
|
39791
39837
|
if (rf & 1) {
|
|
39792
|
-
const _r7 = i0.ɵɵgetCurrentView();
|
|
39793
39838
|
i0.ɵɵelementStart(0, "button", 12);
|
|
39794
|
-
i0.ɵɵ
|
|
39795
|
-
i0.ɵɵpipe(1, "translate");
|
|
39796
|
-
i0.ɵɵelement(2, "mat-icon", 13);
|
|
39839
|
+
i0.ɵɵelement(1, "mat-icon", 13);
|
|
39797
39840
|
i0.ɵɵelementEnd();
|
|
39798
39841
|
}
|
|
39799
39842
|
if (rf & 2) {
|
|
39800
39843
|
const ctx_r3 = i0.ɵɵnextContext();
|
|
39801
|
-
i0.ɵɵproperty("color", ctx_r3.color)
|
|
39844
|
+
i0.ɵɵproperty("color", ctx_r3.color);
|
|
39802
39845
|
}
|
|
39803
39846
|
}
|
|
39804
39847
|
function SearchBarComponent_igo_search_selector_14_Template(rf, ctx) {
|
|
@@ -39834,8 +39877,8 @@ const _c2$1 = function (a0) { return { "hasSearchIcon": a0 }; };
|
|
|
39834
39877
|
* into that store. An event is always emitted when a research is completed.
|
|
39835
39878
|
*/
|
|
39836
39879
|
class SearchBarComponent {
|
|
39837
|
-
constructor(
|
|
39838
|
-
this.
|
|
39880
|
+
constructor(configService, searchService, searchSourceService) {
|
|
39881
|
+
this.configService = configService;
|
|
39839
39882
|
this.searchService = searchService;
|
|
39840
39883
|
this.searchSourceService = searchSourceService;
|
|
39841
39884
|
this.placeholder$ = new BehaviorSubject('igo.geo.search.placeholder');
|
|
@@ -39844,6 +39887,10 @@ class SearchBarComponent {
|
|
|
39844
39887
|
* Search term stream
|
|
39845
39888
|
*/
|
|
39846
39889
|
this.stream$ = new BehaviorSubject('');
|
|
39890
|
+
/**
|
|
39891
|
+
* whether to show search button or not
|
|
39892
|
+
*/
|
|
39893
|
+
this.showSearchButton = false;
|
|
39847
39894
|
/**
|
|
39848
39895
|
* List of available search types
|
|
39849
39896
|
*/
|
|
@@ -39955,12 +40002,14 @@ class SearchBarComponent {
|
|
|
39955
40002
|
this.empty$.next(term === undefined || term.length === 0);
|
|
39956
40003
|
});
|
|
39957
40004
|
this.stream$$ = this.stream$
|
|
39958
|
-
.pipe(debounce((
|
|
40005
|
+
.pipe(debounce(() => timer(this.debounce)))
|
|
39959
40006
|
.subscribe((term) => this.onSetTerm(term));
|
|
39960
40007
|
this.handlePlaceholder();
|
|
39961
40008
|
this.searchType$$ = this.searchType$
|
|
39962
40009
|
.pipe(distinctUntilChanged())
|
|
39963
40010
|
.subscribe((searchType) => this.onSetSearchType(searchType));
|
|
40011
|
+
const configValue = this.configService.getConfig("searchBar.showSearchButton");
|
|
40012
|
+
this.showSearchButton = configValue !== undefined ? configValue : false;
|
|
39964
40013
|
}
|
|
39965
40014
|
/**
|
|
39966
40015
|
* Unsubscribe to the search term stream
|
|
@@ -40148,7 +40197,7 @@ SearchBarComponent.invalidKeys = [
|
|
|
40148
40197
|
'ArrowRight',
|
|
40149
40198
|
'ArrowLeft'
|
|
40150
40199
|
];
|
|
40151
|
-
SearchBarComponent.ɵfac = function SearchBarComponent_Factory(t) { return new (t || SearchBarComponent)(i0.ɵɵdirectiveInject(i2$1.
|
|
40200
|
+
SearchBarComponent.ɵfac = function SearchBarComponent_Factory(t) { return new (t || SearchBarComponent)(i0.ɵɵdirectiveInject(i2$1.ConfigService), i0.ɵɵdirectiveInject(SearchService), i0.ɵɵdirectiveInject(SearchSourceService)); };
|
|
40152
40201
|
SearchBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchBarComponent, selectors: [["igo-search-bar"]], viewQuery: function SearchBarComponent_Query(rf, ctx) {
|
|
40153
40202
|
if (rf & 1) {
|
|
40154
40203
|
i0.ɵɵviewQuery(_c0$3, 7);
|
|
@@ -40157,7 +40206,7 @@ SearchBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchBa
|
|
|
40157
40206
|
let _t;
|
|
40158
40207
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.input = _t.first);
|
|
40159
40208
|
}
|
|
40160
|
-
}, inputs: { searchTypes: "searchTypes", searchType: "searchType", term: "term", disabled: "disabled", pointerSummaryEnabled: "pointerSummaryEnabled", searchResultsGeometryEnabled: "searchResultsGeometryEnabled", floatLabel: "floatLabel", appearance: "appearance", placeholder: "placeholder", label: "label", color: "color", termSplitter: "termSplitter", debounce: "debounce", minLength: "minLength",
|
|
40209
|
+
}, inputs: { searchTypes: "searchTypes", searchType: "searchType", term: "term", disabled: "disabled", pointerSummaryEnabled: "pointerSummaryEnabled", searchResultsGeometryEnabled: "searchResultsGeometryEnabled", floatLabel: "floatLabel", appearance: "appearance", placeholder: "placeholder", label: "label", color: "color", termSplitter: "termSplitter", debounce: "debounce", minLength: "minLength", searchSelector: "searchSelector", searchSettings: "searchSettings", forceNA: "forceNA", store: "store" }, outputs: { pointerSummaryStatus: "pointerSummaryStatus", searchResultsGeometryStatus: "searchResultsGeometryStatus", searchTermChange: "searchTermChange", search: "search", searchTypeChange: "searchTypeChange", clearFeature: "clearFeature", searchSettingsChange: "searchSettingsChange" }, decls: 16, vars: 28, consts: [[1, "igo-search-bar-container", 3, "ngClass"], [3, "floatLabel", "appearance"], [4, "ngIf"], ["matInput", "", "autocomplete", "off", 3, "ngClass", "disabled", "placeholder", "value", "keyup", "touchend"], ["input", ""], [1, "search-bar-buttons"], ["mat-icon-button", "", 3, "color", "matTooltip", "click", 4, "ngIf"], ["mat-icon-button", "", 3, "color", 4, "ngIf"], [3, "searchTypes", "searchType", "searchTypeChange", 4, "ngIf"], [3, "pointerSummaryEnabled", "searchResultsGeometryEnabled", "pointerSummaryStatus", "searchResultsGeometryStatus", "searchSourceChange", 4, "ngIf"], ["mat-icon-button", "", 3, "color", "matTooltip", "click"], ["svgIcon", "close"], ["mat-icon-button", "", 3, "color"], ["svgIcon", "magnify"], [3, "searchTypes", "searchType", "searchTypeChange"], [3, "pointerSummaryEnabled", "searchResultsGeometryEnabled", "pointerSummaryStatus", "searchResultsGeometryStatus", "searchSourceChange"]], template: function SearchBarComponent_Template(rf, ctx) {
|
|
40161
40210
|
if (rf & 1) {
|
|
40162
40211
|
i0.ɵɵelementStart(0, "div", 0);
|
|
40163
40212
|
i0.ɵɵpipe(1, "async");
|
|
@@ -40171,9 +40220,9 @@ SearchBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchBa
|
|
|
40171
40220
|
i0.ɵɵpipe(9, "async");
|
|
40172
40221
|
i0.ɵɵelementEnd()();
|
|
40173
40222
|
i0.ɵɵelementStart(10, "div", 5);
|
|
40174
|
-
i0.ɵɵtemplate(11, SearchBarComponent_button_11_Template,
|
|
40175
|
-
i0.ɵɵ
|
|
40176
|
-
i0.ɵɵ
|
|
40223
|
+
i0.ɵɵtemplate(11, SearchBarComponent_button_11_Template, 3, 4, "button", 6);
|
|
40224
|
+
i0.ɵɵpipe(12, "async");
|
|
40225
|
+
i0.ɵɵtemplate(13, SearchBarComponent_button_13_Template, 2, 1, "button", 7);
|
|
40177
40226
|
i0.ɵɵtemplate(14, SearchBarComponent_igo_search_selector_14_Template, 2, 4, "igo-search-selector", 8);
|
|
40178
40227
|
i0.ɵɵtemplate(15, SearchBarComponent_igo_search_settings_15_Template, 1, 2, "igo-search-settings", 9);
|
|
40179
40228
|
i0.ɵɵelementEnd()();
|
|
@@ -40185,12 +40234,12 @@ SearchBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchBa
|
|
|
40185
40234
|
i0.ɵɵadvance(1);
|
|
40186
40235
|
i0.ɵɵproperty("ngIf", ctx.label);
|
|
40187
40236
|
i0.ɵɵadvance(1);
|
|
40188
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(26, _c2$1, ctx.
|
|
40237
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(26, _c2$1, ctx.showSearchButton))("disabled", i0.ɵɵpipeBind1(6, 14, ctx.disabled$))("placeholder", ctx.placeholder ? ctx.placeholder : i0.ɵɵpipeBind1(7, 16, ctx.placeholder$) ? i0.ɵɵpipeBind1(8, 18, ctx.placeholder$.value) : undefined)("value", i0.ɵɵpipeBind1(9, 20, ctx.term$));
|
|
40189
40238
|
i0.ɵɵadvance(7);
|
|
40190
|
-
i0.ɵɵproperty("ngIf", ctx.
|
|
40191
|
-
i0.ɵɵadvance(1);
|
|
40192
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(13, 22, ctx.empty$) === false);
|
|
40239
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(12, 22, ctx.empty$) === false);
|
|
40193
40240
|
i0.ɵɵadvance(2);
|
|
40241
|
+
i0.ɵɵproperty("ngIf", ctx.showSearchButton);
|
|
40242
|
+
i0.ɵɵadvance(1);
|
|
40194
40243
|
i0.ɵɵproperty("ngIf", ctx.searchSelector);
|
|
40195
40244
|
i0.ɵɵadvance(1);
|
|
40196
40245
|
i0.ɵɵproperty("ngIf", ctx.searchSettings);
|
|
@@ -40199,8 +40248,8 @@ SearchBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchBa
|
|
|
40199
40248
|
(function () {
|
|
40200
40249
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchBarComponent, [{
|
|
40201
40250
|
type: Component,
|
|
40202
|
-
args: [{ selector: 'igo-search-bar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"igo-search-bar-container\" [ngClass]=\"{empty: empty$ | async}\">\
|
|
40203
|
-
}], function () { return [{ type: i2$1.
|
|
40251
|
+
args: [{ selector: 'igo-search-bar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"igo-search-bar-container\" [ngClass]=\"{empty: empty$ | async}\">\n <mat-form-field [floatLabel]=\"floatLabel\" [appearance]=\"appearance\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <input\n #input\n matInput\n autocomplete=\"off\"\n [ngClass]=\"{'hasSearchIcon': showSearchButton}\"\n [disabled]=\"disabled$ | async\"\n [placeholder]=\"placeholder ? placeholder : (placeholder$ | async) ? (placeholder$.value | translate) : undefined\"\n [value]=\"term$ | async\"\n (keyup)=\"onKeyup($event)\"\n (touchend)=\"onKeyup($event)\">\n </mat-form-field>\n\n <div class=\"search-bar-buttons\">\n <button *ngIf=\"(empty$ | async)===false\"\n mat-icon-button\n [color]=\"color\"\n (click)=\"onClearButtonClick()\"\n [matTooltip]=\"'igo.geo.search.clearSearch' | translate\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n \n <button *ngIf=\"showSearchButton\"\n mat-icon-button\n [color]=\"color\">\n <mat-icon svgIcon=\"magnify\"></mat-icon>\n </button>\n\n <igo-search-selector\n *ngIf=\"searchSelector\"\n [searchTypes]=\"searchTypes\"\n [searchType]=\"searchType$ | async\"\n (searchTypeChange)=\"onSearchTypeChange($event)\">\n </igo-search-selector>\n\n <igo-search-settings\n *ngIf=\"searchSettings\"\n [pointerSummaryEnabled]=\"pointerSummaryEnabled\"\n (pointerSummaryStatus)=\"pointerSummaryStatus.emit($event)\"\n [searchResultsGeometryEnabled]=\"searchResultsGeometryEnabled\"\n (searchResultsGeometryStatus)=\"searchResultsGeometryStatus.emit($event)\"\n (searchSourceChange)=\"onSearchSettingsChange()\">\n </igo-search-settings>\n </div>\n</div>\n", styles: [":host ::ng-deep .mat-form-field{padding:0 5px}:host ::ng-deep .mat-form-field-wrapper{margin-bottom:-1.5em}:host ::ng-deep span.mat-form-field-label-wrapper{top:-20px}:host ::ng-deep div.mat-form-field-infix{left:5px;right:5px;padding:0 0 12px!important}:host ::ng-deep div.mat-form-field-underline{display:none}.igo-search-bar-container{position:relative;width:100%;display:inline-flex;overflow:hidden}.igo-search-bar-container>mat-form-field{width:calc(100% - 80px)}.igo-search-bar-container.empty>mat-form-field{width:calc(100% - 40px)}.search-bar-buttons{position:relative;right:0px;display:inline-flex;top:0}.search-bar-buttons>button:nth-child(2):before{content:\"\";left:0px;top:5px;border-right:1px solid #ddd;height:28px}igo-search-selector{background-color:#fff;top:0;border-radius:0}igo-search-settings{background-color:#fff;top:0;border-radius:0}\n"] }]
|
|
40252
|
+
}], function () { return [{ type: i2$1.ConfigService }, { type: SearchService }, { type: SearchSourceService }]; }, { searchTypes: [{
|
|
40204
40253
|
type: Input
|
|
40205
40254
|
}], searchType: [{
|
|
40206
40255
|
type: Input
|
|
@@ -40232,8 +40281,6 @@ SearchBarComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchBa
|
|
|
40232
40281
|
type: Input
|
|
40233
40282
|
}], minLength: [{
|
|
40234
40283
|
type: Input
|
|
40235
|
-
}], searchIcon: [{
|
|
40236
|
-
type: Input
|
|
40237
40284
|
}], searchSelector: [{
|
|
40238
40285
|
type: Input
|
|
40239
40286
|
}], searchSettings: [{
|
|
@@ -40470,7 +40517,7 @@ SearchResultsItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
40470
40517
|
(function () {
|
|
40471
40518
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultsItemComponent, [{
|
|
40472
40519
|
type: Component,
|
|
40473
|
-
args: [{ selector: 'igo-search-results-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\
|
|
40520
|
+
args: [{ selector: 'igo-search-results-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\n <mat-icon *ngIf=\"icon\" mat-list-avatar svgIcon=\"{{showIcons ? icon : 'blank'}}\"></mat-icon>\n\n <h4 matLine *ngIf=\"titleHtml\" [innerHtml]=\"titleHtml\" matTooltipShowDelay=\"500\" [matTooltip]=\"tooltipHtml\" matTooltipClass=\"search-result-tooltip\"></h4>\n <h4 matLine *ngIf=\"!titleHtml\" matTooltipShowDelay=\"500\" [matTooltip]=\"title\">{{title}}</h4>\n\n <button *ngIf=\"withZoomButton\"\n igoStopPropagation\n mat-icon-button\n (click)=\"onZoomHandler()\">\n <mat-icon svgIcon=\"magnify\"></mat-icon>\n </button>\n\n <ng-content\n select=[igoSearchItemToolbar]>\n </ng-content>\n\n</mat-list-item>\n", styles: [":host ::ng-deep small{color:#8c8c8c}::ng-deep .search-result-tooltip{white-space:pre-line}\n"] }]
|
|
40474
40521
|
}], function () { return []; }, { result: [{
|
|
40475
40522
|
type: Input
|
|
40476
40523
|
}], map: [{
|
|
@@ -40592,9 +40639,11 @@ var SearchResultMode;
|
|
|
40592
40639
|
* This component is dumb and only emits events.
|
|
40593
40640
|
*/
|
|
40594
40641
|
class SearchResultsComponent {
|
|
40595
|
-
constructor(cdRef, searchService) {
|
|
40642
|
+
constructor(cdRef, searchService, configService) {
|
|
40596
40643
|
this.cdRef = cdRef;
|
|
40597
40644
|
this.searchService = searchService;
|
|
40645
|
+
this.configService = configService;
|
|
40646
|
+
this.showResultsCount = true;
|
|
40598
40647
|
/**
|
|
40599
40648
|
* Reference to the SearchResultMode enum
|
|
40600
40649
|
* @internal
|
|
@@ -40659,6 +40708,9 @@ class SearchResultsComponent {
|
|
|
40659
40708
|
this.settingsChange$$ = this.settingsChange$.subscribe(() => {
|
|
40660
40709
|
this.pageIterator = [];
|
|
40661
40710
|
});
|
|
40711
|
+
if (this.configService.getConfig('searchSources.showResultsCount') === false) {
|
|
40712
|
+
this.showResultsCount = false;
|
|
40713
|
+
}
|
|
40662
40714
|
}
|
|
40663
40715
|
/**
|
|
40664
40716
|
* Unbind the search results store from the watcher
|
|
@@ -40677,7 +40729,7 @@ class SearchResultsComponent {
|
|
|
40677
40729
|
computeGroupTitle(group) {
|
|
40678
40730
|
const parts = [group.source.title];
|
|
40679
40731
|
const count = group.results.length;
|
|
40680
|
-
if (count > 1) {
|
|
40732
|
+
if (count > 1 && this.showResultsCount) {
|
|
40681
40733
|
parts.push(`(${count})`);
|
|
40682
40734
|
}
|
|
40683
40735
|
return parts.join(' ');
|
|
@@ -40741,11 +40793,15 @@ class SearchResultsComponent {
|
|
|
40741
40793
|
});
|
|
40742
40794
|
}
|
|
40743
40795
|
isMoreResults(group) {
|
|
40744
|
-
|
|
40796
|
+
var _a;
|
|
40745
40797
|
const stategy = this.store.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);
|
|
40746
40798
|
const active = (stategy === null || stategy === void 0 ? void 0 : stategy.active) || false;
|
|
40747
|
-
|
|
40748
|
-
group.results[group.results.length - 1].meta.nextPage === true;
|
|
40799
|
+
if (!active) {
|
|
40800
|
+
return group.results && group.results[group.results.length - 1].meta.nextPage === true;
|
|
40801
|
+
}
|
|
40802
|
+
else {
|
|
40803
|
+
return ((_a = group.results) === null || _a === void 0 ? void 0 : _a.length) % +group.source.params.limit === 0 && +group.source.params.page < 30;
|
|
40804
|
+
}
|
|
40749
40805
|
}
|
|
40750
40806
|
displayMoreResults(group) {
|
|
40751
40807
|
const options = {
|
|
@@ -40775,7 +40831,7 @@ class SearchResultsComponent {
|
|
|
40775
40831
|
return;
|
|
40776
40832
|
}
|
|
40777
40833
|
}
|
|
40778
|
-
SearchResultsComponent.ɵfac = function SearchResultsComponent_Factory(t) { return new (t || SearchResultsComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(SearchService)); };
|
|
40834
|
+
SearchResultsComponent.ɵfac = function SearchResultsComponent_Factory(t) { return new (t || SearchResultsComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(SearchService), i0.ɵɵdirectiveInject(i2$1.ConfigService)); };
|
|
40779
40835
|
SearchResultsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchResultsComponent, selectors: [["igo-search-results"]], contentQueries: function SearchResultsComponent_ContentQueries(rf, ctx, dirIndex) {
|
|
40780
40836
|
if (rf & 1) {
|
|
40781
40837
|
i0.ɵɵcontentQuery(dirIndex, _c0$1, 5);
|
|
@@ -40800,8 +40856,8 @@ SearchResultsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sear
|
|
|
40800
40856
|
(function () {
|
|
40801
40857
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultsComponent, [{
|
|
40802
40858
|
type: Component,
|
|
40803
|
-
args: [{ selector: 'igo-search-results', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"true\">\
|
|
40804
|
-
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: SearchService }]; }, { map: [{
|
|
40859
|
+
args: [{ selector: 'igo-search-results', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-list [navigation]=\"true\">\n <ng-template\n #groupTemplate\n ngFor let-group\n [ngForOf]=\"results$ | async\">\n\n <igo-collapsible [class]=\"group.source.getId()\"\n *ngIf=\"mode === searchResultMode.Grouped; else flatTemplate\"\n [title]=\"computeGroupTitle(group)\"\n [collapsed]=\"collapsed[group.source.title]\"\n (toggle)=\"collapsed[group.source.title] = $event\">\n <ng-container *ngTemplateOutlet=\"storeItemTemplate; context: {results: group.results}\"></ng-container>\n </igo-collapsible>\n\n <ng-template #flatTemplate>\n <ng-container *ngTemplateOutlet=\"storeItemTemplate; context: {results: group.results}\"></ng-container>\n </ng-template>\n\n <ng-template #storeItemTemplate let-results=\"results\">\n <ng-template ngFor let-result [ngForOf]=\"results\">\n <igo-search-results-item\n igoListItem\n color=\"accent\"\n [map]=\"map\"\n [result]=\"result\"\n [showIcons]=\"showIcons\"\n [withZoomButton]=\"withZoomButton\"\n [focused]=\"store.state.get(result).focused\"\n [selected]=\"store.state.get(result).selected\"\n (focus)=\"resultFocus.emit(result)\"\n (unfocus)=\"resultUnfocus.emit(result)\"\n (select)=\"onResultSelect(result)\"\n (mouseenter)=\"resultFocus.emit(result)\"\n (mouseleave)=\"resultUnfocus.emit(result)\">\n\n <ng-container igoSearchItemToolbar\n [ngTemplateOutlet]=\"templateSearchToolbar\"\n [ngTemplateOutletContext]=\"{result: result}\">\n </ng-container>\n\n </igo-search-results-item>\n </ng-template>\n <span class=\"moreResults mat-typography\" *ngIf=\"isMoreResults(group)\" (click)=\"displayMoreResults(group)\">\n <u>{{ 'igo.geo.search.displayMoreResults' | translate }}</u>\n </span>\n </ng-template>\n\n </ng-template>\n\n</igo-list>\n", styles: [".moreResults{cursor:pointer;color:#00f;float:right;margin-right:10px;margin-top:5px}igo-list ::ng-deep mat-list{height:100%}\n"] }]
|
|
40860
|
+
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: SearchService }, { type: i2$1.ConfigService }]; }, { map: [{
|
|
40805
40861
|
type: Input
|
|
40806
40862
|
}], store: [{
|
|
40807
40863
|
type: Input
|
|
@@ -41012,7 +41068,7 @@ SearchResultAddButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ ty
|
|
|
41012
41068
|
(function () {
|
|
41013
41069
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultAddButtonComponent, [{
|
|
41014
41070
|
type: Component,
|
|
41015
|
-
args: [{ selector: 'igo-search-add-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\
|
|
41071
|
+
args: [{ selector: 'igo-search-add-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\nigoStopPropagation\n(mouseenter)=\"onMouseEvent($event)\" (mouseleave)=\"onMouseEvent($event)\"\n*ngIf=\"layer.meta.dataType === 'Layer'\"\nmat-icon-button\ntooltip-position=\"below\"\nmatTooltipShowDelay=\"500\"\n[matTooltip]=\"(tooltip$ | async) | translate\"\n[color]=\"(isPreview$ | async) ? '' : added ? 'warn' : ''\"\n(click)=\"onToggleClick($event)\">\n<mat-icon\n matBadge=\"icon\"\n igoMatBadgeIcon=\"eye-off\"\n igoMatBadgeInverseColor=\"true\"\n [matBadgeHidden]=\"(inRange$ | async)\"\n matBadgeDisabled=\"true\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n [svgIcon]=\"(isPreview$ | async) ? 'plus' : added ? 'delete' : 'plus'\">\n</mat-icon>\n</button>\n" }]
|
|
41016
41072
|
}], function () { return [{ type: LayerService }]; }, { layer: [{
|
|
41017
41073
|
type: Input
|
|
41018
41074
|
}], added: [{
|
|
@@ -41552,7 +41608,7 @@ ToastComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ToastCompone
|
|
|
41552
41608
|
(function () {
|
|
41553
41609
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToastComponent, [{
|
|
41554
41610
|
type: Component,
|
|
41555
|
-
args: [{ selector: 'igo-toast', template: "<igo-flexible #flex\
|
|
41611
|
+
args: [{ selector: 'igo-toast', template: "<igo-flexible #flex\n collapsedMobile=\"51px\"\n expandedMobile=\"300px\"\n [state]=\"state\"\n (swipeup)=\"swipe($event.type)\"\n (swipedown)=\"swipe($event.type)\">\n\n <igo-panel [title]=\"title\">\n <button\n mat-icon-button\n panelLeftButton\n (click)=\"toggle()\">\n <mat-icon [svgIcon]=\"['collapsed', 'initial'].indexOf(flex.state) >= 0 ? 'arrow_upward' : 'arrow_downward'\"></mat-icon>\n </button>\n\n <button mat-icon-button panelRightButton class=\"igo-icon-button\" (click)=\"zoomToFeatureExtent()\" *ngIf=\"feature.geometry\">\n <mat-icon svgIcon=\"zoom-in\"></mat-icon>\n </button>\n\n <igo-feature-details [feature]=\"feature\"></igo-feature-details>\n </igo-panel>\n\n</igo-flexible>\n", styles: [":host{position:absolute;bottom:0px;width:100%;max-height:calc(100% - 50px);background-color:#fff}igo-feature-details ::ng-deep table{width:100%}\n"] }]
|
|
41556
41612
|
}], function () { return []; }, { expanded: [{
|
|
41557
41613
|
type: Input
|
|
41558
41614
|
}], map: [{
|
|
@@ -41642,7 +41698,7 @@ OgcFilterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OgcFilte
|
|
|
41642
41698
|
(function () {
|
|
41643
41699
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OgcFilterComponent, [{
|
|
41644
41700
|
type: Component,
|
|
41645
|
-
args: [{ selector: 'igo-ogc-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-ogc-filterable-item\
|
|
41701
|
+
args: [{ selector: 'igo-ogc-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<igo-ogc-filterable-item\n igoListItem\n [layer]=\"layer\"\n [header]=\"false\" \n [map]=\"map\" >\n</igo-ogc-filterable-item>" }]
|
|
41646
41702
|
}], function () { return [{ type: i0.ChangeDetectorRef }]; }, { layer: [{
|
|
41647
41703
|
type: Input
|
|
41648
41704
|
}], map: [{
|
|
@@ -42167,7 +42223,7 @@ ConfirmationPopupComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
42167
42223
|
(function () {
|
|
42168
42224
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConfirmationPopupComponent, [{
|
|
42169
42225
|
type: Component,
|
|
42170
|
-
args: [{ selector: 'igo-confirmation-popup-component', template: "<div mat-dialog-content>\
|
|
42226
|
+
args: [{ selector: 'igo-confirmation-popup-component', template: "<div mat-dialog-content>\n <p class=\"mat-typography\">{{data.type === 'add' ?\n languageService.translate.instant('igo.geo.workspace.addConfirmation') :\n languageService.translate.instant('igo.geo.workspace.deleteConfirmation')}}</p>\n</div>\n<div mat-dialog-actions>\n <button\n mat-raised-button\n color=\"primary\"\n (click)=\"confirmedAction()\">Ok\n </button>\n <button\n mat-raised-button\n (click)=\"cancelAction()\">{{languageService.translate.instant('igo.geo.workspace.cancel')}}\n </button>\n</div>", styles: ["div.mat-dialog-actions{justify-content:center}\n"] }]
|
|
42171
42227
|
}], function () {
|
|
42172
42228
|
return [{ type: i1.MatDialogRef }, { type: i2$1.LanguageService }, { type: undefined, decorators: [{
|
|
42173
42229
|
type: Inject,
|
|
@@ -42460,6 +42516,8 @@ class EditionWorkspaceService {
|
|
|
42460
42516
|
this.relationLayers$ = new BehaviorSubject(undefined);
|
|
42461
42517
|
this.rowsInMapExtentCheckCondition$ = new BehaviorSubject(true);
|
|
42462
42518
|
this.loading = false;
|
|
42519
|
+
this.wktFormat = new olFormatWKT();
|
|
42520
|
+
this.geoJsonFormat = new OlGeoJSON();
|
|
42463
42521
|
}
|
|
42464
42522
|
get zoomAuto() {
|
|
42465
42523
|
return this.storageService.get('zoomAuto');
|
|
@@ -42786,11 +42844,10 @@ class EditionWorkspaceService {
|
|
|
42786
42844
|
}
|
|
42787
42845
|
addFeature(feature, workspace, url, headers) {
|
|
42788
42846
|
var _a, _b;
|
|
42789
|
-
// TODO: adapt to any kind of geometry
|
|
42790
42847
|
if (workspace.layer.dataSource.options.edition.hasGeometry) {
|
|
42791
|
-
|
|
42792
|
-
feature.properties[
|
|
42793
|
-
|
|
42848
|
+
const projDest = workspace.layer.options.sourceOptions.edition.geomDatabaseProj;
|
|
42849
|
+
feature.properties[workspace.layer.dataSource.options.params.fieldNameGeometry] =
|
|
42850
|
+
'SRID=' + projDest.replace("EPSG:", "") + ';' + this.wktFormat.writeGeometry(this.geoJsonFormat.readFeature(feature.geometry).getGeometry().transform('EPSG:4326', projDest), { dataProjection: projDest });
|
|
42794
42851
|
}
|
|
42795
42852
|
for (const property in feature.properties) {
|
|
42796
42853
|
for (const sf of workspace.layer.dataSource.options.sourceFields) {
|
|
@@ -42872,11 +42929,12 @@ class EditionWorkspaceService {
|
|
|
42872
42929
|
}
|
|
42873
42930
|
modifyFeature(feature, workspace, url, headers, protocole = 'patch') {
|
|
42874
42931
|
var _a, _b;
|
|
42875
|
-
//TODO: adapt to any kind of geometry
|
|
42876
42932
|
if (workspace.layer.dataSource.options.edition.hasGeometry) {
|
|
42877
|
-
|
|
42878
|
-
|
|
42879
|
-
feature.
|
|
42933
|
+
const projDest = workspace.layer.options.sourceOptions.edition.geomDatabaseProj;
|
|
42934
|
+
// Remove 3e dimension
|
|
42935
|
+
feature.geometry.coordinates = removeZ(feature.geometry.coordinates);
|
|
42936
|
+
feature.properties[workspace.layer.dataSource.options.params.fieldNameGeometry] =
|
|
42937
|
+
'SRID=' + projDest.replace("EPSG:", "") + ';' + this.wktFormat.writeGeometry(this.geoJsonFormat.readFeature(feature.geometry).getGeometry().transform('EPSG:4326', projDest), { dataProjection: projDest });
|
|
42880
42938
|
}
|
|
42881
42939
|
for (const property in feature.properties) {
|
|
42882
42940
|
for (const sf of workspace.layer.dataSource.options.sourceFields) {
|
|
@@ -43078,6 +43136,13 @@ function getColumnKeyWithoutPropertiesTag(column) {
|
|
|
43078
43136
|
return column.split('.')[1];
|
|
43079
43137
|
}
|
|
43080
43138
|
return column;
|
|
43139
|
+
}
|
|
43140
|
+
function removeZ(coords) {
|
|
43141
|
+
if (coords.length === 0)
|
|
43142
|
+
return coords;
|
|
43143
|
+
if (typeof coords[0] === 'number')
|
|
43144
|
+
return coords.slice(0, 2);
|
|
43145
|
+
return coords.map(removeZ);
|
|
43081
43146
|
}
|
|
43082
43147
|
|
|
43083
43148
|
class FeatureWorkspace extends Workspace {
|
|
@@ -43901,7 +43966,7 @@ class NominatimSearchSource extends SearchSource {
|
|
|
43901
43966
|
},
|
|
43902
43967
|
{
|
|
43903
43968
|
title: 'igo.geo.search.nominatim.type.entertainment',
|
|
43904
|
-
value: 'arts_centre,brothel,casino,cinema,community_center_fountain,gambling,nightclub,planetarium \
|
|
43969
|
+
value: 'arts_centre,brothel,casino,cinema,community_center_fountain,gambling,nightclub,planetarium \
|
|
43905
43970
|
,public_bookcase,social_centre,stripclub,studio,swingerclub,theatre,internet_cafe',
|
|
43906
43971
|
enabled: false
|
|
43907
43972
|
},
|