@igo2/geo 1.14.2 → 1.14.3
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/esm2020/igo2-geo.mjs +4 -4
- package/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +300 -300
- package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +305 -305
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +246 -246
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs +79 -79
- package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +208 -208
- package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +78 -78
- package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +216 -216
- package/esm2020/lib/catalog/catalog-library/catalog-library.module.mjs +94 -94
- package/esm2020/lib/catalog/catalog.module.mjs +52 -52
- package/esm2020/lib/catalog/index.mjs +4 -4
- package/esm2020/lib/catalog/shared/catalog.abstract.mjs +94 -94
- package/esm2020/lib/catalog/shared/catalog.enum.mjs +15 -15
- package/esm2020/lib/catalog/shared/catalog.interface.mjs +1 -1
- package/esm2020/lib/catalog/shared/catalog.service.mjs +605 -605
- package/esm2020/lib/catalog/shared/index.mjs +4 -4
- package/esm2020/lib/datasource/datasource.module.mjs +21 -21
- package/esm2020/lib/datasource/index.mjs +2 -2
- package/esm2020/lib/datasource/shared/capabilities.service.mjs +430 -430
- package/esm2020/lib/datasource/shared/datasource.service.mjs +235 -235
- package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +144 -144
- package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +108 -108
- package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +14 -14
- package/esm2020/lib/datasource/shared/datasources/data.service.mjs +2 -2
- package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/datasource.mjs +28 -28
- package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +42 -42
- package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +56 -56
- package/esm2020/lib/datasource/shared/datasources/index.mjs +35 -35
- package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +27 -27
- package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +11 -11
- package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +48 -48
- package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +14 -14
- package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +53 -53
- package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +71 -71
- package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +151 -151
- package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +205 -205
- package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +206 -206
- package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +15 -15
- package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +8 -8
- package/esm2020/lib/datasource/shared/index.mjs +4 -4
- package/esm2020/lib/datasource/shared/options/index.mjs +4 -4
- package/esm2020/lib/datasource/shared/options/options-api.interface.mjs +1 -1
- package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +14 -14
- package/esm2020/lib/datasource/shared/options/options-api.service.mjs +80 -80
- package/esm2020/lib/datasource/shared/options/options.service.mjs +2 -2
- package/esm2020/lib/datasource/utils/esri-style-generator.mjs +356 -356
- package/esm2020/lib/datasource/utils/index.mjs +2 -2
- package/esm2020/lib/datasource/utils/tilegrid.mjs +19 -19
- package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +223 -223
- package/esm2020/lib/directions/directions-buttons/index.mjs +1 -1
- package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +289 -289
- package/esm2020/lib/directions/directions-inputs/index.mjs +1 -1
- package/esm2020/lib/directions/directions-results/directions-results.component.mjs +195 -195
- package/esm2020/lib/directions/directions-results/index.mjs +1 -1
- package/esm2020/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
- package/esm2020/lib/directions/directions-sources/directions-source.mjs +2 -2
- package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +15 -15
- package/esm2020/lib/directions/directions-sources/index.mjs +4 -4
- package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +98 -98
- package/esm2020/lib/directions/directions.component.mjs +310 -310
- package/esm2020/lib/directions/directions.module.mjs +101 -101
- package/esm2020/lib/directions/index.mjs +6 -6
- package/esm2020/lib/directions/shared/directions-source.service.mjs +16 -16
- package/esm2020/lib/directions/shared/directions.enum.mjs +27 -27
- package/esm2020/lib/directions/shared/directions.interface.mjs +1 -1
- package/esm2020/lib/directions/shared/directions.service.mjs +28 -28
- package/esm2020/lib/directions/shared/directions.utils.mjs +508 -508
- package/esm2020/lib/directions/shared/index.mjs +5 -5
- package/esm2020/lib/directions/shared/store.mjs +23 -23
- package/esm2020/lib/download/download-button/download-button.component.mjs +60 -60
- package/esm2020/lib/download/download-button/index.mjs +1 -1
- package/esm2020/lib/download/download.module.mjs +41 -41
- package/esm2020/lib/download/index.mjs +2 -2
- package/esm2020/lib/download/shared/download.interface.mjs +1 -1
- package/esm2020/lib/download/shared/download.service.mjs +64 -64
- package/esm2020/lib/download/shared/index.mjs +2 -2
- package/esm2020/lib/draw/draw/draw-layer-popup.component.mjs +54 -54
- package/esm2020/lib/draw/draw/draw-popup.component.mjs +590 -590
- package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +47 -47
- package/esm2020/lib/draw/draw/draw.component.mjs +1298 -1298
- package/esm2020/lib/draw/draw/draw.module.mjs +112 -112
- package/esm2020/lib/draw/drawingTool.module.mjs +19 -19
- package/esm2020/lib/draw/index.mjs +2 -2
- package/esm2020/lib/draw/shared/draw-icon.service.mjs +26 -26
- package/esm2020/lib/draw/shared/draw-style.service.mjs +189 -189
- package/esm2020/lib/draw/shared/draw.enum.mjs +36 -36
- package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
- package/esm2020/lib/draw/shared/draw.utils.mjs +121 -121
- package/esm2020/lib/draw/shared/index.mjs +5 -5
- package/esm2020/lib/feature/feature-details/feature-details.component.mjs +404 -404
- package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +53 -53
- package/esm2020/lib/feature/feature-details/feature-details.module.mjs +47 -47
- package/esm2020/lib/feature/feature-form/feature-form.component.mjs +111 -111
- package/esm2020/lib/feature/feature-form/feature-form.module.mjs +33 -33
- package/esm2020/lib/feature/feature.module.mjs +27 -27
- package/esm2020/lib/feature/index.mjs +3 -3
- package/esm2020/lib/feature/shared/feature.enums.mjs +8 -8
- package/esm2020/lib/feature/shared/feature.interfaces.mjs +1 -1
- package/esm2020/lib/feature/shared/feature.utils.mjs +346 -346
- package/esm2020/lib/feature/shared/index.mjs +6 -6
- package/esm2020/lib/feature/shared/store.mjs +123 -123
- package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +112 -112
- package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +93 -93
- package/esm2020/lib/feature/shared/strategies/index.mjs +5 -5
- package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +103 -103
- package/esm2020/lib/feature/shared/strategies/loading.mjs +132 -132
- package/esm2020/lib/feature/shared/strategies/selection.mjs +369 -369
- package/esm2020/lib/feature/shared/strategies.utils.mjs +36 -36
- package/esm2020/lib/filter/filter.module.mjs +288 -288
- package/esm2020/lib/filter/index.mjs +15 -15
- package/esm2020/lib/filter/ogc-filter-button/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +139 -139
- package/esm2020/lib/filter/ogc-filter-form/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +644 -644
- package/esm2020/lib/filter/ogc-filter-selection/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +1301 -1301
- package/esm2020/lib/filter/ogc-filter-time/index.mjs +2 -2
- package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +176 -176
- package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +897 -897
- package/esm2020/lib/filter/ogc-filterable-form/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +58 -58
- package/esm2020/lib/filter/ogc-filterable-item/index.mjs +1 -1
- package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +306 -306
- package/esm2020/lib/filter/ogc-filterable-list/index.mjs +2 -2
- package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +30 -30
- package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +43 -43
- package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +54 -54
- package/esm2020/lib/filter/shared/index.mjs +11 -11
- package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +71 -71
- package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +29 -29
- package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +1 -1
- package/esm2020/lib/filter/shared/ogc-filter.mjs +691 -691
- package/esm2020/lib/filter/shared/ogc-filter.service.mjs +45 -45
- package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +22 -22
- package/esm2020/lib/filter/shared/spatial-filter.interface.mjs +1 -1
- package/esm2020/lib/filter/shared/spatial-filter.service.mjs +268 -268
- package/esm2020/lib/filter/shared/time-filter.enum.mjs +12 -12
- package/esm2020/lib/filter/shared/time-filter.interface.mjs +1 -1
- package/esm2020/lib/filter/shared/time-filter.service.mjs +106 -106
- package/esm2020/lib/filter/spatial-filter/spatial-filter-item/index.mjs +1 -1
- package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +1088 -1088
- package/esm2020/lib/filter/spatial-filter/spatial-filter-list/index.mjs +1 -1
- package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +207 -207
- package/esm2020/lib/filter/spatial-filter/spatial-filter-type/index.mjs +1 -1
- package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +143 -143
- package/esm2020/lib/filter/time-filter-button/index.mjs +1 -1
- package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +77 -77
- package/esm2020/lib/filter/time-filter-form/index.mjs +1 -1
- package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +733 -733
- package/esm2020/lib/filter/time-filter-item/index.mjs +1 -1
- package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +118 -118
- package/esm2020/lib/filter/time-filter-list/index.mjs +2 -2
- package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +30 -30
- package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +38 -38
- package/esm2020/lib/geo.module.mjs +101 -101
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +520 -520
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +188 -188
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +63 -63
- package/esm2020/lib/geometry/geometry.module.mjs +26 -26
- package/esm2020/lib/geometry/index.mjs +3 -3
- package/esm2020/lib/geometry/shared/controls/draw.mjs +313 -313
- package/esm2020/lib/geometry/shared/controls/index.mjs +3 -3
- package/esm2020/lib/geometry/shared/controls/modify.mjs +520 -520
- package/esm2020/lib/geometry/shared/controls/slice.mjs +176 -176
- package/esm2020/lib/geometry/shared/geometry.errors.mjs +25 -25
- package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +1 -1
- package/esm2020/lib/geometry/shared/geometry.utils.mjs +121 -121
- package/esm2020/lib/geometry/shared/index.mjs +4 -4
- package/esm2020/lib/import-export/export-button/export-button.component.mjs +63 -63
- package/esm2020/lib/import-export/export-button/index.mjs +1 -1
- package/esm2020/lib/import-export/import-export/import-export.component.mjs +1219 -1219
- package/esm2020/lib/import-export/import-export/index.mjs +1 -1
- package/esm2020/lib/import-export/import-export.module.mjs +95 -95
- package/esm2020/lib/import-export/index.mjs +4 -4
- package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +134 -134
- package/esm2020/lib/import-export/shared/export.errors.mjs +14 -14
- package/esm2020/lib/import-export/shared/export.interface.mjs +1 -1
- package/esm2020/lib/import-export/shared/export.service.mjs +194 -194
- package/esm2020/lib/import-export/shared/export.type.mjs +3 -3
- package/esm2020/lib/import-export/shared/export.utils.mjs +54 -54
- package/esm2020/lib/import-export/shared/import.errors.mjs +38 -38
- package/esm2020/lib/import-export/shared/import.interface.mjs +1 -1
- package/esm2020/lib/import-export/shared/import.service.mjs +214 -214
- package/esm2020/lib/import-export/shared/import.utils.mjs +234 -234
- package/esm2020/lib/import-export/shared/index.mjs +10 -10
- package/esm2020/lib/import-export/style-list/index.mjs +4 -4
- package/esm2020/lib/import-export/style-list/style-list.interface.mjs +1 -1
- package/esm2020/lib/import-export/style-list/style-list.module.mjs +22 -22
- package/esm2020/lib/import-export/style-list/style-list.provider.mjs +20 -20
- package/esm2020/lib/import-export/style-list/style-list.service.mjs +50 -50
- package/esm2020/lib/layer/index.mjs +10 -10
- package/esm2020/lib/layer/layer-item/index.mjs +1 -1
- package/esm2020/lib/layer/layer-item/layer-item.component.mjs +299 -299
- package/esm2020/lib/layer/layer-legend/index.mjs +1 -1
- package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +387 -387
- package/esm2020/lib/layer/layer-legend-item/index.mjs +1 -1
- package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +83 -83
- package/esm2020/lib/layer/layer-legend-list/index.mjs +2 -2
- package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +47 -47
- package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +194 -194
- package/esm2020/lib/layer/layer-list/index.mjs +3 -3
- package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +58 -58
- package/esm2020/lib/layer/layer-list/layer-list.component.mjs +1008 -1008
- package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +18 -18
- package/esm2020/lib/layer/layer-list-tool/index.mjs +4 -4
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +164 -164
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +6 -6
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +1 -1
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +21 -21
- package/esm2020/lib/layer/layer.module.mjs +184 -184
- package/esm2020/lib/layer/shared/clusterParam.mjs +1 -1
- package/esm2020/lib/layer/shared/index.mjs +6 -6
- package/esm2020/lib/layer/shared/layer.enums.mjs +1 -1
- package/esm2020/lib/layer/shared/layer.service.mjs +185 -185
- package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/any-layer.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/image-layer.mjs +67 -67
- package/esm2020/lib/layer/shared/layers/index.mjs +12 -12
- package/esm2020/lib/layer/shared/layers/layer.interface.mjs +17 -17
- package/esm2020/lib/layer/shared/layers/layer.mjs +163 -163
- package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/tile-layer.mjs +46 -46
- package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/vector-layer.mjs +377 -377
- package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
- package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +103 -103
- package/esm2020/lib/layer/shared/style.service.mjs +355 -355
- package/esm2020/lib/layer/shared/vector-style.interface.mjs +1 -1
- package/esm2020/lib/layer/style-modal/index.mjs +1 -1
- package/esm2020/lib/layer/style-modal/style-modal.component.mjs +287 -287
- package/esm2020/lib/layer/track-feature-button/index.mjs +1 -1
- package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +58 -58
- package/esm2020/lib/layer/utils/image-watcher.mjs +61 -61
- package/esm2020/lib/layer/utils/index.mjs +5 -5
- package/esm2020/lib/layer/utils/layer.utils.mjs +9 -9
- package/esm2020/lib/layer/utils/outputLegend.mjs +26 -26
- package/esm2020/lib/layer/utils/tile-watcher.mjs +49 -49
- package/esm2020/lib/layer/utils/vector-watcher.mjs +47 -47
- package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +19 -19
- package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +96 -96
- package/esm2020/lib/map/baselayers-switcher/index.mjs +2 -2
- package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +141 -142
- package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +78 -78
- package/esm2020/lib/map/geolocate-button/index.mjs +1 -1
- package/esm2020/lib/map/home-extent-button/home-extent-button.component.mjs +62 -62
- package/esm2020/lib/map/home-extent-button/index.mjs +1 -1
- package/esm2020/lib/map/index.mjs +13 -13
- package/esm2020/lib/map/info-section/index.mjs +1 -1
- package/esm2020/lib/map/info-section/info-section.component.mjs +29 -29
- package/esm2020/lib/map/map-browser/index.mjs +1 -1
- package/esm2020/lib/map/map-browser/map-browser.component.mjs +65 -65
- package/esm2020/lib/map/map-center/index.mjs +1 -1
- package/esm2020/lib/map/map-center/map-center.component.mjs +49 -49
- package/esm2020/lib/map/map.module.mjs +126 -126
- package/esm2020/lib/map/menu-button/index.mjs +1 -1
- package/esm2020/lib/map/menu-button/menu-button.component.mjs +61 -61
- package/esm2020/lib/map/offline-button/index.mjs +1 -1
- package/esm2020/lib/map/offline-button/offline-button.component.mjs +75 -75
- package/esm2020/lib/map/rotation-button/index.mjs +1 -1
- package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +69 -69
- package/esm2020/lib/map/shared/controllers/controller.mjs +41 -41
- package/esm2020/lib/map/shared/controllers/geolocation.mjs +307 -307
- package/esm2020/lib/map/shared/controllers/index.mjs +3 -3
- package/esm2020/lib/map/shared/controllers/view.mjs +350 -350
- package/esm2020/lib/map/shared/hover-feature.directive.mjs +502 -502
- package/esm2020/lib/map/shared/index.mjs +13 -13
- package/esm2020/lib/map/shared/linkedLayers.utils.mjs +237 -237
- package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +106 -106
- package/esm2020/lib/map/shared/map.enums.mjs +5 -5
- package/esm2020/lib/map/shared/map.interface.mjs +1 -1
- package/esm2020/lib/map/shared/map.mjs +406 -406
- package/esm2020/lib/map/shared/map.service.mjs +28 -28
- package/esm2020/lib/map/shared/map.utils.mjs +462 -462
- package/esm2020/lib/map/shared/mapOffline.directive.mjs +162 -162
- package/esm2020/lib/map/shared/projection.interfaces.mjs +1 -1
- package/esm2020/lib/map/shared/projection.service.mjs +64 -64
- package/esm2020/lib/map/shared/projection.utils.mjs +63 -63
- package/esm2020/lib/map/swipe-control/index.mjs +1 -1
- package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +192 -192
- package/esm2020/lib/map/utils/layer-watcher.mjs +78 -78
- package/esm2020/lib/map/wake-lock-button/index.mjs +1 -1
- package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +113 -113
- package/esm2020/lib/map/zoom-button/index.mjs +1 -1
- package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +39 -39
- package/esm2020/lib/measure/index.mjs +3 -3
- package/esm2020/lib/measure/measure.module.mjs +19 -19
- package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +36 -36
- package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +179 -179
- package/esm2020/lib/measure/measurer/measurer-item.component.mjs +139 -139
- package/esm2020/lib/measure/measurer/measurer.component.mjs +1041 -1041
- package/esm2020/lib/measure/measurer/measurer.module.mjs +93 -93
- package/esm2020/lib/measure/shared/index.mjs +3 -3
- package/esm2020/lib/measure/shared/measure.enum.mjs +36 -36
- package/esm2020/lib/measure/shared/measure.interfaces.mjs +1 -1
- package/esm2020/lib/measure/shared/measure.utils.mjs +488 -488
- package/esm2020/lib/metadata/index.mjs +2 -2
- package/esm2020/lib/metadata/metadata-button/index.mjs +1 -1
- package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +133 -133
- package/esm2020/lib/metadata/metadata.module.mjs +54 -54
- package/esm2020/lib/metadata/shared/index.mjs +2 -2
- package/esm2020/lib/metadata/shared/metadata.interface.mjs +1 -1
- package/esm2020/lib/metadata/shared/metadata.service.mjs +18 -18
- package/esm2020/lib/offline/geoDB/configFileToGeoDB.service.mjs +104 -104
- package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +5 -5
- package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +1 -1
- package/esm2020/lib/offline/geoDB/geoDB.service.mjs +166 -166
- package/esm2020/lib/offline/geoDB/index.mjs +4 -4
- package/esm2020/lib/offline/index.mjs +2 -2
- package/esm2020/lib/offline/shared/geo-network.service.mjs +65 -65
- package/esm2020/lib/offline/shared/index.mjs +1 -1
- package/esm2020/lib/overlay/index.mjs +1 -1
- package/esm2020/lib/overlay/overlay.module.mjs +22 -22
- package/esm2020/lib/overlay/shared/index.mjs +6 -6
- package/esm2020/lib/overlay/shared/overlay-marker-style.utils.mjs +68 -68
- package/esm2020/lib/overlay/shared/overlay.directive.mjs +32 -32
- package/esm2020/lib/overlay/shared/overlay.enum.mjs +7 -7
- package/esm2020/lib/overlay/shared/overlay.mjs +129 -129
- package/esm2020/lib/overlay/shared/overlay.service.mjs +26 -26
- package/esm2020/lib/overlay/shared/overlay.utils.mjs +102 -102
- package/esm2020/lib/print/index.mjs +3 -3
- package/esm2020/lib/print/print/print.component.mjs +125 -125
- package/esm2020/lib/print/print-form/index.mjs +1 -1
- package/esm2020/lib/print/print-form/print-form.component.mjs +427 -427
- package/esm2020/lib/print/print.module.mjs +64 -64
- package/esm2020/lib/print/shared/geopdf.mjs +57 -57
- package/esm2020/lib/print/shared/index.mjs +4 -4
- package/esm2020/lib/print/shared/print.interface.mjs +1 -1
- package/esm2020/lib/print/shared/print.service.mjs +933 -933
- package/esm2020/lib/print/shared/print.type.mjs +29 -29
- package/esm2020/lib/query/index.mjs +1 -1
- package/esm2020/lib/query/query.module.mjs +28 -28
- package/esm2020/lib/query/shared/index.mjs +6 -6
- package/esm2020/lib/query/shared/query-search-source.mjs +34 -34
- package/esm2020/lib/query/shared/query-search-source.providers.mjs +21 -21
- package/esm2020/lib/query/shared/query.directive.mjs +260 -260
- package/esm2020/lib/query/shared/query.enums.mjs +29 -29
- package/esm2020/lib/query/shared/query.interfaces.mjs +1 -1
- package/esm2020/lib/query/shared/query.service.mjs +732 -732
- package/esm2020/lib/query/shared/query.utils.mjs +36 -36
- package/esm2020/lib/search/index.mjs +11 -11
- package/esm2020/lib/search/search-bar/search-bar.component.mjs +511 -511
- package/esm2020/lib/search/search-bar/search-bar.module.mjs +74 -74
- package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +34 -34
- package/esm2020/lib/search/search-results/save-feature-dialog.component.mjs +117 -117
- package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +370 -370
- package/esm2020/lib/search/search-results/search-results-item.component.mjs +123 -123
- package/esm2020/lib/search/search-results/search-results.component.mjs +339 -339
- package/esm2020/lib/search/search-results/search-results.module.mjs +103 -103
- package/esm2020/lib/search/search-selector/search-selector.component.mjs +122 -122
- package/esm2020/lib/search/search-selector/search-selector.module.mjs +55 -55
- package/esm2020/lib/search/search-settings/search-settings.component.mjs +441 -441
- package/esm2020/lib/search/search-settings/search-settings.module.mjs +59 -59
- package/esm2020/lib/search/search.module.mjs +66 -66
- package/esm2020/lib/search/shared/index.mjs +8 -8
- package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +321 -321
- package/esm2020/lib/search/shared/search-source-service.providers.mjs +19 -19
- package/esm2020/lib/search/shared/search-source.service.mjs +46 -46
- package/esm2020/lib/search/shared/search.enums.mjs +3 -3
- package/esm2020/lib/search/shared/search.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/search.service.mjs +120 -120
- package/esm2020/lib/search/shared/search.utils.mjs +90 -90
- package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/coordinates.mjs +152 -152
- package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +39 -39
- package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/icherche.mjs +766 -766
- package/esm2020/lib/search/shared/sources/icherche.providers.mjs +65 -65
- package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/ilayer.mjs +319 -319
- package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +39 -39
- package/esm2020/lib/search/shared/sources/index.mjs +17 -17
- package/esm2020/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/nominatim.mjs +251 -251
- package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +22 -22
- package/esm2020/lib/search/shared/sources/source.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/source.mjs +178 -178
- package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
- package/esm2020/lib/search/shared/sources/storedqueries.mjs +424 -424
- package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +40 -40
- package/esm2020/lib/toast/index.mjs +1 -1
- package/esm2020/lib/toast/toast.component.mjs +112 -112
- package/esm2020/lib/toast/toast.module.mjs +44 -44
- package/esm2020/lib/utils/commonVectorStyle.interface.mjs +1 -1
- package/esm2020/lib/utils/commonVectorStyle.mjs +74 -74
- package/esm2020/lib/utils/googleLinks.mjs +12 -12
- package/esm2020/lib/utils/id-generator.mjs +109 -109
- package/esm2020/lib/utils/index.mjs +5 -5
- package/esm2020/lib/utils/osmLinks.mjs +9 -9
- package/esm2020/lib/wkt/index.mjs +1 -1
- package/esm2020/lib/wkt/shared/index.mjs +1 -1
- package/esm2020/lib/wkt/shared/wkt.service.mjs +224 -224
- package/esm2020/lib/wkt/wkt.module.mjs +21 -21
- package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +47 -47
- package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +35 -35
- package/esm2020/lib/workspace/confirmation-popup/index.mjs +2 -2
- package/esm2020/lib/workspace/index.mjs +7 -7
- package/esm2020/lib/workspace/shared/edition-workspace.mjs +279 -279
- package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +656 -656
- package/esm2020/lib/workspace/shared/feature-workspace.mjs +34 -34
- package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +149 -149
- package/esm2020/lib/workspace/shared/index.mjs +7 -7
- package/esm2020/lib/workspace/shared/wfs-workspace.mjs +34 -34
- package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +149 -149
- package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +259 -259
- package/esm2020/lib/workspace/shared/workspace.utils.mjs +23 -23
- package/esm2020/lib/workspace/widgets/index.mjs +3 -3
- package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +46 -46
- package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +35 -35
- package/esm2020/lib/workspace/widgets/widgets.mjs +14 -14
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +132 -132
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +27 -27
- package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +112 -112
- package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +27 -27
- package/esm2020/lib/workspace/workspace.module.mjs +61 -61
- package/esm2020/public_api.mjs +54 -54
- package/fesm2015/igo2-geo.mjs +44986 -44986
- package/fesm2015/igo2-geo.mjs.map +1 -1
- package/fesm2020/igo2-geo.mjs +43029 -43030
- package/fesm2020/igo2-geo.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +126 -126
- package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +80 -80
- package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +105 -105
- package/lib/catalog/catalog-browser/catalog-browser.module.d.ts +22 -22
- package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +45 -45
- package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +25 -25
- package/lib/catalog/catalog-library/catalog-library.component.d.ts +65 -65
- package/lib/catalog/catalog-library/catalog-library.module.d.ts +26 -26
- package/lib/catalog/catalog.module.d.ts +14 -14
- package/lib/catalog/index.d.ts +4 -4
- package/lib/catalog/shared/catalog.abstract.d.ts +50 -50
- package/lib/catalog/shared/catalog.enum.d.ts +14 -14
- package/lib/catalog/shared/catalog.interface.d.ts +66 -66
- package/lib/catalog/shared/catalog.service.d.ts +36 -36
- package/lib/catalog/shared/index.d.ts +4 -4
- package/lib/datasource/datasource.module.d.ts +8 -8
- package/lib/datasource/index.d.ts +2 -2
- package/lib/datasource/shared/capabilities.service.d.ts +37 -37
- package/lib/datasource/shared/datasource.service.d.ts +37 -37
- package/lib/datasource/shared/datasources/any-datasource.d.ts +16 -16
- package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +15 -15
- package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +14 -14
- package/lib/datasource/shared/datasources/arcgisrest-datasource.interface.d.ts +14 -14
- package/lib/datasource/shared/datasources/carto-datasource.d.ts +15 -15
- package/lib/datasource/shared/datasources/carto-datasource.interface.d.ts +13 -13
- package/lib/datasource/shared/datasources/cluster-datasource.d.ts +10 -10
- package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +11 -11
- package/lib/datasource/shared/datasources/data.service.d.ts +3 -3
- package/lib/datasource/shared/datasources/datasource.d.ts +20 -20
- package/lib/datasource/shared/datasources/datasource.interface.d.ts +100 -100
- package/lib/datasource/shared/datasources/feature-datasource.d.ts +12 -12
- package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +18 -18
- package/lib/datasource/shared/datasources/imagearcgisrest-datasource.d.ts +15 -15
- package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +15 -15
- package/lib/datasource/shared/datasources/index.d.ts +35 -35
- package/lib/datasource/shared/datasources/mvt-datasource.d.ts +10 -10
- package/lib/datasource/shared/datasources/mvt-datasource.interface.d.ts +13 -13
- package/lib/datasource/shared/datasources/osm-datasource.d.ts +9 -9
- package/lib/datasource/shared/datasources/osm-datasource.interface.d.ts +7 -7
- package/lib/datasource/shared/datasources/tilearcgisrest-datasource.d.ts +15 -15
- package/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.d.ts +14 -14
- package/lib/datasource/shared/datasources/tiledebug-datasource.d.ts +9 -9
- package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +9 -9
- package/lib/datasource/shared/datasources/websocket-datasource.d.ts +15 -15
- package/lib/datasource/shared/datasources/websocket-datasource.interface.d.ts +7 -7
- package/lib/datasource/shared/datasources/wfs-datasource.d.ts +20 -20
- package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +20 -20
- package/lib/datasource/shared/datasources/wfs.service.d.ts +17 -17
- package/lib/datasource/shared/datasources/wms-datasource.d.ts +31 -31
- package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +32 -32
- package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +41 -41
- package/lib/datasource/shared/datasources/wmts-datasource.d.ts +10 -10
- package/lib/datasource/shared/datasources/wmts-datasource.interface.d.ts +13 -13
- package/lib/datasource/shared/datasources/xyz-datasource.d.ts +9 -9
- package/lib/datasource/shared/datasources/xyz-datasource.interface.d.ts +11 -11
- package/lib/datasource/shared/index.d.ts +4 -4
- package/lib/datasource/shared/options/index.d.ts +4 -4
- package/lib/datasource/shared/options/options-api.interface.d.ts +4 -4
- package/lib/datasource/shared/options/options-api.providers.d.ts +10 -10
- package/lib/datasource/shared/options/options-api.service.d.ts +16 -16
- package/lib/datasource/shared/options/options.service.d.ts +6 -6
- package/lib/datasource/utils/esri-style-generator.d.ts +21 -21
- package/lib/datasource/utils/index.d.ts +2 -2
- package/lib/datasource/utils/tilegrid.d.ts +2 -2
- package/lib/directions/directions-buttons/directions-buttons.component.d.ts +30 -30
- package/lib/directions/directions-buttons/index.d.ts +1 -1
- package/lib/directions/directions-inputs/directions-inputs.component.d.ts +45 -45
- package/lib/directions/directions-inputs/index.d.ts +1 -1
- package/lib/directions/directions-results/directions-results.component.d.ts +30 -30
- package/lib/directions/directions-results/index.d.ts +1 -1
- package/lib/directions/directions-sources/directions-source.d.ts +7 -7
- package/lib/directions/directions-sources/directions-source.interface.d.ts +11 -11
- package/lib/directions/directions-sources/directions-source.provider.d.ts +11 -11
- package/lib/directions/directions-sources/index.d.ts +4 -4
- package/lib/directions/directions-sources/osrm-directions-source.d.ts +23 -23
- package/lib/directions/directions.component.d.ts +56 -56
- package/lib/directions/directions.module.d.ts +26 -26
- package/lib/directions/index.d.ts +6 -6
- package/lib/directions/shared/directions-source.service.d.ts +11 -11
- package/lib/directions/shared/directions.enum.d.ts +22 -22
- package/lib/directions/shared/directions.interface.d.ts +126 -126
- package/lib/directions/shared/directions.service.d.ts +13 -13
- package/lib/directions/shared/directions.utils.d.ts +42 -42
- package/lib/directions/shared/index.d.ts +5 -5
- package/lib/directions/shared/store.d.ts +18 -18
- package/lib/download/download-button/download-button.component.d.ts +18 -18
- package/lib/download/download-button/index.d.ts +1 -1
- package/lib/download/download.module.d.ts +14 -14
- package/lib/download/index.d.ts +2 -2
- package/lib/download/shared/download.interface.d.ts +10 -10
- package/lib/download/shared/download.service.d.ts +11 -11
- package/lib/download/shared/index.d.ts +2 -2
- package/lib/draw/draw/draw-layer-popup.component.d.ts +14 -14
- package/lib/draw/draw/draw-popup.component.d.ts +63 -63
- package/lib/draw/draw/draw-shorcuts.component.d.ts +5 -5
- package/lib/draw/draw/draw.component.d.ts +239 -239
- package/lib/draw/draw/draw.module.d.ts +34 -34
- package/lib/draw/drawingTool.module.d.ts +7 -7
- package/lib/draw/index.d.ts +2 -2
- package/lib/draw/shared/draw-icon.service.d.ts +12 -12
- package/lib/draw/shared/draw-style.service.d.ts +36 -36
- package/lib/draw/shared/draw.enum.d.ts +32 -32
- package/lib/draw/shared/draw.interface.d.ts +40 -40
- package/lib/draw/shared/draw.utils.d.ts +35 -35
- package/lib/draw/shared/index.d.ts +5 -5
- package/lib/feature/feature-details/feature-details.component.d.ts +60 -60
- package/lib/feature/feature-details/feature-details.directive.d.ts +19 -19
- package/lib/feature/feature-details/feature-details.module.d.ts +15 -15
- package/lib/feature/feature-form/feature-form.component.d.ts +50 -50
- package/lib/feature/feature-form/feature-form.module.d.ts +12 -12
- package/lib/feature/feature.module.d.ts +9 -9
- package/lib/feature/index.d.ts +3 -3
- package/lib/feature/shared/feature.enums.d.ts +7 -7
- package/lib/feature/shared/feature.interfaces.d.ts +74 -74
- package/lib/feature/shared/feature.utils.d.ts +104 -104
- package/lib/feature/shared/index.d.ts +6 -6
- package/lib/feature/shared/store.d.ts +71 -71
- package/lib/feature/shared/strategies/in-map-extent.d.ts +52 -52
- package/lib/feature/shared/strategies/in-map-resolution.d.ts +52 -52
- package/lib/feature/shared/strategies/index.d.ts +5 -5
- package/lib/feature/shared/strategies/loading-layer.d.ts +59 -59
- package/lib/feature/shared/strategies/loading.d.ts +75 -75
- package/lib/feature/shared/strategies/selection.d.ts +176 -176
- package/lib/feature/shared/strategies.utils.d.ts +17 -17
- package/lib/filter/filter.module.d.ts +53 -53
- package/lib/filter/index.d.ts +15 -15
- package/lib/filter/ogc-filter-button/index.d.ts +1 -1
- package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +20 -20
- package/lib/filter/ogc-filter-form/index.d.ts +1 -1
- package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +65 -65
- package/lib/filter/ogc-filter-selection/index.d.ts +1 -1
- package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +93 -93
- package/lib/filter/ogc-filter-time/index.d.ts +2 -2
- package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +39 -39
- package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +86 -86
- package/lib/filter/ogc-filterable-form/index.d.ts +1 -1
- package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +15 -15
- package/lib/filter/ogc-filterable-item/index.d.ts +1 -1
- package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +41 -41
- package/lib/filter/ogc-filterable-list/index.d.ts +2 -2
- package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +14 -14
- package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +10 -10
- package/lib/filter/shared/filterable-datasource.pipe.d.ts +10 -10
- package/lib/filter/shared/index.d.ts +11 -11
- package/lib/filter/shared/ogc-filter-time.service.d.ts +19 -19
- package/lib/filter/shared/ogc-filter.d.ts +29 -29
- package/lib/filter/shared/ogc-filter.enum.d.ts +27 -27
- package/lib/filter/shared/ogc-filter.interface.d.ts +200 -200
- package/lib/filter/shared/ogc-filter.service.d.ts +11 -11
- package/lib/filter/shared/spatial-filter.enum.d.ts +19 -19
- package/lib/filter/shared/spatial-filter.interface.d.ts +10 -10
- package/lib/filter/shared/spatial-filter.service.d.ts +37 -37
- package/lib/filter/shared/time-filter.enum.d.ts +10 -10
- package/lib/filter/shared/time-filter.interface.d.ts +29 -29
- package/lib/filter/shared/time-filter.service.d.ts +11 -11
- package/lib/filter/spatial-filter/spatial-filter-item/index.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +166 -166
- package/lib/filter/spatial-filter/spatial-filter-list/index.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +58 -58
- package/lib/filter/spatial-filter/spatial-filter-type/index.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +45 -45
- package/lib/filter/time-filter-button/index.d.ts +1 -1
- package/lib/filter/time-filter-button/time-filter-button.component.d.ts +20 -20
- package/lib/filter/time-filter-form/index.d.ts +1 -1
- package/lib/filter/time-filter-form/time-filter-form.component.d.ts +77 -77
- package/lib/filter/time-filter-item/index.d.ts +1 -1
- package/lib/filter/time-filter-item/time-filter-item.component.d.ts +28 -28
- package/lib/filter/time-filter-list/index.d.ts +2 -2
- package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +14 -14
- package/lib/filter/time-filter-list/time-filter-list.component.d.ts +12 -12
- package/lib/geo.module.d.ts +28 -28
- package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +206 -206
- package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +88 -88
- package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +19 -19
- package/lib/geometry/geometry.module.d.ts +8 -8
- package/lib/geometry/index.d.ts +3 -3
- package/lib/geometry/shared/controls/draw.d.ts +150 -150
- package/lib/geometry/shared/controls/index.d.ts +3 -3
- package/lib/geometry/shared/controls/modify.d.ts +228 -228
- package/lib/geometry/shared/controls/slice.d.ts +99 -99
- package/lib/geometry/shared/geometry.errors.d.ts +11 -11
- package/lib/geometry/shared/geometry.interfaces.d.ts +13 -13
- package/lib/geometry/shared/geometry.utils.d.ts +45 -45
- package/lib/geometry/shared/index.d.ts +4 -4
- package/lib/import-export/export-button/export-button.component.d.ts +16 -16
- package/lib/import-export/export-button/index.d.ts +1 -1
- package/lib/import-export/import-export/import-export.component.d.ts +104 -104
- package/lib/import-export/import-export/index.d.ts +1 -1
- package/lib/import-export/import-export.module.d.ts +26 -26
- package/lib/import-export/index.d.ts +4 -4
- package/lib/import-export/shared/drop-geo-file.directive.d.ts +36 -36
- package/lib/import-export/shared/export.errors.d.ts +8 -8
- package/lib/import-export/shared/export.interface.d.ts +11 -11
- package/lib/import-export/shared/export.service.d.ts +30 -30
- package/lib/import-export/shared/export.type.d.ts +16 -16
- package/lib/import-export/shared/export.utils.d.ts +19 -19
- package/lib/import-export/shared/import.errors.d.ts +20 -20
- package/lib/import-export/shared/import.interface.d.ts +8 -8
- package/lib/import-export/shared/import.service.d.ts +31 -31
- package/lib/import-export/shared/import.utils.d.ts +18 -18
- package/lib/import-export/shared/index.d.ts +10 -10
- package/lib/import-export/style-list/index.d.ts +4 -4
- package/lib/import-export/style-list/style-list.interface.d.ts +6 -6
- package/lib/import-export/style-list/style-list.module.d.ts +8 -8
- package/lib/import-export/style-list/style-list.provider.d.ts +15 -15
- package/lib/import-export/style-list/style-list.service.d.ts +18 -18
- package/lib/layer/index.d.ts +10 -10
- package/lib/layer/layer-item/index.d.ts +1 -1
- package/lib/layer/layer-item/layer-item.component.d.ts +62 -62
- package/lib/layer/layer-legend/index.d.ts +1 -1
- package/lib/layer/layer-legend/layer-legend.component.d.ts +90 -90
- package/lib/layer/layer-legend-item/index.d.ts +1 -1
- package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +22 -22
- package/lib/layer/layer-legend-list/index.d.ts +2 -2
- package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +16 -16
- package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +31 -31
- package/lib/layer/layer-list/index.d.ts +3 -3
- package/lib/layer/layer-list/layer-list-binding.directive.d.ts +19 -19
- package/lib/layer/layer-list/layer-list.component.d.ts +127 -127
- package/lib/layer/layer-list/layer-list.enum.d.ts +15 -15
- package/lib/layer/layer-list-tool/index.d.ts +4 -4
- package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +32 -32
- package/lib/layer/layer-list-tool/layer-list-tool.enum.d.ts +5 -5
- package/lib/layer/layer-list-tool/layer-list-tool.interface.d.ts +8 -8
- package/lib/layer/layer-list-tool/layer-list-tool.service.d.ts +14 -14
- package/lib/layer/layer.module.d.ts +36 -36
- package/lib/layer/shared/clusterParam.d.ts +13 -13
- package/lib/layer/shared/index.d.ts +6 -6
- package/lib/layer/shared/layer.enums.d.ts +1 -1
- package/lib/layer/shared/layer.service.d.ts +30 -30
- package/lib/layer/shared/layers/any-layer.d.ts +6 -6
- package/lib/layer/shared/layers/any-layer.interface.d.ts +6 -6
- package/lib/layer/shared/layers/image-layer.d.ts +22 -22
- package/lib/layer/shared/layers/image-layer.interface.d.ts +19 -19
- package/lib/layer/shared/layers/index.d.ts +12 -12
- package/lib/layer/shared/layers/layer.d.ts +62 -62
- package/lib/layer/shared/layers/layer.interface.d.ts +109 -107
- package/lib/layer/shared/layers/tile-layer.d.ts +31 -31
- package/lib/layer/shared/layers/tile-layer.interface.d.ts +20 -20
- package/lib/layer/shared/layers/vector-layer.d.ts +78 -78
- package/lib/layer/shared/layers/vector-layer.interface.d.ts +41 -41
- package/lib/layer/shared/layers/vectortile-layer.d.ts +28 -28
- package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +18 -18
- package/lib/layer/shared/style.service.d.ts +57 -57
- package/lib/layer/shared/vector-style.interface.d.ts +38 -38
- package/lib/layer/style-modal/index.d.ts +1 -1
- package/lib/layer/style-modal/style-modal.component.d.ts +42 -42
- package/lib/layer/track-feature-button/index.d.ts +1 -1
- package/lib/layer/track-feature-button/track-feature-button.component.d.ts +15 -15
- package/lib/layer/utils/image-watcher.d.ts +17 -17
- package/lib/layer/utils/index.d.ts +5 -5
- package/lib/layer/utils/layer.utils.d.ts +2 -2
- package/lib/layer/utils/outputLegend.d.ts +7 -7
- package/lib/layer/utils/tile-watcher.d.ts +14 -14
- package/lib/layer/utils/vector-watcher.d.ts +13 -13
- package/lib/map/baselayers-switcher/baselayers-switcher.animation.d.ts +2 -2
- package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +21 -21
- package/lib/map/baselayers-switcher/index.d.ts +2 -2
- package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +29 -29
- package/lib/map/geolocate-button/geolocate-button.component.d.ts +22 -22
- package/lib/map/geolocate-button/index.d.ts +1 -1
- package/lib/map/home-extent-button/home-extent-button.component.d.ts +20 -20
- package/lib/map/home-extent-button/index.d.ts +1 -1
- package/lib/map/index.d.ts +13 -13
- package/lib/map/info-section/index.d.ts +1 -1
- package/lib/map/info-section/info-section.component.d.ts +7 -7
- package/lib/map/map-browser/index.d.ts +1 -1
- package/lib/map/map-browser/map-browser.component.d.ts +25 -25
- package/lib/map/map-center/index.d.ts +1 -1
- package/lib/map/map-center/map-center.component.d.ts +31 -31
- package/lib/map/map.module.d.ts +28 -28
- package/lib/map/menu-button/index.d.ts +1 -1
- package/lib/map/menu-button/menu-button.component.d.ts +17 -17
- package/lib/map/offline-button/index.d.ts +1 -1
- package/lib/map/offline-button/offline-button.component.d.ts +23 -23
- package/lib/map/rotation-button/index.d.ts +1 -1
- package/lib/map/rotation-button/rotation-button.component.d.ts +17 -17
- package/lib/map/shared/controllers/controller.d.ts +29 -29
- package/lib/map/shared/controllers/geolocation.d.ts +112 -112
- package/lib/map/shared/controllers/index.d.ts +3 -3
- package/lib/map/shared/controllers/view.d.ts +200 -200
- package/lib/map/shared/hover-feature.directive.d.ts +132 -132
- package/lib/map/shared/index.d.ts +13 -13
- package/lib/map/shared/linkedLayers.utils.d.ts +17 -17
- package/lib/map/shared/map-pointer-position.directive.d.ts +71 -71
- package/lib/map/shared/map.d.ts +135 -135
- package/lib/map/shared/map.enums.d.ts +4 -4
- package/lib/map/shared/map.interface.d.ts +57 -57
- package/lib/map/shared/map.service.d.ts +19 -19
- package/lib/map/shared/map.utils.d.ts +90 -90
- package/lib/map/shared/mapOffline.directive.d.ts +21 -21
- package/lib/map/shared/projection.interfaces.d.ts +29 -29
- package/lib/map/shared/projection.service.d.ts +19 -19
- package/lib/map/shared/projection.utils.d.ts +19 -19
- package/lib/map/swipe-control/index.d.ts +1 -1
- package/lib/map/swipe-control/swipe-control.component.d.ts +97 -97
- package/lib/map/utils/layer-watcher.d.ts +20 -20
- package/lib/map/wake-lock-button/index.d.ts +1 -1
- package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +30 -30
- package/lib/map/zoom-button/index.d.ts +1 -1
- package/lib/map/zoom-button/zoom-button.component.d.ts +12 -12
- package/lib/measure/index.d.ts +3 -3
- package/lib/measure/measure.module.d.ts +7 -7
- package/lib/measure/measurer/measure-format.pipe.d.ts +15 -15
- package/lib/measure/measurer/measurer-dialog.component.d.ts +14 -14
- package/lib/measure/measurer/measurer-item.component.d.ts +66 -66
- package/lib/measure/measurer/measurer.component.d.ts +405 -405
- package/lib/measure/measurer/measurer.module.d.ts +25 -25
- package/lib/measure/shared/index.d.ts +3 -3
- package/lib/measure/shared/measure.enum.d.ts +33 -33
- package/lib/measure/shared/measure.interfaces.d.ts +21 -21
- package/lib/measure/shared/measure.utils.d.ts +180 -180
- package/lib/metadata/index.d.ts +2 -2
- package/lib/metadata/metadata-button/index.d.ts +1 -1
- package/lib/metadata/metadata-button/metadata-button.component.d.ts +26 -26
- package/lib/metadata/metadata.module.d.ts +15 -15
- package/lib/metadata/shared/index.d.ts +2 -2
- package/lib/metadata/shared/metadata.interface.d.ts +13 -13
- package/lib/metadata/shared/metadata.service.d.ts +8 -8
- package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +14 -14
- package/lib/offline/geoDB/geoDB.enums.d.ts +4 -4
- package/lib/offline/geoDB/geoDB.interface.d.ts +19 -19
- package/lib/offline/geoDB/geoDB.service.d.ts +37 -37
- package/lib/offline/geoDB/index.d.ts +4 -4
- package/lib/offline/index.d.ts +2 -2
- package/lib/offline/shared/geo-network.service.d.ts +28 -28
- package/lib/offline/shared/index.d.ts +1 -1
- package/lib/overlay/index.d.ts +1 -1
- package/lib/overlay/overlay.module.d.ts +9 -9
- package/lib/overlay/shared/index.d.ts +6 -6
- package/lib/overlay/shared/overlay-marker-style.utils.d.ts +11 -11
- package/lib/overlay/shared/overlay.d.ts +81 -81
- package/lib/overlay/shared/overlay.directive.d.ts +18 -18
- package/lib/overlay/shared/overlay.enum.d.ts +6 -6
- package/lib/overlay/shared/overlay.service.d.ts +14 -14
- package/lib/overlay/shared/overlay.utils.d.ts +17 -17
- package/lib/print/index.d.ts +3 -3
- package/lib/print/print/print.component.d.ts +35 -35
- package/lib/print/print-form/index.d.ts +1 -1
- package/lib/print/print-form/print-form.component.d.ts +97 -97
- package/lib/print/print.module.d.ts +19 -19
- package/lib/print/shared/geopdf.d.ts +1 -1
- package/lib/print/shared/index.d.ts +4 -4
- package/lib/print/shared/print.interface.d.ts +22 -22
- package/lib/print/shared/print.service.d.ts +168 -168
- package/lib/print/shared/print.type.d.ts +45 -45
- package/lib/query/index.d.ts +1 -1
- package/lib/query/query.module.d.ts +11 -11
- package/lib/query/shared/index.d.ts +6 -6
- package/lib/query/shared/query-search-source.d.ts +17 -17
- package/lib/query/shared/query-search-source.providers.d.ts +17 -17
- package/lib/query/shared/query.directive.d.ts +105 -105
- package/lib/query/shared/query.enums.d.ts +26 -26
- package/lib/query/shared/query.interfaces.d.ts +35 -35
- package/lib/query/shared/query.service.d.ts +56 -56
- package/lib/query/shared/query.utils.d.ts +27 -27
- package/lib/search/index.d.ts +11 -11
- package/lib/search/search-bar/search-bar.component.d.ts +230 -230
- package/lib/search/search-bar/search-bar.module.d.ts +23 -23
- package/lib/search/search-bar/search-url-param.directive.d.ts +13 -13
- package/lib/search/search-results/save-feature-dialog.component.d.ts +32 -32
- package/lib/search/search-results/search-results-add-button.component.d.ts +76 -76
- package/lib/search/search-results/search-results-item.component.d.ts +47 -47
- package/lib/search/search-results/search-results.component.d.ts +161 -161
- package/lib/search/search-results/search-results.module.d.ts +28 -28
- package/lib/search/search-selector/search-selector.component.d.ts +58 -58
- package/lib/search/search-selector/search-selector.module.d.ts +19 -19
- package/lib/search/search-settings/search-settings.component.d.ts +102 -102
- package/lib/search/search-settings/search-settings.module.d.ts +20 -20
- package/lib/search/search.module.d.ts +14 -14
- package/lib/search/shared/index.d.ts +8 -8
- package/lib/search/shared/search-pointer-summary.directive.d.ts +133 -133
- package/lib/search/shared/search-source-service.providers.d.ts +15 -15
- package/lib/search/shared/search-source.service.d.ts +32 -32
- package/lib/search/shared/search.enums.d.ts +1 -1
- package/lib/search/shared/search.interfaces.d.ts +29 -29
- package/lib/search/shared/search.service.d.ts +53 -53
- package/lib/search/shared/search.utils.d.ts +39 -39
- package/lib/search/shared/sources/coordinates.d.ts +40 -40
- package/lib/search/shared/sources/coordinates.interfaces.d.ts +12 -12
- package/lib/search/shared/sources/coordinates.providers.d.ts +31 -31
- package/lib/search/shared/sources/icherche.d.ts +96 -96
- package/lib/search/shared/sources/icherche.interfaces.d.ts +30 -30
- package/lib/search/shared/sources/icherche.providers.d.ts +46 -46
- package/lib/search/shared/sources/ilayer.d.ts +55 -55
- package/lib/search/shared/sources/ilayer.interfaces.d.ts +47 -47
- package/lib/search/shared/sources/ilayer.providers.d.ts +31 -31
- package/lib/search/shared/sources/index.d.ts +17 -17
- package/lib/search/shared/sources/nominatim.d.ts +45 -45
- package/lib/search/shared/sources/nominatim.interfaces.d.ts +10 -10
- package/lib/search/shared/sources/nominatim.providers.d.ts +18 -18
- package/lib/search/shared/sources/source.d.ts +108 -108
- package/lib/search/shared/sources/source.interfaces.d.ts +47 -47
- package/lib/search/shared/sources/storedqueries.d.ts +73 -73
- package/lib/search/shared/sources/storedqueries.interfaces.d.ts +42 -42
- package/lib/search/shared/sources/storedqueries.providers.d.ts +32 -32
- package/lib/toast/index.d.ts +1 -1
- package/lib/toast/toast.component.d.ts +33 -33
- package/lib/toast/toast.module.d.ts +14 -14
- package/lib/utils/commonVectorStyle.d.ts +14 -14
- package/lib/utils/commonVectorStyle.interface.d.ts +16 -16
- package/lib/utils/googleLinks.d.ts +5 -5
- package/lib/utils/id-generator.d.ts +54 -54
- package/lib/utils/index.d.ts +5 -5
- package/lib/utils/osmLinks.d.ts +4 -4
- package/lib/wkt/index.d.ts +1 -1
- package/lib/wkt/shared/index.d.ts +1 -1
- package/lib/wkt/shared/wkt.service.d.ts +19 -19
- package/lib/wkt/wkt.module.d.ts +8 -8
- package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +23 -23
- package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +14 -14
- package/lib/workspace/confirmation-popup/index.d.ts +2 -2
- package/lib/workspace/index.d.ts +7 -7
- package/lib/workspace/shared/edition-workspace.d.ts +82 -82
- package/lib/workspace/shared/edition-workspace.service.d.ts +52 -52
- package/lib/workspace/shared/feature-workspace.d.ts +18 -18
- package/lib/workspace/shared/feature-workspace.service.d.ts +19 -19
- package/lib/workspace/shared/index.d.ts +7 -7
- package/lib/workspace/shared/wfs-workspace.d.ts +18 -18
- package/lib/workspace/shared/wfs-workspace.service.d.ts +19 -19
- package/lib/workspace/shared/wms-workspace.service.d.ts +22 -22
- package/lib/workspace/shared/workspace.utils.d.ts +10 -10
- package/lib/workspace/widgets/index.d.ts +3 -3
- package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +29 -29
- package/lib/workspace/widgets/ogc-filter/ogc-filter.module.d.ts +14 -14
- package/lib/workspace/widgets/widgets.d.ts +9 -9
- package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +32 -32
- package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +11 -11
- package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +26 -26
- package/lib/workspace/workspace-updator/workspace-updator.module.d.ts +11 -11
- package/lib/workspace/workspace.module.d.ts +14 -14
- package/package.json +4 -4
- package/public_api.d.ts +51 -51
|
@@ -1,645 +1,645 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject, of } from 'rxjs';
|
|
3
|
-
import { OgcFilterWriter } from '../../filter/shared/ogc-filter';
|
|
4
|
-
import { OgcFilterOperator } from '../../filter/shared/ogc-filter.enum';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../../wkt/shared/wkt.service";
|
|
7
|
-
function OgcFilterFormComponent_mat_form_field_13_mat_option_10_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
-
i0.ɵɵelementStart(0, "mat-option", 23);
|
|
9
|
-
i0.ɵɵtext(1);
|
|
10
|
-
i0.ɵɵelementEnd();
|
|
11
|
-
} if (rf & 2) {
|
|
12
|
-
const field_r12 = ctx.$implicit;
|
|
13
|
-
i0.ɵɵproperty("value", field_r12.alias)("id", field_r12.name)("matTooltip", field_r12.alias);
|
|
14
|
-
i0.ɵɵadvance(1);
|
|
15
|
-
i0.ɵɵtextInterpolate1(" ", field_r12.alias, " ");
|
|
16
|
-
} }
|
|
17
|
-
function OgcFilterFormComponent_mat_form_field_13_button_12_Template(rf, ctx) { if (rf & 1) {
|
|
18
|
-
const _r14 = i0.ɵɵgetCurrentView();
|
|
19
|
-
i0.ɵɵelementStart(0, "button", 24);
|
|
20
|
-
i0.ɵɵlistener("click", function OgcFilterFormComponent_mat_form_field_13_button_12_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r13.clearSelectedField()); });
|
|
21
|
-
i0.ɵɵelement(1, "mat-icon", 25);
|
|
22
|
-
i0.ɵɵelementEnd();
|
|
23
|
-
} if (rf & 2) {
|
|
24
|
-
const ctx_r11 = i0.ɵɵnextContext(2);
|
|
25
|
-
i0.ɵɵproperty("disabled", !ctx_r11.currentFilter.active);
|
|
26
|
-
} }
|
|
27
|
-
function OgcFilterFormComponent_mat_form_field_13_Template(rf, ctx) { if (rf & 1) {
|
|
28
|
-
const _r16 = i0.ɵɵgetCurrentView();
|
|
29
|
-
i0.ɵɵelementStart(0, "mat-form-field", 17);
|
|
30
|
-
i0.ɵɵlistener("mouseenter", function OgcFilterFormComponent_mat_form_field_13_Template_mat_form_field_mouseenter_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r15.inputClearable = "selectField"); })("mouseleave", function OgcFilterFormComponent_mat_form_field_13_Template_mat_form_field_mouseleave_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r17 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r17.inputClearable = undefined); });
|
|
31
|
-
i0.ɵɵelementStart(1, "input", 18);
|
|
32
|
-
i0.ɵɵlistener("input", function OgcFilterFormComponent_mat_form_field_13_Template_input_input_1_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r18 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r18.updateFieldsList($event.target.value)); });
|
|
33
|
-
i0.ɵɵpipe(2, "translate");
|
|
34
|
-
i0.ɵɵpipe(3, "async");
|
|
35
|
-
i0.ɵɵpipe(4, "async");
|
|
36
|
-
i0.ɵɵpipe(5, "async");
|
|
37
|
-
i0.ɵɵpipe(6, "async");
|
|
38
|
-
i0.ɵɵpipe(7, "translate");
|
|
39
|
-
i0.ɵɵelementEnd();
|
|
40
|
-
i0.ɵɵelementStart(8, "mat-autocomplete", 19, 20);
|
|
41
|
-
i0.ɵɵlistener("optionSelected", function OgcFilterFormComponent_mat_form_field_13_Template_mat_autocomplete_optionSelected_8_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r19 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r19.changeField($event.option.id)); });
|
|
42
|
-
i0.ɵɵtemplate(10, OgcFilterFormComponent_mat_form_field_13_mat_option_10_Template, 2, 4, "mat-option", 21);
|
|
43
|
-
i0.ɵɵpipe(11, "async");
|
|
44
|
-
i0.ɵɵelementEnd();
|
|
45
|
-
i0.ɵɵtemplate(12, OgcFilterFormComponent_mat_form_field_13_button_12_Template, 2, 1, "button", 22);
|
|
46
|
-
i0.ɵɵelementEnd();
|
|
47
|
-
} if (rf & 2) {
|
|
48
|
-
const _r9 = i0.ɵɵreference(9);
|
|
49
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
50
|
-
i0.ɵɵproperty("floatLabel", ctx_r0.floatLabel);
|
|
51
|
-
i0.ɵɵadvance(1);
|
|
52
|
-
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(2, 8, "igo.geo.sourceFields.selectField"))("disabled", !ctx_r0.currentFilter.active)("matAutocomplete", _r9)("value", i0.ɵɵpipeBind1(3, 10, ctx_r0.selectedField$) ? i0.ɵɵpipeBind1(4, 12, ctx_r0.selectedField$).alias : "")("matTooltip", i0.ɵɵpipeBind1(5, 14, ctx_r0.selectedField$) ? i0.ɵɵpipeBind1(6, 16, ctx_r0.selectedField$).alias : i0.ɵɵpipeBind1(7, 18, "igo.geo.sourceFields.selectField"));
|
|
53
|
-
i0.ɵɵadvance(9);
|
|
54
|
-
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(11, 20, ctx_r0.filteredFields$));
|
|
55
|
-
i0.ɵɵadvance(2);
|
|
56
|
-
i0.ɵɵproperty("ngIf", ctx_r0.currentFilter.propertyName && ctx_r0.inputClearable === "selectField" && ctx_r0.currentFilter.active);
|
|
57
|
-
} }
|
|
58
|
-
function OgcFilterFormComponent_mat_option_24_Template(rf, ctx) { if (rf & 1) {
|
|
59
|
-
i0.ɵɵelementStart(0, "mat-option", 3);
|
|
60
|
-
i0.ɵɵpipe(1, "translate");
|
|
61
|
-
i0.ɵɵtext(2);
|
|
62
|
-
i0.ɵɵpipe(3, "translate");
|
|
63
|
-
i0.ɵɵelementEnd();
|
|
64
|
-
} if (rf & 2) {
|
|
65
|
-
const operator_r20 = ctx.$implicit;
|
|
66
|
-
i0.ɵɵproperty("value", operator_r20.key)("matTooltip", i0.ɵɵpipeBind1(1, 3, "igo.geo.operators.tooltip." + operator_r20.key));
|
|
67
|
-
i0.ɵɵadvance(2);
|
|
68
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 5, "igo.geo.operators." + operator_r20.key), " ");
|
|
69
|
-
} }
|
|
70
|
-
function OgcFilterFormComponent_mat_form_field_27_mat_option_2_Template(rf, ctx) { if (rf & 1) {
|
|
71
|
-
i0.ɵɵelementStart(0, "mat-option", 29);
|
|
72
|
-
i0.ɵɵtext(1);
|
|
73
|
-
i0.ɵɵpipe(2, "translate");
|
|
74
|
-
i0.ɵɵelementEnd();
|
|
75
|
-
} if (rf & 2) {
|
|
76
|
-
const igoSpatialSelector_r22 = ctx.$implicit;
|
|
77
|
-
i0.ɵɵproperty("value", igoSpatialSelector_r22.type);
|
|
78
|
-
i0.ɵɵadvance(1);
|
|
79
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "igo.geo.spatialSelector." + igoSpatialSelector_r22.type), " ");
|
|
80
|
-
} }
|
|
81
|
-
function OgcFilterFormComponent_mat_form_field_27_Template(rf, ctx) { if (rf & 1) {
|
|
82
|
-
const _r24 = i0.ɵɵgetCurrentView();
|
|
83
|
-
i0.ɵɵelementStart(0, "mat-form-field", 26)(1, "mat-select", 27);
|
|
84
|
-
i0.ɵɵlistener("selectionChange", function OgcFilterFormComponent_mat_form_field_27_Template_mat_select_selectionChange_1_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r23.changeSpatialSelector($event.value)); });
|
|
85
|
-
i0.ɵɵtemplate(2, OgcFilterFormComponent_mat_form_field_27_mat_option_2_Template, 3, 4, "mat-option", 28);
|
|
86
|
-
i0.ɵɵelementEnd()();
|
|
87
|
-
} if (rf & 2) {
|
|
88
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
89
|
-
i0.ɵɵadvance(1);
|
|
90
|
-
i0.ɵɵproperty("disabled", !ctx_r2.currentFilter.active)("value", ctx_r2.currentFilter.igoSpatialSelector);
|
|
91
|
-
i0.ɵɵadvance(1);
|
|
92
|
-
i0.ɵɵproperty("ngForOf", ctx_r2.igoSpatialSelectors);
|
|
93
|
-
} }
|
|
94
|
-
function OgcFilterFormComponent_mat_form_field_29_mat_option_5_Template(rf, ctx) { if (rf & 1) {
|
|
95
|
-
i0.ɵɵelementStart(0, "mat-option", 33);
|
|
96
|
-
i0.ɵɵtext(1);
|
|
97
|
-
i0.ɵɵelementEnd();
|
|
98
|
-
} if (rf & 2) {
|
|
99
|
-
const value_r28 = ctx.$implicit;
|
|
100
|
-
i0.ɵɵproperty("value", value_r28)("matTooltip", value_r28);
|
|
101
|
-
i0.ɵɵadvance(1);
|
|
102
|
-
i0.ɵɵtextInterpolate1(" ", value_r28, " ");
|
|
103
|
-
} }
|
|
104
|
-
function OgcFilterFormComponent_mat_form_field_29_button_7_Template(rf, ctx) { if (rf & 1) {
|
|
105
|
-
const _r30 = i0.ɵɵgetCurrentView();
|
|
106
|
-
i0.ɵɵelementStart(0, "button", 24);
|
|
107
|
-
i0.ɵɵlistener("click", function OgcFilterFormComponent_mat_form_field_29_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r30); const ctx_r29 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r29.clearProperty()); });
|
|
108
|
-
i0.ɵɵelement(1, "mat-icon", 25);
|
|
109
|
-
i0.ɵɵelementEnd();
|
|
110
|
-
} if (rf & 2) {
|
|
111
|
-
const ctx_r27 = i0.ɵɵnextContext(2);
|
|
112
|
-
i0.ɵɵproperty("disabled", !ctx_r27.currentFilter.active);
|
|
113
|
-
} }
|
|
114
|
-
function OgcFilterFormComponent_mat_form_field_29_Template(rf, ctx) { if (rf & 1) {
|
|
115
|
-
const _r32 = i0.ɵɵgetCurrentView();
|
|
116
|
-
i0.ɵɵelementStart(0, "mat-form-field", 30);
|
|
117
|
-
i0.ɵɵlistener("mouseenter", function OgcFilterFormComponent_mat_form_field_29_Template_mat_form_field_mouseenter_0_listener() { i0.ɵɵrestoreView(_r32); const ctx_r31 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r31.inputClearable = "selectProperty"); })("mouseleave", function OgcFilterFormComponent_mat_form_field_29_Template_mat_form_field_mouseleave_0_listener() { i0.ɵɵrestoreView(_r32); const ctx_r33 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r33.inputClearable = undefined); });
|
|
118
|
-
i0.ɵɵelementStart(1, "input", 18);
|
|
119
|
-
i0.ɵɵlistener("input", function OgcFilterFormComponent_mat_form_field_29_Template_input_input_1_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r34 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r34.updateValuesList($event.target.value)); });
|
|
120
|
-
i0.ɵɵpipe(2, "translate");
|
|
121
|
-
i0.ɵɵelementEnd();
|
|
122
|
-
i0.ɵɵelementStart(3, "mat-autocomplete", 19, 31);
|
|
123
|
-
i0.ɵɵlistener("optionSelected", function OgcFilterFormComponent_mat_form_field_29_Template_mat_autocomplete_optionSelected_3_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r35 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r35.changeProperty($event.option.value)); });
|
|
124
|
-
i0.ɵɵtemplate(5, OgcFilterFormComponent_mat_form_field_29_mat_option_5_Template, 2, 3, "mat-option", 32);
|
|
125
|
-
i0.ɵɵpipe(6, "async");
|
|
126
|
-
i0.ɵɵelementEnd();
|
|
127
|
-
i0.ɵɵtemplate(7, OgcFilterFormComponent_mat_form_field_29_button_7_Template, 2, 1, "button", 22);
|
|
128
|
-
i0.ɵɵelementEnd();
|
|
129
|
-
} if (rf & 2) {
|
|
130
|
-
const _r25 = i0.ɵɵreference(4);
|
|
131
|
-
const ctx_r3 = i0.ɵɵnextContext();
|
|
132
|
-
i0.ɵɵproperty("floatLabel", ctx_r3.floatLabel);
|
|
133
|
-
i0.ɵɵadvance(1);
|
|
134
|
-
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(2, 8, "igo.geo.filter.placeholder"))("disabled", !ctx_r3.currentFilter.active)("matAutocomplete", _r25)("value", ctx_r3.detectProperty() === "expression" ? ctx_r3.currentFilter.expression : ctx_r3.currentFilter.pattern)("matTooltip", ctx_r3.detectProperty() === "expression" ? ctx_r3.currentFilter.expression || "" : ctx_r3.currentFilter.pattern || "");
|
|
135
|
-
i0.ɵɵadvance(4);
|
|
136
|
-
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(6, 10, ctx_r3.filteredValues$));
|
|
137
|
-
i0.ɵɵadvance(2);
|
|
138
|
-
i0.ɵɵproperty("ngIf", ctx_r3.isClearable() && ctx_r3.inputClearable === "selectProperty" && ctx_r3.currentFilter.active);
|
|
139
|
-
} }
|
|
140
|
-
function OgcFilterFormComponent_mat_form_field_34_button_3_Template(rf, ctx) { if (rf & 1) {
|
|
141
|
-
const _r38 = i0.ɵɵgetCurrentView();
|
|
142
|
-
i0.ɵɵelementStart(0, "button", 24);
|
|
143
|
-
i0.ɵɵlistener("click", function OgcFilterFormComponent_mat_form_field_34_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r38); const ctx_r37 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r37.currentFilter.igoSNRC = ""); });
|
|
144
|
-
i0.ɵɵelement(1, "mat-icon", 25);
|
|
145
|
-
i0.ɵɵelementEnd();
|
|
146
|
-
} if (rf & 2) {
|
|
147
|
-
const ctx_r36 = i0.ɵɵnextContext(2);
|
|
148
|
-
i0.ɵɵproperty("disabled", !ctx_r36.currentFilter.active && ctx_r36.inputClearable === "selectSNRC" && ctx_r36.currentFilter.active);
|
|
149
|
-
} }
|
|
150
|
-
function OgcFilterFormComponent_mat_form_field_34_Template(rf, ctx) { if (rf & 1) {
|
|
151
|
-
const _r40 = i0.ɵɵgetCurrentView();
|
|
152
|
-
i0.ɵɵelementStart(0, "mat-form-field", 34);
|
|
153
|
-
i0.ɵɵlistener("mouseenter", function OgcFilterFormComponent_mat_form_field_34_Template_mat_form_field_mouseenter_0_listener() { i0.ɵɵrestoreView(_r40); const ctx_r39 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r39.inputClearable = "selectSNRC"); })("mouseleave", function OgcFilterFormComponent_mat_form_field_34_Template_mat_form_field_mouseleave_0_listener() { i0.ɵɵrestoreView(_r40); const ctx_r41 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r41.inputClearable = undefined); });
|
|
154
|
-
i0.ɵɵelementStart(1, "input", 35);
|
|
155
|
-
i0.ɵɵlistener("input", function OgcFilterFormComponent_mat_form_field_34_Template_input_input_1_listener($event) { i0.ɵɵrestoreView(_r40); const ctx_r42 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r42.changeSNRC($event.target.value)); });
|
|
156
|
-
i0.ɵɵpipe(2, "translate");
|
|
157
|
-
i0.ɵɵelementEnd();
|
|
158
|
-
i0.ɵɵtemplate(3, OgcFilterFormComponent_mat_form_field_34_button_3_Template, 2, 1, "button", 22);
|
|
159
|
-
i0.ɵɵelementEnd();
|
|
160
|
-
} if (rf & 2) {
|
|
161
|
-
const ctx_r4 = i0.ɵɵnextContext();
|
|
162
|
-
i0.ɵɵproperty("floatLabel", ctx_r4.floatLabel);
|
|
163
|
-
i0.ɵɵadvance(1);
|
|
164
|
-
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(2, 5, "igo.geo.filter.placeholderSnrc"))("value", ctx_r4.currentFilter.igoSNRC)("matTooltip", ctx_r4.currentFilter.igoSNRC ? ctx_r4.currentFilter.igoSNRC : "");
|
|
165
|
-
i0.ɵɵadvance(2);
|
|
166
|
-
i0.ɵɵproperty("ngIf", ctx_r4.currentFilter.igoSNRC);
|
|
167
|
-
} }
|
|
168
|
-
function OgcFilterFormComponent_ng_container_36_button_1_Template(rf, ctx) { if (rf & 1) {
|
|
169
|
-
const _r45 = i0.ɵɵgetCurrentView();
|
|
170
|
-
i0.ɵɵelementStart(0, "button", 37);
|
|
171
|
-
i0.ɵɵlistener("click", function OgcFilterFormComponent_ng_container_36_button_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r45); const ctx_r44 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r44.changeMapExtentGeometry()); });
|
|
172
|
-
i0.ɵɵpipe(1, "translate");
|
|
173
|
-
i0.ɵɵelement(2, "mat-icon", 38);
|
|
174
|
-
i0.ɵɵelementEnd();
|
|
175
|
-
} if (rf & 2) {
|
|
176
|
-
const ctx_r43 = i0.ɵɵnextContext(2);
|
|
177
|
-
i0.ɵɵproperty("disabled", !ctx_r43.currentFilter.active)("disabled", !ctx_r43.currentFilter.active)("matTooltip", i0.ɵɵpipeBind1(1, 3, "igo.geo.spatialSelector.btnSetExtent"));
|
|
178
|
-
} }
|
|
179
|
-
function OgcFilterFormComponent_ng_container_36_Template(rf, ctx) { if (rf & 1) {
|
|
180
|
-
i0.ɵɵelementContainerStart(0);
|
|
181
|
-
i0.ɵɵtemplate(1, OgcFilterFormComponent_ng_container_36_button_1_Template, 3, 5, "button", 36);
|
|
182
|
-
i0.ɵɵelementContainerEnd();
|
|
183
|
-
} if (rf & 2) {
|
|
184
|
-
const ctx_r5 = i0.ɵɵnextContext();
|
|
185
|
-
i0.ɵɵadvance(1);
|
|
186
|
-
i0.ɵɵproperty("ngIf", ctx_r5.currentFilter.igoSpatialSelector === "fixedExtent");
|
|
187
|
-
} }
|
|
188
|
-
function OgcFilterFormComponent_mat_form_field_39_mat_option_5_Template(rf, ctx) { if (rf & 1) {
|
|
189
|
-
i0.ɵɵelementStart(0, "mat-option", 33);
|
|
190
|
-
i0.ɵɵtext(1);
|
|
191
|
-
i0.ɵɵelementEnd();
|
|
192
|
-
} if (rf & 2) {
|
|
193
|
-
const value_r49 = ctx.$implicit;
|
|
194
|
-
i0.ɵɵproperty("value", value_r49)("matTooltip", value_r49);
|
|
195
|
-
i0.ɵɵadvance(1);
|
|
196
|
-
i0.ɵɵtextInterpolate1(" ", value_r49, " ");
|
|
197
|
-
} }
|
|
198
|
-
function OgcFilterFormComponent_mat_form_field_39_button_7_Template(rf, ctx) { if (rf & 1) {
|
|
199
|
-
const _r51 = i0.ɵɵgetCurrentView();
|
|
200
|
-
i0.ɵɵelementStart(0, "button", 24);
|
|
201
|
-
i0.ɵɵlistener("click", function OgcFilterFormComponent_mat_form_field_39_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r51); const ctx_r50 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r50.clearProperty(1)); });
|
|
202
|
-
i0.ɵɵelement(1, "mat-icon", 25);
|
|
203
|
-
i0.ɵɵelementEnd();
|
|
204
|
-
} if (rf & 2) {
|
|
205
|
-
const ctx_r48 = i0.ɵɵnextContext(2);
|
|
206
|
-
i0.ɵɵproperty("disabled", !ctx_r48.currentFilter.active);
|
|
207
|
-
} }
|
|
208
|
-
function OgcFilterFormComponent_mat_form_field_39_Template(rf, ctx) { if (rf & 1) {
|
|
209
|
-
const _r53 = i0.ɵɵgetCurrentView();
|
|
210
|
-
i0.ɵɵelementStart(0, "mat-form-field", 39);
|
|
211
|
-
i0.ɵɵlistener("mouseenter", function OgcFilterFormComponent_mat_form_field_39_Template_mat_form_field_mouseenter_0_listener() { i0.ɵɵrestoreView(_r53); const ctx_r52 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r52.inputClearable = "selectProperty1"); })("mouseleave", function OgcFilterFormComponent_mat_form_field_39_Template_mat_form_field_mouseleave_0_listener() { i0.ɵɵrestoreView(_r53); const ctx_r54 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r54.inputClearable = undefined); });
|
|
212
|
-
i0.ɵɵelementStart(1, "input", 40);
|
|
213
|
-
i0.ɵɵlistener("input", function OgcFilterFormComponent_mat_form_field_39_Template_input_input_1_listener($event) { i0.ɵɵrestoreView(_r53); const ctx_r55 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r55.updateValuesList($event.target.value, 1)); });
|
|
214
|
-
i0.ɵɵpipe(2, "translate");
|
|
215
|
-
i0.ɵɵelementEnd();
|
|
216
|
-
i0.ɵɵelementStart(3, "mat-autocomplete", 19, 41);
|
|
217
|
-
i0.ɵɵlistener("optionSelected", function OgcFilterFormComponent_mat_form_field_39_Template_mat_autocomplete_optionSelected_3_listener($event) { i0.ɵɵrestoreView(_r53); const ctx_r56 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r56.changeNumericProperty($event.option.value, 1)); });
|
|
218
|
-
i0.ɵɵtemplate(5, OgcFilterFormComponent_mat_form_field_39_mat_option_5_Template, 2, 3, "mat-option", 32);
|
|
219
|
-
i0.ɵɵpipe(6, "async");
|
|
220
|
-
i0.ɵɵelementEnd();
|
|
221
|
-
i0.ɵɵtemplate(7, OgcFilterFormComponent_mat_form_field_39_button_7_Template, 2, 1, "button", 22);
|
|
222
|
-
i0.ɵɵelementEnd();
|
|
223
|
-
} if (rf & 2) {
|
|
224
|
-
const _r46 = i0.ɵɵreference(4);
|
|
225
|
-
const ctx_r6 = i0.ɵɵnextContext();
|
|
226
|
-
i0.ɵɵproperty("floatLabel", ctx_r6.floatLabel);
|
|
227
|
-
i0.ɵɵadvance(1);
|
|
228
|
-
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(2, 7, "igo.geo.filter.placeholder"))("disabled", !ctx_r6.currentFilter.active)("matAutocomplete", _r46)("value", ctx_r6.detectProperty(1) === "lowerBoundary" ? ctx_r6.currentFilter.lowerBoundary : ctx_r6.currentFilter.begin);
|
|
229
|
-
i0.ɵɵadvance(4);
|
|
230
|
-
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(6, 9, ctx_r6.filteredValues$));
|
|
231
|
-
i0.ɵɵadvance(2);
|
|
232
|
-
i0.ɵɵproperty("ngIf", ctx_r6.isClearable(1) && ctx_r6.inputClearable === "selectProperty1" && ctx_r6.currentFilter.active);
|
|
233
|
-
} }
|
|
234
|
-
function OgcFilterFormComponent_mat_form_field_40_mat_option_5_Template(rf, ctx) { if (rf & 1) {
|
|
235
|
-
i0.ɵɵelementStart(0, "mat-option", 33);
|
|
236
|
-
i0.ɵɵtext(1);
|
|
237
|
-
i0.ɵɵelementEnd();
|
|
238
|
-
} if (rf & 2) {
|
|
239
|
-
const value_r60 = ctx.$implicit;
|
|
240
|
-
i0.ɵɵproperty("value", value_r60)("matTooltip", value_r60);
|
|
241
|
-
i0.ɵɵadvance(1);
|
|
242
|
-
i0.ɵɵtextInterpolate1(" ", value_r60, " ");
|
|
243
|
-
} }
|
|
244
|
-
function OgcFilterFormComponent_mat_form_field_40_button_7_Template(rf, ctx) { if (rf & 1) {
|
|
245
|
-
const _r62 = i0.ɵɵgetCurrentView();
|
|
246
|
-
i0.ɵɵelementStart(0, "button", 24);
|
|
247
|
-
i0.ɵɵlistener("click", function OgcFilterFormComponent_mat_form_field_40_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r62); const ctx_r61 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r61.clearProperty(2)); });
|
|
248
|
-
i0.ɵɵelement(1, "mat-icon", 25);
|
|
249
|
-
i0.ɵɵelementEnd();
|
|
250
|
-
} if (rf & 2) {
|
|
251
|
-
const ctx_r59 = i0.ɵɵnextContext(2);
|
|
252
|
-
i0.ɵɵproperty("disabled", !ctx_r59.currentFilter.active);
|
|
253
|
-
} }
|
|
254
|
-
function OgcFilterFormComponent_mat_form_field_40_Template(rf, ctx) { if (rf & 1) {
|
|
255
|
-
const _r64 = i0.ɵɵgetCurrentView();
|
|
256
|
-
i0.ɵɵelementStart(0, "mat-form-field", 39);
|
|
257
|
-
i0.ɵɵlistener("mouseenter", function OgcFilterFormComponent_mat_form_field_40_Template_mat_form_field_mouseenter_0_listener() { i0.ɵɵrestoreView(_r64); const ctx_r63 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r63.inputClearable = "selectProperty2"); })("mouseleave", function OgcFilterFormComponent_mat_form_field_40_Template_mat_form_field_mouseleave_0_listener() { i0.ɵɵrestoreView(_r64); const ctx_r65 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r65.inputClearable = undefined); });
|
|
258
|
-
i0.ɵɵelementStart(1, "input", 40);
|
|
259
|
-
i0.ɵɵlistener("input", function OgcFilterFormComponent_mat_form_field_40_Template_input_input_1_listener($event) { i0.ɵɵrestoreView(_r64); const ctx_r66 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r66.updateValuesList($event.target.value, 2)); });
|
|
260
|
-
i0.ɵɵpipe(2, "translate");
|
|
261
|
-
i0.ɵɵelementEnd();
|
|
262
|
-
i0.ɵɵelementStart(3, "mat-autocomplete", 19, 42);
|
|
263
|
-
i0.ɵɵlistener("optionSelected", function OgcFilterFormComponent_mat_form_field_40_Template_mat_autocomplete_optionSelected_3_listener($event) { i0.ɵɵrestoreView(_r64); const ctx_r67 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r67.changeNumericProperty($event.option.value, 2)); });
|
|
264
|
-
i0.ɵɵtemplate(5, OgcFilterFormComponent_mat_form_field_40_mat_option_5_Template, 2, 3, "mat-option", 32);
|
|
265
|
-
i0.ɵɵpipe(6, "async");
|
|
266
|
-
i0.ɵɵelementEnd();
|
|
267
|
-
i0.ɵɵtemplate(7, OgcFilterFormComponent_mat_form_field_40_button_7_Template, 2, 1, "button", 22);
|
|
268
|
-
i0.ɵɵelementEnd();
|
|
269
|
-
} if (rf & 2) {
|
|
270
|
-
const _r57 = i0.ɵɵreference(4);
|
|
271
|
-
const ctx_r7 = i0.ɵɵnextContext();
|
|
272
|
-
i0.ɵɵproperty("floatLabel", ctx_r7.floatLabel);
|
|
273
|
-
i0.ɵɵadvance(1);
|
|
274
|
-
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(2, 7, "igo.geo.filter.placeholder"))("disabled", !ctx_r7.currentFilter.active)("matAutocomplete", _r57)("value", ctx_r7.detectProperty(2) === "upperBoundary" ? ctx_r7.currentFilter.upperBoundary : ctx_r7.currentFilter.end);
|
|
275
|
-
i0.ɵɵadvance(4);
|
|
276
|
-
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(6, 9, ctx_r7.filteredValues$));
|
|
277
|
-
i0.ɵɵadvance(2);
|
|
278
|
-
i0.ɵɵproperty("ngIf", ctx_r7.isClearable(2) && ctx_r7.inputClearable === "selectProperty2" && ctx_r7.currentFilter.active);
|
|
279
|
-
} }
|
|
280
|
-
function OgcFilterFormComponent_igo_ogc_filter_time_41_Template(rf, ctx) { if (rf & 1) {
|
|
281
|
-
const _r69 = i0.ɵɵgetCurrentView();
|
|
282
|
-
i0.ɵɵelementStart(0, "igo-ogc-filter-time", 43);
|
|
283
|
-
i0.ɵɵlistener("datasourceChange", function OgcFilterFormComponent_igo_ogc_filter_time_41_Template_igo_ogc_filter_time_datasourceChange_0_listener($event) { i0.ɵɵrestoreView(_r69); const ctx_r68 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r68.datasource = $event); })("currentFilterChange", function OgcFilterFormComponent_igo_ogc_filter_time_41_Template_igo_ogc_filter_time_currentFilterChange_0_listener($event) { i0.ɵɵrestoreView(_r69); const ctx_r70 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r70.currentFilter = $event); })("changeProperty", function OgcFilterFormComponent_igo_ogc_filter_time_41_Template_igo_ogc_filter_time_changeProperty_0_listener($event) { i0.ɵɵrestoreView(_r69); const ctx_r71 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r71.changeProperty($event.value, $event.pos)); });
|
|
284
|
-
i0.ɵɵelementEnd();
|
|
285
|
-
} if (rf & 2) {
|
|
286
|
-
const ctx_r8 = i0.ɵɵnextContext();
|
|
287
|
-
i0.ɵɵproperty("datasource", ctx_r8.datasource)("currentFilter", ctx_r8.currentFilter);
|
|
288
|
-
} }
|
|
289
|
-
const _c0 = function (a0, a1) { return { "logical": a0, "logicalHidden": a1 }; };
|
|
290
|
-
const _c1 = function (a0, a1) { return { "operator": a0, "dualInput": a1 }; };
|
|
291
|
-
const _c2 = function () { return ["expression", "pattern"]; };
|
|
292
|
-
const _c3 = function () { return ["lowerBoundary", "begin"]; };
|
|
293
|
-
const _c4 = function () { return ["upperBoundary", "end"]; };
|
|
294
|
-
export class OgcFilterFormComponent {
|
|
295
|
-
constructor(wktService) {
|
|
296
|
-
this.wktService = wktService;
|
|
297
|
-
this.ogcFilterOperator = OgcFilterOperator;
|
|
298
|
-
this.ogcFilterOperators$ = new BehaviorSubject(undefined);
|
|
299
|
-
this.value = '';
|
|
300
|
-
this.selectedField$ = new BehaviorSubject(undefined);
|
|
301
|
-
this.fields$ = new BehaviorSubject([]);
|
|
302
|
-
this.color = 'primary';
|
|
303
|
-
this.currentFilterIsSpatial$ = new BehaviorSubject(false);
|
|
304
|
-
this.defaultStepMillisecond = 6000;
|
|
305
|
-
this._snrc = '';
|
|
306
|
-
this.floatLabel = 'never';
|
|
307
|
-
// TODO: Filter permitted operator based on wfscapabilities
|
|
308
|
-
// Need to work on regex on XML capabilities because
|
|
309
|
-
// comaparison operator's name varies between WFS servers...
|
|
310
|
-
// Ex: IsNull vs PropertyIsNull vs IsNil ...
|
|
311
|
-
this.allOgcFilterOperators = new OgcFilterWriter().operators;
|
|
312
|
-
this.ogcFilterOperators$.next(this.allOgcFilterOperators);
|
|
313
|
-
this.igoSpatialSelectors = [
|
|
314
|
-
{
|
|
315
|
-
type: 'fixedExtent'
|
|
316
|
-
},
|
|
317
|
-
{
|
|
318
|
-
type: 'snrc'
|
|
319
|
-
}
|
|
320
|
-
];
|
|
321
|
-
// TODO: selectFeature & drawFeature
|
|
322
|
-
}
|
|
323
|
-
set snrc(value) {
|
|
324
|
-
const checkSNRC50k = /^\d{2}[a-l][0,1][0-9]$/gi;
|
|
325
|
-
const checkSNRC250k = /^\d{2}[a-p]$/gi;
|
|
326
|
-
const checkSNRC1m = /^\d{2}$/gi;
|
|
327
|
-
if (checkSNRC1m.test(value) ||
|
|
328
|
-
checkSNRC250k.test(value) ||
|
|
329
|
-
checkSNRC50k.test(value)) {
|
|
330
|
-
this._snrc = value;
|
|
331
|
-
this.currentFilter.igoSNRC = value;
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
get snrc() {
|
|
335
|
-
return this._snrc;
|
|
336
|
-
}
|
|
337
|
-
get activeFilters() {
|
|
338
|
-
return this.datasource.options.ogcFilters.interfaceOgcFilters.filter((f) => f.active === true);
|
|
339
|
-
}
|
|
340
|
-
get allowedOperators() {
|
|
341
|
-
return new OgcFilterWriter().computeAllowedOperators(this.fields$.value, this.currentFilter.propertyName, this.datasource.options.ogcFilters.allowedOperatorsType);
|
|
342
|
-
}
|
|
343
|
-
ngOnInit() {
|
|
344
|
-
if (this.datasource.options.sourceFields) {
|
|
345
|
-
const sFields = this.datasource.options.sourceFields.filter((sf) => sf.excludeFromOgcFilters === undefined || !sf.excludeFromOgcFilters);
|
|
346
|
-
sFields.map((sfs) => {
|
|
347
|
-
if (sfs.values) {
|
|
348
|
-
sfs.values.sort();
|
|
349
|
-
}
|
|
350
|
-
});
|
|
351
|
-
this.fields$.next(sFields);
|
|
352
|
-
}
|
|
353
|
-
this.updateFieldsList();
|
|
354
|
-
this.selectedField$.next(this.fields$.value.find((f) => f.name === this.currentFilter.propertyName));
|
|
355
|
-
this.updateValuesList();
|
|
356
|
-
this.selectedField$.subscribe((f) => {
|
|
357
|
-
this.ogcFilterOperators$.next(this.allowedOperators);
|
|
358
|
-
if (Object.keys(this.allowedOperators).indexOf(this.currentFilter.operator) === -1) {
|
|
359
|
-
this.currentFilter.operator = Object.keys(this.allowedOperators)[0];
|
|
360
|
-
this.currentFilter.operator = Object.keys(this.allowedOperators)[0];
|
|
361
|
-
}
|
|
362
|
-
this.updateValuesList();
|
|
363
|
-
});
|
|
364
|
-
this.currentFilterIsSpatial();
|
|
365
|
-
}
|
|
366
|
-
updateFieldsList(value) {
|
|
367
|
-
this.filteredFields$ =
|
|
368
|
-
value && value.length > 0 ? of(this._filterFields(value)) : this.fields$;
|
|
369
|
-
if (this.fields$.value.find((f) => f.name === value)) {
|
|
370
|
-
this.changeField(value);
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
updateValuesList(value, pos) {
|
|
374
|
-
this.filteredValues$ =
|
|
375
|
-
value && value.length > 0
|
|
376
|
-
? of(this._filterValues(value))
|
|
377
|
-
: this.selectedField$.value
|
|
378
|
-
? of(this.selectedField$.value.values)
|
|
379
|
-
: of([]);
|
|
380
|
-
if (value && value.length >= 1) {
|
|
381
|
-
this.changeProperty(value, pos);
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
_filterFields(value) {
|
|
385
|
-
const keywordRegex = new RegExp(value.normalize('NFD').replace(/[\u0300-\u036f]/g, ''), 'gi');
|
|
386
|
-
return this.fields$.value.filter((val) => keywordRegex.test(val.alias.normalize('NFD').replace(/[\u0300-\u036f]/g, '')));
|
|
387
|
-
}
|
|
388
|
-
_filterValues(value) {
|
|
389
|
-
const keywordRegex = new RegExp(value
|
|
390
|
-
.toString()
|
|
391
|
-
.normalize('NFD')
|
|
392
|
-
.replace(/[\u0300-\u036f]/g, ''), 'gi');
|
|
393
|
-
return this.selectedField$.value.values.filter((val) => val && keywordRegex.test(val
|
|
394
|
-
.toString()
|
|
395
|
-
.normalize('NFD')
|
|
396
|
-
.replace(/[\u0300-\u036f]/g, '')));
|
|
397
|
-
}
|
|
398
|
-
clearSelectedField() {
|
|
399
|
-
this.currentFilter.propertyName = '';
|
|
400
|
-
this.selectedField$.next(undefined);
|
|
401
|
-
this.clearProperty();
|
|
402
|
-
}
|
|
403
|
-
isClearable(pos) {
|
|
404
|
-
const detectedProperty = this.detectProperty(pos);
|
|
405
|
-
if (detectedProperty) {
|
|
406
|
-
return this.currentFilter[detectedProperty];
|
|
407
|
-
}
|
|
408
|
-
}
|
|
409
|
-
clearProperty(pos) {
|
|
410
|
-
// this.autoCompleteInputValues.closePanel();
|
|
411
|
-
const detectedProperty = this.detectProperty(pos);
|
|
412
|
-
if (detectedProperty) {
|
|
413
|
-
return (this.currentFilter[detectedProperty] = '');
|
|
414
|
-
}
|
|
415
|
-
}
|
|
416
|
-
toggleFilterState(event) {
|
|
417
|
-
this.datasource.options.ogcFilters.interfaceOgcFilters.find((f) => f.filterid === this.currentFilter.filterid).active = event.checked;
|
|
418
|
-
this.refreshFilters();
|
|
419
|
-
}
|
|
420
|
-
deleteFilter() {
|
|
421
|
-
const ogcFilters = this.datasource.options.ogcFilters;
|
|
422
|
-
ogcFilters.interfaceOgcFilters = ogcFilters.interfaceOgcFilters.filter((f) => f.filterid !== this.currentFilter.filterid);
|
|
423
|
-
this.refreshFilters();
|
|
424
|
-
}
|
|
425
|
-
changeLogical(logical) {
|
|
426
|
-
this.currentFilter.parentLogical = logical;
|
|
427
|
-
this.refreshFilters();
|
|
428
|
-
}
|
|
429
|
-
changeOperator(operator) {
|
|
430
|
-
this.currentFilter.operator = operator;
|
|
431
|
-
this.currentFilterIsSpatial();
|
|
432
|
-
if (this.currentFilterIsSpatial$.value &&
|
|
433
|
-
this.currentFilter.wkt_geometry.length === 0) {
|
|
434
|
-
this.changeSpatialSelector(this.currentFilter.igoSpatialSelector);
|
|
435
|
-
}
|
|
436
|
-
else {
|
|
437
|
-
this.refreshFilters();
|
|
438
|
-
}
|
|
439
|
-
}
|
|
440
|
-
changeField(field) {
|
|
441
|
-
this.currentFilter.propertyName = field;
|
|
442
|
-
this.selectedField$.next(this.fields$.value.find((f) => f.name === this.currentFilter.propertyName));
|
|
443
|
-
this.refreshFilters();
|
|
444
|
-
}
|
|
445
|
-
// Issue with mapserver 7.2 and Postgis layers. Fixed in 7.4
|
|
446
|
-
// Due to this issue, the checkbox is hide.
|
|
447
|
-
changeCaseSensitive(matchCase) {
|
|
448
|
-
this.currentFilter.matchCase = matchCase.checked;
|
|
449
|
-
this.refreshFilters();
|
|
450
|
-
}
|
|
451
|
-
changeProperty(value, pos, refreshFilter = true) {
|
|
452
|
-
const detectedProperty = this.detectProperty(pos);
|
|
453
|
-
if (detectedProperty) {
|
|
454
|
-
this.datasource.options.ogcFilters.interfaceOgcFilters.find((f) => f.filterid === this.currentFilter.filterid)[detectedProperty] = value;
|
|
455
|
-
if (refreshFilter) {
|
|
456
|
-
this.refreshFilters();
|
|
457
|
-
}
|
|
458
|
-
}
|
|
459
|
-
}
|
|
460
|
-
changeNumericProperty(value, pos) {
|
|
461
|
-
this.changeProperty(parseFloat(value), pos);
|
|
462
|
-
}
|
|
463
|
-
changeSpatialSelector(value) {
|
|
464
|
-
this.currentFilter.igoSpatialSelector = value;
|
|
465
|
-
if (value === 'fixedExtent') {
|
|
466
|
-
this.changeMapExtentGeometry(false);
|
|
467
|
-
}
|
|
468
|
-
this.currentFilterIsSpatial();
|
|
469
|
-
this.refreshFilters();
|
|
470
|
-
}
|
|
471
|
-
changeSNRC(value) {
|
|
472
|
-
this.snrc = value;
|
|
473
|
-
this.changeSNRCGeometry();
|
|
474
|
-
}
|
|
475
|
-
changeSNRCGeometry() {
|
|
476
|
-
const interfaceOgcFilter = this.datasource.options.ogcFilters.interfaceOgcFilters.find((f) => f.filterid === this.currentFilter.filterid);
|
|
477
|
-
if (!interfaceOgcFilter) {
|
|
478
|
-
return;
|
|
479
|
-
}
|
|
480
|
-
if (this.snrc && this.currentFilter.igoSpatialSelector === 'snrc') {
|
|
481
|
-
this.currentFilter.wkt_geometry = this.wktService.snrcToWkt(this.snrc, this.map.projection).wktPoly;
|
|
482
|
-
}
|
|
483
|
-
this.refreshFilters();
|
|
484
|
-
}
|
|
485
|
-
changeMapExtentGeometry(refresh = true) {
|
|
486
|
-
const interfaceOgcFilter = this.datasource.options.ogcFilters.interfaceOgcFilters.find((f) => f.filterid === this.currentFilter.filterid);
|
|
487
|
-
if (!interfaceOgcFilter) {
|
|
488
|
-
return;
|
|
489
|
-
}
|
|
490
|
-
if (this.currentFilter.igoSpatialSelector === 'fixedExtent') {
|
|
491
|
-
this.currentFilter.wkt_geometry = this.wktService.extentToWkt(this.map.projection, this.map.viewController.getExtent(), this.map.projection).wktPoly;
|
|
492
|
-
}
|
|
493
|
-
if (refresh) {
|
|
494
|
-
this.refreshFilters();
|
|
495
|
-
}
|
|
496
|
-
}
|
|
497
|
-
detectProperty(pos) {
|
|
498
|
-
switch (this.currentFilter.operator) {
|
|
499
|
-
case OgcFilterOperator.PropertyIsNotEqualTo:
|
|
500
|
-
case OgcFilterOperator.PropertyIsEqualTo:
|
|
501
|
-
case OgcFilterOperator.PropertyIsGreaterThan:
|
|
502
|
-
case OgcFilterOperator.PropertyIsGreaterThanOrEqualTo:
|
|
503
|
-
case OgcFilterOperator.PropertyIsLessThan:
|
|
504
|
-
case OgcFilterOperator.PropertyIsLessThanOrEqualTo:
|
|
505
|
-
return 'expression';
|
|
506
|
-
case OgcFilterOperator.PropertyIsLike:
|
|
507
|
-
return 'pattern';
|
|
508
|
-
case OgcFilterOperator.PropertyIsBetween:
|
|
509
|
-
return pos && pos === 1
|
|
510
|
-
? 'lowerBoundary'
|
|
511
|
-
: pos && pos === 2
|
|
512
|
-
? 'upperBoundary'
|
|
513
|
-
: undefined;
|
|
514
|
-
case OgcFilterOperator.During:
|
|
515
|
-
return pos && pos === 1
|
|
516
|
-
? 'begin'
|
|
517
|
-
: pos && pos === 2
|
|
518
|
-
? 'end'
|
|
519
|
-
: undefined;
|
|
520
|
-
default:
|
|
521
|
-
return;
|
|
522
|
-
}
|
|
523
|
-
}
|
|
524
|
-
currentFilterIsSpatial() {
|
|
525
|
-
let isSpatial = false;
|
|
526
|
-
if (this.currentFilter) {
|
|
527
|
-
isSpatial =
|
|
528
|
-
[
|
|
529
|
-
OgcFilterOperator.Contains,
|
|
530
|
-
OgcFilterOperator.Intersects,
|
|
531
|
-
OgcFilterOperator.Within
|
|
532
|
-
].indexOf(this.currentFilter.operator) !== -1;
|
|
533
|
-
}
|
|
534
|
-
this.currentFilterIsSpatial$.next(isSpatial);
|
|
535
|
-
}
|
|
536
|
-
isTemporalOperator() {
|
|
537
|
-
return (this.currentFilter.operator.toLowerCase() ===
|
|
538
|
-
this.ogcFilterOperator.During.toLowerCase());
|
|
539
|
-
}
|
|
540
|
-
}
|
|
541
|
-
OgcFilterFormComponent.ɵfac = function OgcFilterFormComponent_Factory(t) { return new (t || OgcFilterFormComponent)(i0.ɵɵdirectiveInject(i1.WktService)); };
|
|
542
|
-
OgcFilterFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OgcFilterFormComponent, selectors: [["igo-ogc-filter-form"]], inputs: { refreshFilters: "refreshFilters", datasource: "datasource", map: "map", currentFilter: "currentFilter", floatLabel: "floatLabel" }, decls: 42, vars: 76, consts: [["tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "checked", "click", "change"], [3, "ngClass"], ["tooltip-position", "above", "matTooltipShowDelay", "500", 3, "disabled", "value", "matTooltip", "selectionChange"], ["tooltip-position", "above", "matTooltipShowDelay", "500", 3, "value", "matTooltip"], ["class", "field", 3, "floatLabel", "mouseenter", "mouseleave", 4, "ngIf"], [3, "ngClass", "floatLabel"], ["tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "disabled", "value", "selectionChange"], ["tooltip-position", "above", "matTooltipShowDelay", "500", 3, "value", "matTooltip", 4, "ngFor", "ngForOf"], ["class", "spatialSelector", 4, "ngIf"], ["class", "singleInput", 3, "floatLabel", "mouseenter", "mouseleave", 4, "ngIf"], [1, "igo-layer-button-group"], ["mat-icon-button", "", "collapsibleButton", "", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "warn", 3, "matTooltip", "click"], ["svgIcon", "delete"], ["class", "snrc", 3, "floatLabel", "mouseenter", "mouseleave", 4, "ngIf"], [4, "ngIf"], ["class", "dualInput", 3, "floatLabel", "mouseenter", "mouseleave", 4, "ngIf"], [3, "datasource", "currentFilter", "datasourceChange", "currentFilterChange", "changeProperty", 4, "ngIf"], [1, "field", 3, "floatLabel", "mouseenter", "mouseleave"], ["matInput", "", "tooltip-position", "above", "matTooltipShowDelay", "500", 3, "placeholder", "disabled", "matAutocomplete", "value", "matTooltip", "input"], [3, "optionSelected"], ["autoCompleteField", "matAutocomplete"], ["matTooltipShowDelay", "500", 3, "value", "id", "matTooltip", 4, "ngFor", "ngForOf"], ["mat-button", "", "matSuffix", "", "mat-icon-button", "", "aria-label", "Clear", 3, "disabled", "click", 4, "ngIf"], ["matTooltipShowDelay", "500", 3, "value", "id", "matTooltip"], ["mat-button", "", "matSuffix", "", "mat-icon-button", "", "aria-label", "Clear", 3, "disabled", "click"], ["svgIcon", "close"], [1, "spatialSelector"], [3, "disabled", "value", "selectionChange"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"], [1, "singleInput", 3, "floatLabel", "mouseenter", "mouseleave"], ["autoCompleteValues", "matAutocomplete"], ["matTooltipShowDelay", "500", 3, "value", "matTooltip", 4, "ngFor", "ngForOf"], ["matTooltipShowDelay", "500", 3, "value", "matTooltip"], [1, "snrc", 3, "floatLabel", "mouseenter", "mouseleave"], ["matInput", "", "tooltip-position", "above", "matTooltipShowDelay", "500", 3, "placeholder", "value", "matTooltip", "input"], ["mat-button", "", "matSuffix", "", "mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "disabled", "matTooltip", "click", 4, "ngIf"], ["mat-button", "", "matSuffix", "", "mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "disabled", "matTooltip", "click"], ["svgIcon", "arrow-expand-all"], [1, "dualInput", 3, "floatLabel", "mouseenter", "mouseleave"], ["matInput", "", "type", "number", 3, "placeholder", "disabled", "matAutocomplete", "value", "input"], ["autoDualValueOperator1", "matAutocomplete"], ["autoDualValueOperator2", "matAutocomplete"], [3, "datasource", "currentFilter", "datasourceChange", "currentFilterChange", "changeProperty"]], template: function OgcFilterFormComponent_Template(rf, ctx) { if (rf & 1) {
|
|
543
|
-
i0.ɵɵelementStart(0, "mat-checkbox", 0);
|
|
544
|
-
i0.ɵɵlistener("click", function OgcFilterFormComponent_Template_mat_checkbox_click_0_listener($event) { return $event.stopPropagation(); })("change", function OgcFilterFormComponent_Template_mat_checkbox_change_0_listener($event) { return ctx.toggleFilterState($event); });
|
|
545
|
-
i0.ɵɵpipe(1, "translate");
|
|
546
|
-
i0.ɵɵelementEnd();
|
|
547
|
-
i0.ɵɵelementStart(2, "mat-form-field", 1)(3, "mat-select", 2);
|
|
548
|
-
i0.ɵɵlistener("selectionChange", function OgcFilterFormComponent_Template_mat_select_selectionChange_3_listener($event) { return ctx.changeLogical($event.value); });
|
|
549
|
-
i0.ɵɵpipe(4, "translate");
|
|
550
|
-
i0.ɵɵelementStart(5, "mat-option", 3);
|
|
551
|
-
i0.ɵɵpipe(6, "translate");
|
|
552
|
-
i0.ɵɵtext(7);
|
|
553
|
-
i0.ɵɵpipe(8, "translate");
|
|
554
|
-
i0.ɵɵelementEnd();
|
|
555
|
-
i0.ɵɵelementStart(9, "mat-option", 3);
|
|
556
|
-
i0.ɵɵpipe(10, "translate");
|
|
557
|
-
i0.ɵɵtext(11);
|
|
558
|
-
i0.ɵɵpipe(12, "translate");
|
|
559
|
-
i0.ɵɵelementEnd()()();
|
|
560
|
-
i0.ɵɵtemplate(13, OgcFilterFormComponent_mat_form_field_13_Template, 13, 22, "mat-form-field", 4);
|
|
561
|
-
i0.ɵɵpipe(14, "async");
|
|
562
|
-
i0.ɵɵpipe(15, "async");
|
|
563
|
-
i0.ɵɵpipe(16, "async");
|
|
564
|
-
i0.ɵɵpipe(17, "async");
|
|
565
|
-
i0.ɵɵelementStart(18, "mat-form-field", 5);
|
|
566
|
-
i0.ɵɵpipe(19, "async");
|
|
567
|
-
i0.ɵɵpipe(20, "async");
|
|
568
|
-
i0.ɵɵelementStart(21, "mat-select", 6);
|
|
569
|
-
i0.ɵɵlistener("selectionChange", function OgcFilterFormComponent_Template_mat_select_selectionChange_21_listener($event) { return ctx.changeOperator($event.value); });
|
|
570
|
-
i0.ɵɵpipe(22, "translate");
|
|
571
|
-
i0.ɵɵpipe(23, "translate");
|
|
572
|
-
i0.ɵɵtemplate(24, OgcFilterFormComponent_mat_option_24_Template, 4, 7, "mat-option", 7);
|
|
573
|
-
i0.ɵɵpipe(25, "keyvalue");
|
|
574
|
-
i0.ɵɵpipe(26, "async");
|
|
575
|
-
i0.ɵɵelementEnd()();
|
|
576
|
-
i0.ɵɵtemplate(27, OgcFilterFormComponent_mat_form_field_27_Template, 3, 3, "mat-form-field", 8);
|
|
577
|
-
i0.ɵɵpipe(28, "async");
|
|
578
|
-
i0.ɵɵtemplate(29, OgcFilterFormComponent_mat_form_field_29_Template, 8, 12, "mat-form-field", 9);
|
|
579
|
-
i0.ɵɵelementStart(30, "div", 10)(31, "button", 11);
|
|
580
|
-
i0.ɵɵlistener("click", function OgcFilterFormComponent_Template_button_click_31_listener() { return ctx.deleteFilter(); });
|
|
581
|
-
i0.ɵɵpipe(32, "translate");
|
|
582
|
-
i0.ɵɵelement(33, "mat-icon", 12);
|
|
583
|
-
i0.ɵɵelementEnd()();
|
|
584
|
-
i0.ɵɵtemplate(34, OgcFilterFormComponent_mat_form_field_34_Template, 4, 7, "mat-form-field", 13);
|
|
585
|
-
i0.ɵɵpipe(35, "async");
|
|
586
|
-
i0.ɵɵtemplate(36, OgcFilterFormComponent_ng_container_36_Template, 2, 1, "ng-container", 14);
|
|
587
|
-
i0.ɵɵpipe(37, "async");
|
|
588
|
-
i0.ɵɵelement(38, "br");
|
|
589
|
-
i0.ɵɵtemplate(39, OgcFilterFormComponent_mat_form_field_39_Template, 8, 11, "mat-form-field", 15);
|
|
590
|
-
i0.ɵɵtemplate(40, OgcFilterFormComponent_mat_form_field_40_Template, 8, 11, "mat-form-field", 15);
|
|
591
|
-
i0.ɵɵtemplate(41, OgcFilterFormComponent_igo_ogc_filter_time_41_Template, 1, 2, "igo-ogc-filter-time", 16);
|
|
592
|
-
} if (rf & 2) {
|
|
593
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 27, "igo.geo.filter.toggleFilterState"))("checked", ctx.currentFilter.active);
|
|
594
|
-
i0.ɵɵadvance(2);
|
|
595
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(67, _c0, ctx.activeFilters.indexOf(ctx.currentFilter) !== 0 && ctx.currentFilter.active === true, ctx.activeFilters.indexOf(ctx.currentFilter) === 0 || ctx.currentFilter.active !== true));
|
|
596
|
-
i0.ɵɵadvance(1);
|
|
597
|
-
i0.ɵɵproperty("disabled", !ctx.currentFilter.active)("value", ctx.currentFilter.parentLogical)("matTooltip", ctx.currentFilter.parentLogical ? i0.ɵɵpipeBind1(4, 29, "igo.geo.operators.tooltip." + ctx.currentFilter.parentLogical) : "");
|
|
598
|
-
i0.ɵɵadvance(2);
|
|
599
|
-
i0.ɵɵproperty("value", ctx.ogcFilterOperator.And)("matTooltip", i0.ɵɵpipeBind1(6, 31, "igo.geo.operators.tooltip.And"));
|
|
600
|
-
i0.ɵɵadvance(2);
|
|
601
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 33, "igo.geo.operators.And"), " ");
|
|
602
|
-
i0.ɵɵadvance(2);
|
|
603
|
-
i0.ɵɵproperty("value", ctx.ogcFilterOperator.Or)("matTooltip", i0.ɵɵpipeBind1(10, 35, "igo.geo.operators.tooltip.Or"));
|
|
604
|
-
i0.ɵɵadvance(2);
|
|
605
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(12, 37, "igo.geo.operators.Or"), " ");
|
|
606
|
-
i0.ɵɵadvance(2);
|
|
607
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(14, 39, ctx.currentFilterIsSpatial$) === false && i0.ɵɵpipeBind1(15, 41, ctx.fields$) && i0.ɵɵpipeBind1(16, 43, ctx.fields$).length > 0 && i0.ɵɵpipeBind1(17, 45, ctx.fields$)[0].name !== "");
|
|
608
|
-
i0.ɵɵadvance(5);
|
|
609
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(70, _c1, i0.ɵɵpipeBind1(19, 47, ctx.currentFilterIsSpatial$) === false, i0.ɵɵpipeBind1(20, 49, ctx.currentFilterIsSpatial$)))("floatLabel", ctx.floatLabel);
|
|
610
|
-
i0.ɵɵadvance(3);
|
|
611
|
-
i0.ɵɵproperty("matTooltip", ctx.currentFilter.operator ? i0.ɵɵpipeBind1(22, 51, "igo.geo.operators.tooltip." + ctx.currentFilter.operator) : i0.ɵɵpipeBind1(23, 53, "igo.geo.filter.selectOperator"))("disabled", !ctx.currentFilter.active)("value", ctx.currentFilter.operator);
|
|
612
|
-
i0.ɵɵadvance(3);
|
|
613
|
-
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(25, 55, i0.ɵɵpipeBind1(26, 57, ctx.ogcFilterOperators$)));
|
|
614
|
-
i0.ɵɵadvance(3);
|
|
615
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(28, 59, ctx.currentFilterIsSpatial$));
|
|
616
|
-
i0.ɵɵadvance(2);
|
|
617
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpureFunction0(73, _c2).indexOf(ctx.detectProperty()) !== -1);
|
|
618
|
-
i0.ɵɵadvance(2);
|
|
619
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(32, 61, "igo.geo.filter.removeFilter"));
|
|
620
|
-
i0.ɵɵadvance(3);
|
|
621
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(35, 63, ctx.currentFilterIsSpatial$) && ctx.currentFilter.igoSpatialSelector === "snrc");
|
|
622
|
-
i0.ɵɵadvance(2);
|
|
623
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(37, 65, ctx.currentFilterIsSpatial$) && ctx.currentFilter.igoSpatialSelector === "fixedExtent");
|
|
624
|
-
i0.ɵɵadvance(3);
|
|
625
|
-
i0.ɵɵproperty("ngIf", !ctx.isTemporalOperator() && i0.ɵɵpureFunction0(74, _c3).indexOf(ctx.detectProperty(1)) !== -1);
|
|
626
|
-
i0.ɵɵadvance(1);
|
|
627
|
-
i0.ɵɵproperty("ngIf", !ctx.isTemporalOperator() && i0.ɵɵpureFunction0(75, _c4).indexOf(ctx.detectProperty(2)) !== -1);
|
|
628
|
-
i0.ɵɵadvance(1);
|
|
629
|
-
i0.ɵɵproperty("ngIf", ctx.isTemporalOperator());
|
|
630
|
-
} }, styles: ["[_nghost-%COMP%]{width:100%;padding:5px 10px} .mat-form-field .mat-icon svg{width:1em;height:1em;color:#d3d3d3}.mat-form-field[_ngcontent-%COMP%]{width:100%}.mat-select-arrow[_ngcontent-%COMP%]{visibility:hidden}.mat-slide-toggle[_ngcontent-%COMP%]{margin-top:10px}.logical[_ngcontent-%COMP%]{flex-flow:column nowrap;width:10%;max-width:45px;margin-left:5px}.logicalHidden[_ngcontent-%COMP%]{flex-flow:column nowrap;width:10%;visibility:hidden;max-width:45px;margin-left:5px} .logical .mat-select-arrow{visibility:hidden} .logicalHidden .mat-select-arrow{visibility:hidden}.field[_ngcontent-%COMP%]{width:20%} .field .mat-select-arrow{visibility:hidden}.operator[_ngcontent-%COMP%]{width:12%;margin-left:10px;text-align:center} .operator .mat-select-arrow{visibility:hidden}.spatialSelector[_ngcontent-%COMP%]{width:15%;margin-left:5px} .spatialSelector .mat-select-arrow{visibility:hidden}.singleInput[_ngcontent-%COMP%]{width:30%;margin-left:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.singleInput[_ngcontent-%COMP%]{width:27%}}.snrc[_ngcontent-%COMP%]{width:20%;margin-left:5px} .singleInput .mat-select-arrow{visibility:hidden}.dualInput[_ngcontent-%COMP%]{width:20%;margin-left:5px} .dualInput .mat-select-arrow{visibility:hidden}.igo-layer-button-group[_ngcontent-%COMP%]{display:flex;float:right;padding-top:5px}.container[_ngcontent-%COMP%]{display:flex}"] });
|
|
631
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OgcFilterFormComponent, [{
|
|
632
|
-
type: Component,
|
|
633
|
-
args: [{ selector: 'igo-ogc-filter-form', template: "<mat-checkbox\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.toggleFilterState' | translate\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleFilterState($event)\"\n [checked]=\"currentFilter.active\">\n</mat-checkbox>\n\n<mat-form-field\n [ngClass]=\"{'logical': activeFilters.indexOf(currentFilter) !== 0 && currentFilter.active===true, 'logicalHidden': activeFilters.indexOf(currentFilter) === 0 || currentFilter.active!==true}\">\n <mat-select\n [disabled]=\"!currentFilter.active\"\n [value]=\"currentFilter.parentLogical\"\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"currentFilter.parentLogical ? (('igo.geo.operators.tooltip.'+ currentFilter.parentLogical) | translate) : ''\"\n (selectionChange)=\"changeLogical($event.value)\">\n <mat-option\n [value]=ogcFilterOperator.And\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.operators.tooltip.And' | translate\">\n {{'igo.geo.operators.And' | translate}}\n </mat-option>\n <mat-option\n [value]=ogcFilterOperator.Or\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.operators.tooltip.Or' | translate\">\n {{'igo.geo.operators.Or' | translate}}\n </mat-option>\n </mat-select>\n</mat-form-field>\n\n<mat-form-field\n class=\"field\"\n *ngIf=\"(currentFilterIsSpatial$ | async)===false && (fields$ | async) && (fields$| async).length > 0 && (fields$| async)[0].name !== ''\"\n (mouseenter)=\"inputClearable = 'selectField'\"\n (mouseleave)=\"inputClearable = undefined\"\n [floatLabel]=\"floatLabel\">\n <input\n matInput\n [placeholder]=\"'igo.geo.sourceFields.selectField' | translate\"\n [disabled]=\"!currentFilter.active\"\n [matAutocomplete]=\"autoCompleteField\"\n [value]=\"(selectedField$ | async) ? (selectedField$ | async).alias : ''\"\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"(selectedField$ | async) ? (selectedField$ | async).alias : ('igo.geo.sourceFields.selectField' | translate)\"\n (input)=\"updateFieldsList($event.target.value)\">\n <mat-autocomplete #autoCompleteField=\"matAutocomplete\"\n (optionSelected)='changeField($event.option.id)'>\n <mat-option\n *ngFor=\"let field of filteredFields$ | async\"\n matTooltipShowDelay=\"500\"\n [value]=\"field.alias\"\n [id]=\"field.name\"\n [matTooltip]=\"field.alias\">\n {{field.alias}}\n </mat-option>\n </mat-autocomplete>\n <button mat-button\n *ngIf=\"currentFilter.propertyName && inputClearable === 'selectField' && currentFilter.active\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n [disabled]=\"!currentFilter.active\"\n (click)=\"clearSelectedField()\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n</mat-form-field>\n\n\n<mat-form-field\n [ngClass]=\"{'operator': (currentFilterIsSpatial$ | async)===false , 'dualInput': (currentFilterIsSpatial$ | async)}\"\n [floatLabel]=\"floatLabel\">\n <mat-select\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"currentFilter.operator ? (('igo.geo.operators.tooltip.'+ currentFilter.operator) | translate) : ('igo.geo.filter.selectOperator' | translate)\"\n [disabled]=\"!currentFilter.active\"\n [value]=\"currentFilter.operator\"\n (selectionChange)=\"changeOperator($event.value)\">\n <mat-option\n *ngFor=\"let operator of (ogcFilterOperators$ | async) | keyvalue\"\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [value]=\"operator.key\"\n [matTooltip]=\"('igo.geo.operators.tooltip.'+ operator.key) | translate\">\n {{('igo.geo.operators.'+ operator.key) | translate}}\n </mat-option>\n </mat-select>\n</mat-form-field>\n\n<mat-form-field\nclass=\"spatialSelector\"\n*ngIf=\"currentFilterIsSpatial$ | async\">\n <mat-select\n [disabled]=\"!currentFilter.active\"\n [value]=\"currentFilter.igoSpatialSelector\"\n (selectionChange)=\"changeSpatialSelector($event.value)\">\n <mat-option\n *ngFor=\"let igoSpatialSelector of igoSpatialSelectors\"\n [value]=\"igoSpatialSelector.type\">\n {{('igo.geo.spatialSelector.'+ igoSpatialSelector.type) | translate}}\n </mat-option>\n </mat-select>\n</mat-form-field>\n\n<mat-form-field\nclass=\"singleInput\"\n*ngIf=\"['expression','pattern'].indexOf(detectProperty()) !== -1\"\n(mouseenter)=\"inputClearable = 'selectProperty'\"\n(mouseleave)=\"inputClearable = undefined\"\n[floatLabel]=\"floatLabel\">\n <input\n matInput\n [placeholder]=\"'igo.geo.filter.placeholder' | translate\"\n [disabled]=\"!currentFilter.active\"\n [matAutocomplete]=\"autoCompleteValues\"\n [value]=\"detectProperty() === 'expression' ? currentFilter.expression : currentFilter.pattern\"\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"detectProperty() === 'expression' ? currentFilter.expression || '' : currentFilter.pattern || ''\"\n (input)=\"updateValuesList($event.target.value)\">\n <mat-autocomplete #autoCompleteValues=\"matAutocomplete\"\n (optionSelected)=\"changeProperty($event.option.value)\">\n <mat-option\n *ngFor=\"let value of filteredValues$ | async\"\n matTooltipShowDelay=\"500\"\n [value]=\"value\"\n [matTooltip]=\"value\">\n {{value}}\n </mat-option>\n </mat-autocomplete>\n <button mat-button\n *ngIf=\"isClearable() && inputClearable === 'selectProperty' && currentFilter.active\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n [disabled]=\"!currentFilter.active\"\n (click)=\"clearProperty()\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n</mat-form-field>\n\n<div class=\"igo-layer-button-group\">\n <button\n mat-icon-button\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.removeFilter' | translate\"\n color=\"warn\"\n (click)=\"deleteFilter()\">\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n</div>\n\n<mat-form-field\nclass=\"snrc\"\n*ngIf=\"(currentFilterIsSpatial$ | async) && currentFilter.igoSpatialSelector === 'snrc'\"\n(mouseenter)=\"inputClearable = 'selectSNRC'\"\n(mouseleave)=\"inputClearable = undefined\"\n[floatLabel]=\"floatLabel\">\n <input\n matInput\n [placeholder]=\"'igo.geo.filter.placeholderSnrc' | translate\"\n [value]=\"currentFilter.igoSNRC\"\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"currentFilter.igoSNRC ? currentFilter.igoSNRC : ''\"\n (input)=\"changeSNRC($event.target.value)\">\n <button\n mat-button\n *ngIf=\"currentFilter.igoSNRC\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n [disabled]=\"!currentFilter.active && inputClearable === 'selectSNRC' && currentFilter.active\"\n (click)=\"currentFilter.igoSNRC=''\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n </mat-form-field>\n\n <ng-container *ngIf=\"(currentFilterIsSpatial$ | async) && currentFilter.igoSpatialSelector === 'fixedExtent'\">\n <button\n mat-button\n [disabled]=\"!currentFilter.active\"\n *ngIf=\"currentFilter.igoSpatialSelector === 'fixedExtent'\"\n matSuffix\n mat-icon-button\n [disabled]=\"!currentFilter.active\"\n (click)=\"changeMapExtentGeometry()\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.spatialSelector.btnSetExtent' | translate\">\n <mat-icon svgIcon=\"arrow-expand-all\"></mat-icon>\n </button>\n</ng-container>\n\n<br/>\n\n<mat-form-field\nclass=\"dualInput\"\n*ngIf=\"!isTemporalOperator() && ['lowerBoundary','begin'].indexOf(detectProperty(1)) !== -1\"\n(mouseenter)=\"inputClearable = 'selectProperty1'\"\n(mouseleave)=\"inputClearable = undefined\"\n[floatLabel]=\"floatLabel\">\n <input\n matInput\n [placeholder]=\"'igo.geo.filter.placeholder' | translate\"\n [disabled]=\"!currentFilter.active\"\n [matAutocomplete]=\"autoDualValueOperator1\"\n type=\"number\"\n [value]=\"detectProperty(1) === 'lowerBoundary' ? currentFilter.lowerBoundary : currentFilter.begin\"\n (input)=\"updateValuesList($event.target.value,1)\">\n <mat-autocomplete #autoDualValueOperator1=\"matAutocomplete\"\n (optionSelected)=\"changeNumericProperty($event.option.value,1)\">\n <mat-option\n *ngFor=\"let value of filteredValues$ | async\"\n matTooltipShowDelay=\"500\"\n [value]=\"value\"\n [matTooltip]=\"value\">\n {{value}}\n </mat-option>\n </mat-autocomplete>\n <button mat-button\n *ngIf=\"isClearable(1) && inputClearable === 'selectProperty1' && currentFilter.active\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n [disabled]=\"!currentFilter.active\"\n (click)=\"clearProperty(1)\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n</mat-form-field>\n\n<mat-form-field\n class=\"dualInput\"\n *ngIf=\"!isTemporalOperator() && ['upperBoundary','end'].indexOf(detectProperty(2)) !== -1\"\n (mouseenter)=\"inputClearable = 'selectProperty2'\"\n (mouseleave)=\"inputClearable = undefined\"\n [floatLabel]=\"floatLabel\">\n <input\n matInput\n [placeholder]=\"'igo.geo.filter.placeholder' | translate\"\n [disabled]=\"!currentFilter.active\"\n [matAutocomplete]=\"autoDualValueOperator2\"\n type=\"number\"\n [value]=\"detectProperty(2) === 'upperBoundary' ? currentFilter.upperBoundary : currentFilter.end\"\n (input)=\"updateValuesList($event.target.value,2)\">\n <mat-autocomplete #autoDualValueOperator2=\"matAutocomplete\"\n (optionSelected)=\"changeNumericProperty($event.option.value,2)\">\n <mat-option\n *ngFor=\"let value of filteredValues$ | async\"\n matTooltipShowDelay=\"500\"\n [value]=\"value\"\n [matTooltip]=\"value\">\n {{value}}\n </mat-option>\n </mat-autocomplete>\n <button mat-button\n *ngIf=\"isClearable(2) && inputClearable === 'selectProperty2' && currentFilter.active\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n [disabled]=\"!currentFilter.active\"\n (click)=\"clearProperty(2)\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n</mat-form-field>\n\n<igo-ogc-filter-time *ngIf=\"isTemporalOperator()\"\n [(datasource)]=\"datasource\"\n [(currentFilter)]=\"currentFilter\"\n (changeProperty)=\"changeProperty($event.value, $event.pos)\">\n</igo-ogc-filter-time>\n\n<!--\nTODO C'EST PERTINENT je crois\n<mat-form-field class=\"field\" *ngIf=\"!(currentFilterIsSpatial$ | async) && (fields$| async) && (fields$| async).length === 1 && (fields$| async)[0].name === ''\">\n<input [disabled]=\"!currentFilter.active\" matInput #fieldPerUser (keyup)=\"changeProperty(currentFilter,'propertyName',fieldPerUser.value)\"\n (blur)=\"changeProperty(currentFilter,'propertyName',fieldPerUser.value)\" [(ngModel)]=\"currentFilter.propertyName\">\n<button mat-button *ngIf=\"currentFilter.propertyName\" matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"currentFilter.propertyName=''\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n</button>\n</mat-form-field>\n\n\n\n<mat-checkbox labelPosition='before' (change)=\"changeCaseSensitive($event)\" [(ngModel)]=\"currentFilter.matchCase\">\n {{('igo.geo.operators.caseSensitive') | translate}}\n</mat-checkbox>\n\n</mat-list-item> -->\n", styles: [":host{width:100%;padding:5px 10px}::ng-deep .mat-form-field .mat-icon svg{width:1em;height:1em;color:#d3d3d3}.mat-form-field{width:100%}.mat-select-arrow{visibility:hidden}.mat-slide-toggle{margin-top:10px}.logical{flex-flow:column nowrap;width:10%;max-width:45px;margin-left:5px}.logicalHidden{flex-flow:column nowrap;width:10%;visibility:hidden;max-width:45px;margin-left:5px}::ng-deep .logical .mat-select-arrow{visibility:hidden}::ng-deep .logicalHidden .mat-select-arrow{visibility:hidden}.field{width:20%}::ng-deep .field .mat-select-arrow{visibility:hidden}.operator{width:12%;margin-left:10px;text-align:center}::ng-deep .operator .mat-select-arrow{visibility:hidden}.spatialSelector{width:15%;margin-left:5px}::ng-deep .spatialSelector .mat-select-arrow{visibility:hidden}.singleInput{width:30%;margin-left:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.singleInput{width:27%}}.snrc{width:20%;margin-left:5px}::ng-deep .singleInput .mat-select-arrow{visibility:hidden}.dualInput{width:20%;margin-left:5px}::ng-deep .dualInput .mat-select-arrow{visibility:hidden}.igo-layer-button-group{display:flex;float:right;padding-top:5px}.container{display:flex}\n"] }]
|
|
634
|
-
}], function () { return [{ type: i1.WktService }]; }, { refreshFilters: [{
|
|
635
|
-
type: Input
|
|
636
|
-
}], datasource: [{
|
|
637
|
-
type: Input
|
|
638
|
-
}], map: [{
|
|
639
|
-
type: Input
|
|
640
|
-
}], currentFilter: [{
|
|
641
|
-
type: Input
|
|
642
|
-
}], floatLabel: [{
|
|
643
|
-
type: Input
|
|
644
|
-
}] }); })();
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, of } from 'rxjs';
|
|
3
|
+
import { OgcFilterWriter } from '../../filter/shared/ogc-filter';
|
|
4
|
+
import { OgcFilterOperator } from '../../filter/shared/ogc-filter.enum';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../wkt/shared/wkt.service";
|
|
7
|
+
function OgcFilterFormComponent_mat_form_field_13_mat_option_10_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
+
i0.ɵɵelementStart(0, "mat-option", 23);
|
|
9
|
+
i0.ɵɵtext(1);
|
|
10
|
+
i0.ɵɵelementEnd();
|
|
11
|
+
} if (rf & 2) {
|
|
12
|
+
const field_r12 = ctx.$implicit;
|
|
13
|
+
i0.ɵɵproperty("value", field_r12.alias)("id", field_r12.name)("matTooltip", field_r12.alias);
|
|
14
|
+
i0.ɵɵadvance(1);
|
|
15
|
+
i0.ɵɵtextInterpolate1(" ", field_r12.alias, " ");
|
|
16
|
+
} }
|
|
17
|
+
function OgcFilterFormComponent_mat_form_field_13_button_12_Template(rf, ctx) { if (rf & 1) {
|
|
18
|
+
const _r14 = i0.ɵɵgetCurrentView();
|
|
19
|
+
i0.ɵɵelementStart(0, "button", 24);
|
|
20
|
+
i0.ɵɵlistener("click", function OgcFilterFormComponent_mat_form_field_13_button_12_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r13.clearSelectedField()); });
|
|
21
|
+
i0.ɵɵelement(1, "mat-icon", 25);
|
|
22
|
+
i0.ɵɵelementEnd();
|
|
23
|
+
} if (rf & 2) {
|
|
24
|
+
const ctx_r11 = i0.ɵɵnextContext(2);
|
|
25
|
+
i0.ɵɵproperty("disabled", !ctx_r11.currentFilter.active);
|
|
26
|
+
} }
|
|
27
|
+
function OgcFilterFormComponent_mat_form_field_13_Template(rf, ctx) { if (rf & 1) {
|
|
28
|
+
const _r16 = i0.ɵɵgetCurrentView();
|
|
29
|
+
i0.ɵɵelementStart(0, "mat-form-field", 17);
|
|
30
|
+
i0.ɵɵlistener("mouseenter", function OgcFilterFormComponent_mat_form_field_13_Template_mat_form_field_mouseenter_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r15.inputClearable = "selectField"); })("mouseleave", function OgcFilterFormComponent_mat_form_field_13_Template_mat_form_field_mouseleave_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r17 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r17.inputClearable = undefined); });
|
|
31
|
+
i0.ɵɵelementStart(1, "input", 18);
|
|
32
|
+
i0.ɵɵlistener("input", function OgcFilterFormComponent_mat_form_field_13_Template_input_input_1_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r18 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r18.updateFieldsList($event.target.value)); });
|
|
33
|
+
i0.ɵɵpipe(2, "translate");
|
|
34
|
+
i0.ɵɵpipe(3, "async");
|
|
35
|
+
i0.ɵɵpipe(4, "async");
|
|
36
|
+
i0.ɵɵpipe(5, "async");
|
|
37
|
+
i0.ɵɵpipe(6, "async");
|
|
38
|
+
i0.ɵɵpipe(7, "translate");
|
|
39
|
+
i0.ɵɵelementEnd();
|
|
40
|
+
i0.ɵɵelementStart(8, "mat-autocomplete", 19, 20);
|
|
41
|
+
i0.ɵɵlistener("optionSelected", function OgcFilterFormComponent_mat_form_field_13_Template_mat_autocomplete_optionSelected_8_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r19 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r19.changeField($event.option.id)); });
|
|
42
|
+
i0.ɵɵtemplate(10, OgcFilterFormComponent_mat_form_field_13_mat_option_10_Template, 2, 4, "mat-option", 21);
|
|
43
|
+
i0.ɵɵpipe(11, "async");
|
|
44
|
+
i0.ɵɵelementEnd();
|
|
45
|
+
i0.ɵɵtemplate(12, OgcFilterFormComponent_mat_form_field_13_button_12_Template, 2, 1, "button", 22);
|
|
46
|
+
i0.ɵɵelementEnd();
|
|
47
|
+
} if (rf & 2) {
|
|
48
|
+
const _r9 = i0.ɵɵreference(9);
|
|
49
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
50
|
+
i0.ɵɵproperty("floatLabel", ctx_r0.floatLabel);
|
|
51
|
+
i0.ɵɵadvance(1);
|
|
52
|
+
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(2, 8, "igo.geo.sourceFields.selectField"))("disabled", !ctx_r0.currentFilter.active)("matAutocomplete", _r9)("value", i0.ɵɵpipeBind1(3, 10, ctx_r0.selectedField$) ? i0.ɵɵpipeBind1(4, 12, ctx_r0.selectedField$).alias : "")("matTooltip", i0.ɵɵpipeBind1(5, 14, ctx_r0.selectedField$) ? i0.ɵɵpipeBind1(6, 16, ctx_r0.selectedField$).alias : i0.ɵɵpipeBind1(7, 18, "igo.geo.sourceFields.selectField"));
|
|
53
|
+
i0.ɵɵadvance(9);
|
|
54
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(11, 20, ctx_r0.filteredFields$));
|
|
55
|
+
i0.ɵɵadvance(2);
|
|
56
|
+
i0.ɵɵproperty("ngIf", ctx_r0.currentFilter.propertyName && ctx_r0.inputClearable === "selectField" && ctx_r0.currentFilter.active);
|
|
57
|
+
} }
|
|
58
|
+
function OgcFilterFormComponent_mat_option_24_Template(rf, ctx) { if (rf & 1) {
|
|
59
|
+
i0.ɵɵelementStart(0, "mat-option", 3);
|
|
60
|
+
i0.ɵɵpipe(1, "translate");
|
|
61
|
+
i0.ɵɵtext(2);
|
|
62
|
+
i0.ɵɵpipe(3, "translate");
|
|
63
|
+
i0.ɵɵelementEnd();
|
|
64
|
+
} if (rf & 2) {
|
|
65
|
+
const operator_r20 = ctx.$implicit;
|
|
66
|
+
i0.ɵɵproperty("value", operator_r20.key)("matTooltip", i0.ɵɵpipeBind1(1, 3, "igo.geo.operators.tooltip." + operator_r20.key));
|
|
67
|
+
i0.ɵɵadvance(2);
|
|
68
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 5, "igo.geo.operators." + operator_r20.key), " ");
|
|
69
|
+
} }
|
|
70
|
+
function OgcFilterFormComponent_mat_form_field_27_mat_option_2_Template(rf, ctx) { if (rf & 1) {
|
|
71
|
+
i0.ɵɵelementStart(0, "mat-option", 29);
|
|
72
|
+
i0.ɵɵtext(1);
|
|
73
|
+
i0.ɵɵpipe(2, "translate");
|
|
74
|
+
i0.ɵɵelementEnd();
|
|
75
|
+
} if (rf & 2) {
|
|
76
|
+
const igoSpatialSelector_r22 = ctx.$implicit;
|
|
77
|
+
i0.ɵɵproperty("value", igoSpatialSelector_r22.type);
|
|
78
|
+
i0.ɵɵadvance(1);
|
|
79
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "igo.geo.spatialSelector." + igoSpatialSelector_r22.type), " ");
|
|
80
|
+
} }
|
|
81
|
+
function OgcFilterFormComponent_mat_form_field_27_Template(rf, ctx) { if (rf & 1) {
|
|
82
|
+
const _r24 = i0.ɵɵgetCurrentView();
|
|
83
|
+
i0.ɵɵelementStart(0, "mat-form-field", 26)(1, "mat-select", 27);
|
|
84
|
+
i0.ɵɵlistener("selectionChange", function OgcFilterFormComponent_mat_form_field_27_Template_mat_select_selectionChange_1_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r23.changeSpatialSelector($event.value)); });
|
|
85
|
+
i0.ɵɵtemplate(2, OgcFilterFormComponent_mat_form_field_27_mat_option_2_Template, 3, 4, "mat-option", 28);
|
|
86
|
+
i0.ɵɵelementEnd()();
|
|
87
|
+
} if (rf & 2) {
|
|
88
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
89
|
+
i0.ɵɵadvance(1);
|
|
90
|
+
i0.ɵɵproperty("disabled", !ctx_r2.currentFilter.active)("value", ctx_r2.currentFilter.igoSpatialSelector);
|
|
91
|
+
i0.ɵɵadvance(1);
|
|
92
|
+
i0.ɵɵproperty("ngForOf", ctx_r2.igoSpatialSelectors);
|
|
93
|
+
} }
|
|
94
|
+
function OgcFilterFormComponent_mat_form_field_29_mat_option_5_Template(rf, ctx) { if (rf & 1) {
|
|
95
|
+
i0.ɵɵelementStart(0, "mat-option", 33);
|
|
96
|
+
i0.ɵɵtext(1);
|
|
97
|
+
i0.ɵɵelementEnd();
|
|
98
|
+
} if (rf & 2) {
|
|
99
|
+
const value_r28 = ctx.$implicit;
|
|
100
|
+
i0.ɵɵproperty("value", value_r28)("matTooltip", value_r28);
|
|
101
|
+
i0.ɵɵadvance(1);
|
|
102
|
+
i0.ɵɵtextInterpolate1(" ", value_r28, " ");
|
|
103
|
+
} }
|
|
104
|
+
function OgcFilterFormComponent_mat_form_field_29_button_7_Template(rf, ctx) { if (rf & 1) {
|
|
105
|
+
const _r30 = i0.ɵɵgetCurrentView();
|
|
106
|
+
i0.ɵɵelementStart(0, "button", 24);
|
|
107
|
+
i0.ɵɵlistener("click", function OgcFilterFormComponent_mat_form_field_29_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r30); const ctx_r29 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r29.clearProperty()); });
|
|
108
|
+
i0.ɵɵelement(1, "mat-icon", 25);
|
|
109
|
+
i0.ɵɵelementEnd();
|
|
110
|
+
} if (rf & 2) {
|
|
111
|
+
const ctx_r27 = i0.ɵɵnextContext(2);
|
|
112
|
+
i0.ɵɵproperty("disabled", !ctx_r27.currentFilter.active);
|
|
113
|
+
} }
|
|
114
|
+
function OgcFilterFormComponent_mat_form_field_29_Template(rf, ctx) { if (rf & 1) {
|
|
115
|
+
const _r32 = i0.ɵɵgetCurrentView();
|
|
116
|
+
i0.ɵɵelementStart(0, "mat-form-field", 30);
|
|
117
|
+
i0.ɵɵlistener("mouseenter", function OgcFilterFormComponent_mat_form_field_29_Template_mat_form_field_mouseenter_0_listener() { i0.ɵɵrestoreView(_r32); const ctx_r31 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r31.inputClearable = "selectProperty"); })("mouseleave", function OgcFilterFormComponent_mat_form_field_29_Template_mat_form_field_mouseleave_0_listener() { i0.ɵɵrestoreView(_r32); const ctx_r33 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r33.inputClearable = undefined); });
|
|
118
|
+
i0.ɵɵelementStart(1, "input", 18);
|
|
119
|
+
i0.ɵɵlistener("input", function OgcFilterFormComponent_mat_form_field_29_Template_input_input_1_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r34 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r34.updateValuesList($event.target.value)); });
|
|
120
|
+
i0.ɵɵpipe(2, "translate");
|
|
121
|
+
i0.ɵɵelementEnd();
|
|
122
|
+
i0.ɵɵelementStart(3, "mat-autocomplete", 19, 31);
|
|
123
|
+
i0.ɵɵlistener("optionSelected", function OgcFilterFormComponent_mat_form_field_29_Template_mat_autocomplete_optionSelected_3_listener($event) { i0.ɵɵrestoreView(_r32); const ctx_r35 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r35.changeProperty($event.option.value)); });
|
|
124
|
+
i0.ɵɵtemplate(5, OgcFilterFormComponent_mat_form_field_29_mat_option_5_Template, 2, 3, "mat-option", 32);
|
|
125
|
+
i0.ɵɵpipe(6, "async");
|
|
126
|
+
i0.ɵɵelementEnd();
|
|
127
|
+
i0.ɵɵtemplate(7, OgcFilterFormComponent_mat_form_field_29_button_7_Template, 2, 1, "button", 22);
|
|
128
|
+
i0.ɵɵelementEnd();
|
|
129
|
+
} if (rf & 2) {
|
|
130
|
+
const _r25 = i0.ɵɵreference(4);
|
|
131
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
132
|
+
i0.ɵɵproperty("floatLabel", ctx_r3.floatLabel);
|
|
133
|
+
i0.ɵɵadvance(1);
|
|
134
|
+
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(2, 8, "igo.geo.filter.placeholder"))("disabled", !ctx_r3.currentFilter.active)("matAutocomplete", _r25)("value", ctx_r3.detectProperty() === "expression" ? ctx_r3.currentFilter.expression : ctx_r3.currentFilter.pattern)("matTooltip", ctx_r3.detectProperty() === "expression" ? ctx_r3.currentFilter.expression || "" : ctx_r3.currentFilter.pattern || "");
|
|
135
|
+
i0.ɵɵadvance(4);
|
|
136
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(6, 10, ctx_r3.filteredValues$));
|
|
137
|
+
i0.ɵɵadvance(2);
|
|
138
|
+
i0.ɵɵproperty("ngIf", ctx_r3.isClearable() && ctx_r3.inputClearable === "selectProperty" && ctx_r3.currentFilter.active);
|
|
139
|
+
} }
|
|
140
|
+
function OgcFilterFormComponent_mat_form_field_34_button_3_Template(rf, ctx) { if (rf & 1) {
|
|
141
|
+
const _r38 = i0.ɵɵgetCurrentView();
|
|
142
|
+
i0.ɵɵelementStart(0, "button", 24);
|
|
143
|
+
i0.ɵɵlistener("click", function OgcFilterFormComponent_mat_form_field_34_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r38); const ctx_r37 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r37.currentFilter.igoSNRC = ""); });
|
|
144
|
+
i0.ɵɵelement(1, "mat-icon", 25);
|
|
145
|
+
i0.ɵɵelementEnd();
|
|
146
|
+
} if (rf & 2) {
|
|
147
|
+
const ctx_r36 = i0.ɵɵnextContext(2);
|
|
148
|
+
i0.ɵɵproperty("disabled", !ctx_r36.currentFilter.active && ctx_r36.inputClearable === "selectSNRC" && ctx_r36.currentFilter.active);
|
|
149
|
+
} }
|
|
150
|
+
function OgcFilterFormComponent_mat_form_field_34_Template(rf, ctx) { if (rf & 1) {
|
|
151
|
+
const _r40 = i0.ɵɵgetCurrentView();
|
|
152
|
+
i0.ɵɵelementStart(0, "mat-form-field", 34);
|
|
153
|
+
i0.ɵɵlistener("mouseenter", function OgcFilterFormComponent_mat_form_field_34_Template_mat_form_field_mouseenter_0_listener() { i0.ɵɵrestoreView(_r40); const ctx_r39 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r39.inputClearable = "selectSNRC"); })("mouseleave", function OgcFilterFormComponent_mat_form_field_34_Template_mat_form_field_mouseleave_0_listener() { i0.ɵɵrestoreView(_r40); const ctx_r41 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r41.inputClearable = undefined); });
|
|
154
|
+
i0.ɵɵelementStart(1, "input", 35);
|
|
155
|
+
i0.ɵɵlistener("input", function OgcFilterFormComponent_mat_form_field_34_Template_input_input_1_listener($event) { i0.ɵɵrestoreView(_r40); const ctx_r42 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r42.changeSNRC($event.target.value)); });
|
|
156
|
+
i0.ɵɵpipe(2, "translate");
|
|
157
|
+
i0.ɵɵelementEnd();
|
|
158
|
+
i0.ɵɵtemplate(3, OgcFilterFormComponent_mat_form_field_34_button_3_Template, 2, 1, "button", 22);
|
|
159
|
+
i0.ɵɵelementEnd();
|
|
160
|
+
} if (rf & 2) {
|
|
161
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
162
|
+
i0.ɵɵproperty("floatLabel", ctx_r4.floatLabel);
|
|
163
|
+
i0.ɵɵadvance(1);
|
|
164
|
+
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(2, 5, "igo.geo.filter.placeholderSnrc"))("value", ctx_r4.currentFilter.igoSNRC)("matTooltip", ctx_r4.currentFilter.igoSNRC ? ctx_r4.currentFilter.igoSNRC : "");
|
|
165
|
+
i0.ɵɵadvance(2);
|
|
166
|
+
i0.ɵɵproperty("ngIf", ctx_r4.currentFilter.igoSNRC);
|
|
167
|
+
} }
|
|
168
|
+
function OgcFilterFormComponent_ng_container_36_button_1_Template(rf, ctx) { if (rf & 1) {
|
|
169
|
+
const _r45 = i0.ɵɵgetCurrentView();
|
|
170
|
+
i0.ɵɵelementStart(0, "button", 37);
|
|
171
|
+
i0.ɵɵlistener("click", function OgcFilterFormComponent_ng_container_36_button_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r45); const ctx_r44 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r44.changeMapExtentGeometry()); });
|
|
172
|
+
i0.ɵɵpipe(1, "translate");
|
|
173
|
+
i0.ɵɵelement(2, "mat-icon", 38);
|
|
174
|
+
i0.ɵɵelementEnd();
|
|
175
|
+
} if (rf & 2) {
|
|
176
|
+
const ctx_r43 = i0.ɵɵnextContext(2);
|
|
177
|
+
i0.ɵɵproperty("disabled", !ctx_r43.currentFilter.active)("disabled", !ctx_r43.currentFilter.active)("matTooltip", i0.ɵɵpipeBind1(1, 3, "igo.geo.spatialSelector.btnSetExtent"));
|
|
178
|
+
} }
|
|
179
|
+
function OgcFilterFormComponent_ng_container_36_Template(rf, ctx) { if (rf & 1) {
|
|
180
|
+
i0.ɵɵelementContainerStart(0);
|
|
181
|
+
i0.ɵɵtemplate(1, OgcFilterFormComponent_ng_container_36_button_1_Template, 3, 5, "button", 36);
|
|
182
|
+
i0.ɵɵelementContainerEnd();
|
|
183
|
+
} if (rf & 2) {
|
|
184
|
+
const ctx_r5 = i0.ɵɵnextContext();
|
|
185
|
+
i0.ɵɵadvance(1);
|
|
186
|
+
i0.ɵɵproperty("ngIf", ctx_r5.currentFilter.igoSpatialSelector === "fixedExtent");
|
|
187
|
+
} }
|
|
188
|
+
function OgcFilterFormComponent_mat_form_field_39_mat_option_5_Template(rf, ctx) { if (rf & 1) {
|
|
189
|
+
i0.ɵɵelementStart(0, "mat-option", 33);
|
|
190
|
+
i0.ɵɵtext(1);
|
|
191
|
+
i0.ɵɵelementEnd();
|
|
192
|
+
} if (rf & 2) {
|
|
193
|
+
const value_r49 = ctx.$implicit;
|
|
194
|
+
i0.ɵɵproperty("value", value_r49)("matTooltip", value_r49);
|
|
195
|
+
i0.ɵɵadvance(1);
|
|
196
|
+
i0.ɵɵtextInterpolate1(" ", value_r49, " ");
|
|
197
|
+
} }
|
|
198
|
+
function OgcFilterFormComponent_mat_form_field_39_button_7_Template(rf, ctx) { if (rf & 1) {
|
|
199
|
+
const _r51 = i0.ɵɵgetCurrentView();
|
|
200
|
+
i0.ɵɵelementStart(0, "button", 24);
|
|
201
|
+
i0.ɵɵlistener("click", function OgcFilterFormComponent_mat_form_field_39_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r51); const ctx_r50 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r50.clearProperty(1)); });
|
|
202
|
+
i0.ɵɵelement(1, "mat-icon", 25);
|
|
203
|
+
i0.ɵɵelementEnd();
|
|
204
|
+
} if (rf & 2) {
|
|
205
|
+
const ctx_r48 = i0.ɵɵnextContext(2);
|
|
206
|
+
i0.ɵɵproperty("disabled", !ctx_r48.currentFilter.active);
|
|
207
|
+
} }
|
|
208
|
+
function OgcFilterFormComponent_mat_form_field_39_Template(rf, ctx) { if (rf & 1) {
|
|
209
|
+
const _r53 = i0.ɵɵgetCurrentView();
|
|
210
|
+
i0.ɵɵelementStart(0, "mat-form-field", 39);
|
|
211
|
+
i0.ɵɵlistener("mouseenter", function OgcFilterFormComponent_mat_form_field_39_Template_mat_form_field_mouseenter_0_listener() { i0.ɵɵrestoreView(_r53); const ctx_r52 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r52.inputClearable = "selectProperty1"); })("mouseleave", function OgcFilterFormComponent_mat_form_field_39_Template_mat_form_field_mouseleave_0_listener() { i0.ɵɵrestoreView(_r53); const ctx_r54 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r54.inputClearable = undefined); });
|
|
212
|
+
i0.ɵɵelementStart(1, "input", 40);
|
|
213
|
+
i0.ɵɵlistener("input", function OgcFilterFormComponent_mat_form_field_39_Template_input_input_1_listener($event) { i0.ɵɵrestoreView(_r53); const ctx_r55 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r55.updateValuesList($event.target.value, 1)); });
|
|
214
|
+
i0.ɵɵpipe(2, "translate");
|
|
215
|
+
i0.ɵɵelementEnd();
|
|
216
|
+
i0.ɵɵelementStart(3, "mat-autocomplete", 19, 41);
|
|
217
|
+
i0.ɵɵlistener("optionSelected", function OgcFilterFormComponent_mat_form_field_39_Template_mat_autocomplete_optionSelected_3_listener($event) { i0.ɵɵrestoreView(_r53); const ctx_r56 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r56.changeNumericProperty($event.option.value, 1)); });
|
|
218
|
+
i0.ɵɵtemplate(5, OgcFilterFormComponent_mat_form_field_39_mat_option_5_Template, 2, 3, "mat-option", 32);
|
|
219
|
+
i0.ɵɵpipe(6, "async");
|
|
220
|
+
i0.ɵɵelementEnd();
|
|
221
|
+
i0.ɵɵtemplate(7, OgcFilterFormComponent_mat_form_field_39_button_7_Template, 2, 1, "button", 22);
|
|
222
|
+
i0.ɵɵelementEnd();
|
|
223
|
+
} if (rf & 2) {
|
|
224
|
+
const _r46 = i0.ɵɵreference(4);
|
|
225
|
+
const ctx_r6 = i0.ɵɵnextContext();
|
|
226
|
+
i0.ɵɵproperty("floatLabel", ctx_r6.floatLabel);
|
|
227
|
+
i0.ɵɵadvance(1);
|
|
228
|
+
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(2, 7, "igo.geo.filter.placeholder"))("disabled", !ctx_r6.currentFilter.active)("matAutocomplete", _r46)("value", ctx_r6.detectProperty(1) === "lowerBoundary" ? ctx_r6.currentFilter.lowerBoundary : ctx_r6.currentFilter.begin);
|
|
229
|
+
i0.ɵɵadvance(4);
|
|
230
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(6, 9, ctx_r6.filteredValues$));
|
|
231
|
+
i0.ɵɵadvance(2);
|
|
232
|
+
i0.ɵɵproperty("ngIf", ctx_r6.isClearable(1) && ctx_r6.inputClearable === "selectProperty1" && ctx_r6.currentFilter.active);
|
|
233
|
+
} }
|
|
234
|
+
function OgcFilterFormComponent_mat_form_field_40_mat_option_5_Template(rf, ctx) { if (rf & 1) {
|
|
235
|
+
i0.ɵɵelementStart(0, "mat-option", 33);
|
|
236
|
+
i0.ɵɵtext(1);
|
|
237
|
+
i0.ɵɵelementEnd();
|
|
238
|
+
} if (rf & 2) {
|
|
239
|
+
const value_r60 = ctx.$implicit;
|
|
240
|
+
i0.ɵɵproperty("value", value_r60)("matTooltip", value_r60);
|
|
241
|
+
i0.ɵɵadvance(1);
|
|
242
|
+
i0.ɵɵtextInterpolate1(" ", value_r60, " ");
|
|
243
|
+
} }
|
|
244
|
+
function OgcFilterFormComponent_mat_form_field_40_button_7_Template(rf, ctx) { if (rf & 1) {
|
|
245
|
+
const _r62 = i0.ɵɵgetCurrentView();
|
|
246
|
+
i0.ɵɵelementStart(0, "button", 24);
|
|
247
|
+
i0.ɵɵlistener("click", function OgcFilterFormComponent_mat_form_field_40_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r62); const ctx_r61 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r61.clearProperty(2)); });
|
|
248
|
+
i0.ɵɵelement(1, "mat-icon", 25);
|
|
249
|
+
i0.ɵɵelementEnd();
|
|
250
|
+
} if (rf & 2) {
|
|
251
|
+
const ctx_r59 = i0.ɵɵnextContext(2);
|
|
252
|
+
i0.ɵɵproperty("disabled", !ctx_r59.currentFilter.active);
|
|
253
|
+
} }
|
|
254
|
+
function OgcFilterFormComponent_mat_form_field_40_Template(rf, ctx) { if (rf & 1) {
|
|
255
|
+
const _r64 = i0.ɵɵgetCurrentView();
|
|
256
|
+
i0.ɵɵelementStart(0, "mat-form-field", 39);
|
|
257
|
+
i0.ɵɵlistener("mouseenter", function OgcFilterFormComponent_mat_form_field_40_Template_mat_form_field_mouseenter_0_listener() { i0.ɵɵrestoreView(_r64); const ctx_r63 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r63.inputClearable = "selectProperty2"); })("mouseleave", function OgcFilterFormComponent_mat_form_field_40_Template_mat_form_field_mouseleave_0_listener() { i0.ɵɵrestoreView(_r64); const ctx_r65 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r65.inputClearable = undefined); });
|
|
258
|
+
i0.ɵɵelementStart(1, "input", 40);
|
|
259
|
+
i0.ɵɵlistener("input", function OgcFilterFormComponent_mat_form_field_40_Template_input_input_1_listener($event) { i0.ɵɵrestoreView(_r64); const ctx_r66 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r66.updateValuesList($event.target.value, 2)); });
|
|
260
|
+
i0.ɵɵpipe(2, "translate");
|
|
261
|
+
i0.ɵɵelementEnd();
|
|
262
|
+
i0.ɵɵelementStart(3, "mat-autocomplete", 19, 42);
|
|
263
|
+
i0.ɵɵlistener("optionSelected", function OgcFilterFormComponent_mat_form_field_40_Template_mat_autocomplete_optionSelected_3_listener($event) { i0.ɵɵrestoreView(_r64); const ctx_r67 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r67.changeNumericProperty($event.option.value, 2)); });
|
|
264
|
+
i0.ɵɵtemplate(5, OgcFilterFormComponent_mat_form_field_40_mat_option_5_Template, 2, 3, "mat-option", 32);
|
|
265
|
+
i0.ɵɵpipe(6, "async");
|
|
266
|
+
i0.ɵɵelementEnd();
|
|
267
|
+
i0.ɵɵtemplate(7, OgcFilterFormComponent_mat_form_field_40_button_7_Template, 2, 1, "button", 22);
|
|
268
|
+
i0.ɵɵelementEnd();
|
|
269
|
+
} if (rf & 2) {
|
|
270
|
+
const _r57 = i0.ɵɵreference(4);
|
|
271
|
+
const ctx_r7 = i0.ɵɵnextContext();
|
|
272
|
+
i0.ɵɵproperty("floatLabel", ctx_r7.floatLabel);
|
|
273
|
+
i0.ɵɵadvance(1);
|
|
274
|
+
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(2, 7, "igo.geo.filter.placeholder"))("disabled", !ctx_r7.currentFilter.active)("matAutocomplete", _r57)("value", ctx_r7.detectProperty(2) === "upperBoundary" ? ctx_r7.currentFilter.upperBoundary : ctx_r7.currentFilter.end);
|
|
275
|
+
i0.ɵɵadvance(4);
|
|
276
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(6, 9, ctx_r7.filteredValues$));
|
|
277
|
+
i0.ɵɵadvance(2);
|
|
278
|
+
i0.ɵɵproperty("ngIf", ctx_r7.isClearable(2) && ctx_r7.inputClearable === "selectProperty2" && ctx_r7.currentFilter.active);
|
|
279
|
+
} }
|
|
280
|
+
function OgcFilterFormComponent_igo_ogc_filter_time_41_Template(rf, ctx) { if (rf & 1) {
|
|
281
|
+
const _r69 = i0.ɵɵgetCurrentView();
|
|
282
|
+
i0.ɵɵelementStart(0, "igo-ogc-filter-time", 43);
|
|
283
|
+
i0.ɵɵlistener("datasourceChange", function OgcFilterFormComponent_igo_ogc_filter_time_41_Template_igo_ogc_filter_time_datasourceChange_0_listener($event) { i0.ɵɵrestoreView(_r69); const ctx_r68 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r68.datasource = $event); })("currentFilterChange", function OgcFilterFormComponent_igo_ogc_filter_time_41_Template_igo_ogc_filter_time_currentFilterChange_0_listener($event) { i0.ɵɵrestoreView(_r69); const ctx_r70 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r70.currentFilter = $event); })("changeProperty", function OgcFilterFormComponent_igo_ogc_filter_time_41_Template_igo_ogc_filter_time_changeProperty_0_listener($event) { i0.ɵɵrestoreView(_r69); const ctx_r71 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r71.changeProperty($event.value, $event.pos)); });
|
|
284
|
+
i0.ɵɵelementEnd();
|
|
285
|
+
} if (rf & 2) {
|
|
286
|
+
const ctx_r8 = i0.ɵɵnextContext();
|
|
287
|
+
i0.ɵɵproperty("datasource", ctx_r8.datasource)("currentFilter", ctx_r8.currentFilter);
|
|
288
|
+
} }
|
|
289
|
+
const _c0 = function (a0, a1) { return { "logical": a0, "logicalHidden": a1 }; };
|
|
290
|
+
const _c1 = function (a0, a1) { return { "operator": a0, "dualInput": a1 }; };
|
|
291
|
+
const _c2 = function () { return ["expression", "pattern"]; };
|
|
292
|
+
const _c3 = function () { return ["lowerBoundary", "begin"]; };
|
|
293
|
+
const _c4 = function () { return ["upperBoundary", "end"]; };
|
|
294
|
+
export class OgcFilterFormComponent {
|
|
295
|
+
constructor(wktService) {
|
|
296
|
+
this.wktService = wktService;
|
|
297
|
+
this.ogcFilterOperator = OgcFilterOperator;
|
|
298
|
+
this.ogcFilterOperators$ = new BehaviorSubject(undefined);
|
|
299
|
+
this.value = '';
|
|
300
|
+
this.selectedField$ = new BehaviorSubject(undefined);
|
|
301
|
+
this.fields$ = new BehaviorSubject([]);
|
|
302
|
+
this.color = 'primary';
|
|
303
|
+
this.currentFilterIsSpatial$ = new BehaviorSubject(false);
|
|
304
|
+
this.defaultStepMillisecond = 6000;
|
|
305
|
+
this._snrc = '';
|
|
306
|
+
this.floatLabel = 'never';
|
|
307
|
+
// TODO: Filter permitted operator based on wfscapabilities
|
|
308
|
+
// Need to work on regex on XML capabilities because
|
|
309
|
+
// comaparison operator's name varies between WFS servers...
|
|
310
|
+
// Ex: IsNull vs PropertyIsNull vs IsNil ...
|
|
311
|
+
this.allOgcFilterOperators = new OgcFilterWriter().operators;
|
|
312
|
+
this.ogcFilterOperators$.next(this.allOgcFilterOperators);
|
|
313
|
+
this.igoSpatialSelectors = [
|
|
314
|
+
{
|
|
315
|
+
type: 'fixedExtent'
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
type: 'snrc'
|
|
319
|
+
}
|
|
320
|
+
];
|
|
321
|
+
// TODO: selectFeature & drawFeature
|
|
322
|
+
}
|
|
323
|
+
set snrc(value) {
|
|
324
|
+
const checkSNRC50k = /^\d{2}[a-l][0,1][0-9]$/gi;
|
|
325
|
+
const checkSNRC250k = /^\d{2}[a-p]$/gi;
|
|
326
|
+
const checkSNRC1m = /^\d{2}$/gi;
|
|
327
|
+
if (checkSNRC1m.test(value) ||
|
|
328
|
+
checkSNRC250k.test(value) ||
|
|
329
|
+
checkSNRC50k.test(value)) {
|
|
330
|
+
this._snrc = value;
|
|
331
|
+
this.currentFilter.igoSNRC = value;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
get snrc() {
|
|
335
|
+
return this._snrc;
|
|
336
|
+
}
|
|
337
|
+
get activeFilters() {
|
|
338
|
+
return this.datasource.options.ogcFilters.interfaceOgcFilters.filter((f) => f.active === true);
|
|
339
|
+
}
|
|
340
|
+
get allowedOperators() {
|
|
341
|
+
return new OgcFilterWriter().computeAllowedOperators(this.fields$.value, this.currentFilter.propertyName, this.datasource.options.ogcFilters.allowedOperatorsType);
|
|
342
|
+
}
|
|
343
|
+
ngOnInit() {
|
|
344
|
+
if (this.datasource.options.sourceFields) {
|
|
345
|
+
const sFields = this.datasource.options.sourceFields.filter((sf) => sf.excludeFromOgcFilters === undefined || !sf.excludeFromOgcFilters);
|
|
346
|
+
sFields.map((sfs) => {
|
|
347
|
+
if (sfs.values) {
|
|
348
|
+
sfs.values.sort();
|
|
349
|
+
}
|
|
350
|
+
});
|
|
351
|
+
this.fields$.next(sFields);
|
|
352
|
+
}
|
|
353
|
+
this.updateFieldsList();
|
|
354
|
+
this.selectedField$.next(this.fields$.value.find((f) => f.name === this.currentFilter.propertyName));
|
|
355
|
+
this.updateValuesList();
|
|
356
|
+
this.selectedField$.subscribe((f) => {
|
|
357
|
+
this.ogcFilterOperators$.next(this.allowedOperators);
|
|
358
|
+
if (Object.keys(this.allowedOperators).indexOf(this.currentFilter.operator) === -1) {
|
|
359
|
+
this.currentFilter.operator = Object.keys(this.allowedOperators)[0];
|
|
360
|
+
this.currentFilter.operator = Object.keys(this.allowedOperators)[0];
|
|
361
|
+
}
|
|
362
|
+
this.updateValuesList();
|
|
363
|
+
});
|
|
364
|
+
this.currentFilterIsSpatial();
|
|
365
|
+
}
|
|
366
|
+
updateFieldsList(value) {
|
|
367
|
+
this.filteredFields$ =
|
|
368
|
+
value && value.length > 0 ? of(this._filterFields(value)) : this.fields$;
|
|
369
|
+
if (this.fields$.value.find((f) => f.name === value)) {
|
|
370
|
+
this.changeField(value);
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
updateValuesList(value, pos) {
|
|
374
|
+
this.filteredValues$ =
|
|
375
|
+
value && value.length > 0
|
|
376
|
+
? of(this._filterValues(value))
|
|
377
|
+
: this.selectedField$.value
|
|
378
|
+
? of(this.selectedField$.value.values)
|
|
379
|
+
: of([]);
|
|
380
|
+
if (value && value.length >= 1) {
|
|
381
|
+
this.changeProperty(value, pos);
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
_filterFields(value) {
|
|
385
|
+
const keywordRegex = new RegExp(value.normalize('NFD').replace(/[\u0300-\u036f]/g, ''), 'gi');
|
|
386
|
+
return this.fields$.value.filter((val) => keywordRegex.test(val.alias.normalize('NFD').replace(/[\u0300-\u036f]/g, '')));
|
|
387
|
+
}
|
|
388
|
+
_filterValues(value) {
|
|
389
|
+
const keywordRegex = new RegExp(value
|
|
390
|
+
.toString()
|
|
391
|
+
.normalize('NFD')
|
|
392
|
+
.replace(/[\u0300-\u036f]/g, ''), 'gi');
|
|
393
|
+
return this.selectedField$.value.values.filter((val) => val && keywordRegex.test(val
|
|
394
|
+
.toString()
|
|
395
|
+
.normalize('NFD')
|
|
396
|
+
.replace(/[\u0300-\u036f]/g, '')));
|
|
397
|
+
}
|
|
398
|
+
clearSelectedField() {
|
|
399
|
+
this.currentFilter.propertyName = '';
|
|
400
|
+
this.selectedField$.next(undefined);
|
|
401
|
+
this.clearProperty();
|
|
402
|
+
}
|
|
403
|
+
isClearable(pos) {
|
|
404
|
+
const detectedProperty = this.detectProperty(pos);
|
|
405
|
+
if (detectedProperty) {
|
|
406
|
+
return this.currentFilter[detectedProperty];
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
clearProperty(pos) {
|
|
410
|
+
// this.autoCompleteInputValues.closePanel();
|
|
411
|
+
const detectedProperty = this.detectProperty(pos);
|
|
412
|
+
if (detectedProperty) {
|
|
413
|
+
return (this.currentFilter[detectedProperty] = '');
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
toggleFilterState(event) {
|
|
417
|
+
this.datasource.options.ogcFilters.interfaceOgcFilters.find((f) => f.filterid === this.currentFilter.filterid).active = event.checked;
|
|
418
|
+
this.refreshFilters();
|
|
419
|
+
}
|
|
420
|
+
deleteFilter() {
|
|
421
|
+
const ogcFilters = this.datasource.options.ogcFilters;
|
|
422
|
+
ogcFilters.interfaceOgcFilters = ogcFilters.interfaceOgcFilters.filter((f) => f.filterid !== this.currentFilter.filterid);
|
|
423
|
+
this.refreshFilters();
|
|
424
|
+
}
|
|
425
|
+
changeLogical(logical) {
|
|
426
|
+
this.currentFilter.parentLogical = logical;
|
|
427
|
+
this.refreshFilters();
|
|
428
|
+
}
|
|
429
|
+
changeOperator(operator) {
|
|
430
|
+
this.currentFilter.operator = operator;
|
|
431
|
+
this.currentFilterIsSpatial();
|
|
432
|
+
if (this.currentFilterIsSpatial$.value &&
|
|
433
|
+
this.currentFilter.wkt_geometry.length === 0) {
|
|
434
|
+
this.changeSpatialSelector(this.currentFilter.igoSpatialSelector);
|
|
435
|
+
}
|
|
436
|
+
else {
|
|
437
|
+
this.refreshFilters();
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
changeField(field) {
|
|
441
|
+
this.currentFilter.propertyName = field;
|
|
442
|
+
this.selectedField$.next(this.fields$.value.find((f) => f.name === this.currentFilter.propertyName));
|
|
443
|
+
this.refreshFilters();
|
|
444
|
+
}
|
|
445
|
+
// Issue with mapserver 7.2 and Postgis layers. Fixed in 7.4
|
|
446
|
+
// Due to this issue, the checkbox is hide.
|
|
447
|
+
changeCaseSensitive(matchCase) {
|
|
448
|
+
this.currentFilter.matchCase = matchCase.checked;
|
|
449
|
+
this.refreshFilters();
|
|
450
|
+
}
|
|
451
|
+
changeProperty(value, pos, refreshFilter = true) {
|
|
452
|
+
const detectedProperty = this.detectProperty(pos);
|
|
453
|
+
if (detectedProperty) {
|
|
454
|
+
this.datasource.options.ogcFilters.interfaceOgcFilters.find((f) => f.filterid === this.currentFilter.filterid)[detectedProperty] = value;
|
|
455
|
+
if (refreshFilter) {
|
|
456
|
+
this.refreshFilters();
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
changeNumericProperty(value, pos) {
|
|
461
|
+
this.changeProperty(parseFloat(value), pos);
|
|
462
|
+
}
|
|
463
|
+
changeSpatialSelector(value) {
|
|
464
|
+
this.currentFilter.igoSpatialSelector = value;
|
|
465
|
+
if (value === 'fixedExtent') {
|
|
466
|
+
this.changeMapExtentGeometry(false);
|
|
467
|
+
}
|
|
468
|
+
this.currentFilterIsSpatial();
|
|
469
|
+
this.refreshFilters();
|
|
470
|
+
}
|
|
471
|
+
changeSNRC(value) {
|
|
472
|
+
this.snrc = value;
|
|
473
|
+
this.changeSNRCGeometry();
|
|
474
|
+
}
|
|
475
|
+
changeSNRCGeometry() {
|
|
476
|
+
const interfaceOgcFilter = this.datasource.options.ogcFilters.interfaceOgcFilters.find((f) => f.filterid === this.currentFilter.filterid);
|
|
477
|
+
if (!interfaceOgcFilter) {
|
|
478
|
+
return;
|
|
479
|
+
}
|
|
480
|
+
if (this.snrc && this.currentFilter.igoSpatialSelector === 'snrc') {
|
|
481
|
+
this.currentFilter.wkt_geometry = this.wktService.snrcToWkt(this.snrc, this.map.projection).wktPoly;
|
|
482
|
+
}
|
|
483
|
+
this.refreshFilters();
|
|
484
|
+
}
|
|
485
|
+
changeMapExtentGeometry(refresh = true) {
|
|
486
|
+
const interfaceOgcFilter = this.datasource.options.ogcFilters.interfaceOgcFilters.find((f) => f.filterid === this.currentFilter.filterid);
|
|
487
|
+
if (!interfaceOgcFilter) {
|
|
488
|
+
return;
|
|
489
|
+
}
|
|
490
|
+
if (this.currentFilter.igoSpatialSelector === 'fixedExtent') {
|
|
491
|
+
this.currentFilter.wkt_geometry = this.wktService.extentToWkt(this.map.projection, this.map.viewController.getExtent(), this.map.projection).wktPoly;
|
|
492
|
+
}
|
|
493
|
+
if (refresh) {
|
|
494
|
+
this.refreshFilters();
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
detectProperty(pos) {
|
|
498
|
+
switch (this.currentFilter.operator) {
|
|
499
|
+
case OgcFilterOperator.PropertyIsNotEqualTo:
|
|
500
|
+
case OgcFilterOperator.PropertyIsEqualTo:
|
|
501
|
+
case OgcFilterOperator.PropertyIsGreaterThan:
|
|
502
|
+
case OgcFilterOperator.PropertyIsGreaterThanOrEqualTo:
|
|
503
|
+
case OgcFilterOperator.PropertyIsLessThan:
|
|
504
|
+
case OgcFilterOperator.PropertyIsLessThanOrEqualTo:
|
|
505
|
+
return 'expression';
|
|
506
|
+
case OgcFilterOperator.PropertyIsLike:
|
|
507
|
+
return 'pattern';
|
|
508
|
+
case OgcFilterOperator.PropertyIsBetween:
|
|
509
|
+
return pos && pos === 1
|
|
510
|
+
? 'lowerBoundary'
|
|
511
|
+
: pos && pos === 2
|
|
512
|
+
? 'upperBoundary'
|
|
513
|
+
: undefined;
|
|
514
|
+
case OgcFilterOperator.During:
|
|
515
|
+
return pos && pos === 1
|
|
516
|
+
? 'begin'
|
|
517
|
+
: pos && pos === 2
|
|
518
|
+
? 'end'
|
|
519
|
+
: undefined;
|
|
520
|
+
default:
|
|
521
|
+
return;
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
currentFilterIsSpatial() {
|
|
525
|
+
let isSpatial = false;
|
|
526
|
+
if (this.currentFilter) {
|
|
527
|
+
isSpatial =
|
|
528
|
+
[
|
|
529
|
+
OgcFilterOperator.Contains,
|
|
530
|
+
OgcFilterOperator.Intersects,
|
|
531
|
+
OgcFilterOperator.Within
|
|
532
|
+
].indexOf(this.currentFilter.operator) !== -1;
|
|
533
|
+
}
|
|
534
|
+
this.currentFilterIsSpatial$.next(isSpatial);
|
|
535
|
+
}
|
|
536
|
+
isTemporalOperator() {
|
|
537
|
+
return (this.currentFilter.operator.toLowerCase() ===
|
|
538
|
+
this.ogcFilterOperator.During.toLowerCase());
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
OgcFilterFormComponent.ɵfac = function OgcFilterFormComponent_Factory(t) { return new (t || OgcFilterFormComponent)(i0.ɵɵdirectiveInject(i1.WktService)); };
|
|
542
|
+
OgcFilterFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OgcFilterFormComponent, selectors: [["igo-ogc-filter-form"]], inputs: { refreshFilters: "refreshFilters", datasource: "datasource", map: "map", currentFilter: "currentFilter", floatLabel: "floatLabel" }, decls: 42, vars: 76, consts: [["tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "checked", "click", "change"], [3, "ngClass"], ["tooltip-position", "above", "matTooltipShowDelay", "500", 3, "disabled", "value", "matTooltip", "selectionChange"], ["tooltip-position", "above", "matTooltipShowDelay", "500", 3, "value", "matTooltip"], ["class", "field", 3, "floatLabel", "mouseenter", "mouseleave", 4, "ngIf"], [3, "ngClass", "floatLabel"], ["tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "disabled", "value", "selectionChange"], ["tooltip-position", "above", "matTooltipShowDelay", "500", 3, "value", "matTooltip", 4, "ngFor", "ngForOf"], ["class", "spatialSelector", 4, "ngIf"], ["class", "singleInput", 3, "floatLabel", "mouseenter", "mouseleave", 4, "ngIf"], [1, "igo-layer-button-group"], ["mat-icon-button", "", "collapsibleButton", "", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "warn", 3, "matTooltip", "click"], ["svgIcon", "delete"], ["class", "snrc", 3, "floatLabel", "mouseenter", "mouseleave", 4, "ngIf"], [4, "ngIf"], ["class", "dualInput", 3, "floatLabel", "mouseenter", "mouseleave", 4, "ngIf"], [3, "datasource", "currentFilter", "datasourceChange", "currentFilterChange", "changeProperty", 4, "ngIf"], [1, "field", 3, "floatLabel", "mouseenter", "mouseleave"], ["matInput", "", "tooltip-position", "above", "matTooltipShowDelay", "500", 3, "placeholder", "disabled", "matAutocomplete", "value", "matTooltip", "input"], [3, "optionSelected"], ["autoCompleteField", "matAutocomplete"], ["matTooltipShowDelay", "500", 3, "value", "id", "matTooltip", 4, "ngFor", "ngForOf"], ["mat-button", "", "matSuffix", "", "mat-icon-button", "", "aria-label", "Clear", 3, "disabled", "click", 4, "ngIf"], ["matTooltipShowDelay", "500", 3, "value", "id", "matTooltip"], ["mat-button", "", "matSuffix", "", "mat-icon-button", "", "aria-label", "Clear", 3, "disabled", "click"], ["svgIcon", "close"], [1, "spatialSelector"], [3, "disabled", "value", "selectionChange"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"], [1, "singleInput", 3, "floatLabel", "mouseenter", "mouseleave"], ["autoCompleteValues", "matAutocomplete"], ["matTooltipShowDelay", "500", 3, "value", "matTooltip", 4, "ngFor", "ngForOf"], ["matTooltipShowDelay", "500", 3, "value", "matTooltip"], [1, "snrc", 3, "floatLabel", "mouseenter", "mouseleave"], ["matInput", "", "tooltip-position", "above", "matTooltipShowDelay", "500", 3, "placeholder", "value", "matTooltip", "input"], ["mat-button", "", "matSuffix", "", "mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "disabled", "matTooltip", "click", 4, "ngIf"], ["mat-button", "", "matSuffix", "", "mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "disabled", "matTooltip", "click"], ["svgIcon", "arrow-expand-all"], [1, "dualInput", 3, "floatLabel", "mouseenter", "mouseleave"], ["matInput", "", "type", "number", 3, "placeholder", "disabled", "matAutocomplete", "value", "input"], ["autoDualValueOperator1", "matAutocomplete"], ["autoDualValueOperator2", "matAutocomplete"], [3, "datasource", "currentFilter", "datasourceChange", "currentFilterChange", "changeProperty"]], template: function OgcFilterFormComponent_Template(rf, ctx) { if (rf & 1) {
|
|
543
|
+
i0.ɵɵelementStart(0, "mat-checkbox", 0);
|
|
544
|
+
i0.ɵɵlistener("click", function OgcFilterFormComponent_Template_mat_checkbox_click_0_listener($event) { return $event.stopPropagation(); })("change", function OgcFilterFormComponent_Template_mat_checkbox_change_0_listener($event) { return ctx.toggleFilterState($event); });
|
|
545
|
+
i0.ɵɵpipe(1, "translate");
|
|
546
|
+
i0.ɵɵelementEnd();
|
|
547
|
+
i0.ɵɵelementStart(2, "mat-form-field", 1)(3, "mat-select", 2);
|
|
548
|
+
i0.ɵɵlistener("selectionChange", function OgcFilterFormComponent_Template_mat_select_selectionChange_3_listener($event) { return ctx.changeLogical($event.value); });
|
|
549
|
+
i0.ɵɵpipe(4, "translate");
|
|
550
|
+
i0.ɵɵelementStart(5, "mat-option", 3);
|
|
551
|
+
i0.ɵɵpipe(6, "translate");
|
|
552
|
+
i0.ɵɵtext(7);
|
|
553
|
+
i0.ɵɵpipe(8, "translate");
|
|
554
|
+
i0.ɵɵelementEnd();
|
|
555
|
+
i0.ɵɵelementStart(9, "mat-option", 3);
|
|
556
|
+
i0.ɵɵpipe(10, "translate");
|
|
557
|
+
i0.ɵɵtext(11);
|
|
558
|
+
i0.ɵɵpipe(12, "translate");
|
|
559
|
+
i0.ɵɵelementEnd()()();
|
|
560
|
+
i0.ɵɵtemplate(13, OgcFilterFormComponent_mat_form_field_13_Template, 13, 22, "mat-form-field", 4);
|
|
561
|
+
i0.ɵɵpipe(14, "async");
|
|
562
|
+
i0.ɵɵpipe(15, "async");
|
|
563
|
+
i0.ɵɵpipe(16, "async");
|
|
564
|
+
i0.ɵɵpipe(17, "async");
|
|
565
|
+
i0.ɵɵelementStart(18, "mat-form-field", 5);
|
|
566
|
+
i0.ɵɵpipe(19, "async");
|
|
567
|
+
i0.ɵɵpipe(20, "async");
|
|
568
|
+
i0.ɵɵelementStart(21, "mat-select", 6);
|
|
569
|
+
i0.ɵɵlistener("selectionChange", function OgcFilterFormComponent_Template_mat_select_selectionChange_21_listener($event) { return ctx.changeOperator($event.value); });
|
|
570
|
+
i0.ɵɵpipe(22, "translate");
|
|
571
|
+
i0.ɵɵpipe(23, "translate");
|
|
572
|
+
i0.ɵɵtemplate(24, OgcFilterFormComponent_mat_option_24_Template, 4, 7, "mat-option", 7);
|
|
573
|
+
i0.ɵɵpipe(25, "keyvalue");
|
|
574
|
+
i0.ɵɵpipe(26, "async");
|
|
575
|
+
i0.ɵɵelementEnd()();
|
|
576
|
+
i0.ɵɵtemplate(27, OgcFilterFormComponent_mat_form_field_27_Template, 3, 3, "mat-form-field", 8);
|
|
577
|
+
i0.ɵɵpipe(28, "async");
|
|
578
|
+
i0.ɵɵtemplate(29, OgcFilterFormComponent_mat_form_field_29_Template, 8, 12, "mat-form-field", 9);
|
|
579
|
+
i0.ɵɵelementStart(30, "div", 10)(31, "button", 11);
|
|
580
|
+
i0.ɵɵlistener("click", function OgcFilterFormComponent_Template_button_click_31_listener() { return ctx.deleteFilter(); });
|
|
581
|
+
i0.ɵɵpipe(32, "translate");
|
|
582
|
+
i0.ɵɵelement(33, "mat-icon", 12);
|
|
583
|
+
i0.ɵɵelementEnd()();
|
|
584
|
+
i0.ɵɵtemplate(34, OgcFilterFormComponent_mat_form_field_34_Template, 4, 7, "mat-form-field", 13);
|
|
585
|
+
i0.ɵɵpipe(35, "async");
|
|
586
|
+
i0.ɵɵtemplate(36, OgcFilterFormComponent_ng_container_36_Template, 2, 1, "ng-container", 14);
|
|
587
|
+
i0.ɵɵpipe(37, "async");
|
|
588
|
+
i0.ɵɵelement(38, "br");
|
|
589
|
+
i0.ɵɵtemplate(39, OgcFilterFormComponent_mat_form_field_39_Template, 8, 11, "mat-form-field", 15);
|
|
590
|
+
i0.ɵɵtemplate(40, OgcFilterFormComponent_mat_form_field_40_Template, 8, 11, "mat-form-field", 15);
|
|
591
|
+
i0.ɵɵtemplate(41, OgcFilterFormComponent_igo_ogc_filter_time_41_Template, 1, 2, "igo-ogc-filter-time", 16);
|
|
592
|
+
} if (rf & 2) {
|
|
593
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 27, "igo.geo.filter.toggleFilterState"))("checked", ctx.currentFilter.active);
|
|
594
|
+
i0.ɵɵadvance(2);
|
|
595
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(67, _c0, ctx.activeFilters.indexOf(ctx.currentFilter) !== 0 && ctx.currentFilter.active === true, ctx.activeFilters.indexOf(ctx.currentFilter) === 0 || ctx.currentFilter.active !== true));
|
|
596
|
+
i0.ɵɵadvance(1);
|
|
597
|
+
i0.ɵɵproperty("disabled", !ctx.currentFilter.active)("value", ctx.currentFilter.parentLogical)("matTooltip", ctx.currentFilter.parentLogical ? i0.ɵɵpipeBind1(4, 29, "igo.geo.operators.tooltip." + ctx.currentFilter.parentLogical) : "");
|
|
598
|
+
i0.ɵɵadvance(2);
|
|
599
|
+
i0.ɵɵproperty("value", ctx.ogcFilterOperator.And)("matTooltip", i0.ɵɵpipeBind1(6, 31, "igo.geo.operators.tooltip.And"));
|
|
600
|
+
i0.ɵɵadvance(2);
|
|
601
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 33, "igo.geo.operators.And"), " ");
|
|
602
|
+
i0.ɵɵadvance(2);
|
|
603
|
+
i0.ɵɵproperty("value", ctx.ogcFilterOperator.Or)("matTooltip", i0.ɵɵpipeBind1(10, 35, "igo.geo.operators.tooltip.Or"));
|
|
604
|
+
i0.ɵɵadvance(2);
|
|
605
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(12, 37, "igo.geo.operators.Or"), " ");
|
|
606
|
+
i0.ɵɵadvance(2);
|
|
607
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(14, 39, ctx.currentFilterIsSpatial$) === false && i0.ɵɵpipeBind1(15, 41, ctx.fields$) && i0.ɵɵpipeBind1(16, 43, ctx.fields$).length > 0 && i0.ɵɵpipeBind1(17, 45, ctx.fields$)[0].name !== "");
|
|
608
|
+
i0.ɵɵadvance(5);
|
|
609
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(70, _c1, i0.ɵɵpipeBind1(19, 47, ctx.currentFilterIsSpatial$) === false, i0.ɵɵpipeBind1(20, 49, ctx.currentFilterIsSpatial$)))("floatLabel", ctx.floatLabel);
|
|
610
|
+
i0.ɵɵadvance(3);
|
|
611
|
+
i0.ɵɵproperty("matTooltip", ctx.currentFilter.operator ? i0.ɵɵpipeBind1(22, 51, "igo.geo.operators.tooltip." + ctx.currentFilter.operator) : i0.ɵɵpipeBind1(23, 53, "igo.geo.filter.selectOperator"))("disabled", !ctx.currentFilter.active)("value", ctx.currentFilter.operator);
|
|
612
|
+
i0.ɵɵadvance(3);
|
|
613
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(25, 55, i0.ɵɵpipeBind1(26, 57, ctx.ogcFilterOperators$)));
|
|
614
|
+
i0.ɵɵadvance(3);
|
|
615
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(28, 59, ctx.currentFilterIsSpatial$));
|
|
616
|
+
i0.ɵɵadvance(2);
|
|
617
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpureFunction0(73, _c2).indexOf(ctx.detectProperty()) !== -1);
|
|
618
|
+
i0.ɵɵadvance(2);
|
|
619
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(32, 61, "igo.geo.filter.removeFilter"));
|
|
620
|
+
i0.ɵɵadvance(3);
|
|
621
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(35, 63, ctx.currentFilterIsSpatial$) && ctx.currentFilter.igoSpatialSelector === "snrc");
|
|
622
|
+
i0.ɵɵadvance(2);
|
|
623
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(37, 65, ctx.currentFilterIsSpatial$) && ctx.currentFilter.igoSpatialSelector === "fixedExtent");
|
|
624
|
+
i0.ɵɵadvance(3);
|
|
625
|
+
i0.ɵɵproperty("ngIf", !ctx.isTemporalOperator() && i0.ɵɵpureFunction0(74, _c3).indexOf(ctx.detectProperty(1)) !== -1);
|
|
626
|
+
i0.ɵɵadvance(1);
|
|
627
|
+
i0.ɵɵproperty("ngIf", !ctx.isTemporalOperator() && i0.ɵɵpureFunction0(75, _c4).indexOf(ctx.detectProperty(2)) !== -1);
|
|
628
|
+
i0.ɵɵadvance(1);
|
|
629
|
+
i0.ɵɵproperty("ngIf", ctx.isTemporalOperator());
|
|
630
|
+
} }, styles: ["[_nghost-%COMP%]{width:100%;padding:5px 10px} .mat-form-field .mat-icon svg{width:1em;height:1em;color:#d3d3d3}.mat-form-field[_ngcontent-%COMP%]{width:100%}.mat-select-arrow[_ngcontent-%COMP%]{visibility:hidden}.mat-slide-toggle[_ngcontent-%COMP%]{margin-top:10px}.logical[_ngcontent-%COMP%]{flex-flow:column nowrap;width:10%;max-width:45px;margin-left:5px}.logicalHidden[_ngcontent-%COMP%]{flex-flow:column nowrap;width:10%;visibility:hidden;max-width:45px;margin-left:5px} .logical .mat-select-arrow{visibility:hidden} .logicalHidden .mat-select-arrow{visibility:hidden}.field[_ngcontent-%COMP%]{width:20%} .field .mat-select-arrow{visibility:hidden}.operator[_ngcontent-%COMP%]{width:12%;margin-left:10px;text-align:center} .operator .mat-select-arrow{visibility:hidden}.spatialSelector[_ngcontent-%COMP%]{width:15%;margin-left:5px} .spatialSelector .mat-select-arrow{visibility:hidden}.singleInput[_ngcontent-%COMP%]{width:30%;margin-left:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.singleInput[_ngcontent-%COMP%]{width:27%}}.snrc[_ngcontent-%COMP%]{width:20%;margin-left:5px} .singleInput .mat-select-arrow{visibility:hidden}.dualInput[_ngcontent-%COMP%]{width:20%;margin-left:5px} .dualInput .mat-select-arrow{visibility:hidden}.igo-layer-button-group[_ngcontent-%COMP%]{display:flex;float:right;padding-top:5px}.container[_ngcontent-%COMP%]{display:flex}"] });
|
|
631
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OgcFilterFormComponent, [{
|
|
632
|
+
type: Component,
|
|
633
|
+
args: [{ selector: 'igo-ogc-filter-form', template: "<mat-checkbox\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.toggleFilterState' | translate\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleFilterState($event)\"\n [checked]=\"currentFilter.active\">\n</mat-checkbox>\n\n<mat-form-field\n [ngClass]=\"{'logical': activeFilters.indexOf(currentFilter) !== 0 && currentFilter.active===true, 'logicalHidden': activeFilters.indexOf(currentFilter) === 0 || currentFilter.active!==true}\">\n <mat-select\n [disabled]=\"!currentFilter.active\"\n [value]=\"currentFilter.parentLogical\"\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"currentFilter.parentLogical ? (('igo.geo.operators.tooltip.'+ currentFilter.parentLogical) | translate) : ''\"\n (selectionChange)=\"changeLogical($event.value)\">\n <mat-option\n [value]=ogcFilterOperator.And\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.operators.tooltip.And' | translate\">\n {{'igo.geo.operators.And' | translate}}\n </mat-option>\n <mat-option\n [value]=ogcFilterOperator.Or\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.operators.tooltip.Or' | translate\">\n {{'igo.geo.operators.Or' | translate}}\n </mat-option>\n </mat-select>\n</mat-form-field>\n\n<mat-form-field\n class=\"field\"\n *ngIf=\"(currentFilterIsSpatial$ | async)===false && (fields$ | async) && (fields$| async).length > 0 && (fields$| async)[0].name !== ''\"\n (mouseenter)=\"inputClearable = 'selectField'\"\n (mouseleave)=\"inputClearable = undefined\"\n [floatLabel]=\"floatLabel\">\n <input\n matInput\n [placeholder]=\"'igo.geo.sourceFields.selectField' | translate\"\n [disabled]=\"!currentFilter.active\"\n [matAutocomplete]=\"autoCompleteField\"\n [value]=\"(selectedField$ | async) ? (selectedField$ | async).alias : ''\"\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"(selectedField$ | async) ? (selectedField$ | async).alias : ('igo.geo.sourceFields.selectField' | translate)\"\n (input)=\"updateFieldsList($event.target.value)\">\n <mat-autocomplete #autoCompleteField=\"matAutocomplete\"\n (optionSelected)='changeField($event.option.id)'>\n <mat-option\n *ngFor=\"let field of filteredFields$ | async\"\n matTooltipShowDelay=\"500\"\n [value]=\"field.alias\"\n [id]=\"field.name\"\n [matTooltip]=\"field.alias\">\n {{field.alias}}\n </mat-option>\n </mat-autocomplete>\n <button mat-button\n *ngIf=\"currentFilter.propertyName && inputClearable === 'selectField' && currentFilter.active\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n [disabled]=\"!currentFilter.active\"\n (click)=\"clearSelectedField()\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n</mat-form-field>\n\n\n<mat-form-field\n [ngClass]=\"{'operator': (currentFilterIsSpatial$ | async)===false , 'dualInput': (currentFilterIsSpatial$ | async)}\"\n [floatLabel]=\"floatLabel\">\n <mat-select\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"currentFilter.operator ? (('igo.geo.operators.tooltip.'+ currentFilter.operator) | translate) : ('igo.geo.filter.selectOperator' | translate)\"\n [disabled]=\"!currentFilter.active\"\n [value]=\"currentFilter.operator\"\n (selectionChange)=\"changeOperator($event.value)\">\n <mat-option\n *ngFor=\"let operator of (ogcFilterOperators$ | async) | keyvalue\"\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [value]=\"operator.key\"\n [matTooltip]=\"('igo.geo.operators.tooltip.'+ operator.key) | translate\">\n {{('igo.geo.operators.'+ operator.key) | translate}}\n </mat-option>\n </mat-select>\n</mat-form-field>\n\n<mat-form-field\nclass=\"spatialSelector\"\n*ngIf=\"currentFilterIsSpatial$ | async\">\n <mat-select\n [disabled]=\"!currentFilter.active\"\n [value]=\"currentFilter.igoSpatialSelector\"\n (selectionChange)=\"changeSpatialSelector($event.value)\">\n <mat-option\n *ngFor=\"let igoSpatialSelector of igoSpatialSelectors\"\n [value]=\"igoSpatialSelector.type\">\n {{('igo.geo.spatialSelector.'+ igoSpatialSelector.type) | translate}}\n </mat-option>\n </mat-select>\n</mat-form-field>\n\n<mat-form-field\nclass=\"singleInput\"\n*ngIf=\"['expression','pattern'].indexOf(detectProperty()) !== -1\"\n(mouseenter)=\"inputClearable = 'selectProperty'\"\n(mouseleave)=\"inputClearable = undefined\"\n[floatLabel]=\"floatLabel\">\n <input\n matInput\n [placeholder]=\"'igo.geo.filter.placeholder' | translate\"\n [disabled]=\"!currentFilter.active\"\n [matAutocomplete]=\"autoCompleteValues\"\n [value]=\"detectProperty() === 'expression' ? currentFilter.expression : currentFilter.pattern\"\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"detectProperty() === 'expression' ? currentFilter.expression || '' : currentFilter.pattern || ''\"\n (input)=\"updateValuesList($event.target.value)\">\n <mat-autocomplete #autoCompleteValues=\"matAutocomplete\"\n (optionSelected)=\"changeProperty($event.option.value)\">\n <mat-option\n *ngFor=\"let value of filteredValues$ | async\"\n matTooltipShowDelay=\"500\"\n [value]=\"value\"\n [matTooltip]=\"value\">\n {{value}}\n </mat-option>\n </mat-autocomplete>\n <button mat-button\n *ngIf=\"isClearable() && inputClearable === 'selectProperty' && currentFilter.active\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n [disabled]=\"!currentFilter.active\"\n (click)=\"clearProperty()\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n</mat-form-field>\n\n<div class=\"igo-layer-button-group\">\n <button\n mat-icon-button\n collapsibleButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.filter.removeFilter' | translate\"\n color=\"warn\"\n (click)=\"deleteFilter()\">\n <mat-icon svgIcon=\"delete\"></mat-icon>\n </button>\n</div>\n\n<mat-form-field\nclass=\"snrc\"\n*ngIf=\"(currentFilterIsSpatial$ | async) && currentFilter.igoSpatialSelector === 'snrc'\"\n(mouseenter)=\"inputClearable = 'selectSNRC'\"\n(mouseleave)=\"inputClearable = undefined\"\n[floatLabel]=\"floatLabel\">\n <input\n matInput\n [placeholder]=\"'igo.geo.filter.placeholderSnrc' | translate\"\n [value]=\"currentFilter.igoSNRC\"\n tooltip-position=\"above\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"currentFilter.igoSNRC ? currentFilter.igoSNRC : ''\"\n (input)=\"changeSNRC($event.target.value)\">\n <button\n mat-button\n *ngIf=\"currentFilter.igoSNRC\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n [disabled]=\"!currentFilter.active && inputClearable === 'selectSNRC' && currentFilter.active\"\n (click)=\"currentFilter.igoSNRC=''\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n </mat-form-field>\n\n <ng-container *ngIf=\"(currentFilterIsSpatial$ | async) && currentFilter.igoSpatialSelector === 'fixedExtent'\">\n <button\n mat-button\n [disabled]=\"!currentFilter.active\"\n *ngIf=\"currentFilter.igoSpatialSelector === 'fixedExtent'\"\n matSuffix\n mat-icon-button\n [disabled]=\"!currentFilter.active\"\n (click)=\"changeMapExtentGeometry()\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.spatialSelector.btnSetExtent' | translate\">\n <mat-icon svgIcon=\"arrow-expand-all\"></mat-icon>\n </button>\n</ng-container>\n\n<br/>\n\n<mat-form-field\nclass=\"dualInput\"\n*ngIf=\"!isTemporalOperator() && ['lowerBoundary','begin'].indexOf(detectProperty(1)) !== -1\"\n(mouseenter)=\"inputClearable = 'selectProperty1'\"\n(mouseleave)=\"inputClearable = undefined\"\n[floatLabel]=\"floatLabel\">\n <input\n matInput\n [placeholder]=\"'igo.geo.filter.placeholder' | translate\"\n [disabled]=\"!currentFilter.active\"\n [matAutocomplete]=\"autoDualValueOperator1\"\n type=\"number\"\n [value]=\"detectProperty(1) === 'lowerBoundary' ? currentFilter.lowerBoundary : currentFilter.begin\"\n (input)=\"updateValuesList($event.target.value,1)\">\n <mat-autocomplete #autoDualValueOperator1=\"matAutocomplete\"\n (optionSelected)=\"changeNumericProperty($event.option.value,1)\">\n <mat-option\n *ngFor=\"let value of filteredValues$ | async\"\n matTooltipShowDelay=\"500\"\n [value]=\"value\"\n [matTooltip]=\"value\">\n {{value}}\n </mat-option>\n </mat-autocomplete>\n <button mat-button\n *ngIf=\"isClearable(1) && inputClearable === 'selectProperty1' && currentFilter.active\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n [disabled]=\"!currentFilter.active\"\n (click)=\"clearProperty(1)\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n</mat-form-field>\n\n<mat-form-field\n class=\"dualInput\"\n *ngIf=\"!isTemporalOperator() && ['upperBoundary','end'].indexOf(detectProperty(2)) !== -1\"\n (mouseenter)=\"inputClearable = 'selectProperty2'\"\n (mouseleave)=\"inputClearable = undefined\"\n [floatLabel]=\"floatLabel\">\n <input\n matInput\n [placeholder]=\"'igo.geo.filter.placeholder' | translate\"\n [disabled]=\"!currentFilter.active\"\n [matAutocomplete]=\"autoDualValueOperator2\"\n type=\"number\"\n [value]=\"detectProperty(2) === 'upperBoundary' ? currentFilter.upperBoundary : currentFilter.end\"\n (input)=\"updateValuesList($event.target.value,2)\">\n <mat-autocomplete #autoDualValueOperator2=\"matAutocomplete\"\n (optionSelected)=\"changeNumericProperty($event.option.value,2)\">\n <mat-option\n *ngFor=\"let value of filteredValues$ | async\"\n matTooltipShowDelay=\"500\"\n [value]=\"value\"\n [matTooltip]=\"value\">\n {{value}}\n </mat-option>\n </mat-autocomplete>\n <button mat-button\n *ngIf=\"isClearable(2) && inputClearable === 'selectProperty2' && currentFilter.active\"\n matSuffix\n mat-icon-button\n aria-label=\"Clear\"\n [disabled]=\"!currentFilter.active\"\n (click)=\"clearProperty(2)\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n </button>\n</mat-form-field>\n\n<igo-ogc-filter-time *ngIf=\"isTemporalOperator()\"\n [(datasource)]=\"datasource\"\n [(currentFilter)]=\"currentFilter\"\n (changeProperty)=\"changeProperty($event.value, $event.pos)\">\n</igo-ogc-filter-time>\n\n<!--\nTODO C'EST PERTINENT je crois\n<mat-form-field class=\"field\" *ngIf=\"!(currentFilterIsSpatial$ | async) && (fields$| async) && (fields$| async).length === 1 && (fields$| async)[0].name === ''\">\n<input [disabled]=\"!currentFilter.active\" matInput #fieldPerUser (keyup)=\"changeProperty(currentFilter,'propertyName',fieldPerUser.value)\"\n (blur)=\"changeProperty(currentFilter,'propertyName',fieldPerUser.value)\" [(ngModel)]=\"currentFilter.propertyName\">\n<button mat-button *ngIf=\"currentFilter.propertyName\" matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"currentFilter.propertyName=''\">\n <mat-icon svgIcon=\"close\"></mat-icon>\n</button>\n</mat-form-field>\n\n\n\n<mat-checkbox labelPosition='before' (change)=\"changeCaseSensitive($event)\" [(ngModel)]=\"currentFilter.matchCase\">\n {{('igo.geo.operators.caseSensitive') | translate}}\n</mat-checkbox>\n\n</mat-list-item> -->\n", styles: [":host{width:100%;padding:5px 10px}::ng-deep .mat-form-field .mat-icon svg{width:1em;height:1em;color:#d3d3d3}.mat-form-field{width:100%}.mat-select-arrow{visibility:hidden}.mat-slide-toggle{margin-top:10px}.logical{flex-flow:column nowrap;width:10%;max-width:45px;margin-left:5px}.logicalHidden{flex-flow:column nowrap;width:10%;visibility:hidden;max-width:45px;margin-left:5px}::ng-deep .logical .mat-select-arrow{visibility:hidden}::ng-deep .logicalHidden .mat-select-arrow{visibility:hidden}.field{width:20%}::ng-deep .field .mat-select-arrow{visibility:hidden}.operator{width:12%;margin-left:10px;text-align:center}::ng-deep .operator .mat-select-arrow{visibility:hidden}.spatialSelector{width:15%;margin-left:5px}::ng-deep .spatialSelector .mat-select-arrow{visibility:hidden}.singleInput{width:30%;margin-left:5px}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){.singleInput{width:27%}}.snrc{width:20%;margin-left:5px}::ng-deep .singleInput .mat-select-arrow{visibility:hidden}.dualInput{width:20%;margin-left:5px}::ng-deep .dualInput .mat-select-arrow{visibility:hidden}.igo-layer-button-group{display:flex;float:right;padding-top:5px}.container{display:flex}\n"] }]
|
|
634
|
+
}], function () { return [{ type: i1.WktService }]; }, { refreshFilters: [{
|
|
635
|
+
type: Input
|
|
636
|
+
}], datasource: [{
|
|
637
|
+
type: Input
|
|
638
|
+
}], map: [{
|
|
639
|
+
type: Input
|
|
640
|
+
}], currentFilter: [{
|
|
641
|
+
type: Input
|
|
642
|
+
}], floatLabel: [{
|
|
643
|
+
type: Input
|
|
644
|
+
}] }); })();
|
|
645
645
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2djLWZpbHRlci1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZpbHRlci9vZ2MtZmlsdGVyLWZvcm0vb2djLWZpbHRlci1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZpbHRlci9vZ2MtZmlsdGVyLWZvcm0vb2djLWZpbHRlci1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxlQUFlLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTXZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUlqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7OztJQ3lDcEUsc0NBSzZCO0lBQzNCLFlBQ0Y7SUFBQSxpQkFBYTs7O0lBSlgsdUNBQXFCLHNCQUFBLCtCQUFBO0lBR3JCLGVBQ0Y7SUFERSxnREFDRjs7OztJQUVGLGtDQU1pQztJQUEvQiw0TEFBUyxlQUFBLDRCQUFvQixDQUFBLElBQUM7SUFDMUIsK0JBQXFDO0lBQzNDLGlCQUFTOzs7SUFIUCx3REFBa0M7Ozs7SUFoQ3RDLDBDQUs0QjtJQUYxQiwyT0FBK0IsYUFBYSxLQUFDLDhOQUNkLFNBQVMsS0FESztJQUc3QyxpQ0FTZ0Q7SUFBaEQsc0xBQVMsZUFBQSw2Q0FBcUMsQ0FBQSxJQUFDOzs7Ozs7O0lBVC9DLGlCQVNnRDtJQUNoRCxnREFDaUQ7SUFBakQsbU5BQWtCLGVBQUEscUNBQTZCLENBQUEsSUFBQztJQUM5QywwR0FPYTs7SUFDZixpQkFBbUI7SUFDbkIsa0dBUVM7SUFDWCxpQkFBaUI7Ozs7SUEvQmYsOENBQXlCO0lBR3pCLGVBQThE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LEtBQUs7WUFFRyxVQUFVO2tCQUFsQixLQUFLO1lBRUcsR0FBRztrQkFBWCxLQUFLO1lBRUcsYUFBYTtrQkFBckIsS0FBSztZQXNCRyxVQUFVO2tCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGbG9hdExhYmVsVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZSxcbiAgT2djRmlsdGVyc09wdGlvbnNcbn0gZnJvbSAnLi4vLi4vZmlsdGVyL3NoYXJlZC9vZ2MtZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPZ2NGaWx0ZXJXcml0ZXIgfSBmcm9tICcuLi8uLi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXInO1xuaW1wb3J0IHsgV2t0U2VydmljZSB9IGZyb20gJy4uLy4uL3drdC9zaGFyZWQvd2t0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwJztcbmltcG9ydCB7IFNvdXJjZUZpZWxkc09wdGlvbnNQYXJhbXMgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPZ2NGaWx0ZXJPcGVyYXRvciB9IGZyb20gJy4uLy4uL2ZpbHRlci9zaGFyZWQvb2djLWZpbHRlci5lbnVtJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLW9nYy1maWx0ZXItZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9vZ2MtZmlsdGVyLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vZ2MtZmlsdGVyLWZvcm0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBPZ2NGaWx0ZXJGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgb2djRmlsdGVyT3BlcmF0b3IgPSBPZ2NGaWx0ZXJPcGVyYXRvcjtcbiAgZmlsdGVyZWRWYWx1ZXMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcbiAgZmlsdGVyZWRGaWVsZHMkOiBPYnNlcnZhYmxlPFNvdXJjZUZpZWxkc09wdGlvbnNQYXJhbXNbXT47XG4gIHB1YmxpYyBhbGxPZ2NGaWx0ZXJPcGVyYXRvcnM7XG4gIHB1YmxpYyBvZ2NGaWx0ZXJPcGVyYXRvcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IFtrZXk6IHN0cmluZ106IGFueSB9PihcbiAgICB1bmRlZmluZWRcbiAgKTtcbiAgcHVibGljIGlnb1NwYXRpYWxTZWxlY3RvcnM7XG4gIHB1YmxpYyB2YWx1ZSA9ICcnO1xuICBwdWJsaWMgaW5wdXRPcGVyYXRvcjtcbiAgcHVibGljIHNlbGVjdGVkRmllbGQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTb3VyY2VGaWVsZHNPcHRpb25zUGFyYW1zPihcbiAgICB1bmRlZmluZWRcbiAgKTtcbiAgcHVibGljIGZpZWxkcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNvdXJjZUZpZWxkc09wdGlvbnNQYXJhbXNbXT4oW10pO1xuICBwdWJsaWMgY29sb3IgPSAncHJpbWFyeSc7XG4gIHB1YmxpYyBkaXNhYmxlZDtcbiAgcHVibGljIGN1cnJlbnRGaWx0ZXJJc1NwYXRpYWwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyBkZWZhdWx0U3RlcE1pbGxpc2Vjb25kID0gNjAwMDtcbiAgcHVibGljIGlucHV0Q2xlYXJhYmxlOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgcmVmcmVzaEZpbHRlcnM6ICgpID0+IHZvaWQ7XG5cbiAgQElucHV0KCkgZGF0YXNvdXJjZTogT2djRmlsdGVyYWJsZURhdGFTb3VyY2U7XG5cbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XG5cbiAgQElucHV0KCkgY3VycmVudEZpbHRlcjogYW55O1xuXG4gIHNldCBzbnJjKHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBjaGVja1NOUkM1MGsgPSAvXlxcZHsyfVthLWxdWzAsMV1bMC05XSQvZ2k7XG4gICAgY29uc3QgY2hlY2tTTlJDMjUwayA9IC9eXFxkezJ9W2EtcF0kL2dpO1xuICAgIGNvbnN0IGNoZWNrU05SQzFtID0gL15cXGR7Mn0kL2dpO1xuICAgIGlmIChcbiAgICAgIGNoZWNrU05SQzFtLnRlc3QodmFsdWUpIHx8XG4gICAgICBjaGVja1NOUkMyNTBrLnRlc3QodmFsdWUpIHx8XG4gICAgICBjaGVja1NOUkM1MGsudGVzdCh2YWx1ZSlcbiAgICApIHtcbiAgICAgIHRoaXMuX3NucmMgPSB2YWx1ZTtcbiAgICAgIHRoaXMuY3VycmVudEZpbHRlci5pZ29TTlJDID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHNucmMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fc25yYztcbiAgfVxuXG4gIHByaXZhdGUgX3NucmMgPSAnJztcblxuICBASW5wdXQoKSBmbG9hdExhYmVsOiBGbG9hdExhYmVsVHlwZSA9ICduZXZlcic7XG5cbiAgZ2V0IGFjdGl2ZUZpbHRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnMuaW50ZXJmYWNlT2djRmlsdGVycy5maWx0ZXIoXG4gICAgICAoZikgPT4gZi5hY3RpdmUgPT09IHRydWVcbiAgICApO1xuICB9XG5cbiAgZ2V0IGFsbG93ZWRPcGVyYXRvcnMoKSB7XG4gICAgcmV0dXJuIG5ldyBPZ2NGaWx0ZXJXcml0ZXIoKS5jb21wdXRlQWxsb3dlZE9wZXJhdG9ycyhcbiAgICAgIHRoaXMuZmllbGRzJC52YWx1ZSxcbiAgICAgIHRoaXMuY3VycmVudEZpbHRlci5wcm9wZXJ0eU5hbWUsXG4gICAgICB0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucy5vZ2NGaWx0ZXJzLmFsbG93ZWRPcGVyYXRvcnNUeXBlXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgd2t0U2VydmljZTogV2t0U2VydmljZSkge1xuICAgIC8vIFRPRE86IEZpbHRlciBwZXJtaXR0ZWQgb3BlcmF0b3IgYmFzZWQgb24gd2ZzY2FwYWJpbGl0aWVzXG4gICAgLy8gTmVlZCB0byB3b3JrIG9uIHJlZ2V4IG9uIFhNTCBjYXBhYmlsaXRpZXMgYmVjYXVzZVxuICAgIC8vIGNvbWFwYXJpc29uIG9wZXJhdG9yJ3MgbmFtZSB2YXJpZXMgYmV0d2VlbiBXRlMgc2VydmVycy4uLlxuICAgIC8vIEV4OiBJc051bGwgdnMgUHJvcGVydHlJc051bGwgdnMgSXNOaWwgLi4uXG4gICAgdGhpcy5hbGxPZ2NGaWx0ZXJPcGVyYXRvcnMgPSBuZXcgT2djRmlsdGVyV3JpdGVyKCkub3BlcmF0b3JzO1xuICAgIHRoaXMub2djRmlsdGVyT3BlcmF0b3JzJC5uZXh0KHRoaXMuYWxsT2djRmlsdGVyT3BlcmF0b3JzKTtcbiAgICB0aGlzLmlnb1NwYXRpYWxTZWxlY3RvcnMgPSBbXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdmaXhlZEV4dGVudCdcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdzbnJjJ1xuICAgICAgfVxuICAgIF07XG4gICAgLy8gVE9ETzogc2VsZWN0RmVhdHVyZSAmIGRyYXdGZWF0dXJlXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcblxuICAgIGlmICggdGhpcy5kYXRhc291cmNlLm9wdGlvbnMuc291cmNlRmllbGRzKSB7XG4gICAgICBjb25zdCBzRmllbGRzID0gdGhpcy5kYXRhc291cmNlLm9wdGlvbnMuc291cmNlRmllbGRzLmZpbHRlcihcbiAgICAgICAgKHNmKSA9PlxuICAgICAgICAgIHNmLmV4Y2x1ZGVGcm9tT2djRmlsdGVycyA9PT0gdW5kZWZpbmVkIHx8ICFzZi5leGNsdWRlRnJvbU9nY0ZpbHRlcnNcbiAgICAgICk7XG4gICAgICBzRmllbGRzLm1hcCgoc2ZzKSA9PiB7XG4gICAgICAgIGlmIChzZnMudmFsdWVzKSB7XG4gICAgICAgICAgc2ZzLnZhbHVlcy5zb3J0KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5maWVsZHMkLm5leHQoc0ZpZWxkcyk7XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVGaWVsZHNMaXN0KCk7XG4gICAgdGhpcy5zZWxlY3RlZEZpZWxkJC5uZXh0KFxuICAgICAgdGhpcy5maWVsZHMkLnZhbHVlLmZpbmQoKGYpID0+IGYubmFtZSA9PT0gdGhpcy5jdXJyZW50RmlsdGVyLnByb3BlcnR5TmFtZSlcbiAgICApO1xuICAgIHRoaXMudXBkYXRlVmFsdWVzTGlzdCgpO1xuICAgIHRoaXMuc2VsZWN0ZWRGaWVsZCQuc3Vic2NyaWJlKChmKSA9PiB7XG4gICAgICB0aGlzLm9nY0ZpbHRlck9wZXJhdG9ycyQubmV4dCh0aGlzLmFsbG93ZWRPcGVyYXRvcnMpO1xuICAgICAgaWYgKFxuICAgICAgICBPYmplY3Qua2V5cyh0aGlzLmFsbG93ZWRPcGVyYXRvcnMpLmluZGV4T2YoXG4gICAgICAgICAgdGhpcy5jdXJyZW50RmlsdGVyLm9wZXJhdG9yXG4gICAgICAgICkgPT09IC0xXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5jdXJyZW50RmlsdGVyLm9wZXJhdG9yID0gT2JqZWN0LmtleXModGhpcy5hbGxvd2VkT3BlcmF0b3JzKVswXTtcbiAgICAgICAgdGhpcy5jdXJyZW50RmlsdGVyLm9wZXJhdG9yID0gT2JqZWN0LmtleXModGhpcy5hbGxvd2VkT3BlcmF0b3JzKVswXTtcbiAgICAgIH1cbiAgICAgIHRoaXMudXBkYXRlVmFsdWVzTGlzdCgpO1xuICAgIH0pO1xuICAgIHRoaXMuY3VycmVudEZpbHRlcklzU3BhdGlhbCgpO1xuICB9XG5cbiAgdXBkYXRlRmllbGRzTGlzdCh2YWx1ZT86IHN0cmluZykge1xuICAgIHRoaXMuZmlsdGVyZWRGaWVsZHMkID1cbiAgICAgIHZhbHVlICYmIHZhbHVlLmxlbmd0aCA+IDAgPyBvZih0aGlzLl9maWx0ZXJGaWVsZHModmFsdWUpKSA6IHRoaXMuZmllbGRzJDtcbiAgICBpZiAodGhpcy5maWVsZHMkLnZhbHVlLmZpbmQoKGYpID0+IGYubmFtZSA9PT0gdmFsdWUpKSB7XG4gICAgICB0aGlzLmNoYW5nZUZpZWxkKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVWYWx1ZXNMaXN0KHZhbHVlPzogc3RyaW5nLCBwb3M/OiBudW1iZXIpIHtcbiAgICB0aGlzLmZpbHRlcmVkVmFsdWVzJCA9XG4gICAgICB2YWx1ZSAmJiB2YWx1ZS5sZW5ndGggPiAwXG4gICAgICAgID8gb2YodGhpcy5fZmlsdGVyVmFsdWVzKHZhbHVlKSlcbiAgICAgICAgOiB0aGlzLnNlbGVjdGVkRmllbGQkLnZhbHVlXG4gICAgICAgID8gb2YodGhpcy5zZWxlY3RlZEZpZWxkJC52YWx1ZS52YWx1ZXMpXG4gICAgICAgIDogb2YoW10pO1xuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5sZW5ndGggPj0gMSkge1xuICAgICAgdGhpcy5jaGFuZ2VQcm9wZXJ0eSh2YWx1ZSwgcG9zKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9maWx0ZXJGaWVsZHModmFsdWU6IHN0cmluZyk6IFNvdXJjZUZpZWxkc09wdGlvbnNQYXJhbXNbXSB7XG4gICAgY29uc3Qga2V5d29yZFJlZ2V4ID0gbmV3IFJlZ0V4cChcbiAgICAgIHZhbHVlLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpLFxuICAgICAgJ2dpJ1xuICAgICk7XG4gICAgcmV0dXJuIHRoaXMuZmllbGRzJC52YWx1ZS5maWx0ZXIoKHZhbCkgPT5cbiAgICAgIGtleXdvcmRSZWdleC50ZXN0KFxuICAgICAgICB2YWwuYWxpYXMubm9ybWFsaXplKCdORkQnKS5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJylcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmlsdGVyVmFsdWVzKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qga2V5d29yZFJlZ2V4ID0gbmV3IFJlZ0V4cChcbiAgICAgIHZhbHVlXG4gICAgICAgIC50b1N0cmluZygpXG4gICAgICAgIC5ub3JtYWxpemUoJ05GRCcpXG4gICAgICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyksXG4gICAgICAnZ2knXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEZpZWxkJC52YWx1ZS52YWx1ZXMuZmlsdGVyKCh2YWwpID0+XG4gICAgICB2YWwgJiYga2V5d29yZFJlZ2V4LnRlc3QoXG4gICAgICAgIHZhbFxuICAgICAgICAgIC50b1N0cmluZygpXG4gICAgICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcbiAgICAgICAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGNsZWFyU2VsZWN0ZWRGaWVsZCgpIHtcbiAgICB0aGlzLmN1cnJlbnRGaWx0ZXIucHJvcGVydHlOYW1lID0gJyc7XG4gICAgdGhpcy5zZWxlY3RlZEZpZWxkJC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgdGhpcy5jbGVhclByb3BlcnR5KCk7XG4gIH1cblxuICBpc0NsZWFyYWJsZShwb3M/OiBudW1iZXIpIHtcbiAgICBjb25zdCBkZXRlY3RlZFByb3BlcnR5ID0gdGhpcy5kZXRlY3RQcm9wZXJ0eShwb3MpO1xuICAgIGlmIChkZXRlY3RlZFByb3BlcnR5KSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXJyZW50RmlsdGVyW2RldGVjdGVkUHJvcGVydHldO1xuICAgIH1cbiAgfVxuICBjbGVhclByb3BlcnR5KHBvcz86IG51bWJlcikge1xuICAgIC8vIHRoaXMuYXV0b0NvbXBsZXRlSW5wdXRWYWx1ZXMuY2xvc2VQYW5lbCgpO1xuICAgIGNvbnN0IGRldGVjdGVkUHJvcGVydHkgPSB0aGlzLmRldGVjdFByb3BlcnR5KHBvcyk7XG4gICAgaWYgKGRldGVjdGVkUHJvcGVydHkpIHtcbiAgICAgIHJldHVybiAodGhpcy5jdXJyZW50RmlsdGVyW2RldGVjdGVkUHJvcGVydHldID0gJycpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUZpbHRlclN0YXRlKGV2ZW50KSB7XG4gICAgdGhpcy5kYXRhc291cmNlLm9wdGlvbnMub2djRmlsdGVycy5pbnRlcmZhY2VPZ2NGaWx0ZXJzLmZpbmQoXG4gICAgICAoZikgPT4gZi5maWx0ZXJpZCA9PT0gdGhpcy5jdXJyZW50RmlsdGVyLmZpbHRlcmlkXG4gICAgKS5hY3RpdmUgPSBldmVudC5jaGVja2VkO1xuICAgIHRoaXMucmVmcmVzaEZpbHRlcnMoKTtcbiAgfVxuXG4gIGRlbGV0ZUZpbHRlcigpIHtcbiAgICBjb25zdCBvZ2NGaWx0ZXJzOiBPZ2NGaWx0ZXJzT3B0aW9ucyA9IHRoaXMuZGF0YXNvdXJjZS5vcHRpb25zLm9nY0ZpbHRlcnM7XG4gICAgb2djRmlsdGVycy5pbnRlcmZhY2VPZ2NGaWx0ZXJzID0gb2djRmlsdGVycy5pbnRlcmZhY2VPZ2NGaWx0ZXJzLmZpbHRlcihcbiAgICAgIChmKSA9PiBmLmZpbHRlcmlkICE9PSB0aGlzLmN1cnJlbnRGaWx0ZXIuZmlsdGVyaWRcbiAgICApO1xuICAgIHRoaXMucmVmcmVzaEZpbHRlcnMoKTtcbiAgfVxuXG4gIGNoYW5nZUxvZ2ljYWwobG9naWNhbDogc3RyaW5nKSB7XG4gICAgdGhpcy5jdXJyZW50RmlsdGVyLnBhcmVudExvZ2ljYWwgPSBsb2dpY2FsO1xuICAgIHRoaXMucmVmcmVzaEZpbHRlcnMoKTtcbiAgfVxuXG4gIGNoYW5nZU9wZXJhdG9yKG9wZXJhdG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLmN1cnJlbnRGaWx0ZXIub3BlcmF0b3IgPSBvcGVyYXRvcjtcbiAgICB0aGlzLmN1cnJlbnRGaWx0ZXJJc1NwYXRpYWwoKTtcblxuICAgIGlmIChcbiAgICAgIHRoaXMuY3VycmVudEZpbHRlcklzU3BhdGlhbCQudmFsdWUgJiZcbiAgICAgIHRoaXMuY3VycmVudEZpbHRlci53a3RfZ2VvbWV0cnkubGVuZ3RoID09PSAwXG4gICAgKSB7XG4gICAgICB0aGlzLmNoYW5nZVNwYXRpYWxTZWxlY3Rvcih0aGlzLmN1cnJlbnRGaWx0ZXIuaWdvU3BhdGlhbFNlbGVjdG9yKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZWZyZXNoRmlsdGVycygpO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZUZpZWxkKGZpZWxkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmN1cnJlbnRGaWx0ZXIucHJvcGVydHlOYW1lID0gZmllbGQ7XG4gICAgdGhpcy5zZWxlY3RlZEZpZWxkJC5uZXh0KFxuICAgICAgdGhpcy5maWVsZHMkLnZhbHVlLmZpbmQoKGYpID0+IGYubmFtZSA9PT0gdGhpcy5jdXJyZW50RmlsdGVyLnByb3BlcnR5TmFtZSlcbiAgICApO1xuICAgIHRoaXMucmVmcmVzaEZpbHRlcnMoKTtcbiAgfVxuXG4gIC8vIElzc3VlIHdpdGggbWFwc2VydmVyIDcuMiBhbmQgUG9zdGdpcyBsYXllcnMuIEZpeGVkIGluIDcuNFxuICAvLyBEdWUgdG8gdGhpcyBpc3N1ZSwgdGhlIGNoZWNrYm94IGlzIGhpZGUuXG4gIGNoYW5nZUNhc2VTZW5zaXRpdmUobWF0Y2hDYXNlKSB7XG4gICAgdGhpcy5jdXJyZW50RmlsdGVyLm1hdGNoQ2FzZSA9IG1hdGNoQ2FzZS5jaGVja2VkO1xuICAgIHRoaXMucmVmcmVzaEZpbHRlcnMoKTtcbiAgfVxuXG4gIGNoYW5nZVByb3BlcnR5KHZhbHVlOiBhbnksIHBvcz86IG51bWJlciwgcmVmcmVzaEZpbHRlciA9IHRydWUpIHtcbiAgICBjb25zdCBkZXRlY3RlZFByb3BlcnR5ID0gdGhpcy5kZXRlY3RQcm9wZXJ0eShwb3MpO1xuICAgIGlmIChkZXRlY3RlZFByb3BlcnR5KSB7XG4gICAgICB0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucy5vZ2NGaWx0ZXJzLmludGVyZmFjZU9nY0ZpbHRlcnMuZmluZChcbiAgICAgICAgKGYpID0+IGYuZmlsdGVyaWQgPT09IHRoaXMuY3VycmVudEZpbHRlci5maWx0ZXJpZFxuICAgICAgKVtkZXRlY3RlZFByb3BlcnR5XSA9IHZhbHVlO1xuXG4gICAgICBpZiAoIHJlZnJlc2hGaWx0ZXIgKSB7XG4gICAgICAgIHRoaXMucmVmcmVzaEZpbHRlcnMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjaGFuZ2VOdW1lcmljUHJvcGVydHkodmFsdWUsIHBvczogbnVtYmVyKSB7XG4gICAgdGhpcy5jaGFuZ2VQcm9wZXJ0eShwYXJzZUZsb2F0KHZhbHVlKSwgcG9zKTtcbiAgfVxuXG4gIGNoYW5nZVNwYXRpYWxTZWxlY3Rvcih2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5jdXJyZW50RmlsdGVyLmlnb1NwYXRpYWxTZWxlY3RvciA9IHZhbHVlO1xuXG4gICAgaWYgKHZhbHVlID09PSAnZml4ZWRFeHRlbnQnKSB7XG4gICAgICB0aGlzLmNoYW5nZU1hcEV4dGVudEdlb21ldHJ5KGZhbHNlKTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50RmlsdGVySXNTcGF0aWFsKCk7XG4gICAgdGhpcy5yZWZyZXNoRmlsdGVycygpO1xuICB9XG5cbiAgY2hhbmdlU05SQyh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5zbnJjID0gdmFsdWU7XG4gICAgdGhpcy5jaGFuZ2VTTlJDR2VvbWV0cnkoKTtcbiAgfVxuXG4gIGNoYW5nZVNOUkNHZW9tZXRyeSgpIHtcbiAgICBjb25zdCBpbnRlcmZhY2VPZ2NGaWx0ZXIgPSB0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucy5vZ2NGaWx0ZXJzLmludGVyZmFjZU9nY0ZpbHRlcnMuZmluZChcbiAgICAgIChmKSA9PiBmLmZpbHRlcmlkID09PSB0aGlzLmN1cnJlbnRGaWx0ZXIuZmlsdGVyaWRcbiAgICApO1xuICAgIGlmICghaW50ZXJmYWNlT2djRmlsdGVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc25yYyAmJiB0aGlzLmN1cnJlbnRGaWx0ZXIuaWdvU3BhdGlhbFNlbGVjdG9yID09PSAnc25yYycpIHtcbiAgICAgIHRoaXMuY3VycmVudEZpbHRlci53a3RfZ2VvbWV0cnkgPSB0aGlzLndrdFNlcnZpY2Uuc25yY1RvV2t0KFxuICAgICAgICB0aGlzLnNucmMsXG4gICAgICAgIHRoaXMubWFwLnByb2plY3Rpb25cbiAgICAgICkud2t0UG9seTtcbiAgICB9XG4gICAgdGhpcy5yZWZyZXNoRmlsdGVycygpO1xuICB9XG5cbiAgY2hhbmdlTWFwRXh0ZW50R2VvbWV0cnkocmVmcmVzaDogYm9vbGVhbiA9IHRydWUpIHtcbiAgICBjb25zdCBpbnRlcmZhY2VPZ2NGaWx0ZXIgPSB0aGlzLmRhdGFzb3VyY2Uub3B0aW9ucy5vZ2NGaWx0ZXJzLmludGVyZmFjZU9nY0ZpbHRlcnMuZmluZChcbiAgICAgIChmKSA9PiBmLmZpbHRlcmlkID09PSB0aGlzLmN1cnJlbnRGaWx0ZXIuZmlsdGVyaWRcbiAgICApO1xuICAgIGlmICghaW50ZXJmYWNlT2djRmlsdGVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3VycmVudEZpbHRlci5pZ29TcGF0aWFsU2VsZWN0b3IgPT09ICdmaXhlZEV4dGVudCcpIHtcbiAgICAgIHRoaXMuY3VycmVudEZpbHRlci53a3RfZ2VvbWV0cnkgPSB0aGlzLndrdFNlcnZpY2UuZXh0ZW50VG9Xa3QoXG4gICAgICAgIHRoaXMubWFwLnByb2plY3Rpb24sXG4gICAgICAgIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLmdldEV4dGVudCgpLFxuICAgICAgICB0aGlzLm1hcC5wcm9qZWN0aW9uXG4gICAgICApLndrdFBvbHk7XG4gICAgfVxuICAgIGlmIChyZWZyZXNoKSB7XG4gICAgICB0aGlzLnJlZnJlc2hGaWx0ZXJzKCk7XG4gICAgfVxuICB9XG5cbiAgZGV0ZWN0UHJvcGVydHkocG9zPzogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMuY3VycmVudEZpbHRlci5vcGVyYXRvcikge1xuICAgICAgY2FzZSBPZ2NGaWx0ZXJPcGVyYXRvci5Qcm9wZXJ0eUlzTm90RXF1YWxUbzpcbiAgICAgIGNhc2UgT2djRmlsdGVyT3BlcmF0b3IuUHJvcGVydHlJc0VxdWFsVG86XG4gICAgICBjYXNlIE9nY0ZpbHRlck9wZXJhdG9yLlByb3BlcnR5SXNHcmVhdGVyVGhhbjpcbiAgICAgIGNhc2UgT2djRmlsdGVyT3BlcmF0b3IuUHJvcGVydHlJc0dyZWF0ZXJUaGFuT3JFcXVhbFRvOlxuICAgICAgY2FzZSBPZ2NGaWx0ZXJPcGVyYXRvci5Qcm9wZXJ0eUlzTGVzc1RoYW46XG4gICAgICBjYXNlIE9nY0ZpbHRlck9wZXJhdG9yLlByb3BlcnR5SXNMZXNzVGhhbk9yRXF1YWxUbzpcbiAgICAgICAgcmV0dXJuICdleHByZXNzaW9uJztcbiAgICAgIGNhc2UgT2djRmlsdGVyT3BlcmF0b3IuUHJvcGVydHlJc0xpa2U6XG4gICAgICAgIHJldHVybiAncGF0dGVybic7XG4gICAgICBjYXNlIE9nY0ZpbHRlck9wZXJhdG9yLlByb3BlcnR5SXNCZXR3ZWVuOlxuICAgICAgICByZXR1cm4gcG9zICYmIHBvcyA9PT0gMVxuICAgICAgICAgID8gJ2xvd2VyQm91bmRhcnknXG4gICAgICAgICAgOiBwb3MgJiYgcG9zID09PSAyXG4gICAgICAgICAgPyAndXBwZXJCb3VuZGFyeSdcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIGNhc2UgT2djRmlsdGVyT3BlcmF0b3IuRHVyaW5nOlxuICAgICAgICByZXR1cm4gcG9zICYmIHBvcyA9PT0gMVxuICAgICAgICAgID8gJ2JlZ2luJ1xuICAgICAgICAgIDogcG9zICYmIHBvcyA9PT0gMlxuICAgICAgICAgID8gJ2VuZCdcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnRGaWx0ZXJJc1NwYXRpYWwoKSB7XG4gICAgbGV0IGlzU3BhdGlhbCA9IGZhbHNlO1xuICAgIGlmICh0aGlzLmN1cnJlbnRGaWx0ZXIpIHtcbiAgICAgIGlzU3BhdGlhbCA9XG4gICAgICAgIFtcbiAgICAgICAgICBPZ2NGaWx0ZXJPcGVyYXRvci5Db250YWlucyxcbiAgICAgICAgICBPZ2NGaWx0ZXJPcGVyYXRvci5JbnRlcnNlY3RzLFxuICAgICAgICAgIE9nY0ZpbHRlck9wZXJhdG9yLldpdGhpblxuICAgICAgICBdLmluZGV4T2YodGhpcy5jdXJyZW50RmlsdGVyLm9wZXJhdG9yKSAhPT0gLTE7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudEZpbHRlcklzU3BhdGlhbCQubmV4dChpc1NwYXRpYWwpO1xuICB9XG5cbiAgaXNUZW1wb3JhbE9wZXJhdG9yKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmN1cnJlbnRGaWx0ZXIub3BlcmF0b3IudG9Mb3dlckNhc2UoKSA9PT1cbiAgICAgIHRoaXMub2djRmlsdGVyT3BlcmF0b3IuRHVyaW5nLnRvTG93ZXJDYXNlKClcbiAgICApO1xuICB9XG59XG4iLCI8bWF0LWNoZWNrYm94XG4gIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5maWx0ZXIudG9nZ2xlRmlsdGVyU3RhdGUnIHwgdHJhbnNsYXRlXCJcbiAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gIChjaGFuZ2UpPVwidG9nZ2xlRmlsdGVyU3RhdGUoJGV2ZW50KVwiXG4gIFtjaGVja2VkXT1cImN1cnJlbnRGaWx0ZXIuYWN0aXZlXCI+XG48L21hdC1jaGVja2JveD5cblxuPG1hdC1mb3JtLWZpZWxkXG4gIFtuZ0NsYXNzXT1cInsnbG9naWNhbCc6IGFjdGl2ZUZpbHRlcnMuaW5kZXhPZihjdXJyZW50RmlsdGVyKSAhPT0gMCAmJiBjdXJyZW50RmlsdGVyLmFjdGl2ZT09PXRydWUsICdsb2dpY2FsSGlkZGVuJzogYWN0aXZlRmlsdGVycy5pbmRleE9mKGN1cnJlbnRGaWx0ZXIpID09PSAwIHx8IGN1cnJlbnRGaWx0ZXIuYWN0aXZlIT09dHJ1ZX1cIj5cbiAgPG1hdC1zZWxlY3RcbiAgICBbZGlzYWJsZWRdPVwiIWN1cnJlbnRGaWx0ZXIuYWN0aXZlXCJcbiAgICBbdmFsdWVdPVwiY3VycmVudEZpbHRlci5wYXJlbnRMb2dpY2FsXCJcbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYWJvdmVcIlxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgIFttYXRUb29sdGlwXT1cImN1cnJlbnRGaWx0ZXIucGFyZW50TG9naWNhbCA/ICgoJ2lnby5nZW8ub3BlcmF0b3JzLnRvb2x0aXAuJysgY3VycmVudEZpbHRlci5wYXJlbnRMb2dpY2FsKSB8IHRyYW5zbGF0ZSkgOiAnJ1wiXG4gICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJjaGFuZ2VMb2dpY2FsKCRldmVudC52YWx1ZSlcIj5cbiAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgIFt2YWx1ZV09b2djRmlsdGVyT3BlcmF0b3IuQW5kXG4gICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJhYm92ZVwiXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5vcGVyYXRvcnMudG9vbHRpcC5BbmQnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAge3snaWdvLmdlby5vcGVyYXRvcnMuQW5kJyB8IHRyYW5zbGF0ZX19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8bWF0LW9wdGlvblxuICAgICAgICBbdmFsdWVdPW9nY0ZpbHRlck9wZXJhdG9yLk9yXG4gICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJhYm92ZVwiXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5vcGVyYXRvcnMudG9vbHRpcC5PcicgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICB7eydpZ28uZ2VvLm9wZXJhdG9ycy5PcicgfCB0cmFuc2xhdGV9fVxuICAgICAgPC9tYXQtb3B0aW9uPlxuICA8L21hdC1zZWxlY3Q+XG48L21hdC1mb3JtLWZpZWxkPlxuXG48bWF0LWZvcm0tZmllbGRcbiAgY2xhc3M9XCJmaWVsZFwiXG4gICpuZ0lmPVwiKGN1cnJlbnRGaWx0ZXJJc1NwYXRpYWwkIHwgYXN5bmMpPT09ZmFsc2UgJiYgKGZpZWxkcyQgfCBhc3luYykgJiYgKGZpZWxkcyR8IGFzeW5jKS5sZW5ndGggPiAwICYmIChmaWVsZHMkfCBhc3luYylbMF0ubmFtZSAhPT0gJydcIlxuICAobW91c2VlbnRlcik9XCJpbnB1dENsZWFyYWJsZSA9ICdzZWxlY3RGaWVsZCdcIlxuICAobW91c2VsZWF2ZSk9XCJpbnB1dENsZWFyYWJsZSA9IHVuZGVmaW5lZFwiXG4gIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIj5cbiAgPGlucHV0XG4gIG1hdElucHV0XG4gIFtwbGFjZWhvbGRlcl09XCInaWdvLmdlby5zb3VyY2VGaWVsZHMuc2VsZWN0RmllbGQnIHwgdHJhbnNsYXRlXCJcbiAgW2Rpc2FibGVkXT1cIiFjdXJyZW50RmlsdGVyLmFjdGl2ZVwiXG4gIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b0NvbXBsZXRlRmllbGRcIlxuICBbdmFsdWVdPVwiKHNlbGVjdGVkRmllbGQkIHwgYXN5bmMpID8gKHNlbGVjdGVkRmllbGQkIHwgYXN5bmMpLmFsaWFzIDogJydcIlxuICB0b29sdGlwLXBvc2l0aW9uPVwiYWJvdmVcIlxuICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgW21hdFRvb2x0aXBdPVwiKHNlbGVjdGVkRmllbGQkIHwgYXN5bmMpID8gKHNlbGVjdGVkRmllbGQkIHwgYXN5bmMpLmFsaWFzIDogKCdpZ28uZ2VvLnNvdXJjZUZpZWxkcy5zZWxlY3RGaWVsZCcgfCB0cmFuc2xhdGUpXCJcbiAgKGlucHV0KT1cInVwZGF0ZUZpZWxkc0xpc3QoJGV2ZW50LnRhcmdldC52YWx1ZSlcIj5cbiAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG9Db21wbGV0ZUZpZWxkPVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgKG9wdGlvblNlbGVjdGVkKT0nY2hhbmdlRmllbGQoJGV2ZW50Lm9wdGlvbi5pZCknPlxuICAgIDxtYXQtb3B0aW9uXG4gICAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZmlsdGVyZWRGaWVsZHMkIHwgYXN5bmNcIlxuICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICBbdmFsdWVdPVwiZmllbGQuYWxpYXNcIlxuICAgICAgW2lkXT1cImZpZWxkLm5hbWVcIlxuICAgICAgW21hdFRvb2x0aXBdPVwiZmllbGQuYWxpYXNcIj5cbiAgICAgIHt7ZmllbGQuYWxpYXN9fVxuICAgIDwvbWF0LW9wdGlvbj5cbiAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICA8YnV0dG9uIG1hdC1idXR0b25cbiAgICAqbmdJZj1cImN1cnJlbnRGaWx0ZXIucHJvcGVydHlOYW1lICYmIGlucHV0Q2xlYXJhYmxlID09PSAnc2VsZWN0RmllbGQnICYmIGN1cnJlbnRGaWx0ZXIuYWN0aXZlXCJcbiAgICBtYXRTdWZmaXhcbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICBhcmlhLWxhYmVsPVwiQ2xlYXJcIlxuICAgIFtkaXNhYmxlZF09XCIhY3VycmVudEZpbHRlci5hY3RpdmVcIlxuICAgIChjbGljayk9XCJjbGVhclNlbGVjdGVkRmllbGQoKVwiPlxuICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cImNsb3NlXCI+PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L21hdC1mb3JtLWZpZWxkPlxuXG5cbjxtYXQtZm9ybS1maWVsZFxuICBbbmdDbGFzc109XCJ7J29wZXJhdG9yJzogKGN1cnJlbnRGaWx0ZXJJc1NwYXRpYWwkIHwgYXN5bmMpPT09ZmFsc2UgLCAnZHVhbElucHV0JzogKGN1cnJlbnRGaWx0ZXJJc1NwYXRpYWwkIHwgYXN5bmMpfVwiXG4gIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIj5cbiAgPG1hdC1zZWxlY3RcbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgIFttYXRUb29sdGlwXT1cImN1cnJlbnRGaWx0ZXIub3BlcmF0b3IgPyAoKCdpZ28uZ2VvLm9wZXJhdG9ycy50b29sdGlwLicrIGN1cnJlbnRGaWx0ZXIub3BlcmF0b3IpIHwgdHJhbnNsYXRlKSA6ICgnaWdvLmdlby5maWx0ZXIuc2VsZWN0T3BlcmF0b3InIHwgdHJhbnNsYXRlKVwiXG4gICAgW2Rpc2FibGVkXT1cIiFjdXJyZW50RmlsdGVyLmFjdGl2ZVwiXG4gICAgW3ZhbHVlXT1cImN1cnJlbnRGaWx0ZXIub3BlcmF0b3JcIlxuICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiY2hhbmdlT3BlcmF0b3IoJGV2ZW50LnZhbHVlKVwiPlxuICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgKm5nRm9yPVwibGV0IG9wZXJhdG9yIG9mIChvZ2NGaWx0ZXJPcGVyYXRvcnMkIHwgYXN5bmMpIHwga2V5dmFsdWVcIlxuICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYWJvdmVcIlxuICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgW3ZhbHVlXT1cIm9wZXJhdG9yLmtleVwiXG4gICAgICAgIFttYXRUb29sdGlwXT1cIignaWdvLmdlby5vcGVyYXRvcnMudG9vbHRpcC4nKyBvcGVyYXRvci5rZXkpIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAge3soJ2lnby5nZW8ub3BlcmF0b3JzLicrIG9wZXJhdG9yLmtleSkgfCB0cmFuc2xhdGV9fVxuICAgICAgPC9tYXQtb3B0aW9uPlxuICA8L21hdC1zZWxlY3Q+XG48L21hdC1mb3JtLWZpZWxkPlxuXG48bWF0LWZvcm0tZmllbGRcbmNsYXNzPVwic3BhdGlhbFNlbGVjdG9yXCJcbipuZ0lmPVwiY3VycmVudEZpbHRlcklzU3BhdGlhbCQgfCBhc3luY1wiPlxuICA8bWF0LXNlbGVjdFxuICAgIFtkaXNhYmxlZF09XCIhY3VycmVudEZpbHRlci5hY3RpdmVcIlxuICAgIFt2YWx1ZV09XCJjdXJyZW50RmlsdGVyLmlnb1NwYXRpYWxTZWxlY3RvclwiXG4gICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJjaGFuZ2VTcGF0aWFsU2VsZWN0b3IoJGV2ZW50LnZhbHVlKVwiPlxuICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgKm5nRm9yPVwibGV0IGlnb1NwYXRpYWxTZWxlY3RvciBvZiBpZ29TcGF0aWFsU2VsZWN0b3JzXCJcbiAgICAgICAgW3ZhbHVlXT1cImlnb1NwYXRpYWxTZWxlY3Rvci50eXBlXCI+XG4gICAgICAgICAge3soJ2lnby5nZW8uc3BhdGlhbFNlbGVjdG9yLicrIGlnb1NwYXRpYWxTZWxlY3Rvci50eXBlKSB8IHRyYW5zbGF0ZX19XG4gICAgICA8L21hdC1vcHRpb24+XG4gIDwvbWF0LXNlbGVjdD5cbjwvbWF0LWZvcm0tZmllbGQ+XG5cbjxtYXQtZm9ybS1maWVsZFxuY2xhc3M9XCJzaW5nbGVJbnB1dFwiXG4qbmdJZj1cIlsnZXhwcmVzc2lvbicsJ3BhdHRlcm4nXS5pbmRleE9mKGRldGVjdFByb3BlcnR5KCkpICE9PSAtMVwiXG4obW91c2VlbnRlcik9XCJpbnB1dENsZWFyYWJsZSA9ICdzZWxlY3RQcm9wZXJ0eSdcIlxuKG1vdXNlbGVhdmUpPVwiaW5wdXRDbGVhcmFibGUgPSB1bmRlZmluZWRcIlxuW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiPlxuICA8aW5wdXRcbiAgICBtYXRJbnB1dFxuICAgIFtwbGFjZWhvbGRlcl09XCInaWdvLmdlby5maWx0ZXIucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICBbZGlzYWJsZWRdPVwiIWN1cnJlbnRGaWx0ZXIuYWN0aXZlXCJcbiAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9Db21wbGV0ZVZhbHVlc1wiXG4gICAgW3ZhbHVlXT1cImRldGVjdFByb3BlcnR5KCkgPT09ICdleHByZXNzaW9uJyA/IGN1cnJlbnRGaWx0ZXIuZXhwcmVzc2lvbiA6IGN1cnJlbnRGaWx0ZXIucGF0dGVyblwiXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImFib3ZlXCJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICBbbWF0VG9vbHRpcF09XCJkZXRlY3RQcm9wZXJ0eSgpID09PSAnZXhwcmVzc2lvbicgPyBjdXJyZW50RmlsdGVyLmV4cHJlc3Npb24gfHwgJycgOiBjdXJyZW50RmlsdGVyLnBhdHRlcm4gfHwgJydcIlxuICAgIChpbnB1dCk9XCJ1cGRhdGVWYWx1ZXNMaXN0KCRldmVudC50YXJnZXQudmFsdWUpXCI+XG4gIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvQ29tcGxldGVWYWx1ZXM9XCJtYXRBdXRvY29tcGxldGVcIlxuICAgIChvcHRpb25TZWxlY3RlZCk9XCJjaGFuZ2VQcm9wZXJ0eSgkZXZlbnQub3B0aW9uLnZhbHVlKVwiPlxuICAgIDxtYXQtb3B0aW9uXG4gICAgICAqbmdGb3I9XCJsZXQgdmFsdWUgb2YgZmlsdGVyZWRWYWx1ZXMkIHwgYXN5bmNcIlxuICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgW21hdFRvb2x0aXBdPVwidmFsdWVcIj5cbiAgICAgIHt7dmFsdWV9fVxuICAgIDwvbWF0LW9wdGlvbj5cbiAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICA8YnV0dG9uIG1hdC1idXR0b25cbiAgICAqbmdJZj1cImlzQ2xlYXJhYmxlKCkgJiYgaW5wdXRDbGVhcmFibGUgPT09ICdzZWxlY3RQcm9wZXJ0eScgJiYgY3VycmVudEZpbHRlci5hY3RpdmVcIlxuICAgIG1hdFN1ZmZpeFxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIGFyaWEtbGFiZWw9XCJDbGVhclwiXG4gICAgW2Rpc2FibGVkXT1cIiFjdXJyZW50RmlsdGVyLmFjdGl2ZVwiXG4gICAgKGNsaWNrKT1cImNsZWFyUHJvcGVydHkoKVwiPlxuICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cImNsb3NlXCI+PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L21hdC1mb3JtLWZpZWxkPlxuXG48ZGl2IGNsYXNzPVwiaWdvLWxheWVyLWJ1dHRvbi1ncm91cFwiPlxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgY29sbGFwc2libGVCdXR0b25cbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLmZpbHRlci5yZW1vdmVGaWx0ZXInIHwgdHJhbnNsYXRlXCJcbiAgICBjb2xvcj1cIndhcm5cIlxuICAgIChjbGljayk9XCJkZWxldGVGaWx0ZXIoKVwiPlxuICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZGVsZXRlXCI+PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPG1hdC1mb3JtLWZpZWxkXG5jbGFzcz1cInNucmNcIlxuKm5nSWY9XCIoY3VycmVudEZpbHRlcklzU3BhdGlhbCQgfCBhc3luYykgJiYgY3VycmVudEZpbHRlci5pZ29TcGF0aWFsU2VsZWN0b3IgPT09ICdzbnJjJ1wiXG4obW91c2VlbnRlcik9XCJpbnB1dENsZWFyYWJsZSA9ICdzZWxlY3RTTlJDJ1wiXG4obW91c2VsZWF2ZSk9XCJpbnB1dENsZWFyYWJsZSA9IHVuZGVmaW5lZFwiXG5bZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCI+XG4gIDxpbnB1dFxuICAgIG1hdElucHV0XG4gICAgW3BsYWNlaG9sZGVyXT1cIidpZ28uZ2VvLmZpbHRlci5wbGFjZWhvbGRlclNucmMnIHwgdHJhbnNsYXRlXCJcbiAgICBbdmFsdWVdPVwiY3VycmVudEZpbHRlci5pZ29TTlJDXCJcbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYWJvdmVcIlxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgIFttYXRUb29sdGlwXT1cImN1cnJlbnRGaWx0ZXIuaWdvU05SQyA/IGN1cnJlbnRGaWx0ZXIuaWdvU05SQyA6ICcnXCJcbiAgICAoaW5wdXQpPVwiY2hhbmdlU05SQygkZXZlbnQudGFyZ2V0LnZhbHVlKVwiPlxuICA8YnV0dG9uXG4gICAgbWF0LWJ1dHRvblxuICAgICpuZ0lmPVwiY3VycmVudEZpbHRlci5pZ29TTlJDXCJcbiAgICBtYXRTdWZmaXhcbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICBhcmlhLWxhYmVsPVwiQ2xlYXJcIlxuICAgIFtkaXNhYmxlZF09XCIhY3VycmVudEZpbHRlci5hY3RpdmUgJiYgaW5wdXRDbGVhcmFibGUgPT09ICdzZWxlY3RTTlJDJyAmJiBjdXJyZW50RmlsdGVyLmFjdGl2ZVwiXG4gICAgKGNsaWNrKT1cImN1cnJlbnRGaWx0ZXIuaWdvU05SQz0nJ1wiPlxuICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJjbG9zZVwiPjwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIoY3VycmVudEZpbHRlcklzU3BhdGlhbCQgfCBhc3luYykgJiYgY3VycmVudEZpbHRlci5pZ29TcGF0aWFsU2VsZWN0b3IgPT09ICdmaXhlZEV4dGVudCdcIj5cbiAgICA8YnV0dG9uXG4gICAgbWF0LWJ1dHRvblxuICAgIFtkaXNhYmxlZF09XCIhY3VycmVudEZpbHRlci5hY3RpdmVcIlxuICAgICpuZ0lmPVwiY3VycmVudEZpbHRlci5pZ29TcGF0aWFsU2VsZWN0b3IgPT09ICdmaXhlZEV4dGVudCdcIlxuICAgIG1hdFN1ZmZpeFxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIFtkaXNhYmxlZF09XCIhY3VycmVudEZpbHRlci5hY3RpdmVcIlxuICAgIChjbGljayk9XCJjaGFuZ2VNYXBFeHRlbnRHZW9tZXRyeSgpXCJcbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLnNwYXRpYWxTZWxlY3Rvci5idG5TZXRFeHRlbnQnIHwgdHJhbnNsYXRlXCI+XG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj1cImFycm93LWV4cGFuZC1hbGxcIj48L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvbmctY29udGFpbmVyPlxuXG48YnIvPlxuXG48bWF0LWZvcm0tZmllbGRcbmNsYXNzPVwiZHVhbElucHV0XCJcbipuZ0lmPVwiIWlzVGVtcG9yYWxPcGVyYXRvcigpICYmIFsnbG93ZXJCb3VuZGFyeScsJ2JlZ2luJ10uaW5kZXhPZihkZXRlY3RQcm9wZXJ0eSgxKSkgIT09IC0xXCJcbihtb3VzZWVudGVyKT1cImlucHV0Q2xlYXJhYmxlID0gJ3NlbGVjdFByb3BlcnR5MSdcIlxuKG1vdXNlbGVhdmUpPVwiaW5wdXRDbGVhcmFibGUgPSB1bmRlZmluZWRcIlxuW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiPlxuICAgIDxpbnB1dFxuICAgICAgbWF0SW5wdXRcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInaWdvLmdlby5maWx0ZXIucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtkaXNhYmxlZF09XCIhY3VycmVudEZpbHRlci5hY3RpdmVcIlxuICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvRHVhbFZhbHVlT3BlcmF0b3IxXCJcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgW3ZhbHVlXT1cImRldGVjdFByb3BlcnR5KDEpID09PSAnbG93ZXJCb3VuZGFyeScgPyBjdXJyZW50RmlsdGVyLmxvd2VyQm91bmRhcnkgOiBjdXJyZW50RmlsdGVyLmJlZ2luXCJcbiAgICAgIChpbnB1dCk9XCJ1cGRhdGVWYWx1ZXNMaXN0KCRldmVudC50YXJnZXQudmFsdWUsMSlcIj5cbiAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0b0R1YWxWYWx1ZU9wZXJhdG9yMT1cIm1hdEF1dG9jb21wbGV0ZVwiXG4gICAgICAob3B0aW9uU2VsZWN0ZWQpPVwiY2hhbmdlTnVtZXJpY1Byb3BlcnR5KCRldmVudC5vcHRpb24udmFsdWUsMSlcIj5cbiAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBmaWx0ZXJlZFZhbHVlcyQgfCBhc3luY1wiXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCJ2YWx1ZVwiPlxuICAgICAgICB7e3ZhbHVlfX1cbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAqbmdJZj1cImlzQ2xlYXJhYmxlKDEpICYmIGlucHV0Q2xlYXJhYmxlID09PSAnc2VsZWN0UHJvcGVydHkxJyAmJiBjdXJyZW50RmlsdGVyLmFjdGl2ZVwiXG4gICAgICBtYXRTdWZmaXhcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgYXJpYS1sYWJlbD1cIkNsZWFyXCJcbiAgICBbZGlzYWJsZWRdPVwiIWN1cnJlbnRGaWx0ZXIuYWN0aXZlXCJcbiAgICAgIChjbGljayk9XCJjbGVhclByb3BlcnR5KDEpXCI+XG4gICAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJjbG9zZVwiPjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG48L21hdC1mb3JtLWZpZWxkPlxuXG48bWF0LWZvcm0tZmllbGRcbiAgY2xhc3M9XCJkdWFsSW5wdXRcIlxuICAqbmdJZj1cIiFpc1RlbXBvcmFsT3BlcmF0b3IoKSAmJiBbJ3VwcGVyQm91bmRhcnknLCdlbmQnXS5pbmRleE9mKGRldGVjdFByb3BlcnR5KDIpKSAhPT0gLTFcIlxuICAobW91c2VlbnRlcik9XCJpbnB1dENsZWFyYWJsZSA9ICdzZWxlY3RQcm9wZXJ0eTInXCJcbiAgKG1vdXNlbGVhdmUpPVwiaW5wdXRDbGVhcmFibGUgPSB1bmRlZmluZWRcIlxuICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCI+XG4gICAgPGlucHV0XG4gICAgICBtYXRJbnB1dFxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidpZ28uZ2VvLmZpbHRlci5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFjdXJyZW50RmlsdGVyLmFjdGl2ZVwiXG4gICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9EdWFsVmFsdWVPcGVyYXRvcjJcIlxuICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICBbdmFsdWVdPVwiZGV0ZWN0UHJvcGVydHkoMikgPT09ICd1cHBlckJvdW5kYXJ5JyA/IGN1cnJlbnRGaWx0ZXIudXBwZXJCb3VuZGFyeSA6IGN1cnJlbnRGaWx0ZXIuZW5kXCJcbiAgICAgIChpbnB1dCk9XCJ1cGRhdGVWYWx1ZXNMaXN0KCRldmVudC50YXJnZXQudmFsdWUsMilcIj5cbiAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0b0R1YWxWYWx1ZU9wZXJhdG9yMj1cIm1hdEF1dG9jb21wbGV0ZVwiXG4gICAgICAob3B0aW9uU2VsZWN0ZWQpPVwiY2hhbmdlTnVtZXJpY1Byb3BlcnR5KCRldmVudC5vcHRpb24udmFsdWUsMilcIj5cbiAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBmaWx0ZXJlZFZhbHVlcyQgfCBhc3luY1wiXG4gICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCJ2YWx1ZVwiPlxuICAgICAgICB7e3ZhbHVlfX1cbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAqbmdJZj1cImlzQ2xlYXJhYmxlKDIpICYmIGlucHV0Q2xlYXJhYmxlID09PSAnc2VsZWN0UHJvcGVydHkyJyAmJiBjdXJyZW50RmlsdGVyLmFjdGl2ZVwiXG4gICAgICBtYXRTdWZmaXhcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgYXJpYS1sYWJlbD1cIkNsZWFyXCJcbiAgICAgIFtkaXNhYmxlZF09XCIhY3VycmVudEZpbHRlci5hY3RpdmVcIlxuICAgICAgKGNsaWNrKT1cImNsZWFyUHJvcGVydHkoMilcIj5cbiAgICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cImNsb3NlXCI+PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbjwvbWF0LWZvcm0tZmllbGQ+XG5cbjxpZ28tb2djLWZpbHRlci10aW1lICpuZ0lmPVwiaXNUZW1wb3JhbE9wZXJhdG9yKClcIlxuICBbKGRhdGFzb3VyY2UpXT1cImRhdGFzb3VyY2VcIlxuICBbKGN1cnJlbnRGaWx0ZXIpXT1cImN1cnJlbnRGaWx0ZXJcIlxuICAoY2hhbmdlUHJvcGVydHkpPVwiY2hhbmdlUHJvcGVydHkoJGV2ZW50LnZhbHVlLCAkZXZlbnQucG9zKVwiPlxuPC9pZ28tb2djLWZpbHRlci10aW1lPlxuXG48IS0tXG5UT0RPIEMnRVNUIFBFUlRJTkVOVCBqZSBjcm9pc1xuPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIiEoY3VycmVudEZpbHRlcklzU3BhdGlhbCQgfCBhc3luYykgJiYgKGZpZWxkcyR8IGFzeW5jKSAmJiAoZmllbGRzJHwgYXN5bmMpLmxlbmd0aCA9PT0gMSAmJiAgKGZpZWxkcyR8IGFzeW5jKVswXS5uYW1lID09PSAnJ1wiPlxuPGlucHV0IFtkaXNhYmxlZF09XCIhY3VycmVudEZpbHRlci5hY3RpdmVcIiBtYXRJbnB1dCAjZmllbGRQZXJVc2VyIChrZXl1cCk9XCJjaGFuZ2VQcm9wZXJ0eShjdXJyZW50RmlsdGVyLCdwcm9wZXJ0eU5hbWUnLGZpZWxkUGVyVXNlci52YWx1ZSlcIlxuICAoYmx1cik9XCJjaGFuZ2VQcm9wZXJ0eShjdXJyZW50RmlsdGVyLCdwcm9wZXJ0eU5hbWUnLGZpZWxkUGVyVXNlci52YWx1ZSlcIiBbKG5nTW9kZWwpXT1cImN1cnJlbnRGaWx0ZXIucHJvcGVydHlOYW1lXCI+XG48YnV0dG9uIG1hdC1idXR0b24gKm5nSWY9XCJjdXJyZW50RmlsdGVyLnByb3BlcnR5TmFtZVwiIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cIkNsZWFyXCIgKGNsaWNrKT1cImN1cnJlbnRGaWx0ZXIucHJvcGVydHlOYW1lPScnXCI+XG4gIDxtYXQtaWNvbiBzdmdJY29uPVwiY2xvc2VcIj48L21hdC1pY29uPlxuPC9idXR0b24+XG48L21hdC1mb3JtLWZpZWxkPlxuXG5cblxuPG1hdC1jaGVja2JveCBsYWJlbFBvc2l0aW9uPSdiZWZvcmUnIChjaGFuZ2UpPVwiY2hhbmdlQ2FzZVNlbnNpdGl2ZSgkZXZlbnQpXCIgWyhuZ01vZGVsKV09XCJjdXJyZW50RmlsdGVyLm1hdGNoQ2FzZVwiPlxuICB7eygnaWdvLmdlby5vcGVyYXRvcnMuY2FzZVNlbnNpdGl2ZScpIHwgdHJhbnNsYXRlfX1cbjwvbWF0LWNoZWNrYm94PlxuXG48L21hdC1saXN0LWl0ZW0+IC0tPlxuIl19
|