@igo2/integration 1.11.1 → 1.13.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2015/igo2-integration.js → esm2020/igo2-integration.mjs} +0 -0
- package/esm2020/lib/about/about-tool/about-tool.component.mjs +185 -0
- package/{esm2015/lib/about/about-tool/index.js → esm2020/lib/about/about-tool/index.mjs} +1 -1
- package/{esm2015/lib/about/about.module.js → esm2020/lib/about/about.module.mjs} +9 -11
- package/{esm2015/lib/about/index.js → esm2020/lib/about/index.mjs} +1 -1
- package/{esm2015/lib/analytics/analytics-listener.service.js → esm2020/lib/analytics/analytics-listener.service.mjs} +1 -1
- package/{esm2015/lib/analytics/analytics.module.js → esm2020/lib/analytics/analytics.module.mjs} +2 -2
- package/{esm2015/lib/analytics/index.js → esm2020/lib/analytics/index.mjs} +1 -1
- package/{esm2015/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.js → esm2020/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.mjs} +3 -7
- package/{esm2015/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.js → esm2020/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.mjs} +3 -5
- package/{esm2015/lib/catalog/catalog-library-tool/catalog-library-tool.component.js → esm2020/lib/catalog/catalog-library-tool/catalog-library-tool.component.mjs} +3 -7
- package/{esm2015/lib/catalog/catalog-library-tool/catalog-library-tool.module.js → esm2020/lib/catalog/catalog-library-tool/catalog-library-tool.module.mjs} +3 -5
- package/{esm2015/lib/catalog/catalog.module.js → esm2020/lib/catalog/catalog.module.mjs} +2 -2
- package/{esm2015/lib/catalog/catalog.state.js → esm2020/lib/catalog/catalog.state.mjs} +1 -1
- package/{esm2015/lib/catalog/index.js → esm2020/lib/catalog/index.mjs} +1 -1
- package/{esm2015/lib/context/context-editor-tool/context-editor-tool.component.js → esm2020/lib/context/context-editor-tool/context-editor-tool.component.mjs} +3 -6
- package/{esm2015/lib/context/context-manager-tool/context-manager-tool.component.js → esm2020/lib/context/context-manager-tool/context-manager-tool.component.mjs} +3 -6
- package/{esm2015/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.js → esm2020/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.mjs} +3 -6
- package/{esm2015/lib/context/context-share-tool/context-share-tool.component.js → esm2020/lib/context/context-share-tool/context-share-tool.component.mjs} +3 -6
- package/{esm2015/lib/context/context.module.js → esm2020/lib/context/context.module.mjs} +2 -2
- package/{esm2015/lib/context/context.state.js → esm2020/lib/context/context.state.mjs} +1 -1
- package/{esm2015/lib/context/index.js → esm2020/lib/context/index.mjs} +1 -1
- package/{esm2015/lib/directions/directions-tool/directions-tool.component.js → esm2020/lib/directions/directions-tool/directions-tool.component.mjs} +3 -6
- package/{esm2015/lib/directions/directions-tool/index.js → esm2020/lib/directions/directions-tool/index.mjs} +1 -1
- package/{esm2015/lib/directions/directions.module.js → esm2020/lib/directions/directions.module.mjs} +2 -2
- package/esm2020/lib/directions/directions.state.mjs +64 -0
- package/{esm2015/lib/directions/index.js → esm2020/lib/directions/index.mjs} +1 -1
- package/{esm2015/lib/draw/draw.module.js → esm2020/lib/draw/draw.module.mjs} +2 -2
- package/{esm2015/lib/draw/draw.state.js → esm2020/lib/draw/draw.state.mjs} +1 -1
- package/{esm2015/lib/draw/drawing-tool/drawing-tool.component.js → esm2020/lib/draw/drawing-tool/drawing-tool.component.mjs} +3 -7
- package/{esm2015/lib/draw/index.js → esm2020/lib/draw/index.mjs} +1 -1
- package/{esm2015/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.js → esm2020/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.mjs} +1 -1
- package/{esm2015/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.js → esm2020/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.mjs} +3 -7
- package/{esm2015/lib/filter/active-ogc-filter-tool/index.js → esm2020/lib/filter/active-ogc-filter-tool/index.mjs} +1 -1
- package/{esm2015/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.js → esm2020/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.mjs} +1 -1
- package/{esm2015/lib/filter/active-time-filter-tool/active-time-filter-tool.component.js → esm2020/lib/filter/active-time-filter-tool/active-time-filter-tool.component.mjs} +3 -7
- package/{esm2015/lib/filter/active-time-filter-tool/index.js → esm2020/lib/filter/active-time-filter-tool/index.mjs} +1 -1
- package/{esm2015/lib/filter/filter.module.js → esm2020/lib/filter/filter.module.mjs} +2 -2
- package/{esm2015/lib/filter/index.js → esm2020/lib/filter/index.mjs} +1 -1
- package/{esm2015/lib/filter/ogc-filter-tool/index.js → esm2020/lib/filter/ogc-filter-tool/index.mjs} +1 -1
- package/{esm2015/lib/filter/ogc-filter-tool/ogc-filter-tool.component.js → esm2020/lib/filter/ogc-filter-tool/ogc-filter-tool.component.mjs} +3 -6
- package/{esm2015/lib/filter/spatial-filter-tool/index.js → esm2020/lib/filter/spatial-filter-tool/index.mjs} +1 -1
- package/esm2020/lib/filter/spatial-filter-tool/spatial-filter-tool.component.mjs +535 -0
- package/{esm2015/lib/filter/time-filter-tool/index.js → esm2020/lib/filter/time-filter-tool/index.mjs} +1 -1
- package/{esm2015/lib/filter/time-filter-tool/time-filter-tool.component.js → esm2020/lib/filter/time-filter-tool/time-filter-tool.component.mjs} +3 -6
- package/esm2020/lib/import-export/import-export-tool/import-export-tool.component.mjs +137 -0
- package/{esm2015/lib/import-export/import-export-tool/index.js → esm2020/lib/import-export/import-export-tool/index.mjs} +1 -1
- package/{esm2015/lib/import-export/import-export.module.js → esm2020/lib/import-export/import-export.module.mjs} +7 -9
- package/{esm2015/lib/import-export/import-export.state.js → esm2020/lib/import-export/import-export.state.mjs} +1 -1
- package/{esm2015/lib/import-export/index.js → esm2020/lib/import-export/index.mjs} +1 -1
- package/{esm2015/lib/integration.module.js → esm2020/lib/integration.module.mjs} +2 -2
- package/esm2020/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.mjs +473 -0
- package/esm2020/lib/map/advanced-map-tool/advanced-map-tool.component.mjs +89 -0
- package/esm2020/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.mjs +218 -0
- package/{esm2015/lib/map/advanced-map-tool/index.js → esm2020/lib/map/advanced-map-tool/index.mjs} +1 -1
- package/esm2020/lib/map/index.mjs +9 -0
- package/{esm2015/lib/map/layer-list-tool.state.js → esm2020/lib/map/layer-list-tool.state.mjs} +1 -1
- package/{esm2015/lib/map/map-details-tool/index.js → esm2020/lib/map/map-details-tool/index.mjs} +1 -1
- package/esm2020/lib/map/map-details-tool/map-details-tool.component.mjs +256 -0
- package/{esm2015/lib/map/map-legend/index.js → esm2020/lib/map/map-legend/index.mjs} +1 -1
- package/esm2020/lib/map/map-legend/map-legend-tool.component.mjs +275 -0
- package/esm2020/lib/map/map-proximity-tool/index.mjs +2 -0
- package/esm2020/lib/map/map-proximity-tool/map-proximity-tool.component.mjs +206 -0
- package/esm2020/lib/map/map-proximity.state.mjs +163 -0
- package/{esm2015/lib/map/map-tool/index.js → esm2020/lib/map/map-tool/index.mjs} +1 -1
- package/esm2020/lib/map/map-tool/map-tool.component.mjs +130 -0
- package/{esm2015/lib/map/map-tools/index.js → esm2020/lib/map/map-tools/index.mjs} +1 -1
- package/esm2020/lib/map/map-tools/map-tools.component.mjs +478 -0
- package/esm2020/lib/map/map.module.mjs +141 -0
- package/esm2020/lib/map/map.state.mjs +47 -0
- package/{esm2015/lib/measure/index.js → esm2020/lib/measure/index.mjs} +1 -1
- package/{esm2015/lib/measure/measure.module.js → esm2020/lib/measure/measure.module.mjs} +2 -2
- package/{esm2015/lib/measure/measure.state.js → esm2020/lib/measure/measure.state.mjs} +1 -1
- package/{esm2015/lib/measure/measurer-tool/measurer-tool.component.js → esm2020/lib/measure/measurer-tool/measurer-tool.component.mjs} +3 -7
- package/{esm2015/lib/measure/measurer-tool/measurer-tool.module.js → esm2020/lib/measure/measurer-tool/measurer-tool.module.mjs} +2 -4
- package/{esm2015/lib/print/index.js → esm2020/lib/print/index.mjs} +1 -1
- package/{esm2015/lib/print/print-tool/index.js → esm2020/lib/print/print-tool/index.mjs} +1 -1
- package/{esm2015/lib/print/print-tool/print-tool.component.js → esm2020/lib/print/print-tool/print-tool.component.mjs} +3 -6
- package/{esm2015/lib/print/print.module.js → esm2020/lib/print/print.module.mjs} +2 -2
- package/{esm2015/lib/search/index.js → esm2020/lib/search/index.mjs} +1 -1
- package/{esm2015/lib/search/query.state.js → esm2020/lib/search/query.state.mjs} +1 -1
- package/{esm2015/lib/search/search-bar/search-bar-binding.directive.js → esm2020/lib/search/search-bar/search-bar-binding.directive.mjs} +1 -1
- package/{esm2015/lib/search/search-bar/search-bar.module.js → esm2020/lib/search/search-bar/search-bar.module.mjs} +2 -2
- package/esm2020/lib/search/search-results-tool/search-results-tool.component.mjs +577 -0
- package/{esm2015/lib/search/search-results-tool/search-results-tool.module.js → esm2020/lib/search/search-results-tool/search-results-tool.module.mjs} +13 -15
- package/{esm2015/lib/search/search.module.js → esm2020/lib/search/search.module.mjs} +2 -2
- package/{esm2015/lib/search/search.state.js → esm2020/lib/search/search.state.mjs} +1 -1
- package/{esm2015/lib/storage/index.js → esm2020/lib/storage/index.mjs} +1 -1
- package/{esm2015/lib/storage/storage.module.js → esm2020/lib/storage/storage.module.mjs} +2 -2
- package/{esm2015/lib/storage/storage.state.js → esm2020/lib/storage/storage.state.mjs} +1 -1
- package/{esm2015/lib/tool/index.js → esm2020/lib/tool/index.mjs} +1 -1
- package/{esm2015/lib/tool/tool.module.js → esm2020/lib/tool/tool.module.mjs} +2 -2
- package/{esm2015/lib/tool/tool.state.js → esm2020/lib/tool/tool.state.mjs} +1 -1
- package/{esm2015/lib/workspace/index.js → esm2020/lib/workspace/index.mjs} +1 -1
- package/esm2020/lib/workspace/shared/edition-actions.service.mjs +156 -0
- package/{esm2015/lib/workspace/shared/feature-actions.service.js → esm2020/lib/workspace/shared/feature-actions.service.mjs} +1 -1
- package/{esm2015/lib/workspace/shared/index.js → esm2020/lib/workspace/shared/index.mjs} +1 -1
- package/esm2020/lib/workspace/shared/wfs-actions.service.mjs +158 -0
- package/{esm2015/lib/workspace/shared/workspace.utils.js → esm2020/lib/workspace/shared/workspace.utils.mjs} +1 -1
- package/{esm2015/lib/workspace/workspace-button/index.js → esm2020/lib/workspace/workspace-button/index.mjs} +1 -1
- package/esm2020/lib/workspace/workspace-button/workspace-button.component.mjs +69 -0
- package/{esm2015/lib/workspace/workspace.module.js → esm2020/lib/workspace/workspace.module.mjs} +6 -8
- package/esm2020/lib/workspace/workspace.state.mjs +188 -0
- package/{esm2015/public_api.js → esm2020/public_api.mjs} +1 -1
- package/fesm2015/igo2-integration.mjs +6606 -0
- package/fesm2015/igo2-integration.mjs.map +1 -0
- package/{fesm2015/igo2-integration.js → fesm2020/igo2-integration.mjs} +816 -589
- package/fesm2020/igo2-integration.mjs.map +1 -0
- package/{igo2-integration.d.ts → index.d.ts} +0 -0
- package/lib/about/about-tool/about-tool.component.d.ts +1 -1
- package/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.d.ts +1 -1
- package/lib/catalog/catalog-library-tool/catalog-library-tool.component.d.ts +1 -1
- package/lib/context/context-editor-tool/context-editor-tool.component.d.ts +1 -1
- package/lib/context/context-manager-tool/context-manager-tool.component.d.ts +1 -1
- package/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.d.ts +1 -1
- package/lib/context/context-share-tool/context-share-tool.component.d.ts +1 -1
- package/lib/directions/directions-tool/directions-tool.component.d.ts +1 -1
- package/lib/draw/drawing-tool/drawing-tool.component.d.ts +1 -1
- package/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.d.ts +1 -1
- package/lib/filter/active-time-filter-tool/active-time-filter-tool.component.d.ts +1 -1
- package/lib/filter/ogc-filter-tool/ogc-filter-tool.component.d.ts +1 -1
- package/lib/filter/spatial-filter-tool/spatial-filter-tool.component.d.ts +3 -1
- package/lib/filter/time-filter-tool/time-filter-tool.component.d.ts +1 -1
- package/lib/import-export/import-export-tool/import-export-tool.component.d.ts +1 -1
- package/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.d.ts +4 -4
- package/lib/map/advanced-map-tool/advanced-map-tool.component.d.ts +8 -1
- package/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.d.ts +4 -4
- package/lib/map/index.d.ts +2 -0
- package/lib/map/map-details-tool/map-details-tool.component.d.ts +1 -1
- package/lib/map/map-legend/map-legend-tool.component.d.ts +1 -1
- package/lib/map/map-proximity-tool/index.d.ts +1 -0
- package/lib/map/map-proximity-tool/map-proximity-tool.component.d.ts +36 -0
- package/lib/map/map-proximity.state.d.ts +28 -0
- package/lib/map/map-tool/map-tool.component.d.ts +1 -1
- package/lib/map/map-tools/map-tools.component.d.ts +1 -1
- package/lib/map/map.module.d.ts +30 -28
- package/lib/map/map.state.d.ts +5 -1
- package/lib/measure/measurer-tool/measurer-tool.component.d.ts +1 -1
- package/lib/print/print-tool/print-tool.component.d.ts +1 -1
- package/lib/search/search-bar/search-bar-binding.directive.d.ts +1 -1
- package/lib/search/search-results-tool/search-results-tool.component.d.ts +7 -1
- package/lib/workspace/workspace-button/workspace-button.component.d.ts +1 -1
- package/lib/workspace/workspace.state.d.ts +4 -2
- package/ngcc.config.js +3 -3
- package/package.json +24 -11
- package/bundles/igo2-integration.umd.js +0 -7357
- package/bundles/igo2-integration.umd.js.map +0 -1
- package/esm2015/lib/about/about-tool/about-tool.component.js +0 -190
- package/esm2015/lib/directions/directions.state.js +0 -66
- package/esm2015/lib/filter/spatial-filter-tool/spatial-filter-tool.component.js +0 -544
- package/esm2015/lib/import-export/import-export-tool/import-export-tool.component.js +0 -145
- package/esm2015/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.js +0 -481
- package/esm2015/lib/map/advanced-map-tool/advanced-map-tool.component.js +0 -50
- package/esm2015/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.js +0 -234
- package/esm2015/lib/map/index.js +0 -7
- package/esm2015/lib/map/map-details-tool/map-details-tool.component.js +0 -274
- package/esm2015/lib/map/map-legend/map-legend-tool.component.js +0 -289
- package/esm2015/lib/map/map-tool/map-tool.component.js +0 -142
- package/esm2015/lib/map/map-tools/map-tools.component.js +0 -496
- package/esm2015/lib/map/map.module.js +0 -133
- package/esm2015/lib/map/map.state.js +0 -44
- package/esm2015/lib/search/search-results-tool/search-results-tool.component.js +0 -574
- package/esm2015/lib/workspace/shared/edition-actions.service.js +0 -157
- package/esm2015/lib/workspace/shared/wfs-actions.service.js +0 -159
- package/esm2015/lib/workspace/workspace-button/workspace-button.component.js +0 -74
- package/esm2015/lib/workspace/workspace.state.js +0 -172
- package/fesm2015/igo2-integration.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-integration.umd.js","sources":["../../../packages/integration/src/lib/analytics/analytics.module.ts","../../../node_modules/tslib/tslib.es6.js","../../../packages/integration/src/lib/import-export/import-export.state.ts","../../../packages/integration/src/lib/tool/tool.state.ts","../../../packages/integration/src/lib/context/context-editor-tool/context-editor-tool.component.ts","../../../packages/integration/src/lib/context/context-editor-tool/context-editor-tool.component.html","../../../packages/integration/src/lib/map/map.state.ts","../../../packages/integration/src/lib/context/context-manager-tool/context-manager-tool.component.ts","../../../packages/integration/src/lib/context/context-manager-tool/context-manager-tool.component.html","../../../packages/integration/src/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.ts","../../../packages/integration/src/lib/context/context-permission-manager-tool/context-permission-manager-tool.component.html","../../../packages/integration/src/lib/map/layer-list-tool.state.ts","../../../packages/integration/src/lib/context/context-share-tool/context-share-tool.component.ts","../../../packages/integration/src/lib/context/context-share-tool/context-share-tool.component.html","../../../packages/integration/src/lib/context/context.module.ts","../../../packages/integration/src/lib/catalog/catalog.state.ts","../../../packages/integration/src/lib/catalog/catalog-library-tool/catalog-library-tool.component.ts","../../../packages/integration/src/lib/catalog/catalog-library-tool/catalog-library-tool.component.html","../../../packages/integration/src/lib/catalog/catalog-library-tool/catalog-library-tool.module.ts","../../../packages/integration/src/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.html","../../../packages/integration/src/lib/catalog/catalog-browser-tool/catalog-browser-tool.component.ts","../../../packages/integration/src/lib/catalog/catalog-browser-tool/catalog-browser-tool.module.ts","../../../packages/integration/src/lib/catalog/catalog.module.ts","../../../packages/integration/src/lib/directions/directions.state.ts","../../../packages/integration/src/lib/context/context.state.ts","../../../packages/integration/src/lib/directions/directions-tool/directions-tool.component.ts","../../../packages/integration/src/lib/directions/directions-tool/directions-tool.component.html","../../../packages/integration/src/lib/directions/directions.module.ts","../../../packages/integration/src/lib/draw/draw.state.ts","../../../packages/integration/src/lib/draw/drawing-tool/drawing-tool.component.ts","../../../packages/integration/src/lib/draw/drawing-tool/drawing-tool.component.html","../../../packages/integration/src/lib/draw/draw.module.ts","../../../packages/integration/src/lib/workspace/shared/workspace.utils.ts","../../../packages/integration/src/lib/storage/storage.state.ts","../../../packages/integration/src/lib/workspace/shared/feature-actions.service.ts","../../../packages/integration/src/lib/workspace/shared/wfs-actions.service.ts","../../../packages/integration/src/lib/workspace/shared/edition-actions.service.ts","../../../packages/integration/src/lib/workspace/workspace.state.ts","../../../packages/integration/src/lib/workspace/workspace-button/workspace-button.component.html","../../../packages/integration/src/lib/workspace/workspace-button/workspace-button.component.ts","../../../packages/integration/src/lib/workspace/workspace.module.ts","../../../packages/integration/src/lib/import-export/import-export-tool/import-export-tool.component.html","../../../packages/integration/src/lib/import-export/import-export-tool/import-export-tool.component.ts","../../../packages/integration/src/lib/import-export/import-export.module.ts","../../../packages/integration/src/lib/map/map-details-tool/map-details-tool.component.html","../../../packages/integration/src/lib/map/map-details-tool/map-details-tool.component.ts","../../../packages/integration/src/lib/map/map-tool/map-tool.component.html","../../../packages/integration/src/lib/map/map-tool/map-tool.component.ts","../../../packages/integration/src/lib/map/map-tools/map-tools.component.html","../../../packages/integration/src/lib/map/map-tools/map-tools.component.ts","../../../packages/integration/src/lib/map/map-legend/map-legend-tool.component.html","../../../packages/integration/src/lib/map/map-legend/map-legend-tool.component.ts","../../../packages/integration/src/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.html","../../../packages/integration/src/lib/map/advanced-map-tool/advanced-swipe/advanced-swipe.component.ts","../../../packages/integration/src/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.html","../../../packages/integration/src/lib/map/advanced-map-tool/advanced-coordinates/advanced-coordinates.component.ts","../../../packages/integration/src/lib/map/advanced-map-tool/advanced-map-tool.component.ts","../../../packages/integration/src/lib/map/advanced-map-tool/advanced-map-tool.component.html","../../../packages/integration/src/lib/map/map.module.ts","../../../packages/integration/src/lib/measure/measure.state.ts","../../../packages/integration/src/lib/measure/measurer-tool/measurer-tool.component.ts","../../../packages/integration/src/lib/measure/measurer-tool/measurer-tool.component.html","../../../packages/integration/src/lib/measure/measurer-tool/measurer-tool.module.ts","../../../packages/integration/src/lib/measure/measure.module.ts","../../../packages/integration/src/lib/print/print-tool/print-tool.component.ts","../../../packages/integration/src/lib/print/print-tool/print-tool.component.html","../../../packages/integration/src/lib/print/print.module.ts","../../../packages/integration/src/lib/search/search.state.ts","../../../packages/integration/src/lib/search/search-bar/search-bar-binding.directive.ts","../../../packages/integration/src/lib/search/search-bar/search-bar.module.ts","../../../packages/integration/src/lib/search/search-results-tool/search-results-tool.component.html","../../../packages/integration/src/lib/search/search-results-tool/search-results-tool.component.ts","../../../packages/integration/src/lib/search/search-results-tool/search-results-tool.module.ts","../../../packages/integration/src/lib/search/search.module.ts","../../../packages/integration/src/lib/filter/ogc-filter-tool/ogc-filter-tool.component.ts","../../../packages/integration/src/lib/filter/ogc-filter-tool/ogc-filter-tool.component.html","../../../packages/integration/src/lib/filter/time-filter-tool/time-filter-tool.component.ts","../../../packages/integration/src/lib/filter/time-filter-tool/time-filter-tool.component.html","../../../packages/integration/src/lib/filter/spatial-filter-tool/spatial-filter-tool.component.html","../../../packages/integration/src/lib/filter/spatial-filter-tool/spatial-filter-tool.component.ts","../../../packages/integration/src/lib/filter/active-time-filter-tool/active-time-filter-tool.animation.ts","../../../packages/integration/src/lib/filter/active-time-filter-tool/active-time-filter-tool.component.ts","../../../packages/integration/src/lib/filter/active-time-filter-tool/active-time-filter-tool.component.html","../../../packages/integration/src/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.animation.ts","../../../packages/integration/src/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.ts","../../../packages/integration/src/lib/filter/active-ogc-filter-tool/active-ogc-filter-tool.component.html","../../../packages/integration/src/lib/filter/filter.module.ts","../../../packages/integration/src/lib/about/about-tool/about-tool.component.html","../../../packages/integration/src/lib/about/about-tool/about-tool.component.ts","../../../packages/integration/src/lib/about/about.module.ts","../../../packages/integration/src/lib/storage/storage.module.ts","../../../packages/integration/src/lib/integration.module.ts","../../../packages/integration/src/lib/tool/tool.module.ts","../../../packages/integration/src/lib/analytics/analytics-listener.service.ts","../../../packages/integration/src/lib/search/query.state.ts","../../../packages/integration/src/public_api.ts","../../../packages/integration/src/igo2-integration.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: []\n})\nexport class IgoAppAnalyticsModule {}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Injectable } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\nimport { ExportOptions } from '@igo2/geo';\n\nexport enum ImportExportType {\n layer = 'layer',\n context = 'context'\n}\n\nexport enum ImportExportMode {\n import = 'import',\n export = 'export'\n}\n\n/**\n * Service that holds the state of the importExport module\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ImportExportState {\n\n readonly importExportType$: BehaviorSubject<ImportExportType> = new BehaviorSubject(ImportExportType.layer);\n readonly selectedMode$: BehaviorSubject<ImportExportMode> = new BehaviorSubject(ImportExportMode.import);\n readonly exportOptions$: BehaviorSubject<ExportOptions> = new BehaviorSubject(undefined);\n\n setImportExportType(type: ImportExportType) {\n this.importExportType$.next(type);\n }\n\n setMode(mode: ImportExportMode) {\n this.selectedMode$.next(mode);\n }\n\n setsExportOptions(exportOptions: ExportOptions) {\n this.exportOptions$.next(exportOptions);\n }\n\n}\n","import { Injectable } from '@angular/core';\n\nimport { Toolbox, ToolService } from '@igo2/common';\n\nimport { ExportOptions } from '@igo2/geo';\nimport { BehaviorSubject } from 'rxjs';\nimport { ImportExportMode, ImportExportState } from '../import-export/import-export.state';\n\n/**\n * Service that holds the state of the search module\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ToolState {\n get toolbox(): Toolbox {\n return this.toolService.toolbox;\n }\n\n public openSidenav$: BehaviorSubject<boolean> = new BehaviorSubject(undefined);\n\n constructor(\n private toolService: ToolService,\n private importExportState: ImportExportState\n ) {}\n\n toolToActivateFromOptions(toolToActivate: { tool: string; options: {[key: string]: any} }) {\n if (!toolToActivate) { return; }\n if (toolToActivate.tool === 'importExport') {\n let exportOptions: ExportOptions = this.importExportState.exportOptions$.value;\n if (!exportOptions) {\n exportOptions = {\n layers: toolToActivate.options.layers,\n featureInMapExtent: toolToActivate.options.featureInMapExtent\n };\n } else {\n exportOptions.layers = toolToActivate.options.layers;\n exportOptions.featureInMapExtent = toolToActivate.options.featureInMapExtent;\n }\n this.importExportState.setsExportOptions(exportOptions);\n this.importExportState.setMode(ImportExportMode.export);\n }\n\n if (this.toolbox.getTool(toolToActivate.tool)) {\n this.toolbox.activateTool(toolToActivate.tool);\n this.openSidenav$.next(true);\n }\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ToolComponent } from '@igo2/common';\nimport { ToolState } from '../../tool/tool.state';\n\n@ToolComponent({\n name: 'contextEditor',\n title: 'igo.integration.tools.contexts',\n icon: 'star',\n parent: 'contextManager'\n})\n@Component({\n selector: 'igo-context-editor-tool',\n templateUrl: './context-editor-tool.component.html'\n})\nexport class ContextEditorToolComponent {\n\n constructor(private toolState: ToolState) {}\n\n submitSuccessed() {\n this.toolState.toolbox.activatePreviousTool();\n }\n}\n","<igo-context-edit\n igoContextEditBinding\n (submitSuccessed)=\"submitSuccessed()\"\n></igo-context-edit>\n","import { Injectable } from '@angular/core';\n\nimport { IgoMap, MapService, ProjectionService } from '@igo2/geo';\n// import { BehaviorSubject } from 'rxjs';\n\n/**\n * Service that holds the state of the map module\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MapState {\n\n // public mapCenter$ = new BehaviorSubject<boolean>(false);\n get showAllLegendsValue(): boolean {\n return this._legendToolShowAll;\n }\n\n set showAllLegendsValue(value) {\n this._legendToolShowAll = value;\n }\n private _legendToolShowAll: boolean;\n\n /**\n * Active map\n */\n get map(): IgoMap { return this._map; }\n private _map: IgoMap;\n\n constructor(\n private mapService: MapService,\n private projectionService: ProjectionService // Don't remove this or it'll never be injected\n ) {\n this._map = new IgoMap({\n controls: {\n scaleLine: true,\n attribution: {\n collapsed: true\n }\n }\n });\n\n this.mapService.setMap(this.map);\n }\n}\n","import { Component, Input } from '@angular/core';\n\nimport { ToolComponent } from '@igo2/common';\n\nimport { ToolState } from '../../tool/tool.state';\nimport { MapState } from '../../map/map.state';\nimport { IgoMap } from '@igo2/geo';\n\n@ToolComponent({\n name: 'contextManager',\n title: 'igo.integration.tools.contexts',\n icon: 'star'\n})\n@Component({\n selector: 'igo-context-manager-tool',\n templateUrl: './context-manager-tool.component.html'\n})\nexport class ContextManagerToolComponent {\n\n @Input() toolToOpenOnContextChange: string = 'mapTools';\n\n get map(): IgoMap { return this.mapState.map; }\n\n constructor(private toolState: ToolState, private mapState: MapState) {}\n\n editContext() {\n this.toolState.toolbox.activateTool('contextEditor');\n }\n\n managePermissions() {\n this.toolState.toolbox.activateTool('contextPermissionManager');\n }\n}\n","<igo-context-list\n igoContextListBinding\n [map]=\"map\"\n (edit)=\"editContext()\"\n (managePermissions)=\"managePermissions()\">\n</igo-context-list>\n","import { Component } from '@angular/core';\n\nimport { ToolComponent } from '@igo2/common';\n\n@ToolComponent({\n name: 'contextPermissionManager',\n title: 'igo.integration.tools.contexts',\n icon: 'star',\n parent: 'contextManager'\n})\n@Component({\n selector: 'igo-context-permission-manager-tool',\n templateUrl: './context-permission-manager-tool.component.html'\n})\nexport class ContextPermissionManagerToolComponent {}\n","<igo-context-permissions igoContextPermissionsBinding></igo-context-permissions>\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { LayerListControlsOptions } from '@igo2/geo';\n\n/**\n * Service that holds the state of layer list tool values\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class LayerListToolState {\n\n readonly keyword$: BehaviorSubject<string> = new BehaviorSubject('');\n readonly sortAlpha$: BehaviorSubject<boolean> = new BehaviorSubject(undefined);\n readonly onlyVisible$: BehaviorSubject<boolean> = new BehaviorSubject(undefined);\n readonly selectedTab$: BehaviorSubject<number> = new BehaviorSubject(undefined);\n\n setKeyword(keyword: string) {\n this.keyword$.next(keyword);\n }\n\n setSortAlpha(sort: boolean) {\n this.sortAlpha$.next(sort);\n }\n\n setOnlyVisible(onlyVisible: boolean) {\n this.onlyVisible$.next(onlyVisible);\n }\n\n setSelectedTab(tab: number) {\n this.selectedTab$.next(tab);\n }\n\n getLayerListControls(): LayerListControlsOptions {\n return {\n keyword: this.keyword$.value,\n onlyVisible: this.onlyVisible$.value,\n sortAlpha: this.sortAlpha$.value\n };\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ToolComponent } from '@igo2/common';\nimport { IgoMap, LayerListControlsOptions } from '@igo2/geo';\n\nimport { MapState } from '../../map/map.state';\nimport { LayerListToolState } from '../../map/layer-list-tool.state';\n\n@ToolComponent({\n name: 'shareMap',\n title: 'igo.integration.tools.shareMap',\n icon: 'share-variant'\n})\n@Component({\n selector: 'igo-context-share-tool',\n templateUrl: './context-share-tool.component.html'\n})\nexport class ContextShareToolComponent {\n\n get map(): IgoMap { return this.mapState.map; }\n\n get layerListControls(): LayerListControlsOptions { return this.layerListToolState.getLayerListControls(); }\n\n constructor(\n private mapState: MapState,\n private layerListToolState: LayerListToolState\n ) {}\n}\n","<igo-share-map\n [map]=\"map\"></igo-share-map>\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\n\nimport { IgoContextModule } from '@igo2/context';\n\nimport { ContextEditorToolComponent } from './context-editor-tool/context-editor-tool.component';\nimport { ContextManagerToolComponent } from './context-manager-tool/context-manager-tool.component';\nimport { ContextPermissionManagerToolComponent } from './context-permission-manager-tool/context-permission-manager-tool.component';\nimport { ContextShareToolComponent } from './context-share-tool/context-share-tool.component';\n\n@NgModule({\n imports: [IgoContextModule],\n declarations: [\n ContextEditorToolComponent,\n ContextManagerToolComponent,\n ContextPermissionManagerToolComponent,\n ContextShareToolComponent\n ],\n exports: [\n ContextEditorToolComponent,\n ContextManagerToolComponent,\n ContextPermissionManagerToolComponent,\n ContextShareToolComponent\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class IgoAppContextModule {}\n","import { Injectable } from '@angular/core';\n\nimport { AuthService } from '@igo2/auth';\nimport { EntityStore } from '@igo2/common';\nimport { Catalog, CatalogItem } from '@igo2/geo';\n\n/**\n * Service that holds the state of the catalog module\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class CatalogState {\n\n /**\n * Store that contains all the catalogs\n */\n get catalogStore(): EntityStore<Catalog> { return this._catalogStore; }\n private _catalogStore: EntityStore<Catalog>;\n\n /**\n * Catalog -> Catalog items store mapping\n */\n private catalogItemsStores = new Map<string, EntityStore<CatalogItem>>();\n\n constructor(authService: AuthService) {\n this._catalogStore = new EntityStore([]);\n\n authService.authenticate$.subscribe(() => {\n this.clearCatalogItemsStores();\n });\n }\n\n /**\n * Get a catalog's items store\n * @param catalog Catalog\n * @returns Store that contains the catalog items\n */\n getCatalogItemsStore(catalog: Catalog): EntityStore<CatalogItem> {\n return this.catalogItemsStores.get(catalog.id as string);\n }\n\n /**\n * Bind a catalog items store to a catalog\n * @param catalog Catalog\n * @param store Catalog items store\n */\n setCatalogItemsStore(catalog: Catalog, store: EntityStore<CatalogItem>) {\n this.catalogItemsStores.set(catalog.id as string, store);\n }\n\n /**\n * Clear all catalog items stores\n */\n clearCatalogItemsStores() {\n this.catalogItemsStores.clear();\n }\n}\n","import { Component, OnInit, ChangeDetectionStrategy, Input } from '@angular/core';\nimport { take } from 'rxjs/operators';\n\nimport { ToolComponent } from '@igo2/common';\n\nimport { EntityStore } from '@igo2/common';\nimport { Catalog, CatalogService } from '@igo2/geo';\nimport { StorageService } from '@igo2/core';\n\nimport { ToolState } from '../../tool/tool.state';\nimport { CatalogState } from '../catalog.state';\n\n/**\n * Tool to browse the list of available catalogs.\n */\n@ToolComponent({\n name: 'catalog',\n title: 'igo.integration.tools.catalog',\n icon: 'layers-plus'\n})\n@Component({\n selector: 'igo-catalog-library-tool',\n templateUrl: './catalog-library-tool.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CatalogLibraryToolComponent implements OnInit {\n /**\n * Store that contains the catalogs\n * @internal\n */\n get store(): EntityStore<Catalog> {\n return this.catalogState.catalogStore;\n }\n\n /**\n * Determine if the form to add a catalog is allowed\n */\n @Input() addCatalogAllowed: boolean = false;\n\n /**\n * List of predefined catalogs\n */\n @Input() predefinedCatalogs: Catalog[] = [];\n\n constructor(\n private catalogService: CatalogService,\n private catalogState: CatalogState,\n private toolState: ToolState,\n private storageService: StorageService\n ) {}\n\n /**\n * @internal\n */\n ngOnInit() {\n if (this.store.count === 0) {\n this.loadCatalogs();\n }\n }\n\n /**\n * When the selected catalog changes, toggle the the CatalogBrowser tool.\n * @internal\n * @param event Select event\n */\n onCatalogSelectChange(event: { selected: boolean; catalog: Catalog }) {\n if (event.selected === false) {\n return;\n }\n this.toolState.toolbox.activateTool('catalogBrowser');\n }\n\n /**\n * Get all the available catalogs from the CatalogService and\n * load them into the store.\n */\n private loadCatalogs() {\n this.catalogService.loadCatalogs().pipe(take(1)).subscribe((catalogs: Catalog[]) => {\n this.store.clear();\n this.store.load(catalogs.concat((this.storageService.get('addedCatalogs') || []) as Catalog[]));\n });\n }\n}\n","<igo-catalog-library\n [predefinedCatalogs]=\"predefinedCatalogs\"\n [addCatalogAllowed]=\"addCatalogAllowed\"\n [store]=\"store\"\n (catalogSelectChange)=\"onCatalogSelectChange($event)\">\n</igo-catalog-library>\n","import { CommonModule } from '@angular/common';\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\n\nimport { IgoCatalogLibraryModule } from '@igo2/geo';\nimport { CatalogLibraryToolComponent } from './catalog-library-tool.component';\n\n/**\n * @ignore\n */\n@NgModule({\n imports: [\n CommonModule,\n IgoCatalogLibraryModule\n ],\n declarations: [CatalogLibraryToolComponent],\n exports: [CatalogLibraryToolComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class IgoAppCatalogLibraryToolModule {}\n","<igo-catalog-browser\n *ngIf=\"store$ | async as store\"\n [catalog]=\"catalog\"\n [store]=\"store\"\n [map]=\"map\"\n [toggleCollapsedGroup]=\"toggleCollapsedGroup\">\n</igo-catalog-browser>\n","import {\n Component,\n Input,\n OnInit,\n OnDestroy,\n ChangeDetectionStrategy\n} from '@angular/core';\n\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nimport { EntityRecord, EntityStore, ToolComponent } from '@igo2/common';\nimport { AuthService } from '@igo2/auth';\n\nimport {\n IgoMap,\n Catalog,\n CatalogItem,\n CatalogItemState,\n CatalogService\n} from '@igo2/geo';\n\nimport { MapState } from '../../map/map.state';\nimport { CatalogState } from '../catalog.state';\n\n/**\n * Tool to browse a catalog's groups and layers and display them to a map.\n */\n@ToolComponent({\n name: 'catalogBrowser',\n title: 'igo.integration.tools.catalog',\n icon: 'photo-browser',\n parent: 'catalog'\n})\n@Component({\n selector: 'igo-catalog-browser-tool',\n templateUrl: './catalog-browser-tool.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CatalogBrowserToolComponent implements OnInit, OnDestroy {\n catalog: Catalog;\n\n /**\n * Store that contains the catalog items\n * @internal\n */\n store$ = new BehaviorSubject<EntityStore<CatalogItem, CatalogItemState>>(\n undefined\n );\n\n /**\n * Subscription to the selected catalog\n */\n private catalog$$: Subscription;\n\n /**\n * Subscription for authentication\n */\n private authenticate$$: Subscription;\n\n /**\n * Whether a group can be toggled when it's collapsed\n */\n @Input() toggleCollapsedGroup: boolean = true;\n\n /**\n * Map to add layers to\n * @internal\n */\n get map(): IgoMap {\n return this.mapState.map;\n }\n\n constructor(\n private catalogService: CatalogService,\n private catalogState: CatalogState,\n private mapState: MapState,\n private authService: AuthService\n ) {}\n\n /**\n * @internal\n */\n ngOnInit() {\n const catalogStore = this.catalogState.catalogStore;\n this.catalog$$ = catalogStore.stateView\n .firstBy$(\n (record: EntityRecord<Catalog>) => record.state.selected === true\n )\n .subscribe((record: EntityRecord<Catalog>) => {\n if (record && record.entity) {\n const catalog = record.entity;\n this.catalog = catalog;\n }\n });\n\n this.authenticate$$ = this.authService.authenticate$.subscribe(() => {\n this.loadCatalogItems(this.catalog);\n });\n }\n\n /**\n * @internal\n */\n ngOnDestroy() {\n this.catalog$$.unsubscribe();\n this.authenticate$$.unsubscribe();\n }\n\n /**\n * Get the selected catalog's items from the CatalogService and\n * load them into the store.\n * @param catalog Selected catalog\n */\n private loadCatalogItems(catalog: Catalog) {\n let store = this.catalogState.getCatalogItemsStore(catalog);\n if (store !== undefined) {\n this.store$.next(store);\n return;\n }\n\n store = new EntityStore<CatalogItem>([]);\n this.catalogState.setCatalogItemsStore(catalog, store);\n this.catalogService\n .loadCatalogItems(catalog)\n .pipe(take(1))\n .subscribe((items: CatalogItem[]) => {\n store.load(items);\n this.store$.next(store);\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\n\nimport { IgoCatalogBrowserModule } from '@igo2/geo';\nimport { CatalogBrowserToolComponent } from './catalog-browser-tool.component';\n\n/**\n * @ignore\n */\n@NgModule({\n imports: [\n CommonModule,\n IgoCatalogBrowserModule\n ],\n declarations: [CatalogBrowserToolComponent],\n exports: [CatalogBrowserToolComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class IgoAppCatalogBrowserToolModule {}\n","import { NgModule } from '@angular/core';\n\nimport { IgoAppCatalogLibraryToolModule } from './catalog-library-tool/catalog-library-tool.module';\nimport { IgoAppCatalogBrowserToolModule } from './catalog-browser-tool/catalog-browser-tool.module';\n\n@NgModule({\n imports: [],\n exports: [\n IgoAppCatalogLibraryToolModule,\n IgoAppCatalogBrowserToolModule\n ],\n declarations: []\n})\nexport class IgoAppCatalogModule {}\n","import { Injectable } from '@angular/core';\n\nimport { AnyLayerOptions, StopsStore, StopsFeatureStore, RoutesFeatureStore, StepFeatureStore } from '@igo2/geo';\nimport { Subject } from 'rxjs';\nimport { MapState } from '../map/map.state';\n\n/**\n * Service that holds the state of the direction module\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class DirectionState {\n\n public zoomToActiveRoute$: Subject<void> = new Subject();\n\n /**\n * Store that holds the stop\n */\n public stopsStore: StopsStore = new StopsStore([]);\n\n /**\n * Store that holds the driving stops as feature\n */\n public stopsFeatureStore: StopsFeatureStore = new StopsFeatureStore([], {\n map: this.mapState.map\n });\n\n /**\n * Store that holds the driving route as feature\n */\n public routesFeatureStore: RoutesFeatureStore = new RoutesFeatureStore([], {\n map: this.mapState.map\n });\n\n public stepFeatureStore: StepFeatureStore = new StepFeatureStore([], {\n map: this.mapState.map\n });\n\n public debounceTime: number = 200;\n\n constructor(private mapState: MapState) {\n\n this.mapState.map.ol.once('rendercomplete', () => {\n this.stopsFeatureStore.empty$.subscribe((empty) => {\n if (this.stopsFeatureStore.layer?.options) {\n (this.stopsFeatureStore.layer.options as AnyLayerOptions).showInLayerList = !empty;\n }\n });\n this.routesFeatureStore.empty$.subscribe((empty) => {\n if (this.routesFeatureStore.layer?.options) {\n (this.routesFeatureStore.layer.options as AnyLayerOptions).showInLayerList = !empty;\n }\n });\n });\n\n this.mapState.map.layers$.subscribe(() => {\n if (!this.mapState.map.getLayerById('igo-direction-stops-layer')) {\n this.stopsStore.deleteMany(this.stopsStore.all());\n this.stopsFeatureStore.deleteMany(this.stopsFeatureStore.all()); // not necessary\n }\n if (!this.mapState.map.getLayerById('igo-direction-route-layer')) {\n this.routesFeatureStore.deleteMany(this.routesFeatureStore.all());\n }\n });\n }\n\n}\n","import { Injectable } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { LanguageService } from '@igo2/core';\nimport { Tool, ToolService } from '@igo2/common';\nimport { ContextService, DetailedContext } from '@igo2/context';\n\nimport { ToolState } from '../tool/tool.state';\n\n/**\n * Service that holds the state of the context module\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ContextState {\n /**\n * Observable of the active context\n */\n context$: BehaviorSubject<DetailedContext> = new BehaviorSubject(undefined);\n\n constructor(\n private contextService: ContextService,\n private toolService: ToolService,\n private toolState: ToolState,\n private languageService: LanguageService\n ) {\n this.contextService.context$.subscribe((context: DetailedContext) => {\n this.onContextChange(context);\n });\n this.contextService.toolsChanged$.subscribe((context: DetailedContext) => {\n this.updateTools(context);\n });\n }\n\n /**\n * Set the active context\n * @param context Detailed context\n */\n private setContext(context: DetailedContext) {\n this.updateTools(context);\n this.context$.next(context);\n }\n\n /**\n * Update the tool state with the context's tools\n * @param context Detailed context\n */\n private updateTools(context: DetailedContext) {\n const toolbox = this.toolState.toolbox;\n\n const tools = [];\n const contextTools = context.tools || [];\n contextTools.forEach((contextTool: Tool) => {\n const baseTool = this.toolService.getTool(contextTool.name);\n if (baseTool === undefined) {\n return;\n }\n\n const options = Object.assign(\n {},\n baseTool.options || {},\n contextTool.options || {}\n );\n const tool = Object.assign({}, baseTool, contextTool, { options });\n tools.push(tool);\n });\n\n tools.forEach((tool) => {\n if (tool.parent) {\n const parentIndex = tools.findIndex((el) => el.name === tool.parent);\n if (parentIndex !== -1) {\n tools[parentIndex].children = [];\n tools[parentIndex].children.push(tool.name);\n }\n }\n });\n\n toolbox.setTools(tools);\n toolbox.setToolbar(context.toolbar || []);\n\n // TODO: This is a patch so the context service can work without\n // injecting the ToolState or without being completely refactored\n this.contextService.setTools([].concat(tools));\n this.contextService.setToolbar(context.toolbar || []);\n }\n\n /**\n * Set a new context and update the tool state\n * @param context Detailed context\n */\n private onContextChange(context: DetailedContext) {\n if (context === undefined) {\n return;\n }\n this.setContext(context);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from '@igo2/auth';\n\nimport { ToolComponent } from '@igo2/common';\nimport { LanguageService, MessageService, StorageScope, StorageService } from '@igo2/core';\nimport { IgoMap, RoutesFeatureStore, StopsFeatureStore, StopsStore, StepFeatureStore } from '@igo2/geo';\nimport { Subject } from 'rxjs';\nimport { ContextState } from '../../context/context.state';\n\nimport { MapState } from '../../map/map.state';\nimport { DirectionState } from '../directions.state';\n\n@ToolComponent({\n name: 'directions',\n title: 'igo.integration.tools.directions',\n icon: 'directions'\n})\n@Component({\n selector: 'igo-directions-tool',\n templateUrl: './directions-tool.component.html'\n})\nexport class DirectionsToolComponent implements OnInit {\n\n public currentContextUri: string;\n /**\n * stops\n * @internal\n */\n get stopsStore(): StopsStore { return this.directionState.stopsStore; }\n\n get debounceTime(): number { return this.directionState.debounceTime; }\n\n /**\n * stops\n * @internal\n */\n get stopsFeatureStore(): StopsFeatureStore { return this.directionState.stopsFeatureStore; }\n\n /**\n * routes\n * @internal\n */\n get routesFeatureStore(): RoutesFeatureStore { return this.directionState.routesFeatureStore; }\n\n /**\n * step store\n * @internal\n */\n get stepFeatureStore(): StepFeatureStore { return this.directionState.stepFeatureStore; }\n\n /**\n * step store\n * @internal\n */\n get zoomToActiveRoute$(): Subject<void> { return this.directionState.zoomToActiveRoute$; }\n\n\n /**\n * Map to measure on\n * @internal\n */\n get map(): IgoMap { return this.mapState.map; }\n\n constructor(\n private directionState: DirectionState,\n private mapState: MapState,\n private languageService: LanguageService,\n private messageService: MessageService,\n private storageService: StorageService,\n public contextState: ContextState,\n private authService: AuthService\n ) {}\n\n ngOnInit(): void {\n const warningShown = this.storageService.get('direction.warning.shown') as boolean;\n if (!warningShown) {\n const translate = this.languageService.translate;\n const title = translate.instant(\n 'igo.integration.directions.warning.title'\n );\n const msg = translate.instant('igo.integration.directions.warning.message');\n this.messageService.info(msg, title, { timeOut: 20000 });\n this.storageService.set('direction.warning.shown', true, StorageScope.SESSION);\n }\n this.contextState.context$.subscribe(c => {\n if (!this.authService.authenticated) {\n this.currentContextUri = c.uri;\n }\n });\n }\n\n}\n","<igo-directions\n [contextUri]=\"currentContextUri\"\n [debounceTime]=\"debounceTime\"\n [stopsStore]=\"stopsStore\"\n [stopsFeatureStore]=\"stopsFeatureStore\"\n [stepFeatureStore]=\"stepFeatureStore\"\n [routesFeatureStore]=\"routesFeatureStore\"\n [zoomToActiveRoute$]=\"zoomToActiveRoute$\"> \n</igo-directions>","import {\n NgModule,\n ModuleWithProviders,\n CUSTOM_ELEMENTS_SCHEMA\n} from '@angular/core';\n\nimport { IgoDirectionsModule } from '@igo2/geo';\nimport { DirectionsToolComponent } from './directions-tool/directions-tool.component';\n\n@NgModule({\n imports: [IgoDirectionsModule],\n declarations: [DirectionsToolComponent],\n exports: [DirectionsToolComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class IgoAppDirectionsModule {\n static forRoot(): ModuleWithProviders<IgoAppDirectionsModule> {\n return {\n ngModule: IgoAppDirectionsModule,\n providers: []\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { FeatureStore, Feature } from '@igo2/geo';\nimport { MapState } from '../map/map.state';\n\n/**\n * Service that holds the state of the measure module\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class DrawState {\n\n /**\n * Store that holds the measures\n */\n public store: FeatureStore<Feature> = new FeatureStore<Feature>([], {\n map: this.mapState.map\n });\n\n constructor(private mapState: MapState) {\n\n this.mapState.map.layers$.subscribe(() => {\n if (!this.mapState.map.getLayerById('igo-draw-layer')) {\n this.store.deleteMany(this.store.all());\n }\n });\n }\n\n}\n","import {\n Component,\n ChangeDetectionStrategy\n } from '@angular/core';\n\nimport { ToolComponent } from '@igo2/common';\nimport { FeatureStore, Feature, IgoMap } from '@igo2/geo';\nimport { MapState } from '../../map/map.state';\nimport { DrawState } from '../draw.state';\n\n/**\n * Tool to measure lengths and areas\n */\n@ToolComponent({\n name: 'draw',\n title: 'igo.integration.tools.draw',\n icon: 'draw'\n})\n@Component({\n selector: 'igo-drawing-tool',\n templateUrl: './drawing-tool.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DrawingToolComponent {\n\n/**\n * Map to measure on\n * @internal\n */\nget store(): FeatureStore<Feature> { return this.drawState.store; }\n\n/**\n * Map to measure on\n * @internal\n */\nget map(): IgoMap { return this.mapState.map; }\n\nconstructor(\n private drawState: DrawState,\n private mapState: MapState\n) {}\n\n}\n","<igo-draw [store]=\"store\" [map]=\"map\"></igo-draw>\n","import { NgModule } from '@angular/core';\n\nimport { IgoDrawingToolModule } from '@igo2/geo';\nimport { DrawingToolComponent } from './drawing-tool/drawing-tool.component';\n\n@NgModule({\n imports: [IgoDrawingToolModule],\n declarations: [DrawingToolComponent],\n exports: [\n DrawingToolComponent\n ]\n})\nexport class IgoAppDrawModule {}\n","import {\n FeatureMotion,\n FeatureStoreSelectionStrategy,\n FeatureWorkspace,\n WfsWorkspace,\n EditionWorkspace\n} from '@igo2/geo';\n\n\nexport function handleZoomAuto(workspace: FeatureWorkspace | WfsWorkspace | EditionWorkspace, storageService) {\n const zoomStrategy = workspace.entityStore\n .getStrategyOfType(FeatureStoreSelectionStrategy) as FeatureStoreSelectionStrategy;\n zoomStrategy.setMotion(storageService.get('zoomAuto') as boolean ? FeatureMotion.Default : FeatureMotion.None);\n}\n\n\n","import { Injectable } from '@angular/core';\n\nimport { StorageService } from '@igo2/core';\n\n/**\n * Service that holds the state of storage service\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class StorageState {\n get storageService(): StorageService {\n return this.igoStorageService;\n }\n\n constructor(private igoStorageService: StorageService) {}\n}\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport {\n Action,\n EntityStoreFilterCustomFuncStrategy,\n EntityStoreFilterSelectionStrategy\n} from '@igo2/common';\n\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport {\n FeatureWorkspace,\n mapExtentStrategyActiveToolTip,\n noElementSelected,\n ExportOptions\n} from '@igo2/geo';\nimport { StorageService, StorageServiceEvent, StorageServiceEventEnum, LanguageService, MediaService} from '@igo2/core';\nimport { StorageState } from '../../storage/storage.state';\nimport { map, skipWhile } from 'rxjs/operators';\nimport { ToolState } from '../../tool/tool.state';\nimport { handleZoomAuto } from './workspace.utils';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FeatureActionsService implements OnDestroy {\n\n public maximize$: BehaviorSubject<boolean> = new BehaviorSubject(\n this.storageService.get('workspaceMaximize') as boolean\n );\n\n zoomAuto$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n private storageChange$$: Subscription;\n\n get storageService(): StorageService {\n return this.storageState.storageService;\n }\n\n get zoomAuto(): boolean {\n return this.storageService.get('zoomAuto') as boolean;\n }\n\n constructor(\n private storageState: StorageState,\n public languageService: LanguageService,\n private toolState: ToolState,\n private mediaService: MediaService\n ) {}\n\n ngOnDestroy(): void {\n if (this.storageChange$$) {\n this.storageChange$$.unsubscribe();\n }\n }\n\n loadActions(\n workspace: FeatureWorkspace,\n rowsInMapExtentCheckCondition$: BehaviorSubject<boolean>,\n selectOnlyCheckCondition$: BehaviorSubject<boolean>\n ) {\n const actions = this.buildActions(\n workspace,\n rowsInMapExtentCheckCondition$,\n selectOnlyCheckCondition$\n );\n workspace.actionStore.load(actions);\n }\n\n buildActions(\n workspace: FeatureWorkspace,\n rowsInMapExtentCheckCondition$: BehaviorSubject<boolean>,\n selectOnlyCheckCondition$: BehaviorSubject<boolean>\n ): Action[] {\n this.zoomAuto$.next(this.zoomAuto);\n this.storageChange$$ = this.storageService.storageChange$\n .pipe(\n skipWhile(\n (storageChange: StorageServiceEvent) =>\n storageChange.key !== 'zoomAuto' || storageChange.event === StorageServiceEventEnum.CLEARED\n )\n )\n .subscribe(() => {\n this.zoomAuto$.next(this.zoomAuto);\n handleZoomAuto(workspace, this.storageService);\n });\n return [\n {\n id: 'zoomAuto',\n checkbox: true,\n title: 'igo.integration.workspace.zoomAuto.title',\n tooltip: 'igo.integration.workspace.zoomAuto.tooltip',\n checkCondition: this.zoomAuto$,\n handler: () => {\n handleZoomAuto(workspace, this.storageService);\n this.storageService.set(\n 'zoomAuto',\n !this.storageService.get('zoomAuto') as boolean\n );\n }\n },\n {\n id: 'filterInMapExtent',\n checkbox: true,\n title: 'igo.integration.workspace.inMapExtent.title',\n tooltip: mapExtentStrategyActiveToolTip(workspace),\n checkCondition: rowsInMapExtentCheckCondition$,\n handler: () => rowsInMapExtentCheckCondition$.next(!rowsInMapExtentCheckCondition$.value)\n },\n {\n id: 'selectedOnly',\n checkbox: true,\n title: 'igo.integration.workspace.selected.title',\n tooltip: 'igo.integration.workspace.selected.tooltip',\n checkCondition: selectOnlyCheckCondition$,\n handler: () => selectOnlyCheckCondition$.next(!selectOnlyCheckCondition$.value)\n },\n {\n id: 'clearselection',\n icon: 'select-off',\n title: 'igo.integration.workspace.clearSelection.title',\n tooltip: 'igo.integration.workspace.clearSelection.tooltip',\n handler: (ws: FeatureWorkspace) => {\n ws.entityStore.state.updateMany(ws.entityStore.view.all(), {\n selected: false\n });\n },\n args: [workspace],\n availability: (ws: FeatureWorkspace) => noElementSelected(ws)\n },\n {\n id: 'featureDownload',\n icon: 'file-export',\n title: 'igo.integration.workspace.download.title',\n tooltip: 'igo.integration.workspace.download.tooltip',\n handler: (ws: FeatureWorkspace) => {\n const filterStrategy = ws.entityStore.getStrategyOfType(\n EntityStoreFilterCustomFuncStrategy\n );\n const filterSelectionStrategy = ws.entityStore.getStrategyOfType(\n EntityStoreFilterSelectionStrategy\n );\n const layersWithSelection = filterSelectionStrategy.active\n ? [ws.layer.id]\n : [];\n this.toolState.toolToActivateFromOptions({\n tool: 'importExport',\n options: {\n layers: [ws.layer.id],\n featureInMapExtent: filterStrategy.active,\n layersWithSelection\n } as ExportOptions\n });\n },\n args: [workspace]\n },\n {\n id: 'maximize',\n title: this.languageService.translate.instant('igo.integration.workspace.maximize'),\n tooltip: this.languageService.translate.instant(\n 'igo.integration.workspace.maximizeTooltip'\n ),\n icon: 'resize',\n display: () => {\n return this.maximize$.pipe(map((v) => !v && !this.mediaService.isMobile()));\n },\n handler: () => {\n if (!this.mediaService.isMobile()) {\n this.maximize$.next(true);\n }\n },\n },\n {\n id: 'standardExtent',\n title: this.languageService.translate.instant(\n 'igo.integration.workspace.standardExtent'\n ),\n tooltip: this.languageService.translate.instant(\n 'igo.integration.workspace.standardExtentTooltip'\n ),\n icon: 'resize',\n display: () => {\n return this.maximize$.pipe(map((v) => v && !this.mediaService.isMobile()));\n },\n handler: () => {\n this.maximize$.next(false);\n }\n }\n ];\n }\n}\n","import { Inject, Injectable, OnDestroy } from '@angular/core';\n\nimport {\n Action,\n EntityStoreFilterCustomFuncStrategy,\n EntityStoreFilterSelectionStrategy,\n Widget\n} from '@igo2/common';\n\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport {\n WfsWorkspace,\n mapExtentStrategyActiveToolTip,\n noElementSelected,\n ExportOptions,\n OgcFilterWidget,\n OgcFilterableDataSource,\n} from '@igo2/geo';\nimport { StorageService, StorageServiceEvent, StorageServiceEventEnum, LanguageService, MediaService} from '@igo2/core';\nimport { StorageState } from '../../storage/storage.state';\nimport { map, skipWhile } from 'rxjs/operators';\nimport { ToolState } from '../../tool/tool.state';\nimport { handleZoomAuto } from './workspace.utils';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WfsActionsService implements OnDestroy {\n\n public maximize$: BehaviorSubject<boolean> = new BehaviorSubject(\n this.storageService.get('workspaceMaximize') as boolean\n );\n\n selectOnlyCheckCondition$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n // rowsInMapExtentCheckCondition$: BehaviorSubject<boolean> = new BehaviorSubject(true);\n zoomAuto$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n private storageChange$$: Subscription;\n\n get storageService(): StorageService {\n return this.storageState.storageService;\n }\n\n get zoomAuto(): boolean {\n return this.storageService.get('zoomAuto') as boolean;\n }\n\n constructor(\n @Inject(OgcFilterWidget) private ogcFilterWidget: Widget,\n private storageState: StorageState,\n public languageService: LanguageService,\n private mediaService: MediaService,\n private toolState: ToolState) {}\n\n ngOnDestroy(): void {\n if (this.storageChange$$) {\n this.storageChange$$.unsubscribe();\n }\n }\n\n loadActions(\n workspace: WfsWorkspace,\n rowsInMapExtentCheckCondition$: BehaviorSubject<boolean>,\n selectOnlyCheckCondition$: BehaviorSubject<boolean>\n ) {\n const actions = this.buildActions(\n workspace,\n rowsInMapExtentCheckCondition$,\n selectOnlyCheckCondition$\n );\n workspace.actionStore.load(actions);\n }\n\n buildActions(\n workspace: WfsWorkspace,\n rowsInMapExtentCheckCondition$: BehaviorSubject<boolean>,\n selectOnlyCheckCondition$: BehaviorSubject<boolean>\n ): Action[] {\n this.zoomAuto$.next(this.zoomAuto);\n this.storageChange$$ = this.storageService.storageChange$\n .pipe(skipWhile((storageChange: StorageServiceEvent) =>\n storageChange?.key !== 'zoomAuto' || storageChange?.event === StorageServiceEventEnum.CLEARED))\n .subscribe(() => {\n this.zoomAuto$.next(this.zoomAuto);\n handleZoomAuto(workspace, this.storageService);\n });\n const actions = [\n {\n id: 'zoomAuto',\n checkbox: true,\n title: 'igo.integration.workspace.zoomAuto.title',\n tooltip: 'igo.integration.workspace.zoomAuto.tooltip',\n checkCondition: this.zoomAuto$,\n handler: () => {\n handleZoomAuto(workspace, this.storageService);\n this.storageService.set('zoomAuto', !this.storageService.get('zoomAuto') as boolean);\n }\n },\n {\n id: 'filterInMapExtent',\n checkbox: true,\n title: 'igo.integration.workspace.inMapExtent.title',\n tooltip: mapExtentStrategyActiveToolTip(workspace),\n checkCondition: rowsInMapExtentCheckCondition$,\n handler: () => rowsInMapExtentCheckCondition$.next(!rowsInMapExtentCheckCondition$.value)\n },\n {\n id: 'selectedOnly',\n checkbox: true,\n title: 'igo.integration.workspace.selected.title',\n tooltip: 'igo.integration.workspace.selected.title',\n checkCondition: selectOnlyCheckCondition$,\n handler: () => selectOnlyCheckCondition$.next(!selectOnlyCheckCondition$.value)\n },\n {\n id: 'clearselection',\n icon: 'select-off',\n title: 'igo.integration.workspace.clearSelection.title',\n tooltip: 'igo.integration.workspace.clearSelection.tooltip',\n handler: (ws: WfsWorkspace) => {\n ws.entityStore.state.updateMany(ws.entityStore.view.all(), { selected: false });\n },\n args: [workspace],\n availability: (ws: WfsWorkspace) => noElementSelected(ws)\n },\n {\n id: 'wfsDownload',\n icon: 'file-export',\n title: 'igo.integration.workspace.download.title',\n tooltip: 'igo.integration.workspace.download.tooltip',\n handler: (ws: WfsWorkspace) => {\n const filterStrategy = ws.entityStore.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);\n const filterSelectionStrategy = ws.entityStore.getStrategyOfType(EntityStoreFilterSelectionStrategy);\n const layersWithSelection = filterSelectionStrategy.active ? [ws.layer.id] : [];\n this.toolState.toolToActivateFromOptions({\n tool: 'importExport',\n options: { layers: [ws.layer.id], featureInMapExtent: filterStrategy.active, layersWithSelection } as ExportOptions\n });\n },\n args: [workspace]\n },\n {\n id: 'ogcFilter',\n icon: 'filter',\n title: 'igo.integration.workspace.ogcFilter.title',\n tooltip: 'igo.integration.workspace.ogcFilter.tooltip',\n handler: (widget: Widget, ws: WfsWorkspace) => {\n ws.activateWidget(widget, {\n map: ws.map,\n layer: ws.layer\n });\n },\n args: [this.ogcFilterWidget, workspace]\n },\n {\n id: 'maximize',\n title: this.languageService.translate.instant('igo.integration.workspace.maximize'),\n tooltip: this.languageService.translate.instant(\n 'igo.integration.workspace.maximizeTooltip'\n ),\n icon: 'resize',\n display: () => {\n return this.maximize$.pipe(map((v) => !v && !this.mediaService.isMobile()));\n },\n handler: () => {\n if (!this.mediaService.isMobile()) {\n this.maximize$.next(true);\n }\n },\n },\n {\n id: 'standardExtent',\n title: this.languageService.translate.instant(\n 'igo.integration.workspace.standardExtent'\n ),\n tooltip: this.languageService.translate.instant(\n 'igo.integration.workspace.standardExtentTooltip'\n ),\n icon: 'resize',\n display: () => {\n return this.maximize$.pipe(map((v) => v && !this.mediaService.isMobile()));\n },\n handler: () => {\n this.maximize$.next(false);\n }\n }\n ];\n return (workspace.layer.dataSource as OgcFilterableDataSource).ogcFilters$?.value?.enabled ?\n actions : actions.filter(action => action.id !== 'ogcFilter');\n }\n}\n","import { Inject, Injectable, OnDestroy } from '@angular/core';\n\nimport {\n Action,\n EntityStoreFilterCustomFuncStrategy,\n EntityStoreFilterSelectionStrategy,\n Widget\n} from '@igo2/common';\n\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport {\n EditionWorkspace,\n mapExtentStrategyActiveToolTip,\n noElementSelected,\n ExportOptions,\n OgcFilterWidget,\n OgcFilterableDataSource,\n} from '@igo2/geo';\nimport { StorageService, StorageServiceEvent, StorageServiceEventEnum, LanguageService, MediaService} from '@igo2/core';\nimport { StorageState } from '../../storage/storage.state';\nimport { map, skipWhile } from 'rxjs/operators';\nimport { ToolState } from '../../tool/tool.state';\nimport { handleZoomAuto } from './workspace.utils';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EditionActionsService implements OnDestroy {\n\n public maximize$: BehaviorSubject<boolean> = new BehaviorSubject(\n this.storageService.get('workspaceMaximize') as boolean\n );\n\n zoomAuto$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n private storageChange$$: Subscription;\n\n get storageService(): StorageService {\n return this.storageState.storageService;\n }\n\n get zoomAuto(): boolean {\n return this.storageService.get('zoomAuto') as boolean;\n }\n\n constructor(\n @Inject(OgcFilterWidget) private ogcFilterWidget: Widget,\n private storageState: StorageState,\n public languageService: LanguageService,\n private mediaService: MediaService,\n private toolState: ToolState) {}\n\n ngOnDestroy(): void {\n if (this.storageChange$$) {\n this.storageChange$$.unsubscribe();\n }\n }\n\n loadActions(\n workspace: EditionWorkspace,\n rowsInMapExtentCheckCondition$: BehaviorSubject<boolean>,\n selectOnlyCheckCondition$: BehaviorSubject<boolean>\n ) {\n const actions = this.buildActions(\n workspace,\n rowsInMapExtentCheckCondition$,\n selectOnlyCheckCondition$\n );\n workspace.actionStore.load(actions);\n }\n\n buildActions(\n workspace: EditionWorkspace,\n rowsInMapExtentCheckCondition$: BehaviorSubject<boolean>,\n selectOnlyCheckCondition$: BehaviorSubject<boolean>\n ): Action[] {\n this.zoomAuto$.next(this.zoomAuto);\n this.storageChange$$ = this.storageService.storageChange$\n .pipe(skipWhile((storageChange: StorageServiceEvent) =>\n storageChange?.key !== 'zoomAuto' || storageChange?.event === StorageServiceEventEnum.CLEARED))\n .subscribe(() => {\n this.zoomAuto$.next(this.zoomAuto);\n handleZoomAuto(workspace, this.storageService);\n });\n const actions = [\n {\n id: 'zoomAuto',\n checkbox: true,\n title: 'igo.integration.workspace.zoomAuto.title',\n tooltip: 'igo.integration.workspace.zoomAuto.tooltip',\n checkCondition: this.zoomAuto$,\n handler: () => {\n handleZoomAuto(workspace, this.storageService);\n this.storageService.set('zoomAuto', !this.storageService.get('zoomAuto') as boolean);\n }\n },\n {\n id: 'filterInMapExtent',\n checkbox: true,\n title: 'igo.integration.workspace.inMapExtent.title',\n tooltip: mapExtentStrategyActiveToolTip(workspace),\n checkCondition: rowsInMapExtentCheckCondition$,\n handler: () => rowsInMapExtentCheckCondition$.next(!rowsInMapExtentCheckCondition$.value)\n },\n {\n id: 'selectedOnly',\n checkbox: true,\n title: 'igo.integration.workspace.selected.title',\n tooltip: 'igo.integration.workspace.selected.title',\n checkCondition: selectOnlyCheckCondition$,\n handler: () => selectOnlyCheckCondition$.next(!selectOnlyCheckCondition$.value)\n },\n {\n id: 'clearselection',\n icon: 'select-off',\n title: 'igo.integration.workspace.clearSelection.title',\n tooltip: 'igo.integration.workspace.clearSelection.tooltip',\n handler: (ws: EditionWorkspace) => {\n ws.entityStore.state.updateMany(ws.entityStore.view.all(), { selected: false });\n },\n args: [workspace],\n availability: (ws: EditionWorkspace) => noElementSelected(ws)\n },\n {\n id: 'wfsDownload',\n icon: 'file-export',\n title: 'igo.integration.workspace.download.title',\n tooltip: 'igo.integration.workspace.download.tooltip',\n handler: (ws: EditionWorkspace) => {\n const filterStrategy = ws.entityStore.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);\n const filterSelectionStrategy = ws.entityStore.getStrategyOfType(EntityStoreFilterSelectionStrategy);\n const layersWithSelection = filterSelectionStrategy.active ? [ws.layer.id] : [];\n this.toolState.toolToActivateFromOptions({\n tool: 'importExport',\n options: { layers: [ws.layer.id], featureInMapExtent: filterStrategy.active, layersWithSelection } as ExportOptions\n });\n },\n args: [workspace]\n },\n {\n id: 'ogcFilter',\n icon: 'filter',\n title: 'igo.integration.workspace.ogcFilter.title',\n tooltip: 'igo.integration.workspace.ogcFilter.tooltip',\n handler: (widget: Widget, ws: EditionWorkspace) => {\n ws.activateWidget(widget, {\n map: ws.map,\n layer: ws.layer\n });\n },\n args: [this.ogcFilterWidget, workspace]\n },\n {\n id: 'maximize',\n title: this.languageService.translate.instant('igo.integration.workspace.maximize'),\n tooltip: this.languageService.translate.instant(\n 'igo.integration.workspace.maximizeTooltip'\n ),\n icon: 'resize',\n display: () => {\n return this.maximize$.pipe(map((v) => !v && !this.mediaService.isMobile()));\n },\n handler: () => {\n if (!this.mediaService.isMobile()) {\n this.maximize$.next(true);\n }\n },\n },\n {\n id: 'standardExtent',\n title: this.languageService.translate.instant(\n 'igo.integration.workspace.standardExtent'\n ),\n tooltip: this.languageService.translate.instant(\n 'igo.integration.workspace.standardExtentTooltip'\n ),\n icon: 'resize',\n display: () => {\n return this.maximize$.pipe(map((v) => v && !this.mediaService.isMobile()));\n },\n handler: () => {\n this.maximize$.next(false);\n }\n }\n ];\n return (workspace.layer.dataSource as OgcFilterableDataSource).ogcFilters$?.value?.enabled ?\n actions : actions.filter(action => action.id !== 'ogcFilter');\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { BehaviorSubject, Subscription } from 'rxjs';\n\nimport {\n EntityRecord,\n Workspace,\n WorkspaceStore,\n Widget,\n EntityStoreFilterCustomFuncStrategy,\n EntityStoreFilterSelectionStrategy } from '@igo2/common';\nimport { WfsWorkspace, FeatureWorkspace, EditionWorkspace } from '@igo2/geo';\nimport { FeatureActionsService } from './shared/feature-actions.service';\nimport { WfsActionsService } from './shared/wfs-actions.service';\nimport { StorageService } from '@igo2/core';\nimport { EditionActionsService } from './shared/edition-actions.service';\n\n/**\n * Service that holds the state of the workspace module\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class WorkspaceState implements OnDestroy {\n\n public workspacePanelExpanded: boolean = false;\n\n readonly workspaceEnabled$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n readonly rowsInMapExtentCheckCondition$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(true);\n readonly selectOnlyCheckCondition$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n readonly workspaceMaximize$: BehaviorSubject<boolean> = new BehaviorSubject(\n this.storageService.get('workspaceMaximize') as boolean\n );\n private actionMaximize$$: Subscription[] = [];\n\n private rowsInMapExtentCheckCondition$$: Subscription;\n private selectOnlyCheckCondition$$: Subscription;\n\n /** Subscription to the active workspace */\n private activeWorkspace$$: Subscription;\n\n /** Subscription to the active workspace widget */\n private activeWorkspaceWidget$$: Subscription;\n\n /** Active widget observable. Only one may be active for all available workspaces */\n readonly activeWorkspaceWidget$: BehaviorSubject<Widget> = new BehaviorSubject<Widget>(undefined);\n\n /**\n * Observable of the active workspace\n */\n public workspace$ = new BehaviorSubject<Workspace>(undefined);\n\n /**\n * Store that holds all the available workspaces\n */\n get store(): WorkspaceStore { return this._store; }\n private _store: WorkspaceStore;\n\n constructor(\n private featureActionsService: FeatureActionsService,\n private wfsActionsService: WfsActionsService,\n private editionActionsService: EditionActionsService,\n private storageService: StorageService\n ) {\n this.initWorkspaces();\n }\n\n /**\n * Initialize the workspace store. Each time a workspace is activated,\n * subscribe to it's active widget. Tracking the active widget is useful\n * to make sure only one widget is active at a time.\n */\n private initWorkspaces() {\n this._store = new WorkspaceStore([]);\n this._store.stateView\n .firstBy$((record: EntityRecord<Workspace>) => record.state.active === true)\n .subscribe((record: EntityRecord<Workspace>) => {\n const workspace = record ? record.entity : undefined;\n this.workspace$.next(workspace);\n });\n\n this._store.stateView.all$()\n .subscribe((workspaces: EntityRecord<Workspace>[]) => {\n workspaces.map((wks: EntityRecord<Workspace>) => {\n if (wks.entity.actionStore.empty) {\n if (wks.entity instanceof WfsWorkspace) {\n this.wfsActionsService.loadActions(\n wks.entity,\n this.rowsInMapExtentCheckCondition$,\n this.selectOnlyCheckCondition$);\n } else if (wks.entity instanceof FeatureWorkspace) {\n this.featureActionsService.loadActions(\n wks.entity,\n this.rowsInMapExtentCheckCondition$,\n this.selectOnlyCheckCondition$);\n } else if (wks.entity instanceof EditionWorkspace) {\n this.editionActionsService.loadActions(\n wks.entity,\n this.rowsInMapExtentCheckCondition$,\n this.selectOnlyCheckCondition$);\n }\n }\n\n });\n });\n\n this.actionMaximize$$.push(this.featureActionsService.maximize$.subscribe(maximized => {\n this.setWorkspaceIsMaximized(maximized);\n }));\n\n this.actionMaximize$$.push(this.wfsActionsService.maximize$.subscribe(maximized => {\n this.setWorkspaceIsMaximized(maximized);\n }));\n\n this.actionMaximize$$.push(this.editionActionsService.maximize$.subscribe(maximized => {\n this.setWorkspaceIsMaximized(maximized);\n }));\n\n this.activeWorkspace$$ = this.workspace$\n .subscribe((workspace: Workspace) => {\n if (this.activeWorkspaceWidget$$ !== undefined) {\n this.activeWorkspaceWidget$$.unsubscribe();\n this.activeWorkspaceWidget$$ = undefined;\n }\n\n if (workspace !== undefined) {\n this.activeWorkspaceWidget$$ = workspace.widget$\n .subscribe((widget: Widget) => this.activeWorkspaceWidget$.next(widget));\n }\n });\n\n this.rowsInMapExtentCheckCondition$$ = this.rowsInMapExtentCheckCondition$.subscribe((rowsInMapExtent) => {\n this._store.stateView.all().map((wks: EntityRecord<Workspace>) => {\n if (!wks.entity.actionStore.empty) {\n const filterStrategy = wks.entity.entityStore.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);\n if (filterStrategy) {\n if (rowsInMapExtent) {\n filterStrategy.activate();\n } else {\n filterStrategy.deactivate();\n }\n }\n }\n });\n });\n\n this.selectOnlyCheckCondition$$ = this.selectOnlyCheckCondition$.subscribe((selectOnly) => {\n this._store.stateView.all().map((wks: EntityRecord<Workspace>) => {\n if (!wks.entity.actionStore.empty) {\n const filterStrategy = wks.entity.entityStore.getStrategyOfType(EntityStoreFilterSelectionStrategy);\n if (filterStrategy) {\n if (selectOnly) {\n filterStrategy.activate();\n } else {\n filterStrategy.deactivate();\n }\n }\n }\n });\n });\n }\n\n private setWorkspaceIsMaximized(maximized: boolean) {\n this.storageService.set('workspaceMaximize', maximized);\n this.workspaceMaximize$.next(maximized);\n }\n\n public setActiveWorkspaceById(id: string) {\n const wksFromId = this.store\n .all()\n .find(workspace => workspace.id === id);\n if (wksFromId) {\n this.store.activateWorkspace(wksFromId);\n }\n }\n\n public setActiveWorkspaceByTitle(title: string) {\n const wksFromTitle = this.store\n .all()\n .find(workspace => workspace.title === title);\n if (wksFromTitle) {\n this.store.activateWorkspace(wksFromTitle);\n }\n }\n\n /**\n * Teardown all the workspaces\n * @internal\n */\n ngOnDestroy() {\n this.teardownWorkspaces();\n this.actionMaximize$$.map(a => a.unsubscribe());\n if (this.rowsInMapExtentCheckCondition$$) {\n this.selectOnlyCheckCondition$$.unsubscribe();\n }\n if (this.selectOnlyCheckCondition$$) {\n this.selectOnlyCheckCondition$$.unsubscribe();\n }\n }\n\n /**\n * Teardown the workspace store and any subscribers\n */\n private teardownWorkspaces() {\n this.store.clear();\n if (this.activeWorkspaceWidget$$ !== undefined) {\n this.activeWorkspaceWidget$$.unsubscribe();\n }\n if (this.activeWorkspace$$ !== undefined) {\n this.activeWorkspace$$.unsubscribe();\n }\n }\n\n}\n","<button\n *ngIf=\"hasWorkspace$ | async\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.integration.workspace.toggleWorkspace' | translate\"\n [color]=\"color\"\n (click)=\"activateWorkspace()\"\n >\n <mat-icon svgIcon=\"table\"></mat-icon>\n</button>\n","import { Component, Input, ChangeDetectionStrategy, OnInit, OnDestroy } from '@angular/core';\nimport type { Layer } from '@igo2/geo';\nimport { WorkspaceState } from '../workspace.state';\nimport { BehaviorSubject, combineLatest, Subscription } from 'rxjs';\n\n@Component({\n selector: 'igo-workspace-button',\n templateUrl: './workspace-button.component.html',\n styleUrls: ['./workspace-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WorkspaceButtonComponent implements OnInit, OnDestroy {\n\n public hasWorkspace$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n private hasWorkspace$$: Subscription;\n\n private _layer: Layer;\n private layer$: BehaviorSubject<Layer> = new BehaviorSubject(undefined);\n @Input()\n set layer(value: Layer) {\n this._layer = value;\n this.layer$.next(this._layer);\n }\n\n get layer(): Layer {\n return this._layer;\n }\n\n @Input() color: string = 'primary';\n\n constructor(private workspaceState: WorkspaceState) { }\n\n ngOnInit(): void {\n this.hasWorkspace$$ = combineLatest([this.workspaceState.workspaceEnabled$, this.layer$])\n .subscribe(bunch => this.hasWorkspace$.next(bunch[0] && bunch[1]?.options.workspace?.enabled)\n );\n }\n\n ngOnDestroy(): void {\n this.hasWorkspace$$.unsubscribe();\n }\n\n activateWorkspace() {\n if (\n this.workspaceState.workspace$.value &&\n (this.workspaceState.workspace$.value as any).layer.id === this.layer.id &&\n this.workspaceState.workspacePanelExpanded) {\n this.workspaceState.workspacePanelExpanded = false;\n } else {\n this.workspaceState.workspacePanelExpanded = true;\n this.workspaceState.setActiveWorkspaceById(this.layer.id);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { WorkspaceButtonComponent } from './workspace-button/workspace-button.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatIconModule } from '@angular/material/icon';\nimport { IgoLanguageModule } from '@igo2/core';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n imports: [\n CommonModule,\n MatIconModule,\n MatButtonModule,\n MatTooltipModule,\n IgoLanguageModule\n ],\n declarations: [WorkspaceButtonComponent],\n exports: [WorkspaceButtonComponent]\n})\nexport class IgoAppWorkspaceModule {}\n","<mat-tab-group *ngIf=\"importExportShowBothType\" >\n <mat-tab [label]=\"'igo.integration.importExportTool.importExportData' | translate\">\n <igo-import-export \n [map]=\"map\"\n [selectFirstProj]=\"selectFirstProj\"\n [projectionsLimitations]=\"projectionsLimitations\"\n [store]=\"workspaceStore\"\n [selectedMode]=\"importExportState.selectedMode$ | async\"\n (selectMode)=\"modeChanged($event)\"\n [exportOptions$]=\"importExportState.exportOptions$\"\n (exportOptionsChange)=\"exportOptionsChange($event)\">\n </igo-import-export>\n </mat-tab>\n <mat-tab [label]=\"'igo.integration.importExportTool.importExportContext' | translate\">\n <igo-context-import-export [map]=\"map\"></igo-context-import-export>\n </mat-tab>\n</mat-tab-group>\n\n<igo-import-export \n *ngIf=\"!importExportShowBothType && importExportType === 'layer'\"\n [map]=\"map\"\n [store]=\"workspaceStore\"\n [selectedMode]=\"importExportState.selectedMode$ | async\"\n (selectMode)=\"modeChanged($event)\"\n [exportOptions$]=\"importExportState.exportOptions$\"\n (exportOptionsChange)=\"exportOptionsChange($event)\">\n</igo-import-export>\n\n<igo-context-import-export \n *ngIf=\"!importExportShowBothType && importExportType === 'context'\"\n [map]=\"map\">\n</igo-context-import-export>","import { Component, ChangeDetectionStrategy, OnInit, Input } from '@angular/core';\n\nimport { ToolComponent } from '@igo2/common';\nimport type { WorkspaceStore } from '@igo2/common';\nimport { IgoMap, ExportOptions, ProjectionsLimitationsOptions } from '@igo2/geo';\n\nimport { MapState } from '../../map/map.state';\nimport { ImportExportMode, ImportExportState, ImportExportType } from '../import-export.state';\nimport { WorkspaceState } from '../../workspace/workspace.state';\n\n@ToolComponent({\n name: 'importExport',\n title: 'igo.integration.tools.importExport',\n icon: 'file-move'\n})\n@Component({\n selector: 'igo-import-export-tool',\n templateUrl: './import-export-tool.component.html',\n styleUrls: ['./import-export-tool.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ImportExportToolComponent implements OnInit {\n\n @Input() projectionsLimitations: ProjectionsLimitationsOptions;\n\n @Input() selectFirstProj: boolean = false;\n\n /**\n * Map to measure on\n * @internal\n */\n get map(): IgoMap { return this.mapState.map; }\n\n get workspaceStore(): WorkspaceStore {\n return this.workspaceState.store;\n }\n\n @Input() importExportType: ImportExportType = ImportExportType.layer;\n @Input() importExportShowBothType: boolean = true;\n\n constructor(\n private mapState: MapState,\n public importExportState: ImportExportState,\n private workspaceState: WorkspaceState,\n ) {}\n\n ngOnInit(): void {\n this.selectType();\n this.selectMode();\n }\n\n private selectType() {\n if (this.importExportType) {\n this.importExportState.importExportType$.next(this.importExportType);\n }\n const userSelectedType = this.importExportState.importExportType$.value;\n if (userSelectedType !== undefined) {\n this.importExportState.setImportExportType(userSelectedType);\n } else {\n this.importExportState.setImportExportType(ImportExportType.layer);\n }\n }\n\n private selectMode() {\n const userSelectedMode = this.importExportState.selectedMode$.value;\n if (userSelectedMode !== undefined) {\n this.importExportState.setMode(userSelectedMode);\n } else {\n this.importExportState.setMode(ImportExportMode.import);\n\n }\n }\n\n public modeChanged(mode: ImportExportMode) {\n this.importExportState.setMode(mode);\n }\n\n public exportOptionsChange(exportOptions: ExportOptions) {\n this.importExportState.setsExportOptions(exportOptions);\n }\n\n importExportTypeChange(event) {\n this.importExportType = event.value;\n }\n}\n","import {\n NgModule,\n ModuleWithProviders,\n CUSTOM_ELEMENTS_SCHEMA\n} from '@angular/core';\n\nimport { IgoImportExportModule } from '@igo2/geo';\nimport { ImportExportToolComponent } from './import-export-tool/import-export-tool.component';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatTabsModule } from '@angular/material/tabs';\n\nimport { IgoLanguageModule } from '@igo2/core';\nimport { IgoContextImportExportModule } from '@igo2/context';\n\n@NgModule({\n imports: [\n IgoImportExportModule,\n IgoContextImportExportModule,\n CommonModule,\n IgoLanguageModule,\n MatButtonToggleModule,\n MatTabsModule\n ],\n declarations: [ImportExportToolComponent],\n exports: [ImportExportToolComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class IgoAppImportExportModule {\n static forRoot(): ModuleWithProviders<IgoAppImportExportModule> {\n return {\n ngModule: IgoAppImportExportModule,\n providers: []\n };\n }\n}\n","<igo-layer-list class=\"mapDetailsList\" *ngIf=\"(layers$ | async).length; else empty\"\n [map]=\"map\"\n igoLayerListBinding\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [layerFilterAndSortOptions]=\"layerFilterAndSortOptions\"\n [expandLegendOfVisibleLayers]=\"expandLegendOfVisibleLayers\"\n [toggleLegendOnVisibilityChange]=\"toggleLegendOnVisibilityChange\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n floatLabel=\"never\"\n [queryBadge]=\"queryBadge\">\n\n <ng-template #igoLayerItemToolbar let-layer=\"layer\">\n <!-- <igo-download-button [layer]=\"layer\"></igo-download-button> -->\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\n <igo-export-button [layer]=\"layer\" (click)=\"activateExport(layer)\"></igo-export-button>\n <igo-ogc-filter-button [header]=\"ogcButton\" [layer]=\"layer\"></igo-ogc-filter-button>\n <igo-time-filter-button [header]=\"timeButton\" [layer]=\"layer\"></igo-time-filter-button>\n <igo-track-feature-button [trackFeature]=\"true\" [layer]=\"layer\"></igo-track-feature-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n </ng-template>\n\n</igo-layer-list>\n\n<ng-template #empty>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{'igo.integration.mapTool.empty' | translate}}</p>\n <p *ngIf=\"layerAdditionAllowed && (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\" class=\"map-empty mat-typography\">\n {{'igo.integration.mapTool.customize' | translate}}</p>\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%' preserveAspectRatio='xMidYMid meet' focusable='false'> <path d='M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z'> </path> </svg></mat-icon>\n <h4 matLine class=\"search-tool mat-typography\" (click)=\"searchEmit()\">\n {{'igo.integration.mapTool.search-tool' | translate}}\n </h4>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%' preserveAspectRatio='xMidYMid meet' focusable='false'> <path d='M17,14H19V17H22V19H19V22H17V19H14V17H17V14M11,16L2,9L11,2L20,9L11,16M11,18.54L12,17.75V18C12,18.71 12.12,19.39 12.35,20L11,21.07L2,14.07L3.62,12.81L11,18.54Z'></path> </svg></mat-icon>\n <h4 matLine class=\"catalog-tool mat-typography\" (click)=\"catalogEmit()\">\n {{'igo.integration.mapTool.catalog-tool' | translate}}\n </h4>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%' preserveAspectRatio='xMidYMid meet' focusable='false'> <path d='M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z'></path> </svg></mat-icon>\n <h4 matLine class=\"context-tool mat-typography\" (click)=\"contextEmit()\">\n {{'igo.integration.mapTool.context-tool' | translate}}\n </h4>\n </mat-list-item>\n </mat-list>\n</ng-template>\n","import { Component, Input, OnInit, ChangeDetectorRef } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { ToolComponent } from '@igo2/common';\nimport {\n LayerListControlsEnum,\n Layer,\n IgoMap,\n LayerListControlsOptions,\n SearchSourceService,\n sourceCanSearch,\n ExportOptions\n} from '@igo2/geo';\n\nimport { ToolState } from './../../tool/tool.state';\nimport { MapState } from './../map.state';\nimport { ImportExportMode, ImportExportState } from '../../import-export/import-export.state';\n\n@ToolComponent({\n name: 'mapDetails',\n title: 'igo.integration.tools.map',\n icon: 'map'\n})\n@Component({\n selector: 'igo-map-details-tool',\n templateUrl: './map-details-tool.component.html',\n styleUrls: ['./map-details-tool.component.scss']\n})\nexport class MapDetailsToolComponent implements OnInit {\n public delayedShowEmptyMapContent: boolean = false;\n\n @Input() toggleLegendOnVisibilityChange: boolean = false;\n\n @Input() expandLegendOfVisibleLayers: boolean = false;\n\n @Input() updateLegendOnResolutionChange: boolean = false;\n\n @Input() ogcButton: boolean = true;\n\n @Input() timeButton: boolean = true;\n\n @Input() layerListControls: LayerListControlsOptions = {};\n\n @Input() queryBadge: boolean = false;\n\n @Input() layerAdditionAllowed: boolean = true;\n\n get map(): IgoMap {\n return this.mapState.map;\n }\n\n get layers$(): Observable<Layer[]> {\n return this.map.layers$.pipe(\n map((layers) =>\n layers.filter(\n (layer) =>\n layer.showInLayerList !== false &&\n (!this.excludeBaseLayers || !layer.baseLayer)\n )\n )\n );\n }\n\n get excludeBaseLayers(): boolean {\n return this.layerListControls.excludeBaseLayers || false;\n }\n\n get layerFilterAndSortOptions(): any {\n const filterSortOptions = Object.assign(\n {\n showToolbar: LayerListControlsEnum.default\n },\n this.layerListControls\n );\n\n switch (this.layerListControls.showToolbar) {\n case LayerListControlsEnum.always:\n filterSortOptions.showToolbar = LayerListControlsEnum.always;\n break;\n case LayerListControlsEnum.never:\n filterSortOptions.showToolbar = LayerListControlsEnum.never;\n break;\n default:\n break;\n }\n return filterSortOptions;\n }\n\n get searchToolInToolbar(): boolean {\n return (\n this.toolState.toolbox.getToolbar().indexOf('searchResults') !== -1 &&\n this.searchSourceService\n .getSources()\n .filter(sourceCanSearch)\n .filter((s) => s.available && s.getType() === 'Layer').length > 0\n );\n }\n\n get catalogToolInToolbar(): boolean {\n return this.toolState.toolbox.getToolbar().indexOf('catalog') !== -1;\n }\n\n get contextToolInToolbar(): boolean {\n return this.toolState.toolbox.getToolbar().indexOf('contextManager') !== -1;\n }\n\n constructor(\n private mapState: MapState,\n private toolState: ToolState,\n private searchSourceService: SearchSourceService,\n private cdRef: ChangeDetectorRef,\n private importExportState: ImportExportState\n ) {}\n\n ngOnInit(): void {\n // prevent message to be shown too quickly. Waiting for layers\n setTimeout(() => {\n this.delayedShowEmptyMapContent = true;\n this.cdRef.detectChanges();\n }, 250);\n }\n\n searchEmit() {\n this.toolState.toolbox.activateTool('searchResults');\n }\n\n catalogEmit() {\n this.toolState.toolbox.activateTool('catalog');\n }\n\n contextEmit() {\n this.toolState.toolbox.activateTool('contextManager');\n }\n\n activateExport(layer: Layer) {\n let id = layer.id;\n if (layer.options.workspace?.workspaceId) {\n id = layer.options.workspace.workspaceId !== layer.id ? layer.options.workspace.workspaceId : layer.id;\n }\n this.importExportState.setsExportOptions({ layers: [id] } as ExportOptions);\n this.importExportState.setMode(ImportExportMode.export);\n this.toolState.toolbox.activateTool('importExport');\n }\n}\n","<mat-tab-group>\n\n <mat-tab [label]=\"'igo.integration.tools.map' | translate\">\n <igo-layer-list\n [map]=\"map\"\n igoLayerListBinding\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [layerFilterAndSortOptions]=\"layerFilterAndSortOptions\"\n [expandLegendOfVisibleLayers]=\"expandLegendOfVisibleLayers\"\n [toggleLegendOnVisibilityChange]=\"toggleLegendOnVisibilityChange\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n [floatLabel]=\"false\"\n [queryBadge]=\"queryBadge\">\n\n <ng-template #igoLayerItemToolbar let-layer=\"layer\">\n <!-- <igo-download-button [layer]=\"layer\"></igo-download-button> -->\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\n <igo-export-button [layer]=\"layer\" (click)=\"activateExport(layer)\"></igo-export-button>\n <igo-ogc-filter-button [header]=\"ogcButton\" [layer]=\"layer\"></igo-ogc-filter-button>\n <igo-time-filter-button [header]=\"timeButton\" [layer]=\"layer\"></igo-time-filter-button>\n <igo-track-feature-button [trackFeature]=\"true\" [layer]=\"layer\"></igo-track-feature-button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n </ng-template>\n\n </igo-layer-list>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.contexts' | translate\">\n <igo-context-list igoContextListBinding></igo-context-list>\n </mat-tab>\n\n</mat-tab-group>\n","import { Component, ChangeDetectionStrategy, Input } from '@angular/core';\n\nimport { ToolComponent } from '@igo2/common';\nimport {\n LayerListControlsEnum,\n LayerListControlsOptions,\n IgoMap,\n ExportOptions,\n Layer\n} from '@igo2/geo';\nimport { MapState } from './../map.state';\nimport { ImportExportMode, ImportExportState } from '../../import-export/import-export.state';\nimport { ToolState } from '../../tool/tool.state';\n\n/**\n * Tool to browse a map's layers or to choose a different map\n */\n@ToolComponent({\n name: 'map',\n title: 'igo.integration.tools.map',\n icon: 'map'\n})\n@Component({\n selector: 'igo-map-tool',\n templateUrl: './map-tool.component.html',\n styleUrls: ['./map-tool.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MapToolComponent {\n @Input() toggleLegendOnVisibilityChange: boolean = false;\n\n @Input() expandLegendOfVisibleLayers: boolean = false;\n\n @Input() updateLegendOnResolutionChange: boolean = false;\n\n @Input() ogcButton: boolean = true;\n\n @Input() timeButton: boolean = true;\n\n @Input() layerListControls: LayerListControlsOptions = {};\n\n @Input() queryBadge: boolean = false;\n\n get map(): IgoMap {\n return this.mapState.map;\n }\n\n get excludeBaseLayers(): boolean {\n return this.layerListControls.excludeBaseLayers || false;\n }\n\n get layerFilterAndSortOptions(): any {\n const filterSortOptions = Object.assign(\n {\n showToolbar: LayerListControlsEnum.default\n },\n this.layerListControls\n );\n\n switch (this.layerListControls.showToolbar) {\n case LayerListControlsEnum.always:\n filterSortOptions.showToolbar = LayerListControlsEnum.always;\n break;\n case LayerListControlsEnum.never:\n filterSortOptions.showToolbar = LayerListControlsEnum.never;\n break;\n default:\n break;\n }\n return filterSortOptions;\n }\n\n constructor(\n private mapState: MapState,\n private toolState: ToolState,\n private importExportState: ImportExportState\n ) {}\n\n activateExport(layer: Layer) {\n let id = layer.id;\n if (layer.options.workspace?.workspaceId) {\n id = layer.options.workspace.workspaceId !== layer.id ? layer.options.workspace.workspaceId : layer.id;\n }\n this.importExportState.setsExportOptions({ layers: [id] } as ExportOptions);\n this.importExportState.setMode(ImportExportMode.export);\n this.toolState.toolbox.activateTool('importExport');\n }\n}\n","<mat-tab-group\n #tabGroup\n [selectedIndex]=\"layerListToolState.selectedTab$ | async\"\n (selectedTabChange)=\"tabChanged($event)\">\n\n <mat-tab [label]=\"'igo.integration.tools.layers' | translate\">\n <igo-layer-list *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"\n igoLayerListBinding\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [layerFilterAndSortOptions]=\"layerFilterAndSortOptions\"\n [expandLegendOfVisibleLayers]=\"expandLegendOfVisibleLayers\"\n [toggleLegendOnVisibilityChange]=\"toggleLegendOnVisibilityChange\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n [floatLabel]=\"false\"\n [queryBadge]=\"queryBadge\"\n [map]=\"map\"\n (appliedFilterAndSort)= onLayerListChange($event)>\n\n <ng-template #igoLayerItemToolbar let-layer=\"layer\">\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n <igo-track-feature-button [trackFeature]=\"true\" [layer]=\"layer\"></igo-track-feature-button>\n <igo-time-filter-button *ngIf=\"isTimeFilterButton(layer)\" [header]=\"timeButton\" [layer]=\"layer\"\n (click)=\"activateTimeFilter()\"></igo-time-filter-button>\n <igo-ogc-filter-button *ngIf=\"isOGCFilterButton(layer)\" [header]=\"ogcButton\" [layer]=\"layer\"\n (click)=\"activateOgcFilter()\"></igo-ogc-filter-button>\n <igo-export-button *ngIf=\"isExportButton(layer)\" [layer]=\"layer\" (click)=\"activateExport(layer)\"></igo-export-button>\n <igo-workspace-button [layer]=\"layer\"></igo-workspace-button>\n </ng-template>\n </igo-layer-list>\n </mat-tab>\n\n <mat-tab [label]=\"'igo.integration.tools.legend' | translate\">\n <igo-layer-legend-list *ngIf=\"showAllLegend()\"\n igoLayerLegendListBinding\n [allowShowAllLegends]=\"allowShowAllLegends\"\n [showAllLegendsValue]=\"(showAllLegendsValue$ | async)\"\n (allLegendsShown)=\"onShowAllLegends($event)\"\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\">\n </igo-layer-legend-list>\n <ng-template *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"></ng-template>\n\n <p class=\"map-empty mat-typography\"\n *ngIf=\"!allowShowAllLegends && (layers$ | async).length !== 0 && (visibleOrInRangeLayers$ | async).length === 0\">\n {{ ((visibleLayers$ | async).length) ? ('igo.integration.mapTool.noLayersInRange' | translate) : ('igo.integration.mapTool.noLayersVisible' | translate) }}\n </p>\n </mat-tab>\n\n <ng-template #emptyLayers>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{'igo.integration.mapTool.empty' | translate}}</p>\n <p *ngIf=\"layerAdditionAllowed && (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\"\n class=\"map-empty mat-typography\">\n {{'igo.integration.mapTool.customize' | translate}}</p>\n\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%'\n preserveAspectRatio='xMidYMid meet' focusable='false'>\n <path\n d='M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z'>\n </path>\n </svg></mat-icon>\n <h4 matLine class=\"search-tool mat-typography\" (click)=\"searchEmit()\">\n {{'igo.integration.mapTool.search-tool' | translate}}\n </h4>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%'\n preserveAspectRatio='xMidYMid meet' focusable='false'>\n <path\n d='M17,14H19V17H22V19H19V22H17V19H14V17H17V14M11,16L2,9L11,2L20,9L11,16M11,18.54L12,17.75V18C12,18.71 12.12,19.39 12.35,20L11,21.07L2,14.07L3.62,12.81L11,18.54Z'>\n </path>\n </svg></mat-icon>\n <h4 matLine class=\"catalog-tool mat-typography\" (click)=\"catalogEmit()\">\n {{'igo.integration.mapTool.catalog-tool' | translate}}\n </h4>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%'\n preserveAspectRatio='xMidYMid meet' focusable='false'>\n <path\n d='M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z'>\n </path>\n </svg></mat-icon>\n <h4 matLine class=\"context-tool mat-typography\" (click)=\"contextEmit()\">\n {{'igo.integration.mapTool.context-tool' | translate}}\n </h4>\n </mat-list-item>\n </mat-list>\n </ng-template>\n</mat-tab-group>\n","import {\n Component,\n ChangeDetectionStrategy,\n Input,\n OnInit,\n ViewChild,\n OnDestroy\n} from '@angular/core';\n\nimport { ToolComponent } from '@igo2/common';\nimport {\n LayerListControlsEnum,\n LayerListControlsOptions,\n IgoMap,\n SearchSourceService,\n sourceCanSearch,\n Layer,\n ExportOptions,\n VectorLayer\n} from '@igo2/geo';\n\nimport { LayerListToolState } from '../layer-list-tool.state';\nimport { MatTabChangeEvent } from '@angular/material/tabs';\nimport { ToolState } from '../../tool/tool.state';\nimport { MapState } from '../map.state';\nimport { BehaviorSubject, Observable, Subscription, combineLatest } from 'rxjs';\nimport { map, debounceTime } from 'rxjs/operators';\nimport { ImportExportMode, ImportExportState } from '../../import-export/import-export.state';\n/**\n * Tool to browse a map's layers or to choose a different map\n */\n@ToolComponent({\n name: 'mapTools',\n title: 'igo.integration.tools.map',\n icon: 'map'\n})\n@Component({\n selector: 'igo-map-tools',\n templateUrl: './map-tools.component.html',\n styleUrls: ['./map-tools.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MapToolsComponent implements OnInit, OnDestroy {\n layers$: BehaviorSubject<Layer[]> = new BehaviorSubject([]);\n showAllLegendsValue$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n private resolution$$: Subscription;\n private visibleOrInRangeLayers$$: Subscription;\n public delayedShowEmptyMapContent: boolean = false;\n\n @Input() allowShowAllLegends: boolean = false;\n\n @Input() showAllLegendsValue: boolean = false;\n\n @Input() toggleLegendOnVisibilityChange: boolean = false;\n\n @Input() expandLegendOfVisibleLayers: boolean = false;\n\n @Input() updateLegendOnResolutionChange: boolean = false;\n\n @Input() selectedTabAtOpening: string;\n\n @Input() ogcButton: boolean = true;\n\n @Input() timeButton: boolean = true;\n\n @Input() layerAdditionAllowed: boolean = true;\n\n @Input()\n get layerListControls(): LayerListControlsOptions {\n return this._layerListControls;\n }\n set layerListControls(value: LayerListControlsOptions) {\n const stateOptions = this.layerListToolState.getLayerListControls();\n const stateKeyword = stateOptions.keyword;\n const stateOnlyVisible = stateOptions.onlyVisible;\n const stateSortAlpha = stateOptions.sortAlpha;\n\n value.keyword = stateKeyword !== '' ? stateKeyword : value.keyword;\n value.onlyVisible =\n stateOnlyVisible !== undefined ? stateOnlyVisible : value.onlyVisible;\n value.sortAlpha =\n stateSortAlpha !== undefined ? stateSortAlpha : value.sortAlpha;\n\n value.onlyVisible =\n value.onlyVisible === undefined ? false : value.onlyVisible;\n value.sortAlpha = value.sortAlpha === undefined ? false : value.sortAlpha;\n\n this._layerListControls = value;\n }\n private _layerListControls = {};\n\n get map(): IgoMap {\n return this.mapState.map;\n }\n\n @Input() queryBadge: boolean = false;\n\n get visibleOrInRangeLayers$(): Observable<Layer[]> {\n return this.layers$.pipe(\n map((layers) =>\n layers.filter(\n (layer) => layer.visible$.value && layer.isInResolutionsRange$.value\n )\n )\n );\n }\n\n get visibleLayers$(): Observable<Layer[]> {\n return this.layers$.pipe(\n map((layers) => layers.filter((layer) => layer.visible$.value))\n );\n }\n\n get excludeBaseLayers(): boolean {\n return this.layerListControls.excludeBaseLayers || false;\n }\n\n get layerFilterAndSortOptions(): LayerListControlsOptions {\n const filterSortOptions = Object.assign(\n {\n showToolbar: LayerListControlsEnum.default\n },\n this.layerListControls\n );\n\n switch (this.layerListControls.showToolbar) {\n case LayerListControlsEnum.always:\n filterSortOptions.showToolbar = LayerListControlsEnum.always;\n break;\n case LayerListControlsEnum.never:\n filterSortOptions.showToolbar = LayerListControlsEnum.never;\n break;\n default:\n break;\n }\n return filterSortOptions;\n }\n\n @ViewChild('tabGroup', { static: true }) tabGroup;\n\n get searchToolInToolbar(): boolean {\n return (\n this.toolState.toolbox.getToolbar().indexOf('searchResults') !== -1 &&\n this.searchSourceService\n .getSources()\n .filter(sourceCanSearch)\n .filter((s) => s.available && s.getType() === 'Layer').length > 0\n );\n }\n\n get catalogToolInToolbar(): boolean {\n return this.toolState.toolbox.getToolbar().indexOf('catalog') !== -1;\n }\n\n get contextToolInToolbar(): boolean {\n return this.toolState.toolbox.getToolbar().indexOf('contextManager') !== -1;\n }\n\n constructor(\n public layerListToolState: LayerListToolState,\n private toolState: ToolState,\n public mapState: MapState,\n private searchSourceService: SearchSourceService,\n private importExportState: ImportExportState\n ) {}\n\n ngOnInit(): void {\n this.selectedTab();\n this.resolution$$ = combineLatest([\n this.map.layers$,\n this.map.viewController.resolution$\n ])\n .pipe(debounceTime(10))\n .subscribe((bunch: [Layer[], number]) => {\n this.layers$.next(\n bunch[0].filter(\n (layer) =>\n layer.showInLayerList !== false &&\n (!this.excludeBaseLayers || !layer.baseLayer)\n )\n );\n });\n\n if (this.allowShowAllLegends) {\n this.mapState.showAllLegendsValue =\n this.mapState.showAllLegendsValue !== undefined\n ? this.mapState.showAllLegendsValue\n : this.showAllLegendsValue || false;\n this.showAllLegendsValue$.next(this.mapState.showAllLegendsValue);\n } else {\n this.showAllLegendsValue$.next(false);\n }\n\n // prevent message to be shown too quickly. Waiting for layers\n setTimeout(() => (this.delayedShowEmptyMapContent = true), 250);\n }\n\n ngOnDestroy(): void {\n this.resolution$$.unsubscribe();\n if (this.visibleOrInRangeLayers$$) {\n this.visibleOrInRangeLayers$$.unsubscribe();\n }\n }\n\n onShowAllLegends(event) {\n this.mapState.showAllLegendsValue = event;\n this.showAllLegendsValue$.next(event);\n }\n\n private selectedTab() {\n const userSelectedTab = this.layerListToolState.selectedTab$.value;\n if (userSelectedTab !== undefined) {\n this.layerListToolState.setSelectedTab(userSelectedTab);\n } else {\n if (this.selectedTabAtOpening === 'legend') {\n this.layerListToolState.setSelectedTab(1);\n } else {\n this.layerListToolState.setSelectedTab(0);\n }\n }\n }\n\n public tabChanged(tab: MatTabChangeEvent) {\n this.layerListToolState.setSelectedTab(tab.index);\n this.layers$.next(\n this.map.layers.filter(\n (layer) =>\n layer.showInLayerList !== false &&\n (!this.excludeBaseLayers || !layer.baseLayer)\n )\n );\n }\n\n onLayerListChange(appliedFilters: LayerListControlsOptions) {\n this.layerListToolState.setKeyword(appliedFilters.keyword);\n this.layerListToolState.setSortAlpha(appliedFilters.sortAlpha);\n this.layerListToolState.setOnlyVisible(appliedFilters.onlyVisible);\n }\n\n showAllLegend() {\n if (this.layers$.getValue().length === 0) {\n return false;\n } else if (\n this.layers$.getValue().length !== 0 &&\n this.allowShowAllLegends === false\n ) {\n let visibleOrInRangeLayers;\n this.visibleOrInRangeLayers$$ = this.visibleOrInRangeLayers$.subscribe((value) => {\n value.length === 0\n ? (visibleOrInRangeLayers = false)\n : (visibleOrInRangeLayers = true);\n });\n\n if (visibleOrInRangeLayers === false) {\n return false;\n }\n }\n return true;\n }\n\n activateExport(layer: Layer) {\n let id = layer.id;\n if (layer.options.workspace?.workspaceId) {\n id = layer.options.workspace.workspaceId !== layer.id ? layer.options.workspace.workspaceId : layer.id;\n }\n this.importExportState.setsExportOptions({ layers: [id] } as ExportOptions);\n this.importExportState.setMode(ImportExportMode.export);\n this.toolState.toolbox.activateTool('importExport');\n }\n\n activateTimeFilter() {\n this.toolState.toolbox.activateTool('activeTimeFilter');\n }\n\n activateOgcFilter() {\n this.toolState.toolbox.activateTool('activeOgcFilter');\n }\n\n searchEmit() {\n this.toolState.toolbox.activateTool('searchResults');\n }\n\n catalogEmit() {\n this.toolState.toolbox.activateTool('catalog');\n }\n\n contextEmit() {\n this.toolState.toolbox.activateTool('contextManager');\n }\n\n isTimeFilterButton(layer): boolean {\n const options = layer.dataSource.options;\n return this.timeButton && options.timeFilterable && options.timeFilter;\n }\n\n isOGCFilterButton(layer): boolean {\n const options = layer.dataSource.options;\n return this.ogcButton && options.ogcFilters && options.ogcFilters.enabled &&\n (options.ogcFilters.pushButtons || options.ogcFilters.checkboxes || options.ogcFilters.radioButtons\n || options.ogcFilters.select || options.ogcFilters.editable);\n }\n\n isExportButton(layer: Layer): boolean {\n if (\n (layer instanceof VectorLayer && layer.exportable === true) ||\n (layer.dataSource.options.download && layer.dataSource.options.download.url) ||\n (layer.options.workspace?.enabled && layer.options.workspace?.workspaceId !== layer.id))\n {\n return true;\n }\n return false;\n }\n}\n","<igo-layer-legend-list *ngIf=\"showAllLegend()\"\n igoLayerLegendListBinding\n [excludeBaseLayers]=\"excludeBaseLayers\"\n [allowShowAllLegends]=\"allowShowAllLegends\"\n [updateLegendOnResolutionChange]=\"updateLegendOnResolutionChange\"\n [showAllLegendsValue]=\"(showAllLegendsValue$ | async)\"\n (allLegendsShown)=\"onShowAllLegends($event)\">\n</igo-layer-legend-list>\n<ng-template *ngIf=\"(layers$ | async).length !== 0; else emptyLayers\"></ng-template>\n\n<p class=\"map-empty mat-typography\"\n *ngIf=\"!allowShowAllLegends && (layers$ | async).length !== 0 && (visibleOrInRangeLayers$ | async).length === 0\">\n {{ ((visibleLayers$ | async).length) ? ('igo.integration.mapTool.noLayersInRange' | translate) : ('igo.integration.mapTool.noLayersVisible' | translate) }}\n</p>\n\n\n<ng-template #emptyLayers>\n <mat-list *ngIf=\"delayedShowEmptyMapContent\">\n <p class=\"map-empty mat-typography\">\n {{'igo.integration.mapTool.empty' | translate}}</p>\n <p *ngIf=\"layerAdditionAllowed && (searchToolInToolbar || catalogToolInToolbar || contextToolInToolbar)\" class=\"map-empty mat-typography\">\n {{'igo.integration.mapTool.customize' | translate}}</p>\n\n <mat-list-item *ngIf=\"layerAdditionAllowed && searchToolInToolbar\">\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%' preserveAspectRatio='xMidYMid meet' focusable='false'> <path d='M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z'> </path> </svg></mat-icon>\n <h4 matLine class=\"search-tool mat-typography\" (click)=\"searchEmit()\">\n {{'igo.integration.mapTool.search-tool' | translate}}\n </h4>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && catalogToolInToolbar\">\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%' preserveAspectRatio='xMidYMid meet' focusable='false'> <path d='M17,14H19V17H22V19H19V22H17V19H14V17H17V14M11,16L2,9L11,2L20,9L11,16M11,18.54L12,17.75V18C12,18.71 12.12,19.39 12.35,20L11,21.07L2,14.07L3.62,12.81L11,18.54Z'></path> </svg></mat-icon>\n <h4 matLine class=\"catalog-tool mat-typography\" (click)=\"catalogEmit()\">\n {{'igo.integration.mapTool.catalog-tool' | translate}}\n </h4>\n </mat-list-item>\n <mat-list-item *ngIf=\"layerAdditionAllowed && contextToolInToolbar\">\n <mat-icon mat-list-icon> <svg viewBox='0 0 24 24' fit='' height='100%' width='100%' preserveAspectRatio='xMidYMid meet' focusable='false'> <path d='M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z'></path> </svg></mat-icon>\n <h4 matLine class=\"context-tool mat-typography\" (click)=\"contextEmit()\">\n {{'igo.integration.mapTool.context-tool' | translate}}\n </h4>\n </mat-list-item>\n </mat-list>\n</ng-template>\n","import {\n Component,\n Input,\n OnInit,\n OnDestroy,\n ChangeDetectorRef\n} from '@angular/core';\nimport { Observable, Subscription, BehaviorSubject, ReplaySubject, combineLatest } from 'rxjs';\nimport { map, debounceTime } from 'rxjs/operators';\n\nimport { ToolComponent } from '@igo2/common';\nimport {\n Layer,\n IgoMap,\n LayerListControlsOptions,\n SearchSourceService,\n sourceCanSearch\n} from '@igo2/geo';\n\nimport { ToolState } from './../../tool/tool.state';\nimport { MapState } from './../map.state';\n\n@ToolComponent({\n name: 'mapLegend',\n title: 'igo.integration.tools.legend',\n icon: 'format-list-bulleted-type'\n})\n@Component({\n selector: 'igo-map-legend-tool',\n templateUrl: './map-legend-tool.component.html',\n styleUrls: ['./map-legend-tool.component.scss']\n})\nexport class MapLegendToolComponent implements OnInit, OnDestroy {\n public delayedShowEmptyMapContent: boolean = false;\n\n layers$: BehaviorSubject<Layer[]> = new BehaviorSubject([]);\n showAllLegendsValue$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n change$ = new ReplaySubject<void>(1);\n\n private resolution$$: Subscription;\n private visibleOrInRangeLayers$$: Subscription;\n\n @Input() updateLegendOnResolutionChange: boolean = false;\n\n @Input() layerAdditionAllowed: boolean = true;\n\n @Input() allowShowAllLegends: boolean = false;\n\n @Input() showAllLegendsValue: boolean = false;\n\n @Input() layerListControls: LayerListControlsOptions = {};\n\n get map(): IgoMap {\n return this.mapState.map;\n }\n\n get visibleOrInRangeLayers$(): Observable<Layer[]> {\n return this.layers$.pipe(\n map(layers =>\n layers.filter(\n layer => layer.visible$.value && layer.isInResolutionsRange$.value\n )\n )\n );\n }\n\n get visibleLayers$(): Observable<Layer[]> {\n return this.layers$.pipe(\n map(layers => layers.filter(layer => layer.visible$.value))\n );\n }\n\n get excludeBaseLayers(): boolean {\n return this.layerListControls.excludeBaseLayers || false;\n }\n\n get searchToolInToolbar(): boolean {\n return (\n this.toolState.toolbox.getToolbar().indexOf('searchResults') !== -1 &&\n this.searchSourceService\n .getSources()\n .filter(sourceCanSearch)\n .filter(s => s.available && s.getType() === 'Layer').length > 0\n );\n }\n\n get catalogToolInToolbar(): boolean {\n return this.toolState.toolbox.getToolbar().indexOf('catalog') !== -1;\n }\n\n get contextToolInToolbar(): boolean {\n return this.toolState.toolbox.getToolbar().indexOf('contextManager') !== -1;\n }\n constructor(\n private mapState: MapState,\n private toolState: ToolState,\n private searchSourceService: SearchSourceService,\n private cdRef: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {\n this.resolution$$ = combineLatest([\n this.map.layers$,\n this.map.viewController.resolution$\n ])\n .pipe(debounceTime(10))\n .subscribe((bunch: [Layer[], number]) => {\n this.layers$.next(\n bunch[0].filter(\n layer =>\n layer.showInLayerList !== false &&\n (!this.excludeBaseLayers || !layer.baseLayer)\n )\n );\n });\n\n if (this.allowShowAllLegends) {\n this.mapState.showAllLegendsValue =\n this.mapState.showAllLegendsValue !== undefined\n ? this.mapState.showAllLegendsValue\n : this.showAllLegendsValue || false;\n this.showAllLegendsValue$.next(this.mapState.showAllLegendsValue);\n } else {\n this.showAllLegendsValue$.next(false);\n }\n\n // prevent message to be shown too quickly. Waiting for layers\n setTimeout(() => {\n this.delayedShowEmptyMapContent = true;\n this.cdRef.detectChanges();\n }, 250);\n }\n\n onShowAllLegends(event) {\n this.mapState.showAllLegendsValue = event;\n this.showAllLegendsValue$.next(event);\n }\n\n showAllLegend() {\n if (this.layers$.getValue().length === 0) {\n return false;\n } else if (\n this.layers$.getValue().length !== 0 &&\n this.allowShowAllLegends === false\n ) {\n let visibleOrInRangeLayers;\n this.visibleOrInRangeLayers$$ = this.visibleOrInRangeLayers$.subscribe(value => {\n value.length === 0\n ? (visibleOrInRangeLayers = false)\n : (visibleOrInRangeLayers = true);\n });\n\n if (visibleOrInRangeLayers === false) {\n return false;\n }\n }\n return true;\n }\n\n ngOnDestroy(): void {\n this.resolution$$.unsubscribe();\n if (this.visibleOrInRangeLayers$$) {\n this.visibleOrInRangeLayers$$.unsubscribe();\n }\n }\n\n searchEmit() {\n this.toolState.toolbox.activateTool('searchResults');\n }\n\n catalogEmit() {\n this.toolState.toolbox.activateTool('catalog');\n }\n\n contextEmit() {\n this.toolState.toolbox.activateTool('contextManager');\n }\n}\n","<div *ngIf=\"userControlledLayerList.length; else noLayersBlock\" class=\"igo-swipe-select-container\">\n <form class=\"igo-form\" [formGroup]=\"form\">\n <mat-form-field>\n <mat-label>{{'igo.integration.advanced-map-tool.advanced-swipe.swipe-select' | translate}}</mat-label>\n <mat-select formControlName=\"layers\" multiple>\n <mat-option [value]=\"1\" (click)=\"selectAll(e)\" #e>\n {{'igo.integration.advanced-map-tool.advanced-swipe.selectAll' | translate}}\n </mat-option>\n <mat-divider></mat-divider>\n <mat-option *ngFor=\"let layer of userControlledLayerList\" [value]=\"layer\" (click)=\"applyNewLayers(e)\">{{layer.title}}</mat-option>\n </mat-select>\n </mat-form-field>\n </form>\n\n <mat-slide-toggle class=\"swipe-toggle mat-typography\"\n [checked]=\"swipe\"\n [labelPosition]=\"'before'\"\n (change)=\"startSwipe($event.checked)\">\n {{'igo.integration.advanced-map-tool.advanced-swipe.swipe' | translate}}\n </mat-slide-toggle> \n</div>\n\n<ng-template #noLayersBlock>\n <mat-list>\n <p class=\"map-empty mat-typography\">\n {{'igo.integration.advanced-map-tool.advanced-swipe.empty' | translate}}</p>\n <p class=\"map-empty mat-typography\">\n {{'igo.integration.advanced-map-tool.advanced-swipe.customize' | translate}}</p>\n <mat-list-item>\n <mat-icon mat-list-icon svgIcon=\"magnify\"></mat-icon>\n <h4 matLine class=\"search-tool mat-typography\" (click)=\"searchEmit()\">\n {{'igo.integration.advanced-map-tool.advanced-swipe.search-tool' | translate}}\n </h4>\n </mat-list-item>\n <mat-list-item>\n <mat-icon mat-list-icon svgIcon=\"layers-plus\"></mat-icon>\n <h4 matLine class=\"catalog-tool mat-typography\" (click)=\"catalogEmit()\">\n {{'igo.integration.advanced-map-tool.advanced-swipe.catalog-tool' | translate}}\n </h4>\n </mat-list-item>\n <mat-list-item>\n <mat-icon mat-list-icon svgIcon=\"star\"></mat-icon>\n <h4 matLine class=\"context-tool mat-typography\" (click)=\"contextEmit()\">\n {{'igo.integration.advanced-map-tool.advanced-swipe.context-tool' | translate}}\n </h4>\n </mat-list-item>\n </mat-list>\n</ng-template>\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { ContextService, DetailedContext } from '@igo2/context';\nimport { IgoMap, Layer, VectorLayer } from '@igo2/geo';\nimport { MapState } from '../../map.state';\nimport { ToolState } from '../../../tool/tool.state';\n\n@Component({\n selector: 'igo-advanced-swipe',\n templateUrl: './advanced-swipe.component.html',\n styleUrls: ['./advanced-swipe.component.scss']\n})\n\nexport class AdvancedSwipeComponent implements OnInit, OnDestroy {\n public swipe: boolean = false;\n public layerList: Layer[];\n public userControlledLayerList: Layer[];\n public form: FormGroup;\n public layers: VectorLayer[];\n public res: DetailedContext;\n public listForSwipe: Layer[];\n\n /**\n * Get an active map state\n */\n get map(): IgoMap {\n return this.mapState.map;\n }\n\n constructor(\n public mapState: MapState,\n private contextService: ContextService,\n private formBuilder: FormBuilder,\n private toolState: ToolState) {\n this.buildForm();\n }\n\n /**\n * Get the list of layers for swipe\n * @internal\n */\n ngOnInit() {\n this.map.layers$.subscribe(ll => this.userControlledLayerList = ll.filter(layer =>\n (!layer.baseLayer && layer.showInLayerList && layer.displayed)));\n }\n\n /**\n * Desactivate the swipe\n * @internal\n */\n ngOnDestroy(){\n this.swipe = false;\n this.map.swipeEnabled$.next(this.swipe);\n }\n\n /**\n * Build a form for choise of the layers\n */\n private buildForm() {\n this.form = this.formBuilder.group({\n layers: ['', [Validators.required]]\n });\n }\n\n /**\n * Activate the swipe, send a list of layers for a swipe-tool\n */\n startSwipe(toggle: boolean){\n this.swipe = toggle;\n this.map.swipeEnabled$.next(toggle);\n this.listForSwipe = [];\n for (const layer of this.form.value.layers) {\n this.listForSwipe.push(layer);\n }\n this.map.selectedFeatures$.next(this.listForSwipe);\n }\n\n /**\n * Restart a swipe for a new layers-list\n */\n applyNewLayers(e) {\n this.startSwipe(false); // l'approche KISS\n this.startSwipe(true);\n if (e._selected) {e._selected = false; }\n const allLayers = this.userControlledLayerList.length;\n const selectedLayers = this.form.controls.layers.value.length;\n if (selectedLayers === allLayers){\n e._selected = true;\n }\n }\n\n /**\n * Select all list of layers and restart a tool\n */\n selectAll(e) {\n if (e._selected) {\n this.form.controls.layers.setValue(this.userControlledLayerList);\n e._selected = true;\n }\n else {\n this.form.controls.layers.setValue([]);\n }\n this.startSwipe(false);\n this.startSwipe(true);\n }\n\n /**\n * Open search tool\n */\n searchEmit() {\n this.toolState.toolbox.activateTool('searchResults');\n }\n\n /**\n * Open catalog\n */\n catalogEmit() {\n this.toolState.toolbox.activateTool('catalog');\n }\n\n /**\n * Open context manager\n */\n contextEmit() {\n this.toolState.toolbox.activateTool('contextManager');\n }\n}\n","<mat-form-field *ngIf=\"units; else elseBlock\" class=\"coordinates\">\n <textarea #textArea matInput readonly rows=\"1\"\n [placeholder]=\"'igo.integration.advanced-map-tool.advanced-coordinates.lon' | translate\"\n [value]=\"coordinates[0]\"></textarea>\n</mat-form-field>\n<ng-template #elseBlock >\n <mat-form-field class=\"coordinates\">\n <textarea #textArea matInput readonly rows=\"1\"\n [placeholder]=\"'igo.integration.advanced-map-tool.advanced-coordinates.est' | translate\"\n [value]=\"coordinates[0]\"></textarea></mat-form-field>\n</ng-template>\n\n<mat-form-field *ngIf=\"units; else elseBlock2\" class=\"coordinates2\">\n <textarea #textArea matInput readonly rows=\"1\"\n [placeholder]=\"'igo.integration.advanced-map-tool.advanced-coordinates.lat' | translate\"\n [value]=\"coordinates[1]\"></textarea>\n</mat-form-field>\n<ng-template #elseBlock2 >\n <mat-form-field class=\"coordinates2\"> <textarea #textArea matInput readonly rows=\"1\"\n [placeholder]=\"'igo.integration.advanced-map-tool.advanced-coordinates.nord' | translate\"\n [value]=\"coordinates[1]\"></textarea></mat-form-field>\n</ng-template>\n\n<button class=\"igo-form-button-group\"\n mat-raised-button\n (click)=\"copyTextToClipboard()\">\n <mat-icon svgIcon=\"content-copy\"></mat-icon>\n {{ 'igo.integration.advanced-map-tool.advanced-coordinates.copy' | translate }}\n</button>\n\n<form class=\"igo-form\" [formGroup]=\"form\">\n <mat-form-field class=\"igo-input-container\">\n <mat-label>{{'igo.integration.advanced-map-tool.advanced-coordinates.coordSystem' | translate}}</mat-label>\n <mat-select [(value)]=\"inputProj\">\n <mat-option matTooltipShowDelay=\"500\"\n *ngFor=\"let projection of (projections$ | async)\"\n [value]=\"projection\"\n (click)=\"$event.stopPropagation()\">\n {{projection.translatedValue || projection.alias }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <mat-slide-toggle class=\"center-toggle mat-typography\"\n [checked]=\"center\"\n [labelPosition]=\"'before'\"\n (change)=\"displayCenter($event.checked)\">\n {{'igo.integration.advanced-map-tool.advanced-coordinates.center' | translate}}\n </mat-slide-toggle> \n</form>\n\n<p class=\"igo-zoom mat-typography\">{{'igo.integration.advanced-map-tool.advanced-coordinates.zoom' | translate}} {{map.viewController.getZoom() }}</p>\n<p class=\"igo-zoom mat-typography\">{{'igo.integration.advanced-map-tool.advanced-coordinates.scale' | translate}} {{ formattedScale$ | async }}</p>\n<p class=\"igo-zoom mat-typography\">{{'igo.integration.advanced-map-tool.advanced-coordinates.resolution' | translate}} {{map.viewController.getResolution() | number: '1.0-0' }}</p>","import { ChangeDetectorRef, Component, OnDestroy, OnInit, Input } from '@angular/core';\nimport { formatScale, IgoMap, InputProjections, ProjectionsLimitationsOptions } from '@igo2/geo';\nimport { MapState } from '../../map.state';\nimport { Clipboard } from '@igo2/utils';\nimport { MessageService, LanguageService, StorageService, StorageScope, ConfigService } from '@igo2/core';\nimport { BehaviorSubject, combineLatest, Subscription } from 'rxjs';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { debounceTime } from 'rxjs/operators';\nimport { zoneMtm, zoneUtm, computeProjectionsConstraints } from '@igo2/geo';\nimport * as olproj from 'ol/proj';\n/**\n * Tool to display the coordinates and a cursor of the center of the map\n */\n@Component({\n selector: 'igo-advanced-coordinates',\n templateUrl: './advanced-coordinates.component.html',\n styleUrls: ['./advanced-coordinates.component.scss']\n})\nexport class AdvancedCoordinatesComponent implements OnInit, OnDestroy {\n public formattedScale$: BehaviorSubject<string> = new BehaviorSubject('');\n public projections$: BehaviorSubject<InputProjections[]> = new BehaviorSubject([]);\n public form: FormGroup;\n public coordinates: string[];\n private currentCenterDefaultProj: [number, number];\n public center: boolean = this.storageService.get('centerToggle') as boolean;\n private inMtmZone: boolean = true;\n private inLambert2 = {32198: true, 3798: true};\n private mapState$$: Subscription;\n private _projectionsLimitations: ProjectionsLimitationsOptions = {};\n private projectionsConstraints: ProjectionsLimitationsOptions;\n private defaultProj: InputProjections = {\n translatedValue: this.languageService.translate.instant('igo.geo.importExportForm.projections.wgs84', { code: 'EPSG:4326' }),\n translateKey: 'wgs84', alias: 'WGS84', code: 'EPSG:4326', zone: ''\n };\n private currentZones = { utm: undefined, mtm: undefined };\n public units: boolean = true;\n get map(): IgoMap {\n return this.mapState.map;\n }\n\n get inputProj(): InputProjections {\n return this.form.get('inputProj').value;\n }\n set inputProj(value: InputProjections) {\n this.form.patchValue({ inputProj: value });\n }\n get projectionsLimitations(): ProjectionsLimitationsOptions {\n return this._projectionsLimitations || {};\n }\n\n @Input()\n set projectionsLimitations(value: ProjectionsLimitationsOptions) {\n this._projectionsLimitations = value;\n }\n\n constructor(\n public mapState: MapState,\n private languageService: LanguageService,\n private messageService: MessageService,\n private cdRef: ChangeDetectorRef,\n private storageService: StorageService,\n private config: ConfigService,\n private formBuilder: FormBuilder) {\n this.computeProjections();\n this.buildForm();\n }\n\n /**\n * Listen a state of the map, a state of a form, update the coordinates\n */\n ngOnInit(): void {\n this.mapState$$ = combineLatest([this.map.viewController.state$.pipe(debounceTime(50)), this.form.valueChanges])\n .subscribe(() => {\n this.setScaleValue(this.map);\n this.currentCenterDefaultProj = this.map.viewController.getCenter(this.defaultProj.code);\n const currentMtmZone = zoneMtm(this.currentCenterDefaultProj[0]);\n const currentUtmZone = zoneUtm(this.currentCenterDefaultProj[0]);\n if (!this.inMtmZone && currentMtmZone !== this.currentZones.mtm) {\n this.back2quebec();\n }\n let zoneChange = false;\n if (currentMtmZone !== this.currentZones.mtm) {\n this.currentZones.mtm = currentMtmZone;\n zoneChange = true;\n }\n if (currentUtmZone !== this.currentZones.utm) {\n this.currentZones.utm = currentUtmZone;\n zoneChange = true;\n }\n if (zoneChange) {\n this.updateProjectionsZoneChange();\n }\n this.checkLambert(this.currentCenterDefaultProj);\n this.coordinates = this.getCoordinates();\n this.cdRef.detectChanges();\n this.storageService.set('currentProjection', this.inputProj, StorageScope.SESSION);\n });\n\n const tempInputProj = this.storageService.get('currentProjection') as InputProjections;\n this.inputProj = this.projections$.value[0];\n if (tempInputProj !== null)\n {\n const pos = this.positionInList(tempInputProj);\n this.inputProj = this.projections$.value[pos];\n this.updateZoneMtmUtm();\n }\n this.map.mapCenter$.next(this.center);\n this.coordinates = this.getCoordinates();\n this.currentCenterDefaultProj = this.map.viewController.getCenter(this.defaultProj.code);\n }\n\n ngOnDestroy(): void {\n this.map.mapCenter$.next(false);\n this.mapState$$.unsubscribe();\n }\n\n setScaleValue(map: IgoMap) {\n this.formattedScale$.next(': ~ 1 / ' + formatScale(map.viewController.getScale()));\n }\n /**\n * Coordinates of the center of the map on the appropriate systeme of coordinates\n * @returns Array of two numbers\n */\n getCoordinates(): string[] {\n this.currentZones.mtm = zoneMtm(this.currentCenterDefaultProj[0]);\n this.currentZones.utm = zoneUtm(this.currentCenterDefaultProj[0]);\n let coord;\n const code = this.inputProj.code;\n let decimal = 2;\n if (code.includes('EPSG:4326') || code.includes('EPSG:4269')) {\n decimal = 5;\n }\n this.units = (code === 'EPSG:4326' || code === 'EPSG:4269');\n coord = this.map.viewController.getCenter(code).map(c => c.toFixed(decimal));\n return coord;\n }\n\n /**\n * Copy the coordinates to a clipboard\n */\n copyTextToClipboard(): void {\n const successful = Clipboard.copy(this.coordinates.toString());\n if (successful) {\n const translate = this.languageService.translate;\n const title = translate.instant(\n 'igo.integration.advanced-map-tool.advanced-coordinates.copyTitle'\n );\n const msg = translate.instant('igo.integration.advanced-map-tool.advanced-coordinates.copyMsg');\n this.messageService.success(msg, title);\n }\n }\n\n /**\n * Display a cursor on the center of the map\n */\n displayCenter(toggle: boolean): void {\n this.center = toggle;\n this.map.mapCenter$.next(toggle);\n this.storageService.set('centerToggle', toggle, StorageScope.SESSION);\n }\n\n /**\n * Builder of the form\n */\n private buildForm(): void {\n this.form = this.formBuilder.group({\n inputProj: ['', [Validators.required]]\n });\n }\n\n /**\n * Update list of projections after changing of the state of the map\n */\n private updateProjectionsZoneChange(): void {\n let modifiedProj = this.projections$.value;\n const translate = this.languageService.translate;\n modifiedProj.map(p => {\n if (p.translateKey === 'mtm') {\n const zone = zoneMtm(this.currentCenterDefaultProj[0]);\n if (zone) {\n const code = zone < 10 ? `EPSG:3218${zone}` : `EPSG:321${80 + zone}`;\n p.alias = `MTM ${zone}`;\n p.code = code;\n p.zone = `${zone}`;\n p.translatedValue = translate.instant('igo.geo.importExportForm.projections.mtm', p);\n }\n else {\n p.alias = '';\n this.inMtmZone = false;\n if (this.inputProj.translateKey === 'mtm') {\n this.inputProj = this.projections$.value[0];\n }\n }\n }\n if (p.translateKey === 'utm') {\n const zone = zoneUtm(this.currentCenterDefaultProj[0]);\n const code = `EPSG:326${zone}`;\n p.alias = `UTM ${zone}`;\n p.code = code;\n p.zone = `${zone}`;\n p.translatedValue = translate.instant('igo.geo.importExportForm.projections.utm', p);\n }\n });\n modifiedProj = modifiedProj.filter(p => p.alias !== '');\n this.projections$.next(modifiedProj);\n }\n\n /**\n * Create a list of currents projections\n */\n private computeProjections(): void {\n this.projectionsConstraints = computeProjectionsConstraints(this.projectionsLimitations);\n const projections: InputProjections[] = [];\n\n if (!this.currentCenterDefaultProj) {\n this.currentCenterDefaultProj = this.map.viewController.getCenter(this.defaultProj.code);\n }\n\n const translate = this.languageService.translate;\n if (this.projectionsConstraints.wgs84) {\n projections.push({\n translatedValue: translate.instant('igo.geo.importExportForm.projections.wgs84', { code: 'EPSG:4326' }),\n translateKey: 'wgs84', alias: 'WGS84', code: 'EPSG:4326', zone: ''\n });\n }\n\n if (this.projectionsConstraints.nad83) {\n projections.push({\n translatedValue: translate.instant('igo.geo.importExportForm.projections.nad83', { code: 'EPSG:4269' }),\n translateKey: 'nad83', alias: 'NAD83', code: 'EPSG:4269', zone: ''\n });\n }\n\n if (this.projectionsConstraints.webMercator) {\n projections.push({\n translatedValue: translate.instant('igo.geo.importExportForm.projections.webMercator', { code: 'EPSG:3857' }),\n translateKey: 'webMercator', alias: 'Web Mercator', code: 'EPSG:3857', zone: ''\n });\n }\n if (this.projectionsConstraints.mtm) {\n // Quebec\n const zone = zoneMtm(this.currentCenterDefaultProj[0]);\n if (zone) {\n this.inMtmZone = true;\n const code = zone < 10 ? `EPSG:3218${zone}` : `EPSG:321${80 + zone}`;\n projections.splice(3, 0, {\n translatedValue: this.languageService.translate.instant('igo.geo.importExportForm.projections.mtm', { code, zone }),\n translateKey: 'mtm', alias: `MTM ${zone}`, code, zone: `${zone}`\n });\n }\n else {\n this.inMtmZone = false;\n }\n }\n if (this.projectionsConstraints.utm) {\n const order = this.inMtmZone ? 4 : 3;\n const zone = zoneUtm(this.currentCenterDefaultProj[0]);\n const code = zone < 10 ? `EPSG:3260${zone}` : `EPSG:326${zone}`;\n projections.splice(order, 0, {\n translatedValue: this.languageService.translate.instant('igo.geo.importExportForm.projections.utm', { code, zone }),\n translateKey: 'utm', alias: `UTM ${zone}`, code, zone: `${zone}`\n });\n }\n let configProjection = [];\n if (this.projectionsConstraints.projFromConfig) {\n configProjection = this.config.getConfig('projections') || [];\n }\n this.projections$.next(projections.concat(configProjection));\n }\n\n /**\n * Push the MTM in the array of systeme of coordinates\n * @param projections Array of the InputProjections\n */\n private pushMtm(projections: Array<InputProjections>): void {\n if (this.projectionsConstraints.mtm) {\n const zone = zoneMtm(this.currentCenterDefaultProj[0]);\n const code = zone < 10 ? `EPSG:3218${zone}` : `EPSG:321${80 + zone}`;\n projections.splice(3, 0, {\n translatedValue: this.languageService.translate.instant('igo.geo.importExportForm.projections.mtm', { code, zone }),\n translateKey: 'mtm', alias: `MTM ${zone}`, code, zone: `${zone}`});\n }\n }\n\n /**\n * Updates the list of systems of coordinates for territory of Quebec\n * push MTM and UTM in the Array\n */\n private back2quebec(): void {\n const projections = this.projections$.value;\n this.pushMtm(projections);\n this.inMtmZone = true;\n }\n\n /**\n * Update the numbers of the zones when application is restarted\n */\n private updateZoneMtmUtm() {\n if (this.inputProj.translateKey === 'mtm') {\n const zone = zoneMtm(this.currentCenterDefaultProj[0]);\n this.inputProj.alias = `MTM ${zone}`;\n const code = zone < 10 ? `EPSG:3218${zone}` : `EPSG:321${80 + zone}`;\n this.inputProj.code = code;\n this.inputProj.zone = `${zone}`;\n this.inputProj.translatedValue = this.languageService.translate.instant('igo.geo.importExportForm.projections.mtm', { code, zone });\n }\n if (this.inputProj.translateKey === 'utm') {\n const zone = zoneUtm(this.currentCenterDefaultProj[0]);\n this.inputProj.alias = `UTM ${zone}`;\n const code = zone < 10 ? `EPSG:3260${zone}` : `EPSG:326${zone}`;\n this.inputProj.code = code;\n this.inputProj.zone = `${zone}`;\n this.inputProj.translatedValue = this.languageService.translate.instant('igo.geo.importExportForm.projections.utm', { code, zone });\n }\n }\n\n /**\n * Compute the position of a current projection in a list. 0 if the projection is not in the list\n * @param translateKey string, translate key of a projection\n * @returns numeric, position of an element in the array\n */\n positionInList(tempInputProj: InputProjections): number {\n const tk = tempInputProj.translateKey;\n const alias = tempInputProj.alias;\n let position; // = undefined;\n let iter = 0;\n this.projections$.value.map((projection) => {\n if (tk) {\n if (tk === projection.translateKey) {\n position = iter;\n }\n }\n else if (alias === projection.alias) {\n position = iter;\n }\n iter++;\n });\n position = position ? position : 0;\n return position;\n }\n\n /**\n * Change the list of projections depending on the projections of Lambert\n * @param coordinates An array of numbers, longitude and latitude\n */\n checkLambert(coordinates: [number, number]) {\n const lambertProjections = this.config.getConfig('projections');\n lambertProjections.forEach(projection => {\n let modifiedProj = this.projections$.value;\n const extent = projection.extent;\n const code = projection.code.match(/\\d+/);\n const currentExtentWGS = olproj.transformExtent(extent, projection.code, this.defaultProj.code);\n if (coordinates[0] < currentExtentWGS[0] || coordinates[0] > currentExtentWGS[2] ||\n coordinates[1] < currentExtentWGS[1] || coordinates[1] > currentExtentWGS[3]) {\n this.inLambert2[code] = false;\n if (this.inputProj.alias === projection.alias) {\n this.inputProj = this.projections$.value[0];\n }\n modifiedProj = modifiedProj.filter(p => p.alias !== projection.alias);\n this.projections$.next(modifiedProj);\n }\n else {\n if (!this.inLambert2[code]) {\n this.projections$.next(modifiedProj.concat(projection));\n this.inLambert2[code] = true;\n }\n }\n });\n }\n}\n","import { Component } from '@angular/core';\nimport { ToolComponent } from '@igo2/common';\n\n@ToolComponent({\n name: 'advancedMap',\n title: 'igo.integration.tools.advancedMap',\n icon: 'toolbox'\n})\n\n/**\n * Tool to handle the advanced map tools\n */\n@Component({\n selector: 'igo-advanced-map-tool',\n templateUrl: './advanced-map-tool.component.html',\n styleUrls: ['./advanced-map-tool.component.scss']\n})\n\nexport class AdvancedMapToolComponent {\n\n}\n","<h4 class=\"nameOfTool\">{{'igo.integration.advanced-map-tool.advanced-swipe.swipe-tool' | translate}}</h4>\n<igo-advanced-swipe></igo-advanced-swipe>\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\n\n<h4 class=\"nameOfTool\">{{'igo.integration.advanced-map-tool.advanced-coordinates.coordinates' | translate}}</h4>\n<igo-advanced-coordinates></igo-advanced-coordinates>\n<mat-divider class=\"advanced-tool-line\"></mat-divider>\n","import {\n NgModule,\n ModuleWithProviders,\n CUSTOM_ELEMENTS_SCHEMA\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { IgoLanguageModule } from '@igo2/core';\nimport {\n IgoLayerModule,\n IgoMetadataModule,\n IgoDownloadModule,\n IgoFilterModule,\n IgoImportExportModule\n} from '@igo2/geo';\nimport { IgoContextModule } from '@igo2/context';\nimport { MapDetailsToolComponent } from './map-details-tool/map-details-tool.component';\nimport { MapToolComponent } from './map-tool/map-tool.component';\nimport { MapToolsComponent } from './map-tools/map-tools.component';\nimport { MapLegendToolComponent } from './map-legend/map-legend-tool.component';\nimport { IgoAppWorkspaceModule } from '../workspace/workspace.module';\nimport { AdvancedMapToolComponent } from './advanced-map-tool/advanced-map-tool.component';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatOptionModule } from '@angular/material/core';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { IgoSpinnerModule } from '@igo2/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { AdvancedSwipeComponent } from './advanced-map-tool/advanced-swipe/advanced-swipe.component';\nimport { AdvancedCoordinatesComponent } from './advanced-map-tool/advanced-coordinates/advanced-coordinates.component';\n@NgModule({\n imports: [\n FormsModule,\n ReactiveFormsModule,\n MatButtonToggleModule,\n MatDividerModule,\n MatSelectModule,\n MatOptionModule,\n MatFormFieldModule,\n MatInputModule,\n MatCheckboxModule,\n IgoSpinnerModule,\n CommonModule,\n MatTabsModule,\n MatListModule,\n MatIconModule,\n IgoLanguageModule,\n IgoLayerModule,\n IgoMetadataModule,\n IgoDownloadModule,\n IgoImportExportModule,\n IgoFilterModule,\n IgoContextModule,\n IgoAppWorkspaceModule,\n MatSlideToggleModule,\n MatMenuModule,\n MatButtonModule,\n MatTooltipModule\n ],\n declarations: [ AdvancedMapToolComponent, MapToolComponent,\n MapToolsComponent, MapDetailsToolComponent, MapLegendToolComponent, AdvancedSwipeComponent, AdvancedCoordinatesComponent],\n exports: [AdvancedMapToolComponent, MapToolComponent, MapToolsComponent, MapDetailsToolComponent, MapLegendToolComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class IgoAppMapModule {\n static forRoot(): ModuleWithProviders<IgoAppMapModule> {\n return {\n ngModule: IgoAppMapModule,\n providers: []\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { FeatureStore, FeatureWithMeasure } from '@igo2/geo';\nimport { MapState } from '../map/map.state';\n\n/**\n * Service that holds the state of the measure module\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class MeasureState {\n\n /**\n * Store that holds the measures\n */\n public store: FeatureStore<FeatureWithMeasure> = new FeatureStore<FeatureWithMeasure>([], {\n map: this.mapState.map\n });\n\n constructor(private mapState: MapState) {\n\n this.mapState.map.layers$.subscribe((layers) => {\n if ((layers.filter(l => l.id.startsWith('igo-measures-')).length === 0)) {\n this.store.deleteMany(this.store.all());\n this.mapState.map.ol.getOverlays().getArray()\n .filter(overlay => (overlay as any).options.className.includes('igo-map-tooltip'))\n .map(overlay => this.mapState.map.ol.removeOverlay(overlay));\n }\n });\n }\n\n}\n","import {\n Component,\n ChangeDetectionStrategy\n} from '@angular/core';\n\nimport { ToolComponent } from '@igo2/common';\nimport { FeatureStore, FeatureWithMeasure, IgoMap } from '@igo2/geo';\nimport { MapState } from '../../map/map.state';\nimport { MeasureState } from '../measure.state';\n\n/**\n * Tool to measure lengths and areas\n */\n@ToolComponent({\n name: 'measurer',\n title: 'igo.integration.tools.measurer',\n icon: 'ruler'\n})\n@Component({\n selector: 'igo-measurer-tool',\n templateUrl: './measurer-tool.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MeasurerToolComponent {\n\n /**\n * Map to measure on\n * @internal\n */\n get store(): FeatureStore<FeatureWithMeasure> { return this.measureState.store; }\n\n /**\n * Map to measure on\n * @internal\n */\n get map(): IgoMap { return this.mapState.map; }\n\n constructor(\n private measureState: MeasureState,\n private mapState: MapState\n ) {}\n\n}\n","<igo-measurer [store]=\"store\" [map]=\"map\"></igo-measurer>\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\n\nimport { IgoMeasurerModule } from '@igo2/geo';\n\nimport { MeasurerToolComponent } from './measurer-tool.component';\n\n/**\n * @ignore\n */\n@NgModule({\n imports: [\n IgoMeasurerModule\n ],\n declarations: [MeasurerToolComponent],\n exports: [MeasurerToolComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class IgoAppMeasurerToolModule {}\n","import { NgModule } from '@angular/core';\n\nimport { IgoAppMeasurerToolModule } from './measurer-tool/measurer-tool.module';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: [\n IgoAppMeasurerToolModule\n ]\n})\nexport class IgoAppMeasureModule {}\n","import { Component } from '@angular/core';\n\nimport { ToolComponent } from '@igo2/common';\nimport { IgoMap } from '@igo2/geo';\n\nimport { MapState } from '../../map/map.state';\n\n@ToolComponent({\n name: 'print',\n title: 'igo.integration.tools.print',\n icon: 'printer'\n})\n@Component({\n selector: 'igo-print-tool',\n templateUrl: './print-tool.component.html'\n})\nexport class PrintToolComponent {\n get map(): IgoMap {\n return this.mapState.map;\n }\n\n constructor(private mapState: MapState) {}\n}\n","<igo-print [map]=\"map\"></igo-print>\n","import {\n NgModule,\n ModuleWithProviders,\n CUSTOM_ELEMENTS_SCHEMA\n} from '@angular/core';\n\nimport { IgoPrintModule } from '@igo2/geo';\nimport { PrintToolComponent } from './print-tool/print-tool.component';\n\n@NgModule({\n imports: [IgoPrintModule],\n declarations: [PrintToolComponent],\n exports: [PrintToolComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class IgoAppPrintModule {\n static forRoot(): ModuleWithProviders<IgoAppPrintModule> {\n return {\n ngModule: IgoAppPrintModule,\n providers: []\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { EntityRecord, EntityStore, EntityStoreFilterCustomFuncStrategy, EntityStoreStrategyFuncOptions } from '@igo2/common';\nimport { ConfigService, StorageService } from '@igo2/core';\nimport { SearchResult, SearchSourceService, SearchSource, CommonVectorStyleOptions } from '@igo2/geo';\nimport { BehaviorSubject, Subscription } from 'rxjs';\n\n/**\n * Service that holds the state of the search module\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class SearchState {\n public searchOverlayStyle: CommonVectorStyleOptions = {};\n public searchOverlayStyleSelection: CommonVectorStyleOptions = {};\n public searchOverlayStyleFocus: CommonVectorStyleOptions = {};\n\n public focusedOrResolution$$: Subscription;\n public selectedOrResolution$$: Subscription;\n\n readonly searchTermSplitter$: BehaviorSubject<string> = new BehaviorSubject('|');\n\n readonly searchTerm$: BehaviorSubject<string> = new BehaviorSubject(undefined);\n\n readonly searchType$: BehaviorSubject<string> = new BehaviorSubject(undefined);\n\n readonly searchDisabled$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n readonly searchResultsGeometryEnabled$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n readonly searchSettingsChange$: BehaviorSubject<boolean> = new BehaviorSubject(undefined);\n\n readonly selectedResult$: BehaviorSubject<SearchResult> = new BehaviorSubject(undefined);\n\n /**\n * Store that holds the search results\n */\n readonly store: EntityStore<SearchResult> = new EntityStore<SearchResult>([]);\n\n /**\n * Search types currently enabled in the search source service\n */\n get searchTypes(): string[] {\n return this.searchSourceService\n .getEnabledSources()\n .map((source: SearchSource) => (source.constructor as any).type);\n }\n\n constructor(\n private searchSourceService: SearchSourceService,\n private storageService: StorageService,\n private configService: ConfigService) {\n const searchOverlayStyle = this.configService.getConfig('searchOverlayStyle') as {\n base?: CommonVectorStyleOptions,\n selection?: CommonVectorStyleOptions,\n focus?: CommonVectorStyleOptions\n };\n if (searchOverlayStyle) {\n this.searchOverlayStyle = searchOverlayStyle.base;\n this.searchOverlayStyleSelection = searchOverlayStyle.selection;\n this.searchOverlayStyleFocus = searchOverlayStyle.focus;\n }\n\n const searchResultsGeometryEnabled = this.storageService.get('searchResultsGeometryEnabled') as boolean;\n if (searchResultsGeometryEnabled) {\n this.searchResultsGeometryEnabled$.next(searchResultsGeometryEnabled);\n }\n this.store.addStrategy(this.createCustomFilterTermStrategy(), false);\n }\n\n private createCustomFilterTermStrategy(): EntityStoreFilterCustomFuncStrategy {\n const filterClauseFunc = (record: EntityRecord<SearchResult>) => {\n return record.entity.meta.score === 100;\n };\n return new EntityStoreFilterCustomFuncStrategy({filterClauseFunc} as EntityStoreStrategyFuncOptions);\n }\n\n /**\n * Activate custom strategy\n *\n */\n activateCustomFilterTermStrategy() {\n const strategy = this.store.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);\n if (strategy !== undefined) {\n strategy.activate();\n }\n }\n\n /**\n * Deactivate custom strategy\n *\n */\n deactivateCustomFilterTermStrategy() {\n const strategy = this.store.getStrategyOfType(EntityStoreFilterCustomFuncStrategy);\n if (strategy !== undefined) {\n strategy.deactivate();\n }\n }\n\n enableSearch() {\n this.searchDisabled$.next(false);\n }\n\n disableSearch() {\n this.searchDisabled$.next(true);\n }\n\n setSearchTerm(searchTerm: string) {\n this.searchTerm$.next(searchTerm);\n }\n\n setSearchType(searchType: string) {\n this.searchSourceService.enableSourcesByType(searchType);\n this.searchType$.next(searchType);\n }\n\n setSearchSettingsChange() {\n this.searchSettingsChange$.next(true);\n }\n\n setSelectedResult(result: SearchResult) {\n this.selectedResult$.next(result);\n }\n\n setSearchResultsGeometryStatus(value) {\n this.storageService.set('searchResultsGeometryEnabled', value);\n this.searchResultsGeometryEnabled$.next(value);\n }\n}\n","import { Directive, Self, OnInit, OnDestroy, HostListener } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { SearchBarComponent } from '@igo2/geo';\nimport { SearchState } from '../search.state';\n\n@Directive({\n selector: '[igoSearchBarBinding]'\n})\nexport class SearchBarBindingDirective implements OnInit, OnDestroy {\n\n get searchTerm(): string { return this.searchState.searchTerm$.value; }\n get searchType(): string { return this.searchState.searchType$.value; }\n\n private searchTerm$$: Subscription;\n private searchType$$: Subscription;\n private searchDisabled$$: Subscription;\n\n constructor(\n @Self() private component: SearchBarComponent,\n private searchState: SearchState\n ) {}\n\n ngOnInit() {\n this.searchTerm$$ = this.searchState.searchTerm$.subscribe((searchTerm: string) => {\n if (searchTerm !== undefined && searchTerm !== null) {\n this.component.setTerm(searchTerm);\n }\n });\n\n this.searchType$$ = this.searchState.searchType$.subscribe((searchType: string) => {\n if (searchType !== undefined && searchType !== null) {\n this.component.setSearchType(searchType);\n }\n });\n\n this.searchDisabled$$ = this.searchState.searchDisabled$.subscribe((searchDisabled: boolean) => {\n this.component.disabled = searchDisabled;\n });\n }\n\n ngOnDestroy() {\n this.searchTerm$$.unsubscribe();\n this.searchType$$.unsubscribe();\n this.searchDisabled$$.unsubscribe();\n }\n\n @HostListener('searchTermChange', ['$event'])\n onSearchTermChange(searchTerm?: string) {\n if (searchTerm !== this.searchTerm) {\n this.searchState.setSearchTerm(searchTerm);\n }\n }\n\n @HostListener('searchTypeChange', ['$event'])\n onSearchTypeChange(searchType?: string) {\n if (searchType !== this.searchType) {\n this.searchState.setSearchType(searchType);\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { IgoSearchModule } from '@igo2/geo';\n\nimport { SearchBarBindingDirective } from './search-bar-binding.directive';\n\n/**\n * @ignore\n */\n@NgModule({\n imports: [IgoSearchModule],\n declarations: [SearchBarBindingDirective],\n exports: [SearchBarBindingDirective],\n})\nexport class IgoAppSearchBarModule {}\n","<div *ngIf=\"!store || store.stateView.empty\" style=\"margin: 10px;\">\n <section class=\"mat-typography\">\n <h4><strong>{{ 'igo.integration.searchResultsTool.noResults' | translate }}</strong></h4>\n <p><strong>{{ 'igo.integration.searchResultsTool.doSearch' | translate }}</strong></p>\n <div [innerHTML]=\"'igo.integration.searchResultsTool.examples' | translate | sanitizeHtml\"></div>\n</section>\n</div>\n\n<igo-flexible\n *ngIf=\"store && (store.stateView.empty$ | async)===false\"\n #topPanel\n initial=\"100%\"\n initialMobile=\"100%\"\n collapsed=\"calc(100% - 58px)\"\n collapsedMobile=\"calc(100% - 58px)\"\n expanded=\"60%\"\n expandedMobile=\"60%\"\n [state]=\"(feature$ | async) ? topPanelState : 'initial'\">\n\n <div class=\"igo-content\">\n <igo-search-results\n [store]=\"store\"\n [showIcons]=\"showIcons\"\n [term]=\"term\"\n [termSplitter]=\"termSplitter\"\n [settingsChange$]=\"settingsChange$\"\n placeholder=\"false\"\n (resultFocus)=\"onResultFocus($event)\"\n (resultSelect)=\"onResultSelect($event)\"\n (resultUnfocus)=\"onResultUnfocus($event)\"\n (resultMouseenter)=\"onResultFocus($event)\"\n (resultMouseleave)=\"onResultUnfocus($event)\"\n (moreResults)=\"onSearch($event)\">\n <ng-template #igoSearchItemToolbar let-result=\"result\">\n <igo-search-add-button\n [map]=\"map\"\n [layer]=\"result\">\n </igo-search-add-button>\n </ng-template>\n </igo-search-results>\n </div>\n\n <div igoFlexibleFill class=\"igo-content\">\n <igo-panel [title]=\"featureTitle\" *ngIf=\"feature$ | async\">\n\n <button\n mat-icon-button\n panelLeftButton\n class=\"igo-icon-button\"\n (click)=\"toggleTopPanel()\">\n <mat-icon [svgIcon]=\"(topPanelState$ | async) === 'collapsed' ? 'arrow-up' : 'arrow-down'\"></mat-icon>\n </button>\n\n <button\n *ngIf=\"feature.geometry\"\n mat-icon-button\n panelRightButton\n class=\"igo-icon-button\"\n [matTooltip]=\"((isSelectedResultOutOfView$ | async) ? 'igo.integration.searchResultsTool.zoomOnFeatureTooltipOutOfView' : 'igo.integration.searchResultsTool.zoomOnFeatureTooltip') | translate\"\n matTooltipShowDelay=\"500\"\n (click)=\"zoomToFeatureExtent()\">\n <mat-icon\n [matBadge]=\"(isSelectedResultOutOfView$ | async) ? '!' : ''\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n [matBadgeHidden]=\"(isSelectedResultOutOfView$ | async)===false\" \n svgIcon=\"magnify-plus-outline\"></mat-icon>\n </button>\n\n <igo-feature-details\n igoFeatureDetailsDirective\n [feature]=\"feature$ | async\"\n [map]=\"map\"\n [toolbox]=\"toolState.toolbox\"\n (routingEvent)=\"getRoute()\">\n </igo-feature-details>\n </igo-panel>\n </div>\n\n</igo-flexible>\n","import {\n Component,\n ChangeDetectionStrategy,\n Input,\n OnInit,\n ElementRef,\n OnDestroy\n} from '@angular/core';\nimport { Observable, BehaviorSubject, Subscription, combineLatest } from 'rxjs';\nimport { debounceTime, map } from 'rxjs/operators';\nimport olFormatGeoJSON from 'ol/format/GeoJSON';\nimport olFeature from 'ol/Feature';\nimport olPoint from 'ol/geom/Point';\nimport type { default as OlGeometry } from 'ol/geom/Geometry';\n\nimport pointOnFeature from '@turf/point-on-feature';\n\nimport { ConfigService } from '@igo2/core';\n\nimport {\n EntityStore,\n ToolComponent,\n FlexibleState,\n getEntityTitle,\n FlexibleComponent,\n EntityState\n} from '@igo2/common';\n\nimport {\n FEATURE,\n Feature,\n FeatureMotion,\n SearchResult,\n IgoMap,\n moveToOlFeatures,\n Research,\n featuresAreTooDeepInView,\n featureToOl,\n featureFromOl,\n getCommonVectorStyle,\n getCommonVectorSelectedStyle,\n computeOlFeaturesExtent,\n featuresAreOutOfView\n} from '@igo2/geo';\n\nimport { MapState } from '../../map/map.state';\n\nimport { SearchState } from '../search.state';\nimport { ToolState } from '../../tool/tool.state';\nimport { DirectionState } from '../../directions/directions.state';\n\n/**\n * Tool to browse the search results\n */\n@ToolComponent({\n name: 'searchResults',\n title: 'igo.integration.tools.searchResults',\n icon: 'magnify'\n})\n@Component({\n selector: 'igo-search-results-tool',\n templateUrl: './search-results-tool.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SearchResultsToolComponent implements OnInit, OnDestroy {\n /**\n * to show hide results icons\n */\n @Input() showIcons: boolean = true;\n\n private hasFeatureEmphasisOnSelection: boolean = false;\n\n private showResultsGeometries$$: Subscription;\n private getRoute$$: Subscription;\n private shownResultsGeometries: Feature[] = [];\n private shownResultsEmphasisGeometries: Feature[] = [];\n private focusedResult$: BehaviorSubject<SearchResult> = new BehaviorSubject(\n undefined\n );\n public isSelectedResultOutOfView$ = new BehaviorSubject(false);\n private isSelectedResultOutOfView$$: Subscription;\n private abstractFocusedResult: Feature;\n private abstractSelectedResult: Feature;\n\n /**\n * Store holding the search results\n * @internal\n */\n get store(): EntityStore<SearchResult> {\n return this.searchState.store;\n }\n\n /**\n * Map to display the results on\n * @internal\n */\n get map(): IgoMap {\n return this.mapState.map;\n }\n\n get featureTitle(): string {\n return this.feature ? getEntityTitle(this.feature) : undefined;\n }\n\n get feature$(): Observable<Feature> {\n return this.store.stateView\n .firstBy$((e) => e.state.focused)\n .pipe(\n map(\n (element) =>\n (this.feature = element\n ? (element.entity.data as Feature)\n : undefined)\n )\n );\n }\n\n public feature: Feature;\n\n public term = '';\n private searchTerm$$: Subscription;\n\n public settingsChange$ = new BehaviorSubject<boolean>(undefined);\n\n public topPanelState$ = new BehaviorSubject<FlexibleState>('initial');\n private topPanelState$$: Subscription;\n\n @Input()\n set topPanelState(value: FlexibleState) {\n this.topPanelState$.next(value);\n }\n get topPanelState(): FlexibleState {\n return this.topPanelState$.value;\n }\n\n get termSplitter(): string {\n return this.searchState.searchTermSplitter$.value;\n }\n\n private format = new olFormatGeoJSON();\n\n constructor(\n private mapState: MapState,\n private searchState: SearchState,\n private elRef: ElementRef,\n public toolState: ToolState,\n private directionState: DirectionState,\n configService: ConfigService\n ) {\n this.hasFeatureEmphasisOnSelection = configService.getConfig(\n 'hasFeatureEmphasisOnSelection'\n );\n }\n\n ngOnInit() {\n this.searchTerm$$ = this.searchState.searchTerm$.subscribe(\n (searchTerm: string) => {\n if (searchTerm !== undefined && searchTerm !== null) {\n this.term = searchTerm;\n }\n }\n );\n\n for (const res of this.store.stateView.all$().value) {\n if (this.store.state.get(res.entity).selected === true) {\n this.topPanelState = 'expanded';\n }\n }\n\n this.searchState.searchSettingsChange$.subscribe(() => {\n this.settingsChange$.next(true);\n });\n\n this.topPanelState$$ = this.topPanelState$.subscribe(() => {\n const igoList = this.computeElementRef()[0];\n const selected = this.computeElementRef()[1];\n if (selected) {\n setTimeout(() => {\n // To be sure the flexible component has been displayed yet\n if (!this.isScrolledIntoView(igoList, selected)) {\n this.adjustTopPanel(igoList, selected);\n }\n }, FlexibleComponent.transitionTime + 50);\n }\n });\n\n if (this.hasFeatureEmphasisOnSelection) {\n if (!this.searchState.focusedOrResolution$$) {\n this.searchState.focusedOrResolution$$ = combineLatest([\n this.focusedResult$,\n this.map.viewController.resolution$\n ]).subscribe((bunch: [SearchResult<Feature>, number]) =>\n this.buildResultEmphasis(bunch[0], 'focused')\n );\n }\n\n if (!this.searchState.selectedOrResolution$$) {\n this.searchState.selectedOrResolution$$ = combineLatest([\n this.searchState.selectedResult$,\n this.map.viewController.resolution$\n ]).subscribe((bunch: [SearchResult<Feature>, number]) =>\n this.buildResultEmphasis(bunch[0], 'selected')\n );\n }\n }\n this.monitorResultOutOfView();\n\n this.showResultsGeometries$$ = combineLatest([\n this.searchState.searchResultsGeometryEnabled$,\n this.store.stateView.all$(),\n this.focusedResult$,\n this.searchState.selectedResult$,\n this.searchState.searchTerm$,\n this.map.viewController.resolution$\n ]).subscribe((bunch: [boolean, { entity: SearchResult, state: EntityState }[], SearchResult, SearchResult, string, number]) => {\n\n const searchResultsGeometryEnabled = bunch[0];\n const searchResults = bunch[1];\n\n if (this.hasFeatureEmphasisOnSelection) {\n this.clearFeatureEmphasis('shown');\n }\n this.shownResultsGeometries.map(result => this.map.queryResultsOverlay.removeFeature(result));\n const featureToHandleGeom = searchResults\n .filter(result =>\n result.entity.meta.dataType === FEATURE &&\n result.entity.data.geometry &&\n !result.state.selected &&\n !result.state.focused);\n\n featureToHandleGeom.map(result => {\n if (searchResultsGeometryEnabled) {\n result.entity.data.meta.style =\n getCommonVectorStyle(\n Object.assign(\n {},\n { feature: result.entity.data as Feature | olFeature<OlGeometry> },\n this.searchState.searchOverlayStyle,\n result.entity.style?.base ? result.entity.style.base : {}\n ));\n this.shownResultsGeometries.push(result.entity.data as Feature);\n this.map.queryResultsOverlay.addFeature(result.entity.data as Feature, FeatureMotion.None);\n if (this.hasFeatureEmphasisOnSelection) {\n this.buildResultEmphasis(result.entity as SearchResult<Feature>, 'shown');\n }\n }\n });\n });\n }\n\n private monitorResultOutOfView() {\n this.isSelectedResultOutOfView$$ = combineLatest([\n this.map.viewController.state$,\n this.searchState.selectedResult$\n ])\n .pipe(debounceTime(100))\n .subscribe((bunch) => {\n const selectedResult = bunch[1] as SearchResult<Feature>;\n if (!selectedResult) {\n this.isSelectedResultOutOfView$.next(false);\n return;\n }\n if (selectedResult.data.geometry) {\n const selectedOlFeature = featureToOl(\n selectedResult.data,\n this.map.projection\n );\n const selectedOlFeatureExtent = computeOlFeaturesExtent(this.map, [\n selectedOlFeature\n ]);\n this.isSelectedResultOutOfView$.next(\n featuresAreOutOfView(this.map, selectedOlFeatureExtent)\n );\n }\n });\n }\n\n private buildResultEmphasis(\n result: SearchResult<Feature>,\n trigger: 'selected' | 'focused' | 'shown' | undefined\n ) {\n if (trigger !== 'shown') {\n this.clearFeatureEmphasis(trigger);\n }\n if (!result || !result.data.geometry) {\n return;\n }\n const myOlFeature = featureToOl(result.data, this.map.projection);\n const olGeometry = myOlFeature.getGeometry();\n if (featuresAreTooDeepInView(this.map, olGeometry.getExtent() as [number, number, number, number], 0.0025)) {\n const extent = olGeometry.getExtent();\n const x = extent[0] + (extent[2] - extent[0]) / 2;\n const y = extent[1] + (extent[3] - extent[1]) / 2;\n const feature1 = new olFeature({\n name: `${trigger}AbstractResult'`,\n geometry: new olPoint([x, y])\n });\n const abstractResult = featureFromOl(feature1, this.map.projection);\n\n let computedStyle;\n let zIndexOffset = 0;\n\n switch (trigger) {\n case 'focused':\n computedStyle = getCommonVectorSelectedStyle(\n Object.assign({},\n { feature: abstractResult },\n this.searchState.searchOverlayStyleFocus,\n result.style?.focus ? result.style.focus : {}));\n zIndexOffset = 2;\n break;\n case 'shown':\n computedStyle = getCommonVectorStyle(Object.assign({},\n { feature: abstractResult },\n this.searchState.searchOverlayStyle,\n result.style?.base ? result.style.base : {}));\n break;\n case 'selected':\n computedStyle = getCommonVectorSelectedStyle(\n Object.assign({},\n { feature: abstractResult },\n this.searchState.searchOverlayStyleSelection,\n result.style?.selection ? result.style.selection : {}));\n zIndexOffset = 1;\n break;\n }\n abstractResult.meta.style = computedStyle;\n abstractResult.meta.style.setZIndex(2000 + zIndexOffset);\n this.map.searchResultsOverlay.addFeature(abstractResult, FeatureMotion.None);\n if (trigger === 'focused') {\n this.abstractFocusedResult = abstractResult;\n }\n if (trigger === 'selected') {\n this.abstractSelectedResult = abstractResult;\n }\n if (trigger === 'shown') {\n this.shownResultsEmphasisGeometries.push(abstractResult);\n }\n } else {\n this.clearFeatureEmphasis(trigger);\n }\n }\n\n private clearFeatureEmphasis(trigger: 'selected' | 'focused' | 'shown') {\n if (trigger === 'focused' && this.abstractFocusedResult) {\n this.map.searchResultsOverlay.removeFeature(this.abstractFocusedResult);\n this.abstractFocusedResult = undefined;\n }\n if (trigger === 'selected' && this.abstractSelectedResult) {\n this.map.searchResultsOverlay.removeFeature(this.abstractSelectedResult);\n this.abstractSelectedResult = undefined;\n }\n if (trigger === 'shown') {\n this.shownResultsEmphasisGeometries.map(shownResult => this.map.searchResultsOverlay.removeFeature(shownResult));\n this.shownResultsEmphasisGeometries = [];\n }\n }\n\n ngOnDestroy() {\n this.topPanelState$$.unsubscribe();\n this.searchTerm$$.unsubscribe();\n if (this.isSelectedResultOutOfView$$) {\n this.isSelectedResultOutOfView$$.unsubscribe();\n }\n if (this.showResultsGeometries$$) {\n this.showResultsGeometries$$.unsubscribe();\n }\n if (this.getRoute$$) {\n this.getRoute$$.unsubscribe();\n }\n }\n\n /**\n * Try to add a feature to the map when it's being focused\n * @internal\n * @param result A search result that could be a feature\n */\n onResultFocus(result: SearchResult) {\n this.focusedResult$.next(result);\n if (result.meta.dataType === FEATURE && result.data.geometry) {\n result.data.meta.style = getCommonVectorSelectedStyle(\n Object.assign({},\n { feature: result.data as Feature | olFeature<OlGeometry> },\n this.searchState.searchOverlayStyleFocus,\n result.style?.focus ? result.style.focus : {}));\n\n const feature = this.map.searchResultsOverlay.dataSource.ol.getFeatureById(result.meta.id);\n if (feature) {\n feature.setStyle(result.data.meta.style);\n return;\n }\n this.map.searchResultsOverlay.addFeature(result.data as Feature, FeatureMotion.None);\n }\n }\n\n onResultUnfocus(result: SearchResult) {\n this.focusedResult$.next(undefined);\n if (result.meta.dataType !== FEATURE) {\n return;\n }\n\n if (this.store.state.get(result).selected === true) {\n const feature = this.map.searchResultsOverlay.dataSource.ol.getFeatureById(result.meta.id);\n if (feature) {\n const style = getCommonVectorSelectedStyle(\n Object.assign({},\n { feature: result.data as Feature | olFeature<OlGeometry> },\n this.searchState.searchOverlayStyleFocus,\n result.style?.focus ? result.style.focus : {}));\n feature.setStyle(style);\n }\n return;\n }\n this.map.searchResultsOverlay.removeFeature(result.data as Feature);\n }\n\n /**\n * Try to add a feature to the map when it's being selected\n * @internal\n * @param result A search result that could be a feature or some layer options\n */\n onResultSelect(result: SearchResult) {\n this.map.searchResultsOverlay.dataSource.ol.clear();\n this.tryAddFeatureToMap(result);\n this.searchState.setSelectedResult(result);\n\n if (this.topPanelState === 'expanded') {\n const igoList = this.computeElementRef()[0];\n const selected = this.computeElementRef()[1];\n setTimeout(() => {\n // To be sure the flexible component has been displayed yet\n if (!this.isScrolledIntoView(igoList, selected)) {\n this.adjustTopPanel(igoList, selected);\n }\n }, FlexibleComponent.transitionTime + 50);\n }\n\n if (this.topPanelState === 'initial') {\n this.topPanelState = 'expanded';\n }\n }\n\n onSearch(event: { research: Research; results: SearchResult[] }) {\n const results = event.results;\n const newResults = this.store.entities$.value\n .filter((result: SearchResult) => result.source !== event.research.source)\n .concat(results);\n\n this.store.load(newResults);\n\n for (const res of this.store.all()) {\n if (\n this.store.state.get(res).focused === true &&\n this.store.state.get(res).selected !== true\n ) {\n this.store.state.update(res, { focused: false }, true);\n }\n }\n\n setTimeout(() => {\n const igoList = this.elRef.nativeElement.querySelector('igo-list');\n let moreResults;\n event.research.request.subscribe((source) => {\n if (!source[0] || !source[0].source) {\n moreResults = null;\n } else if (source[0].source.getId() === 'icherche') {\n moreResults = igoList.querySelector('.icherche .moreResults');\n } else if (source[0].source.getId() === 'ilayer') {\n moreResults = igoList.querySelector('.ilayer .moreResults');\n } else if (source[0].source.getId() === 'nominatim') {\n moreResults = igoList.querySelector('.nominatim .moreResults');\n } else {\n moreResults = igoList.querySelector('.' + source[0].source.getId() + ' .moreResults');\n }\n\n if (\n moreResults !== null &&\n !this.isScrolledIntoView(igoList, moreResults)\n ) {\n igoList.scrollTop =\n moreResults.offsetTop +\n moreResults.offsetHeight -\n igoList.clientHeight;\n }\n });\n }, 250);\n }\n\n computeElementRef() {\n const items = document.getElementsByTagName('igo-search-results-item');\n const igoList = this.elRef.nativeElement.getElementsByTagName(\n 'igo-list'\n )[0];\n let selectedItem;\n // eslint-disable-next-line\n for (let i = 0; i < items.length; i++) {\n if (items[i].className.includes('igo-list-item-selected')) {\n selectedItem = items[i];\n }\n }\n return [igoList, selectedItem];\n }\n\n adjustTopPanel(elemSource, elem) {\n if (!this.isScrolledIntoView(elemSource, elem)) {\n elemSource.scrollTop =\n elem.offsetTop +\n elem.children[0].offsetHeight -\n elemSource.clientHeight;\n }\n }\n\n toggleTopPanel() {\n if (this.topPanelState === 'expanded') {\n this.topPanelState = 'collapsed';\n } else {\n this.topPanelState = 'expanded';\n }\n }\n\n zoomToFeatureExtent() {\n if (this.feature.geometry) {\n const localOlFeature = this.format.readFeature(this.feature, {\n dataProjection: this.feature.projection,\n featureProjection: this.map.projection\n });\n moveToOlFeatures(this.map, [localOlFeature], FeatureMotion.Zoom);\n }\n }\n\n /**\n * Try to add a feature to the map overlay\n * @param result A search result that could be a feature\n */\n private tryAddFeatureToMap(result: SearchResult) {\n if (result.meta.dataType !== FEATURE) {\n return undefined;\n }\n const feature = (result as SearchResult<Feature>).data;\n\n // Somethimes features have no geometry. It happens with some GetFeatureInfo\n if (!feature.geometry) {\n return;\n }\n\n feature.meta.style = getCommonVectorSelectedStyle(\n Object.assign({},\n { feature },\n this.searchState.searchOverlayStyleSelection,\n result.style?.selection ? result.style.selection : {}));\n\n this.map.searchResultsOverlay.addFeature(feature);\n }\n\n isScrolledIntoView(elemSource, elem) {\n const padding = 6;\n const docViewTop = elemSource.scrollTop;\n const docViewBottom = docViewTop + elemSource.clientHeight;\n\n const elemTop = elem.offsetTop;\n const elemBottom = elemTop + elem.clientHeight + padding;\n return elemBottom <= docViewBottom && elemTop >= docViewTop;\n }\n\n getRoute() {\n this.toolState.toolbox.activateTool('directions');\n this.directionState.stopsStore.clearStops();\n setTimeout(() => {\n let routingCoordLoaded = false;\n if (this.getRoute$$) { this.getRoute$$.unsubscribe(); }\n this.getRoute$$ = this.directionState.stopsStore.storeInitialized$.subscribe((init: boolean) => {\n if (this.directionState.stopsStore.storeInitialized$.value && !routingCoordLoaded) {\n routingCoordLoaded = true;\n const stop = this.directionState.stopsStore.all().find((e) => e.position === 1);\n let coord;\n if (this.feature.geometry) {\n if (this.feature.geometry.type === 'Point') {\n coord = [this.feature.geometry.coordinates[0], this.feature.geometry.coordinates[1]];\n } else {\n const point = pointOnFeature(this.feature.geometry);\n coord = [point.geometry.coordinates[0], point.geometry.coordinates[1]];\n }\n }\n stop.text = this.featureTitle;\n stop.coordinates = coord;\n this.directionState.stopsStore.update(stop);\n }\n });\n }, 250);\n }\n}\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { IgoLanguageModule } from '@igo2/core';\nimport { IgoFlexibleModule, IgoCustomHtmlModule, IgoPanelModule } from '@igo2/common';\nimport {\n IgoFeatureModule,\n IgoSearchModule,\n IgoFeatureDetailsModule\n} from '@igo2/geo';\n\nimport { SearchResultsToolComponent } from './search-results-tool.component';\n\n/**\n * @ignore\n */\n@NgModule({\n imports: [\n CommonModule,\n MatIconModule,\n MatBadgeModule,\n MatTooltipModule,\n MatButtonModule,\n IgoLanguageModule,\n IgoFeatureModule,\n IgoSearchModule,\n IgoFlexibleModule,\n IgoPanelModule,\n IgoFeatureDetailsModule,\n IgoCustomHtmlModule\n ],\n declarations: [SearchResultsToolComponent],\n exports: [SearchResultsToolComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class IgoAppSearchResultsToolModule {}\n","import { NgModule } from '@angular/core';\n\nimport { IgoAppSearchBarModule } from './search-bar/search-bar.module';\nimport { IgoAppSearchResultsToolModule } from './search-results-tool/search-results-tool.module';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: [\n IgoAppSearchBarModule,\n IgoAppSearchResultsToolModule\n ],\n})\nexport class IgoAppSearchModule {}\n","import { Component } from '@angular/core';\n\nimport { ToolComponent } from '@igo2/common';\n\n@ToolComponent({\n name: 'ogcFilter',\n title: 'igo.integration.tools.ogcFilter',\n icon: 'filter'\n})\n@Component({\n selector: 'igo-ogc-filter-tool',\n templateUrl: './ogc-filter-tool.component.html'\n})\nexport class OgcFilterToolComponent {\n constructor() {}\n}\n","<igo-ogc-filterable-list igoOgcFilterableListBinding></igo-ogc-filterable-list>\n\n\n","import { Component } from '@angular/core';\n\nimport { ToolComponent } from '@igo2/common';\n\n@ToolComponent({\n name: 'timeFilter',\n title: 'igo.integration.tools.timeFilter',\n icon: 'history'\n})\n@Component({\n selector: 'igo-time-filter-tool',\n templateUrl: './time-filter-tool.component.html'\n})\nexport class TimeFilterToolComponent {\n constructor() {}\n}\n","<igo-time-filter-list igoTimeFilterListBinding></igo-time-filter-list>\n","<igo-panel>\n <igo-spatial-filter-type\n [store]=\"spatialListStore\"\n [selectedQueryType]=\"queryType\"\n [zone]=\"zone\"\n [layers]=\"activeLayers\"\n (eventType)=\"getOutputType($event)\"\n (eventQueryType)=\"getOutputQueryType($event)\"\n (zoneChange)=\"onZoneChange($event)\"\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\n (bufferChange)=\"buffer = $event\"\n (measureUnitChange)=\"measureUnit = $event\">\n </igo-spatial-filter-type>\n\n <igo-spatial-filter-item\n [type]=\"type\"\n [queryType]=\"queryType\"\n [map]=\"map\"\n [zone]=\"zone\"\n [loading]=\"loading\"\n [store]=\"store\"\n [layers]=\"activeLayers\"\n [allLayers]=\"layers\"\n [thematicLength]=\"thematicLength\"\n (radiusEvent)=\"buffer = $event\"\n (bufferEvent)=\"buffer = $event\"\n (measureUnitChange)=\"measureUnit = $event\"\n (freehandControl)=\"freehandDrawIsActive = $event\"\n (drawZoneEvent)=\"zone = $event\"\n (zoneWithBufferChange)=\"onZoneChange($event, true)\"\n (itemTypeChange)=\"itemType = $event\"\n (thematicChange)=\"thematics = $event\"\n (toggleSearch)=\"getOutputToggleSearch()\"\n (clearButtonEvent)=\"clearMap()\"\n (clearSearchEvent)=\"getOutputClearSearch()\"\n (export)=\"activateExportTool()\"\n (openWorkspace)=\"activateWorkspace()\"\n (entityChange)=\"activateWorkspace($event)\">\n </igo-spatial-filter-item>\n</igo-panel>\n\n<igo-panel>\n <ng-container *ngIf=\"selectedFeature$ | async as feature\">\n <igo-feature-details [feature]=\"feature\"></igo-feature-details>\n </ng-container>\n</igo-panel>","import { Component, Input, ChangeDetectionStrategy, ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { Observable, forkJoin, Subject } from 'rxjs';\nimport { tap, take, takeUntil } from 'rxjs/operators';\n\nimport {\n IgoMap,\n DataSourceService,\n LayerService,\n Feature,\n moveToOlFeatures,\n FeatureMotion,\n ClusterDataSource,\n featureToOl,\n DataSource,\n QueryableDataSourceOptions,\n SpatialFilterService,\n SpatialFilterType,\n SpatialFilterItemType,\n SpatialFilterQueryType,\n SpatialFilterThematic,\n Layer,\n createOverlayMarkerStyle,\n ExportOptions,\n MeasureLengthUnit\n} from '@igo2/geo';\nimport { EntityStore, ToolComponent } from '@igo2/common';\nimport olFormatGeoJSON from 'ol/format/GeoJSON';\nimport olSourceVector from 'ol/source/Vector';\nimport olSourceCluster from 'ol/source/Cluster';\nimport type { default as OlGeometry } from 'ol/geom/Geometry';\nimport { BehaviorSubject } from 'rxjs';\nimport { MapState } from '../../map/map.state';\nimport { ImportExportMode, ImportExportState } from './../../import-export/import-export.state';\nimport * as olstyle from 'ol/style';\nimport { MessageService, LanguageService } from '@igo2/core';\nimport { ToolState } from '../../tool/tool.state';\nimport { WorkspaceState } from '../../workspace/workspace.state';\nimport { EventsKey } from 'ol/events';\n\n/**\n * Tool to apply spatial filter\n */\n@ToolComponent({\n name: 'spatialFilter',\n title: 'igo.integration.tools.spatialFilter',\n icon: 'selection-marker'\n})\n/**\n * Spatial Filter Type\n */\n@Component({\n selector: 'igo-spatial-filter-tool',\n templateUrl: './spatial-filter-tool.component.html',\n styleUrls: ['./spatial-filter-tool.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SpatialFilterToolComponent implements OnInit, OnDestroy {\n get map(): IgoMap {\n return this.mapState.map;\n }\n\n @Input() type: SpatialFilterType;\n @Input() itemType: SpatialFilterItemType = SpatialFilterItemType.Address;\n @Input() freehandDrawIsActive: boolean;\n\n public layers: Layer[] = [];\n public activeLayers: Layer[] = [];\n\n public queryType: SpatialFilterQueryType;\n public thematics: SpatialFilterThematic[];\n public zone: Feature;\n public zoneWithBuffer: Feature;\n public buffer = 0;\n\n public iterator = 1;\n\n public selectedFeature$: BehaviorSubject<Feature> = new BehaviorSubject(\n undefined\n );\n\n private format = new olFormatGeoJSON();\n\n public store: EntityStore<Feature> = new EntityStore<Feature>([]); // Store to print results at the end\n\n public spatialListStore: EntityStore<Feature> = new EntityStore<Feature>([]);\n\n public loading = false;\n\n public thematicLength = 0;\n\n public measureUnit: MeasureLengthUnit = MeasureLengthUnit.Meters;\n private unsubscribe$ = new Subject<void>();\n\n private moveendKey: EventsKey;\n\n constructor(\n private matIconRegistry: MatIconRegistry,\n private spatialFilterService: SpatialFilterService,\n private dataSourceService: DataSourceService,\n private layerService: LayerService,\n private mapState: MapState,\n private messageService: MessageService,\n private languageService: LanguageService,\n private importExportState: ImportExportState,\n private toolState: ToolState,\n private workspaceState: WorkspaceState,\n private cdRef: ChangeDetectorRef\n ) {}\n\n ngOnInit() {\n for (const layer of this.map.layers) {\n if (layer.title && layer.title.includes(this.languageService.translate.instant('igo.geo.spatialFilter.spatialFilter'))) {\n this.layers.push(layer);\n }\n }\n }\n\n ngOnDestroy() {\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n }\n\n getOutputType(event: SpatialFilterType) {\n this.type = event;\n this.queryType = undefined;\n }\n\n getOutputQueryType(event: SpatialFilterQueryType) {\n this.queryType = event;\n if (this.queryType) {\n this.loadFilterList();\n }\n }\n\n activateExportTool() {\n const ids = [];\n const re = new RegExp('^Zone \\\\d+');\n for (const layer of this.layers) {\n if (!layer.title.match(re)) {\n ids.push(layer.id);\n }\n }\n this.importExportState.setMode(ImportExportMode.export);\n this.importExportState.setsExportOptions({ layers: ids } as ExportOptions);\n this.toolState.toolbox.activateTool('importExport');\n }\n\n activateWorkspace(record?) {\n let layerToOpenWks;\n this.workspaceState.store.entities$.pipe(takeUntil(this.unsubscribe$)).subscribe(() => {\n if (!record && this.activeLayers.length && this.workspaceState.store.all().length > 1) {\n if (this.itemType === SpatialFilterItemType.Thematics) {\n for (const thematic of this.thematics) {\n if (!thematic.zeroResults) {\n layerToOpenWks = this.activeLayers.find(layer => layer.title.includes(thematic.name + ' ' + this.iterator.toString()));\n break;\n }\n }\n } else {\n const title = 'Adresses ' + this.iterator.toString();\n this.activeLayers.forEach((layer) => {\n if (layer.title.includes(title)) {\n layerToOpenWks = layer;\n }\n });\n }\n\n if (layerToOpenWks) {\n this.workspaceState.workspacePanelExpanded = true;\n this.workspaceState.setActiveWorkspaceById(layerToOpenWks.id);\n }\n } else if (record && this.activeLayers.length && this.workspaceState.store.all().length > 1) {\n this.selectWorkspaceEntity(record);\n this.moveendKey = this.map.ol.on('moveend', () => {\n this.selectWorkspaceEntity(record);\n });\n }\n });\n }\n\n private selectWorkspaceEntity(record) {\n this.workspaceState.store.all().forEach(workspace => {\n workspace.entityStore.state.updateAll({selected: false});\n if (workspace.title.includes(record.added[0].meta.title)) {\n this.workspaceState.setActiveWorkspaceById(workspace.id);\n workspace.entityStore.state.updateMany(record.added, {selected: true});\n }\n });\n }\n\n private loadFilterList() {\n this.spatialFilterService\n .loadFilterList(this.queryType)\n .pipe(takeUntil(this.unsubscribe$))\n .subscribe((features: Feature[]) => {\n features.sort((a, b) => {\n if (a.properties.nom < b.properties.nom) {\n return -1;\n }\n if (a.properties.nom > b.properties.nom) {\n return 1;\n }\n return 0;\n });\n this.spatialListStore.clear();\n this.spatialListStore.load(features);\n });\n }\n\n getOutputToggleSearch() {\n this.loadThematics();\n }\n\n getOutputClearSearch() {\n this.zone = undefined;\n this.queryType = undefined;\n }\n\n clearMap() {\n this.map.removeLayers(this.layers);\n this.layers = [];\n this.activeLayers = [];\n this.thematicLength = 0;\n this.iterator = 1;\n if (this.type === SpatialFilterType.Predefined) {\n this.zone = undefined;\n this.queryType = undefined;\n }\n }\n\n private loadThematics() {\n this.loading = true;\n let zeroResults = true;\n let thematics;\n if (this.buffer === 0 || this.type === SpatialFilterType.Point) {\n this.tryAddFeaturesToMap([this.zone]);\n }\n if (this.itemType !== SpatialFilterItemType.Thematics) {\n const theme: SpatialFilterThematic = {\n name: ''\n };\n thematics = [theme];\n } else {\n thematics = this.thematics;\n }\n if (this.measureUnit === MeasureLengthUnit.Kilometers && this.type !== SpatialFilterType.Point) {\n this.buffer = this.buffer * 1000;\n }\n if (this.type === SpatialFilterType.Polygon) {\n this.buffer = 0; // to avoid buffer enter a second time in terrAPI\n }\n\n const observables$: Observable<Feature[]>[] = [];\n thematics.forEach(thematic => {\n observables$.push(\n this.spatialFilterService\n .loadFilterItem(\n this.zone,\n this.itemType,\n this.queryType,\n thematic,\n this.buffer\n )\n .pipe(\n tap((features: Feature[]) => {\n this.store.insertMany(features);\n const featuresPoint: Feature[] = [];\n const featuresLinePoly: Feature[] = [];\n let idPoint;\n let idLinePoly;\n features.forEach(feature => {\n if (feature.geometry.type === 'Point') {\n feature.properties.longitude = feature.geometry.coordinates[0];\n feature.properties.latitude = feature.geometry.coordinates[1];\n featuresPoint.push(feature);\n idPoint = feature.meta.id;\n } else {\n featuresLinePoly.push(feature);\n idLinePoly = feature.meta.id;\n }\n });\n\n this.tryAddPointToMap(featuresPoint, idPoint);\n this.tryAddLayerToMap(featuresLinePoly, idLinePoly);\n if (features.length) {\n zeroResults = false;\n this.thematicLength += 1;\n thematic.zeroResults = false;\n this.cdRef.detectChanges();\n } else {\n thematic.zeroResults = true;\n }\n\n if (features.length >= 10000) {\n this.messageService.alert(\n this.languageService.translate.instant(\n 'igo.geo.spatialFilter.maxSizeAlert'\n ),\n this.languageService.translate.instant(\n 'igo.geo.spatialFilter.warning'\n ),\n { timeOut: 10000 }\n );\n }\n })\n )\n );\n });\n\n forkJoin(observables$).pipe(takeUntil(this.unsubscribe$)).subscribe(() => {\n this.loading = false;\n if (zeroResults) {\n this.messageService.alert(\n this.languageService.translate.instant(\n 'igo.geo.spatialFilter.zeroResults'\n ),\n this.languageService.translate.instant(\n 'igo.geo.spatialFilter.warning'\n ),\n { timeOut: 10000 }\n );\n }\n });\n }\n\n onZoneChange(feature: Feature, buffer?: boolean) {\n this.zone = feature;\n if (feature) {\n buffer ? this.tryAddFeaturesToMap([feature], true) : this.tryAddFeaturesToMap([feature]);\n this.zoomToFeatureExtent(feature);\n }\n }\n\n /**\n * Try to add zone feature to the map overlay\n */\n public tryAddFeaturesToMap(features: Feature[], buffer?: boolean) {\n let i = 1;\n for (const feature of features) {\n if (this.type === SpatialFilterType.Predefined) {\n for (const layer of this.layers) {\n if (\n layer.options._internal &&\n layer.options._internal.code === feature.properties.code &&\n !buffer\n ) {\n if (!layer.title?.startsWith('Zone')) {\n const index = this.layers.indexOf(layer);\n this.layers.splice(index, 1);\n }\n return;\n }\n if (layer.title?.startsWith('Zone')) {\n this.activeLayers = [];\n const index = this.layers.indexOf(layer);\n this.layers.splice(index, 1);\n this.map.removeLayer(layer);\n }\n }\n } else {\n if (buffer) {\n for (const layer of this.activeLayers) {\n if (this.activeLayers.length === 1 && layer.title?.startsWith('Zone')) {\n const index = this.layers.indexOf(layer);\n this.layers.splice(index, 1);\n this.map.removeLayer(layer);\n }\n }\n }\n this.activeLayers = [];\n }\n for (const layer of this.layers) {\n if (layer.title?.startsWith('Zone')) {\n i++;\n }\n }\n this.dataSourceService\n .createAsyncDataSource({\n type: 'vector',\n queryable: true\n } as QueryableDataSourceOptions)\n .pipe(take(1))\n .subscribe((dataSource: DataSource) => {\n const olLayer = this.layerService.createLayer({\n isIgoInternalLayer: true,\n title: ('Zone ' + i + ' - ' + this.languageService.translate.instant(\n 'igo.geo.spatialFilter.spatialFilter'\n )) as string,\n workspace: { enabled: true },\n _internal: {\n code:\n this.type === SpatialFilterType.Predefined\n ? feature.properties.code\n : undefined\n },\n source: dataSource,\n visible: true,\n style: (_feature, resolution) => {\n const coordinates = (features[0] as any).coordinates;\n return new olstyle.Style({\n image: new olstyle.Circle({\n radius: coordinates\n ? this.buffer /\n Math.cos((Math.PI / 180) * coordinates[1]) /\n resolution\n : undefined,\n fill: new olstyle.Fill({\n color: 'rgba(200, 200, 20, 0.2)'\n }),\n stroke: new olstyle.Stroke({\n width: 1,\n color: 'orange'\n })\n }),\n stroke: new olstyle.Stroke({\n width: 1,\n color: 'orange'\n }),\n fill: new olstyle.Fill({\n color: 'rgba(200, 200, 20, 0.2)'\n })\n });\n }\n });\n const featuresOl = features.map(f => {\n return featureToOl(f, this.map.projection);\n });\n if (this.type !== SpatialFilterType.Predefined) {\n const type = this.type === SpatialFilterType.Point ? 'Cercle' : 'Polygone';\n featuresOl[0].set('nom', 'Zone', true);\n featuresOl[0].set('type', type, true);\n }\n const ol = dataSource.ol as olSourceVector<OlGeometry> | olSourceCluster;\n ol.addFeatures(featuresOl);\n this.map.addLayer(olLayer);\n this.layers.push(olLayer);\n this.activeLayers.push(olLayer);\n this.cdRef.detectChanges();\n });\n }\n }\n\n /**\n * Try to add point features to the map\n * Necessary to create clusters\n */\n private tryAddPointToMap(features: Feature[], id) {\n let i = 1;\n if (features.length) {\n if (this.map === undefined) {\n return;\n }\n for (const layer of this.layers) {\n if (layer.title?.startsWith(features[0].meta.title)) {\n i++;\n }\n }\n this.dataSourceService\n .createAsyncDataSource({\n type: 'cluster',\n id,\n queryable: true,\n distance: 120,\n meta: {\n title: 'Cluster'\n }\n } as QueryableDataSourceOptions)\n .pipe(take(1))\n .subscribe((dataSource: ClusterDataSource) => {\n const icon = features[0].meta.icon;\n let style: olstyle.Style;\n if (!icon) {\n style = createOverlayMarkerStyle();\n } else {\n style = this.createSvgIcon(icon) || createOverlayMarkerStyle();\n }\n\n const olLayer = this.layerService.createLayer({\n isIgoInternalLayer: true,\n title: (features[0].meta.title + ' ' + i + ' - ' + this.languageService.translate.instant(\n 'igo.geo.spatialFilter.spatialFilter'\n )) as string,\n source: dataSource,\n visible: true,\n style\n });\n\n const featuresOl = features.map(feature => {\n return featureToOl(feature, this.map.projection);\n });\n const ol = dataSource.ol as olSourceCluster;\n ol.getSource().addFeatures(featuresOl);\n if (this.layers.find(layer => layer.id === olLayer.id)) {\n this.map.removeLayer(\n this.layers.find(layer => layer.id === olLayer.id)\n );\n i = i - 1;\n olLayer.title = (features[0].meta.title + ' ' + i + ' - ' + this.languageService.translate.instant(\n 'igo.geo.spatialFilter.spatialFilter'\n )) as string;\n olLayer.options.title = olLayer.title;\n }\n this.iterator = i;\n this.map.addLayer(olLayer);\n this.layers.push(olLayer);\n this.pushLayer(olLayer);\n this.cdRef.detectChanges();\n });\n }\n }\n\n private createSvgIcon(icon): olstyle.Style {\n let style: olstyle.Style;\n this.matIconRegistry.getNamedSvgIcon(icon).subscribe(svgObj => {\n const xmlSerializer = new XMLSerializer();\n svgObj.setAttribute('width', '30');\n svgObj.setAttribute('height', '30');\n svgObj.setAttribute('fill', 'rgba(0, 128, 255)');\n svgObj.setAttribute('stroke', 'white');\n const svg = xmlSerializer.serializeToString(svgObj);\n style = new olstyle.Style({\n image: new olstyle.Icon({\n src: 'data:image/svg+xml;utf8,' + svg\n })\n });\n });\n return style;\n }\n /**\n * Try to add line or polygon features to the map\n */\n private tryAddLayerToMap(features: Feature[], id) {\n let i = 1;\n if (features.length) {\n if (this.map === undefined) {\n return;\n }\n for (const layer of this.layers) {\n if (layer.title?.startsWith(features[0].meta.title)) {\n i++;\n }\n }\n this.dataSourceService\n .createAsyncDataSource({\n type: 'vector',\n id,\n queryable: true\n } as QueryableDataSourceOptions)\n .pipe(take(1))\n .subscribe((dataSource: DataSource) => {\n const olLayer = this.layerService.createLayer({\n isIgoInternalLayer: true,\n title: (features[0].meta.title + ' ' + i + ' - ' + this.languageService.translate.instant(\n 'igo.geo.spatialFilter.spatialFilter'\n )) as string,\n source: dataSource,\n visible: true\n });\n const featuresOl = features.map(feature => {\n return featureToOl(feature, this.map.projection);\n });\n const ol = dataSource.ol as olSourceVector<OlGeometry>;\n ol.addFeatures(featuresOl);\n if (this.layers.find(layer => layer.id === olLayer.id)) {\n this.map.removeLayer(\n this.layers.find(layer => layer.id === olLayer.id)\n );\n i = i - 1;\n olLayer.title = (features[0].meta.title + ' ' + i + ' - ' + this.languageService.translate.instant(\n 'igo.geo.spatialFilter.spatialFilter'\n )) as string;\n olLayer.options.title = olLayer.title;\n }\n this.map.addLayer(olLayer);\n this.layers.push(olLayer);\n this.pushLayer(olLayer);\n this.cdRef.detectChanges();\n });\n }\n }\n\n zoomToFeatureExtent(feature) {\n if (feature) {\n const olFeature = this.format.readFeature(feature, {\n dataProjection: feature.projection,\n featureProjection: this.map.projection\n });\n moveToOlFeatures(this.map, [olFeature], FeatureMotion.Zoom);\n }\n }\n\n pushLayer(layer) {\n for (const lay of this.activeLayers) {\n if (lay.id === layer.id) {\n return;\n }\n }\n\n this.activeLayers.push(layer);\n }\n}\n","import {\n trigger,\n state,\n style,\n transition,\n animate,\n AnimationTriggerMetadata\n} from '@angular/animations';\n\nexport function toolSlideInOut(\n speed = '300ms',\n type = 'ease-in-out'\n): AnimationTriggerMetadata {\n return trigger('toolSlideInOut', [\n state(\n 'enter',\n style({\n transform: 'translateX(100%)'\n })\n ),\n transition('void => enter', animate(speed + ' ' + type))\n ]);\n}\n","import { Component } from '@angular/core';\n\nimport { ToolComponent } from '@igo2/common';\nimport { MapState } from '../../map/map.state';\nimport { IgoMap, Layer } from '@igo2/geo';\nimport { toolSlideInOut } from './active-time-filter-tool.animation';\n\n@ToolComponent({\n name: 'activeTimeFilter',\n title: 'igo.integration.tools.timeFilter',\n icon: 'history',\n parent: 'mapTools'\n})\n@Component({\n selector: 'igo-active-time-filter-tool',\n templateUrl: './active-time-filter-tool.component.html',\n animations: [toolSlideInOut()]\n})\nexport class ActiveTimeFilterToolComponent {\n\n get map(): IgoMap {\n return this.mapState.map;\n }\n\n get layer(): Layer {\n for (const lay of this.map.layers) {\n if (lay.options.active === true) {\n return lay;\n }\n }\n return;\n }\n\n public animate = 'enter';\n\n constructor(public mapState: MapState) {}\n}\n","<igo-time-filter-item\n [map]=\"map\"\n [layer]=\"layer\"\n [header]=\"false\"\n [@toolSlideInOut]=\"animate\">\n</igo-time-filter-item>\n","import {\n trigger,\n state,\n style,\n transition,\n animate,\n AnimationTriggerMetadata\n} from '@angular/animations';\n\nexport function toolSlideInOut(\n speed = '300ms',\n type = 'ease-in-out'\n): AnimationTriggerMetadata {\n return trigger('toolSlideInOut', [\n state(\n 'enter',\n style({\n transform: 'translateX(100%)'\n })\n ),\n transition('void => enter', animate(speed + ' ' + type))\n ]);\n}\n","import { Component } from '@angular/core';\n\nimport { ToolComponent } from '@igo2/common';\nimport { MapState } from '../../map/map.state';\nimport { Layer, IgoMap } from '@igo2/geo';\n\nimport { toolSlideInOut } from './active-ogc-filter-tool.animation';\n\n@ToolComponent({\n name: 'activeOgcFilter',\n title: 'igo.integration.tools.ogcFilter',\n icon: 'filter',\n parent: 'mapTools'\n})\n@Component({\n selector: 'igo-active-ogc-filter-tool',\n templateUrl: './active-ogc-filter-tool.component.html',\n animations: [toolSlideInOut()]\n})\nexport class ActiveOgcFilterToolComponent {\n\n get map(): IgoMap {\n return this.mapState.map;\n }\n\n get layer(): Layer {\n for (const lay of this.map.layers) {\n if (lay.options.active === true) {\n return lay;\n }\n }\n return;\n }\n\n public animate = 'enter';\n\n constructor(public mapState: MapState) {}\n}\n","<igo-ogc-filterable-item\n [map]=\"map\"\n [layer]=\"layer\"\n [header]=\"false\"\n [@toolSlideInOut]=\"animate\">\n</igo-ogc-filterable-item>\n\n\n","import {\n NgModule,\n ModuleWithProviders,\n CUSTOM_ELEMENTS_SCHEMA\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { IgoFilterModule, IgoQueryModule } from '@igo2/geo';\nimport { OgcFilterToolComponent } from './ogc-filter-tool/ogc-filter-tool.component';\nimport { TimeFilterToolComponent } from './time-filter-tool/time-filter-tool.component';\nimport { SpatialFilterToolComponent } from './spatial-filter-tool/spatial-filter-tool.component';\nimport { ActiveTimeFilterToolComponent } from './active-time-filter-tool/active-time-filter-tool.component';\nimport { ActiveOgcFilterToolComponent } from './active-ogc-filter-tool/active-ogc-filter-tool.component';\n\n@NgModule({\n imports: [IgoFilterModule, IgoQueryModule, CommonModule],\n declarations: [\n OgcFilterToolComponent,\n ActiveOgcFilterToolComponent,\n TimeFilterToolComponent,\n ActiveTimeFilterToolComponent,\n SpatialFilterToolComponent\n ],\n exports: [\n OgcFilterToolComponent,\n ActiveOgcFilterToolComponent,\n TimeFilterToolComponent,\n ActiveTimeFilterToolComponent,\n SpatialFilterToolComponent\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class IgoAppFilterModule {\n static forRoot(): ModuleWithProviders<IgoAppFilterModule> {\n return {\n ngModule: IgoAppFilterModule,\n providers: []\n };\n }\n}\n","<p></p>\n<igo-interactive-tour\n mat-raised-button\n tourToStart=\"global\"\n menuIsOpen=true\n styleButton=\"raised\"\n [discoverTitleInLocale$]=\"discoverTitleInLocale$\">\n</igo-interactive-tour>\n\n<button *ngIf=\"auth.authenticated && trainingGuideURLs && trainingGuideURLs.length === 1\"\n class=\"training-guide-button\"\n mat-raised-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n (click)=\"openGuide()\">\n <span>{{'igo.integration.aboutTool.trainingGuide' | translate}}</span>\n <mat-icon svgIcon=\"file-document\"></mat-icon>\n</button>\n\n<button *ngIf=\"auth.authenticated && trainingGuideURLs && trainingGuideURLs.length > 1\"\n class=\"training-guide-button\"\n mat-raised-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [disabled]=\"loading\"\n [matTooltip]=\"'igo.integration.aboutTool.trainingGuideTooltip' | translate\"\n [matMenuTriggerFor]=\"menu\">\n <span>{{'igo.integration.aboutTool.trainingGuide' | translate}}</span>\n <mat-icon svgIcon=\"file-document\"></mat-icon>\n</button>\n\n<mat-menu #menu=\"matMenu\">\n <button *ngFor=\"let guide of trainingGuideURLs\" mat-menu-item (click)=\"openGuide(guide)\">{{formatFileName(guide)}}</button>\n</mat-menu>\n\n<igo-custom-html *ngIf=\"headerHtml !== ''\" class=\"mat-typography\"\n [html]=\"headerHtml | translate\">\n</igo-custom-html>\n\n<igo-custom-html class=\"mat-typography\"\n [html]=\"html | translate: {version: version}\">\n</igo-custom-html>\n","import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\n\nimport { ToolComponent } from '@igo2/common';\nimport { ConfigService, LanguageService, Version } from '@igo2/core';\nimport { of } from 'rxjs';\nimport type { Observable } from 'rxjs';\nimport { AuthService } from '@igo2/auth';\nimport { HttpClient } from '@angular/common/http';\n\n@ToolComponent({\n name: 'about',\n title: 'igo.integration.tools.about',\n icon: 'help-circle'\n})\n@Component({\n selector: 'igo-about-tool',\n templateUrl: './about-tool.component.html',\n styleUrls: ['./about-tool.component.scss']\n})\nexport class AboutToolComponent implements OnInit {\n @Input()\n get headerHtml() {\n return this._headerHtml;\n }\n set headerHtml(value: string) {\n this._headerHtml = Array.isArray(value) ? value.join('\\n') : value;\n }\n\n @Input()\n get html() {\n return this._html;\n }\n set html(value: string) {\n this._html = Array.isArray(value) ? value.join('\\n') : value;\n }\n private _discoverTitleInLocale: string = 'IGO';\n public discoverTitleInLocale$: Observable<string> = of(this._discoverTitleInLocale);\n\n @Input()\n get discoverTitleInLocale() {\n return this._discoverTitleInLocale;\n }\n set discoverTitleInLocale(value: string) {\n this._discoverTitleInLocale = value;\n this.discoverTitleInLocale$ = of(value);\n }\n\n @Input() trainingGuideURLs;\n\n public version: Version;\n private _html: string = 'igo.integration.aboutTool.html';\n private _headerHtml: string = this.languageService.translate.instant('igo.integration.aboutTool.headerHtml');\n\n private baseUrlProfil;\n private baseUrlGuide;\n\n public loading = false;\n\n constructor(\n public configService: ConfigService,\n public auth: AuthService,\n private http: HttpClient,\n private cdRef: ChangeDetectorRef,\n private languageService: LanguageService) {\n this.version = configService.getConfig('version');\n this.baseUrlProfil = configService.getConfig('storage.url');\n this.baseUrlGuide = configService.getConfig('depot.url') + configService.getConfig('depot.guideUrl');\n }\n\n ngOnInit() {\n if (this.auth.authenticated && this.configService.getConfig('context.url')) {\n this.http.get(this.baseUrlProfil).subscribe((profil) => {\n const recast = profil as any;\n this.trainingGuideURLs = recast.guides;\n this.cdRef.detectChanges();\n });\n } else if (\n this.auth.authenticated &&\n !this.configService.getConfig('context.url') &&\n this.configService.getConfig('depot.trainingGuides')) {\n this.trainingGuideURLs = this.configService.getConfig('depot.trainingGuides');\n }\n }\n\n openGuide(guide?) {\n this.loading = true;\n const url = guide ?\n this.baseUrlGuide + guide + '?' :\n this.baseUrlGuide + this.trainingGuideURLs[0] + '?';\n this.http\n .get(url, {\n responseType: 'blob'\n })\n .subscribe(() => {\n this.loading = false;\n window.open(url, '_blank');\n this.cdRef.detectChanges();\n });\n }\n\n formatFileName(name: string) {\n name = name.split('_').join(' ');\n const index = name.indexOf('.');\n name = name.slice(0, index);\n return name;\n }\n}\n","import {\n NgModule,\n ModuleWithProviders,\n CUSTOM_ELEMENTS_SCHEMA\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\n\nimport { IgoLanguageModule } from '@igo2/core';\nimport { IgoCustomHtmlModule, IgoInteractiveTourModule } from '@igo2/common';\n\nimport { AboutToolComponent } from './about-tool/about-tool.component';\n\n@NgModule({\n imports: [\n IgoLanguageModule,\n IgoCustomHtmlModule,\n MatButtonModule,\n MatTooltipModule,\n MatIconModule,\n MatMenuModule,\n IgoInteractiveTourModule,\n CommonModule\n ],\n declarations: [AboutToolComponent],\n exports: [AboutToolComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class IgoAppAboutModule {\n static forRoot(): ModuleWithProviders<IgoAppAboutModule> {\n return {\n ngModule: IgoAppAboutModule,\n providers: []\n };\n }\n}\n","import { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: []\n})\nexport class IgoAppStorageModule {}\n","import { NgModule } from '@angular/core';\n\nimport { IgoAppAnalyticsModule } from './analytics/analytics.module';\nimport { IgoAppContextModule } from './context/context.module';\nimport { IgoAppCatalogModule } from './catalog/catalog.module';\nimport { IgoAppDirectionsModule } from './directions/directions.module';\nimport { IgoAppDrawModule } from './draw/draw.module';\nimport { IgoAppWorkspaceModule } from './workspace/workspace.module';\nimport { IgoAppImportExportModule } from './import-export/import-export.module';\nimport { IgoAppMapModule } from './map/map.module';\nimport { IgoAppMeasureModule } from './measure/measure.module';\nimport { IgoAppPrintModule } from './print/print.module';\nimport { IgoAppSearchModule } from './search/search.module';\nimport { IgoAppFilterModule } from './filter/filter.module';\nimport { IgoAppAboutModule } from './about/about.module';\nimport { IgoAppStorageModule } from './storage/storage.module';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: [\n IgoAppStorageModule,\n IgoAppAnalyticsModule,\n IgoAppContextModule,\n IgoAppCatalogModule,\n IgoAppDirectionsModule,\n IgoAppDrawModule,\n IgoAppWorkspaceModule,\n IgoAppImportExportModule,\n IgoAppMapModule,\n IgoAppMeasureModule,\n IgoAppPrintModule,\n IgoAppSearchModule,\n IgoAppFilterModule,\n IgoAppAboutModule\n ]\n})\nexport class IgoIntegrationModule {}\n","import { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: []\n})\nexport class IgoAppToolModule {}\n","import { Injectable } from '@angular/core';\nimport { skip } from 'rxjs/operators';\n\nimport { AnalyticsService } from '@igo2/core';\nimport { AuthService } from '@igo2/auth';\n\nimport { ContextState } from '../context/context.state';\nimport { SearchState } from '../search/search.state';\nimport { ToolState } from '../tool/tool.state';\n\n/**\n * Service that holds the state of the search module\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class AnalyticsListenerService {\n /**\n * Toolbox that holds main tools\n */\n\n constructor(\n private analyticsService: AnalyticsService,\n private authService: AuthService,\n private contextState: ContextState,\n private searchState: SearchState,\n private toolState: ToolState\n ) {}\n\n listen() {\n this.listenUser();\n this.listenContext();\n this.listenTool();\n this.listenSearch();\n }\n\n listenUser() {\n this.authService.authenticate$.subscribe(() => {\n const tokenDecoded = this.authService.decodeToken() || {};\n if (tokenDecoded.user) {\n this.authService\n .getProfils()\n .subscribe(profils =>\n this.analyticsService.setUser(tokenDecoded.user, profils.profils)\n );\n } else {\n this.analyticsService.setUser();\n }\n });\n }\n\n listenContext() {\n this.contextState.context$.subscribe(context => {\n if (context) {\n this.analyticsService.trackEvent('context', 'activateContext', context.id || context.uri);\n }\n });\n }\n\n listenTool() {\n this.toolState.toolbox.activeTool$.pipe(skip(1)).subscribe(tool => {\n if (tool) {\n this.analyticsService.trackEvent('tool', 'activateTool', tool.name);\n }\n });\n }\n\n listenSearch() {\n this.searchState.searchTerm$.pipe(skip(1)).subscribe((searchTerm: string) => {\n if (searchTerm !== undefined && searchTerm !== null) {\n this.analyticsService.trackSearch(searchTerm, this.searchState.store.count);\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { EntityStore } from '@igo2/common';\nimport { ConfigService } from '@igo2/core';\nimport { CommonVectorStyleOptions, SearchResult } from '@igo2/geo';\n\n/**\n * Service that holds the state of the query module\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class QueryState {\n /**\n * Store that holds the query results\n */\n public store: EntityStore<SearchResult> = new EntityStore<SearchResult>([]);\n public queryOverlayStyle: CommonVectorStyleOptions = {};\n public queryOverlayStyleSelection: CommonVectorStyleOptions = {};\n public queryOverlayStyleFocus: CommonVectorStyleOptions = {};\n\n constructor(private configService: ConfigService) {\n const queryOverlayStyle = this.configService.getConfig('queryOverlayStyle') as {\n base?: CommonVectorStyleOptions,\n selection?: CommonVectorStyleOptions,\n focus?: CommonVectorStyleOptions\n };\n if (queryOverlayStyle) {\n this.queryOverlayStyle = queryOverlayStyle.base;\n this.queryOverlayStyleSelection = queryOverlayStyle.selection;\n this.queryOverlayStyleFocus = queryOverlayStyle.focus;\n }\n }\n}\n","/*\n * Public API Surface of tools\n */\n\nexport * from './lib/integration.module';\nexport * from './lib/about/about.module';\nexport * from './lib/analytics/analytics.module';\nexport * from './lib/storage/storage.module';\nexport * from './lib/context/context.module';\nexport * from './lib/catalog/catalog.module';\n\nexport * from './lib/directions/directions.module';\nexport * from './lib/draw/draw.module';\nexport * from './lib/workspace/workspace.module';\nexport * from './lib/filter/filter.module';\nexport * from './lib/import-export/import-export.module';\nexport * from './lib/map/map.module';\nexport * from './lib/measure/measure.module';\nexport * from './lib/print/print.module';\nexport * from './lib/search/search.module';\nexport * from './lib/tool/tool.module';\n\nexport * from './lib/about';\nexport * from './lib/analytics';\nexport * from './lib/context';\nexport * from './lib/catalog';\nexport * from './lib/directions';\nexport * from './lib/draw';\nexport * from './lib/workspace';\nexport * from './lib/filter';\nexport * from './lib/import-export';\nexport * from './lib/map';\nexport * from './lib/measure';\nexport * from './lib/print';\nexport * from './lib/search';\nexport * from './lib/tool';\nexport * from './lib/storage';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["NgModule","ImportExportType","ImportExportMode","BehaviorSubject","Injectable","ContextEditorToolComponent","i0","ToolComponent","Component","IgoMap","ContextManagerToolComponent","Input","ContextPermissionManagerToolComponent","ContextShareToolComponent","IgoContextModule","CUSTOM_ELEMENTS_SCHEMA","EntityStore","CatalogLibraryToolComponent","take","ChangeDetectionStrategy","CommonModule","IgoCatalogLibraryModule","CatalogBrowserToolComponent","IgoCatalogBrowserModule","Subject","StopsStore","StopsFeatureStore","RoutesFeatureStore","StepFeatureStore","DirectionsToolComponent","StorageScope","IgoDirectionsModule","FeatureStore","DrawingToolComponent","IgoDrawingToolModule","FeatureStoreSelectionStrategy","FeatureMotion","skipWhile","StorageServiceEventEnum","mapExtentStrategyActiveToolTip","noElementSelected","EntityStoreFilterCustomFuncStrategy","EntityStoreFilterSelectionStrategy","map","OgcFilterWidget","Inject","WorkspaceStore","WfsWorkspace","FeatureWorkspace","EditionWorkspace","combineLatest","MatIconModule","MatButtonModule","MatTooltipModule","IgoLanguageModule","ImportExportToolComponent","IgoImportExportModule","IgoContextImportExportModule","MatButtonToggleModule","MatTabsModule","MapDetailsToolComponent","LayerListControlsEnum","sourceCanSearch","MapToolComponent","MapToolsComponent","debounceTime","VectorLayer","ViewChild","MapLegendToolComponent","ReplaySubject","Validators","zoneMtm","zoneUtm","formatScale","Clipboard","computeProjectionsConstraints","olproj","AdvancedMapToolComponent","FormsModule","ReactiveFormsModule","MatDividerModule","MatSelectModule","MatOptionModule","MatFormFieldModule","MatInputModule","MatCheckboxModule","IgoSpinnerModule","MatListModule","IgoLayerModule","IgoMetadataModule","IgoDownloadModule","IgoFilterModule","MatSlideToggleModule","MatMenuModule","MeasurerToolComponent","IgoMeasurerModule","PrintToolComponent","IgoPrintModule","Directive","Self","HostListener","IgoSearchModule","SearchResultsToolComponent","olFormatGeoJSON","getEntityTitle","FlexibleComponent","FEATURE","getCommonVectorStyle","featureToOl","computeOlFeaturesExtent","featuresAreOutOfView","featuresAreTooDeepInView","olFeature","olPoint","featureFromOl","getCommonVectorSelectedStyle","moveToOlFeatures","pointOnFeature","MatBadgeModule","IgoFeatureModule","IgoFlexibleModule","IgoPanelModule","IgoFeatureDetailsModule","IgoCustomHtmlModule","OgcFilterToolComponent","TimeFilterToolComponent","SpatialFilterToolComponent","SpatialFilterItemType","MeasureLengthUnit","takeUntil","SpatialFilterType","tap","forkJoin","olstyle","createOverlayMarkerStyle","toolSlideInOut","trigger","state","style","transition","animate","ActiveTimeFilterToolComponent","ActiveOgcFilterToolComponent","IgoQueryModule","AboutToolComponent","of","IgoInteractiveTourModule","skip"],"mappings":"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"}
|