@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,306 +1,306 @@
|
|
|
1
|
-
import { Component, Input, ChangeDetectionStrategy, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import { getEntityTitle, getEntityIcon } from '@igo2/common';
|
|
3
|
-
import { BehaviorSubject } from 'rxjs';
|
|
4
|
-
import { first } from 'rxjs/operators';
|
|
5
|
-
import { TooltipType } from '../../layer/shared/layers';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../layer/shared/layer.service";
|
|
8
|
-
import * as i2 from "@angular/common";
|
|
9
|
-
import * as i3 from "@angular/material/badge";
|
|
10
|
-
import * as i4 from "@angular/material/button";
|
|
11
|
-
import * as i5 from "@angular/material/icon";
|
|
12
|
-
import * as i6 from "@angular/material/list";
|
|
13
|
-
import * as i7 from "@angular/material/core";
|
|
14
|
-
import * as i8 from "@angular/material/tooltip";
|
|
15
|
-
import * as i9 from "@igo2/common";
|
|
16
|
-
import * as i10 from "../../metadata/metadata-button/metadata-button.component";
|
|
17
|
-
import * as i11 from "../../layer/layer-legend/layer-legend.component";
|
|
18
|
-
import * as i12 from "@ngx-translate/core";
|
|
19
|
-
function CatalogBrowserLayerComponent_mat_icon_1_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
-
i0.ɵɵelement(0, "mat-icon", 9);
|
|
21
|
-
} }
|
|
22
|
-
function CatalogBrowserLayerComponent_button_4_mat_icon_1_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
-
i0.ɵɵelementStart(0, "mat-icon", 12);
|
|
24
|
-
i0.ɵɵlistener("click", function CatalogBrowserLayerComponent_button_4_mat_icon_1_Template_mat_icon_click_0_listener($event) { return $event.stopPropagation(); });
|
|
25
|
-
i0.ɵɵpipe(1, "translate");
|
|
26
|
-
i0.ɵɵelementEnd();
|
|
27
|
-
} if (rf & 2) {
|
|
28
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 1, "igo.geo.catalog.externalProvider.layer"));
|
|
29
|
-
} }
|
|
30
|
-
function CatalogBrowserLayerComponent_button_4_Template(rf, ctx) { if (rf & 1) {
|
|
31
|
-
i0.ɵɵelementStart(0, "button", 10);
|
|
32
|
-
i0.ɵɵtemplate(1, CatalogBrowserLayerComponent_button_4_mat_icon_1_Template, 2, 3, "mat-icon", 11);
|
|
33
|
-
i0.ɵɵelementEnd();
|
|
34
|
-
} if (rf & 2) {
|
|
35
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
36
|
-
i0.ɵɵadvance(1);
|
|
37
|
-
i0.ɵɵproperty("ngIf", ctx_r1.layer.externalProvider);
|
|
38
|
-
} }
|
|
39
|
-
function CatalogBrowserLayerComponent_igo_layer_legend_19_Template(rf, ctx) { if (rf & 1) {
|
|
40
|
-
i0.ɵɵelement(0, "igo-layer-legend", 3);
|
|
41
|
-
i0.ɵɵpipe(1, "async");
|
|
42
|
-
} if (rf & 2) {
|
|
43
|
-
const ctx_r3 = i0.ɵɵnextContext();
|
|
44
|
-
i0.ɵɵproperty("layer", i0.ɵɵpipeBind1(1, 1, ctx_r3.igoLayer$));
|
|
45
|
-
} }
|
|
46
|
-
/**
|
|
47
|
-
* Catalog browser layer item
|
|
48
|
-
*/
|
|
49
|
-
export class CatalogBrowserLayerComponent {
|
|
50
|
-
constructor(layerService) {
|
|
51
|
-
this.layerService = layerService;
|
|
52
|
-
this.inRange$ = new BehaviorSubject(true);
|
|
53
|
-
this.isPreview$ = new BehaviorSubject(false);
|
|
54
|
-
this.isVisible$ = new BehaviorSubject(false);
|
|
55
|
-
this.layerLegendShown$ = new BehaviorSubject(false);
|
|
56
|
-
this.igoLayer$ = new BehaviorSubject(undefined);
|
|
57
|
-
this.mouseInsideAdd = false;
|
|
58
|
-
this.catalogAllowLegend = false;
|
|
59
|
-
/**
|
|
60
|
-
* Whether the layer is already added to the map
|
|
61
|
-
*/
|
|
62
|
-
this.added = false;
|
|
63
|
-
/**
|
|
64
|
-
* Event emitted when the add/remove button is clicked
|
|
65
|
-
*/
|
|
66
|
-
this.addedChange = new EventEmitter();
|
|
67
|
-
this.addedLayerIsPreview = new EventEmitter();
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* @internal
|
|
71
|
-
*/
|
|
72
|
-
get title() {
|
|
73
|
-
return getEntityTitle(this.layer);
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* @internal
|
|
77
|
-
*/
|
|
78
|
-
get icon() {
|
|
79
|
-
return getEntityIcon(this.layer) || 'layers';
|
|
80
|
-
}
|
|
81
|
-
ngOnInit() {
|
|
82
|
-
this.isPreview$$ = this.isPreview$.subscribe(value => this.addedLayerIsPreview.emit(value));
|
|
83
|
-
this.layers$$ = this.map.layers$.subscribe(() => {
|
|
84
|
-
this.isVisible();
|
|
85
|
-
});
|
|
86
|
-
this.resolution$$ = this.map.viewController.resolution$.subscribe((resolution) => {
|
|
87
|
-
this.isInResolutionsRange(resolution);
|
|
88
|
-
this.isVisible();
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
ngOnDestroy() {
|
|
92
|
-
this.isPreview$$.unsubscribe();
|
|
93
|
-
this.resolution$$.unsubscribe();
|
|
94
|
-
this.layers$$.unsubscribe();
|
|
95
|
-
}
|
|
96
|
-
computeTitleTooltip() {
|
|
97
|
-
const layerOptions = this.layer.options;
|
|
98
|
-
if (!layerOptions.tooltip) {
|
|
99
|
-
return getEntityTitle(this.layer);
|
|
100
|
-
}
|
|
101
|
-
const layerTooltip = layerOptions.tooltip;
|
|
102
|
-
const layerMetadata = layerOptions.metadata;
|
|
103
|
-
switch (layerOptions.tooltip.type) {
|
|
104
|
-
case TooltipType.TITLE:
|
|
105
|
-
return this.layer.title;
|
|
106
|
-
case TooltipType.ABSTRACT:
|
|
107
|
-
if (layerMetadata && layerMetadata.abstract) {
|
|
108
|
-
return layerMetadata.abstract;
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
return this.layer.title;
|
|
112
|
-
}
|
|
113
|
-
case TooltipType.CUSTOM:
|
|
114
|
-
if (layerTooltip && layerTooltip.text) {
|
|
115
|
-
return layerTooltip.text;
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
return this.layer.title;
|
|
119
|
-
}
|
|
120
|
-
default:
|
|
121
|
-
return this.layer.title;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* On mouse event, mouseenter /mouseleave
|
|
126
|
-
* @internal
|
|
127
|
-
*/
|
|
128
|
-
onMouseEvent(event) {
|
|
129
|
-
this.onToggleClick(event);
|
|
130
|
-
}
|
|
131
|
-
askForLegend(event) {
|
|
132
|
-
this.layerLegendShown$.next(!this.layerLegendShown$.value);
|
|
133
|
-
this.layerService.createAsyncLayer(this.layer.options).pipe(first())
|
|
134
|
-
.subscribe(layer => this.igoLayer$.next(layer));
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* On toggle button click, emit the added change event
|
|
138
|
-
* @internal
|
|
139
|
-
*/
|
|
140
|
-
onToggleClick(event) {
|
|
141
|
-
if (typeof this.lastTimeoutRequest !== 'undefined') {
|
|
142
|
-
clearTimeout(this.lastTimeoutRequest);
|
|
143
|
-
}
|
|
144
|
-
if (event.type === 'mouseenter' && this.mouseInsideAdd) {
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
switch (event.type) {
|
|
148
|
-
case 'click':
|
|
149
|
-
if (!this.isPreview$.value) {
|
|
150
|
-
if (this.added) {
|
|
151
|
-
this.remove();
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
this.add();
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
this.isPreview$.next(false);
|
|
158
|
-
break;
|
|
159
|
-
case 'mouseenter':
|
|
160
|
-
if (!this.isPreview$.value && !this.added) {
|
|
161
|
-
this.lastTimeoutRequest = setTimeout(() => {
|
|
162
|
-
this.add();
|
|
163
|
-
this.isPreview$.next(true);
|
|
164
|
-
}, 500);
|
|
165
|
-
}
|
|
166
|
-
this.mouseInsideAdd = true;
|
|
167
|
-
break;
|
|
168
|
-
case 'mouseleave':
|
|
169
|
-
if (this.isPreview$.value) {
|
|
170
|
-
this.remove();
|
|
171
|
-
this.isPreview$.next(false);
|
|
172
|
-
}
|
|
173
|
-
this.mouseInsideAdd = false;
|
|
174
|
-
break;
|
|
175
|
-
default:
|
|
176
|
-
break;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* Emit added change event with added = true
|
|
181
|
-
*/
|
|
182
|
-
add() {
|
|
183
|
-
if (!this.added) {
|
|
184
|
-
this.added = true;
|
|
185
|
-
this.addedChange.emit({ added: true, layer: this.layer });
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Emit added change event with added = false
|
|
190
|
-
*/
|
|
191
|
-
remove() {
|
|
192
|
-
if (this.added) {
|
|
193
|
-
this.added = false;
|
|
194
|
-
this.addedChange.emit({ added: false, layer: this.layer });
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
haveGroup() {
|
|
198
|
-
return !(!this.layer.address || this.layer.address.split('.').length === 1);
|
|
199
|
-
}
|
|
200
|
-
isInResolutionsRange(resolution) {
|
|
201
|
-
const minResolution = (!this.layer.options.minResolution || Number.isNaN(this.layer.options.minResolution))
|
|
202
|
-
? 0 : this.layer.options.minResolution;
|
|
203
|
-
const maxResolution = (!this.layer.options.maxResolution || Number.isNaN(this.layer.options.maxResolution))
|
|
204
|
-
? Infinity : this.layer.options.maxResolution;
|
|
205
|
-
this.inRange$.next(resolution >= minResolution && resolution <= maxResolution);
|
|
206
|
-
}
|
|
207
|
-
isVisible() {
|
|
208
|
-
if (this.layer?.id) {
|
|
209
|
-
const oLayer = this.map.getLayerById(this.layer?.id);
|
|
210
|
-
oLayer ? this.isVisible$.next(oLayer.visible) : this.isVisible$.next(false);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
getBadgeIcon() {
|
|
214
|
-
if (this.inRange$.getValue()) {
|
|
215
|
-
return this.isVisible$.getValue() ? '' : 'eye-off';
|
|
216
|
-
}
|
|
217
|
-
else {
|
|
218
|
-
return 'eye-off';
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
computeTooltip() {
|
|
222
|
-
if (this.added) {
|
|
223
|
-
if (this.isPreview$.value) {
|
|
224
|
-
return 'igo.geo.catalog.layer.addToMap';
|
|
225
|
-
}
|
|
226
|
-
else if (this.inRange$.value) {
|
|
227
|
-
return this.isVisible$.value
|
|
228
|
-
? 'igo.geo.catalog.layer.removeFromMap'
|
|
229
|
-
: 'igo.geo.catalog.layer.removeFromMapNotVisible';
|
|
230
|
-
}
|
|
231
|
-
else {
|
|
232
|
-
return 'igo.geo.catalog.layer.removeFromMapOutRange';
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
else {
|
|
236
|
-
return this.inRange$.value
|
|
237
|
-
? 'igo.geo.catalog.layer.addToMap'
|
|
238
|
-
: 'igo.geo.catalog.layer.addToMapOutRange';
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
CatalogBrowserLayerComponent.ɵfac = function CatalogBrowserLayerComponent_Factory(t) { return new (t || CatalogBrowserLayerComponent)(i0.ɵɵdirectiveInject(i1.LayerService)); };
|
|
243
|
-
CatalogBrowserLayerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CatalogBrowserLayerComponent, selectors: [["igo-catalog-browser-layer"]], inputs: { resolution: "resolution", catalogAllowLegend: "catalogAllowLegend", layer: "layer", map: "map", added: "added" }, outputs: { addedChange: "addedChange", addedLayerIsPreview: "addedLayerIsPreview" }, decls: 22, vars: 35, consts: [["mat-list-avatar", "", "svgIcon", "blank", 4, "ngIf"], ["mat-line", "", "matTooltipShowDelay", "500", 3, "ngClass", "matTooltip", "click"], ["disabled", "true", "mat-icon-button", "", 4, "ngIf"], [3, "layer"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "color", "mouseenter", "mouseleave", "click"], ["matBadge", "icon", "igoMatBadgeColor", "rgba(0,0,0,0.87)", "igoMatBadgeBackgroundColor", "none", "igoMatBadgeInverseColor", "true", "matBadgeSize", "small", "matBadgePosition", "after", 3, "igoMatBadgeIcon", "matBadgeHidden", "matBadgeDisabled", "svgIcon"], [1, "igo-cataloglayer-legend-container"], ["legend", ""], [3, "layer", 4, "ngIf"], ["mat-list-avatar", "", "svgIcon", "blank"], ["disabled", "true", "mat-icon-button", ""], ["class", "igo-cataloglayer-external-icon", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", "svgIcon", "earth-arrow-right", 3, "matTooltip", "click", 4, "ngIf"], ["tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", "svgIcon", "earth-arrow-right", 1, "igo-cataloglayer-external-icon", 3, "matTooltip", "click"]], template: function CatalogBrowserLayerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
244
|
-
i0.ɵɵelementStart(0, "mat-list-item");
|
|
245
|
-
i0.ɵɵtemplate(1, CatalogBrowserLayerComponent_mat_icon_1_Template, 1, 0, "mat-icon", 0);
|
|
246
|
-
i0.ɵɵelementStart(2, "h4", 1);
|
|
247
|
-
i0.ɵɵlistener("click", function CatalogBrowserLayerComponent_Template_h4_click_2_listener($event) { return ctx.askForLegend($event); });
|
|
248
|
-
i0.ɵɵtext(3);
|
|
249
|
-
i0.ɵɵelementEnd();
|
|
250
|
-
i0.ɵɵtemplate(4, CatalogBrowserLayerComponent_button_4_Template, 2, 1, "button", 2);
|
|
251
|
-
i0.ɵɵelement(5, "igo-metadata-button", 3);
|
|
252
|
-
i0.ɵɵelementStart(6, "button", 4);
|
|
253
|
-
i0.ɵɵlistener("mouseenter", function CatalogBrowserLayerComponent_Template_button_mouseenter_6_listener($event) { return ctx.onMouseEvent($event); })("mouseleave", function CatalogBrowserLayerComponent_Template_button_mouseleave_6_listener($event) { return ctx.onMouseEvent($event); })("click", function CatalogBrowserLayerComponent_Template_button_click_6_listener($event) { return ctx.onToggleClick($event); });
|
|
254
|
-
i0.ɵɵpipe(7, "translate");
|
|
255
|
-
i0.ɵɵpipe(8, "async");
|
|
256
|
-
i0.ɵɵelement(9, "mat-icon", 5);
|
|
257
|
-
i0.ɵɵpipe(10, "async");
|
|
258
|
-
i0.ɵɵpipe(11, "async");
|
|
259
|
-
i0.ɵɵpipe(12, "async");
|
|
260
|
-
i0.ɵɵpipe(13, "async");
|
|
261
|
-
i0.ɵɵpipe(14, "async");
|
|
262
|
-
i0.ɵɵpipe(15, "async");
|
|
263
|
-
i0.ɵɵpipe(16, "async");
|
|
264
|
-
i0.ɵɵelementEnd()();
|
|
265
|
-
i0.ɵɵelementStart(17, "div", 6, 7);
|
|
266
|
-
i0.ɵɵtemplate(19, CatalogBrowserLayerComponent_igo_layer_legend_19_Template, 2, 3, "igo-layer-legend", 8);
|
|
267
|
-
i0.ɵɵpipe(20, "async");
|
|
268
|
-
i0.ɵɵpipe(21, "async");
|
|
269
|
-
i0.ɵɵelementEnd();
|
|
270
|
-
} if (rf & 2) {
|
|
271
|
-
i0.ɵɵadvance(1);
|
|
272
|
-
i0.ɵɵproperty("ngIf", ctx.haveGroup());
|
|
273
|
-
i0.ɵɵadvance(1);
|
|
274
|
-
i0.ɵɵproperty("ngClass", ctx.catalogAllowLegend ? "igo-cataloglayer-title" : "")("matTooltip", ctx.computeTitleTooltip());
|
|
275
|
-
i0.ɵɵadvance(1);
|
|
276
|
-
i0.ɵɵtextInterpolate(ctx.title);
|
|
277
|
-
i0.ɵɵadvance(1);
|
|
278
|
-
i0.ɵɵproperty("ngIf", ctx.layer.externalProvider);
|
|
279
|
-
i0.ɵɵadvance(1);
|
|
280
|
-
i0.ɵɵproperty("layer", ctx.layer);
|
|
281
|
-
i0.ɵɵadvance(1);
|
|
282
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(7, 13, ctx.computeTooltip()))("color", i0.ɵɵpipeBind1(8, 15, ctx.isPreview$) ? "" : ctx.added ? "warn" : "");
|
|
283
|
-
i0.ɵɵadvance(3);
|
|
284
|
-
i0.ɵɵproperty("igoMatBadgeIcon", ctx.getBadgeIcon())("matBadgeHidden", i0.ɵɵpipeBind1(10, 17, ctx.inRange$) && i0.ɵɵpipeBind1(11, 19, ctx.isVisible$) === true || i0.ɵɵpipeBind1(12, 21, ctx.inRange$) && !ctx.added || i0.ɵɵpipeBind1(13, 23, ctx.inRange$) && i0.ɵɵpipeBind1(14, 25, ctx.isPreview$))("matBadgeDisabled", i0.ɵɵpipeBind1(15, 27, ctx.inRange$) === false)("svgIcon", i0.ɵɵpipeBind1(16, 29, ctx.isPreview$) ? "plus" : ctx.added ? "delete" : "plus");
|
|
285
|
-
i0.ɵɵadvance(10);
|
|
286
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(20, 31, ctx.layerLegendShown$) && i0.ɵɵpipeBind1(21, 33, ctx.igoLayer$) && ctx.catalogAllowLegend);
|
|
287
|
-
} }, dependencies: [i2.NgClass, i2.NgIf, i3.MatBadge, i4.MatButton, i5.MatIcon, i6.MatListItem, i6.MatListAvatarCssMatStyler, i7.MatLine, i8.MatTooltip, i9.IgoBadgeIconDirective, i10.MetadataButtonComponent, i11.LayerLegendComponent, i2.AsyncPipe, i12.TranslatePipe], styles: [".igo-cataloglayer-title[_ngcontent-%COMP%]{cursor:pointer}.igo-cataloglayer-legend-container[_ngcontent-%COMP%]{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon[_ngcontent-%COMP%]{cursor:help}"], changeDetection: 0 });
|
|
288
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogBrowserLayerComponent, [{
|
|
289
|
-
type: Component,
|
|
290
|
-
args: [{ selector: 'igo-catalog-browser-layer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\n <mat-icon *ngIf=\"haveGroup()\" mat-list-avatar svgIcon=\"blank\"></mat-icon>\n <h4 mat-line matTooltipShowDelay=\"500\" [ngClass]=\"(catalogAllowLegend)?'igo-cataloglayer-title':''\" (click)=\"askForLegend($event)\" [matTooltip]=\"computeTitleTooltip()\">{{title}}</h4>\n\n <button *ngIf=\"layer.externalProvider\"\n disabled=\"true\"\n mat-icon-button>\n <mat-icon\n class=\"igo-cataloglayer-external-icon\"\n *ngIf=\"layer.externalProvider\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.layer' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n svgIcon=\"earth-arrow-right\">\n </mat-icon>\n </button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n\n <button\n (mouseenter)=\"onMouseEvent($event)\" (mouseleave)=\"onMouseEvent($event)\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"computeTooltip() | translate\"\n [color]=\"(isPreview$ | async) ? '' : added ? 'warn' : ''\"\n (click)=\"onToggleClick($event)\">\n <mat-icon\n matBadge=\"icon\"\n [igoMatBadgeIcon]=\"getBadgeIcon()\"\n igoMatBadgeColor=\"rgba(0,0,0,0.87)\"\n igoMatBadgeBackgroundColor=\"none\"\n igoMatBadgeInverseColor=\"true\"\n [matBadgeHidden]=\"((inRange$ | async) && (isVisible$ | async) === true) || ((inRange$ | async) && !added) || ((inRange$ | async) && (isPreview$ | async))\"\n [matBadgeDisabled]=\"(inRange$ | async) === false\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n [svgIcon]=\"(isPreview$ | async) ? 'plus' : added ? 'delete' : 'plus'\">\n </mat-icon>\n </button>\n\n</mat-list-item>\n\n<div #legend class=\"igo-cataloglayer-legend-container\">\n <igo-layer-legend\n *ngIf=\"(layerLegendShown$ | async) && (igoLayer$ | async) && catalogAllowLegend\"\n [layer]=\"igoLayer$ | async\">\n </igo-layer-legend>\n</div>\n", styles: [".igo-cataloglayer-title{cursor:pointer}.igo-cataloglayer-legend-container{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon{cursor:help}\n"] }]
|
|
291
|
-
}], function () { return [{ type: i1.LayerService }]; }, { resolution: [{
|
|
292
|
-
type: Input
|
|
293
|
-
}], catalogAllowLegend: [{
|
|
294
|
-
type: Input
|
|
295
|
-
}], layer: [{
|
|
296
|
-
type: Input
|
|
297
|
-
}], map: [{
|
|
298
|
-
type: Input
|
|
299
|
-
}], added: [{
|
|
300
|
-
type: Input
|
|
301
|
-
}], addedChange: [{
|
|
302
|
-
type: Output
|
|
303
|
-
}], addedLayerIsPreview: [{
|
|
304
|
-
type: Output
|
|
305
|
-
}] }); })();
|
|
1
|
+
import { Component, Input, ChangeDetectionStrategy, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { getEntityTitle, getEntityIcon } from '@igo2/common';
|
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import { first } from 'rxjs/operators';
|
|
5
|
+
import { TooltipType } from '../../layer/shared/layers';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../layer/shared/layer.service";
|
|
8
|
+
import * as i2 from "@angular/common";
|
|
9
|
+
import * as i3 from "@angular/material/badge";
|
|
10
|
+
import * as i4 from "@angular/material/button";
|
|
11
|
+
import * as i5 from "@angular/material/icon";
|
|
12
|
+
import * as i6 from "@angular/material/list";
|
|
13
|
+
import * as i7 from "@angular/material/core";
|
|
14
|
+
import * as i8 from "@angular/material/tooltip";
|
|
15
|
+
import * as i9 from "@igo2/common";
|
|
16
|
+
import * as i10 from "../../metadata/metadata-button/metadata-button.component";
|
|
17
|
+
import * as i11 from "../../layer/layer-legend/layer-legend.component";
|
|
18
|
+
import * as i12 from "@ngx-translate/core";
|
|
19
|
+
function CatalogBrowserLayerComponent_mat_icon_1_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
+
i0.ɵɵelement(0, "mat-icon", 9);
|
|
21
|
+
} }
|
|
22
|
+
function CatalogBrowserLayerComponent_button_4_mat_icon_1_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
+
i0.ɵɵelementStart(0, "mat-icon", 12);
|
|
24
|
+
i0.ɵɵlistener("click", function CatalogBrowserLayerComponent_button_4_mat_icon_1_Template_mat_icon_click_0_listener($event) { return $event.stopPropagation(); });
|
|
25
|
+
i0.ɵɵpipe(1, "translate");
|
|
26
|
+
i0.ɵɵelementEnd();
|
|
27
|
+
} if (rf & 2) {
|
|
28
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 1, "igo.geo.catalog.externalProvider.layer"));
|
|
29
|
+
} }
|
|
30
|
+
function CatalogBrowserLayerComponent_button_4_Template(rf, ctx) { if (rf & 1) {
|
|
31
|
+
i0.ɵɵelementStart(0, "button", 10);
|
|
32
|
+
i0.ɵɵtemplate(1, CatalogBrowserLayerComponent_button_4_mat_icon_1_Template, 2, 3, "mat-icon", 11);
|
|
33
|
+
i0.ɵɵelementEnd();
|
|
34
|
+
} if (rf & 2) {
|
|
35
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
36
|
+
i0.ɵɵadvance(1);
|
|
37
|
+
i0.ɵɵproperty("ngIf", ctx_r1.layer.externalProvider);
|
|
38
|
+
} }
|
|
39
|
+
function CatalogBrowserLayerComponent_igo_layer_legend_19_Template(rf, ctx) { if (rf & 1) {
|
|
40
|
+
i0.ɵɵelement(0, "igo-layer-legend", 3);
|
|
41
|
+
i0.ɵɵpipe(1, "async");
|
|
42
|
+
} if (rf & 2) {
|
|
43
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
44
|
+
i0.ɵɵproperty("layer", i0.ɵɵpipeBind1(1, 1, ctx_r3.igoLayer$));
|
|
45
|
+
} }
|
|
46
|
+
/**
|
|
47
|
+
* Catalog browser layer item
|
|
48
|
+
*/
|
|
49
|
+
export class CatalogBrowserLayerComponent {
|
|
50
|
+
constructor(layerService) {
|
|
51
|
+
this.layerService = layerService;
|
|
52
|
+
this.inRange$ = new BehaviorSubject(true);
|
|
53
|
+
this.isPreview$ = new BehaviorSubject(false);
|
|
54
|
+
this.isVisible$ = new BehaviorSubject(false);
|
|
55
|
+
this.layerLegendShown$ = new BehaviorSubject(false);
|
|
56
|
+
this.igoLayer$ = new BehaviorSubject(undefined);
|
|
57
|
+
this.mouseInsideAdd = false;
|
|
58
|
+
this.catalogAllowLegend = false;
|
|
59
|
+
/**
|
|
60
|
+
* Whether the layer is already added to the map
|
|
61
|
+
*/
|
|
62
|
+
this.added = false;
|
|
63
|
+
/**
|
|
64
|
+
* Event emitted when the add/remove button is clicked
|
|
65
|
+
*/
|
|
66
|
+
this.addedChange = new EventEmitter();
|
|
67
|
+
this.addedLayerIsPreview = new EventEmitter();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* @internal
|
|
71
|
+
*/
|
|
72
|
+
get title() {
|
|
73
|
+
return getEntityTitle(this.layer);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* @internal
|
|
77
|
+
*/
|
|
78
|
+
get icon() {
|
|
79
|
+
return getEntityIcon(this.layer) || 'layers';
|
|
80
|
+
}
|
|
81
|
+
ngOnInit() {
|
|
82
|
+
this.isPreview$$ = this.isPreview$.subscribe(value => this.addedLayerIsPreview.emit(value));
|
|
83
|
+
this.layers$$ = this.map.layers$.subscribe(() => {
|
|
84
|
+
this.isVisible();
|
|
85
|
+
});
|
|
86
|
+
this.resolution$$ = this.map.viewController.resolution$.subscribe((resolution) => {
|
|
87
|
+
this.isInResolutionsRange(resolution);
|
|
88
|
+
this.isVisible();
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
ngOnDestroy() {
|
|
92
|
+
this.isPreview$$.unsubscribe();
|
|
93
|
+
this.resolution$$.unsubscribe();
|
|
94
|
+
this.layers$$.unsubscribe();
|
|
95
|
+
}
|
|
96
|
+
computeTitleTooltip() {
|
|
97
|
+
const layerOptions = this.layer.options;
|
|
98
|
+
if (!layerOptions.tooltip) {
|
|
99
|
+
return getEntityTitle(this.layer);
|
|
100
|
+
}
|
|
101
|
+
const layerTooltip = layerOptions.tooltip;
|
|
102
|
+
const layerMetadata = layerOptions.metadata;
|
|
103
|
+
switch (layerOptions.tooltip.type) {
|
|
104
|
+
case TooltipType.TITLE:
|
|
105
|
+
return this.layer.title;
|
|
106
|
+
case TooltipType.ABSTRACT:
|
|
107
|
+
if (layerMetadata && layerMetadata.abstract) {
|
|
108
|
+
return layerMetadata.abstract;
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
return this.layer.title;
|
|
112
|
+
}
|
|
113
|
+
case TooltipType.CUSTOM:
|
|
114
|
+
if (layerTooltip && layerTooltip.text) {
|
|
115
|
+
return layerTooltip.text;
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
return this.layer.title;
|
|
119
|
+
}
|
|
120
|
+
default:
|
|
121
|
+
return this.layer.title;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* On mouse event, mouseenter /mouseleave
|
|
126
|
+
* @internal
|
|
127
|
+
*/
|
|
128
|
+
onMouseEvent(event) {
|
|
129
|
+
this.onToggleClick(event);
|
|
130
|
+
}
|
|
131
|
+
askForLegend(event) {
|
|
132
|
+
this.layerLegendShown$.next(!this.layerLegendShown$.value);
|
|
133
|
+
this.layerService.createAsyncLayer(this.layer.options).pipe(first())
|
|
134
|
+
.subscribe(layer => this.igoLayer$.next(layer));
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* On toggle button click, emit the added change event
|
|
138
|
+
* @internal
|
|
139
|
+
*/
|
|
140
|
+
onToggleClick(event) {
|
|
141
|
+
if (typeof this.lastTimeoutRequest !== 'undefined') {
|
|
142
|
+
clearTimeout(this.lastTimeoutRequest);
|
|
143
|
+
}
|
|
144
|
+
if (event.type === 'mouseenter' && this.mouseInsideAdd) {
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
switch (event.type) {
|
|
148
|
+
case 'click':
|
|
149
|
+
if (!this.isPreview$.value) {
|
|
150
|
+
if (this.added) {
|
|
151
|
+
this.remove();
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
this.add();
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
this.isPreview$.next(false);
|
|
158
|
+
break;
|
|
159
|
+
case 'mouseenter':
|
|
160
|
+
if (!this.isPreview$.value && !this.added) {
|
|
161
|
+
this.lastTimeoutRequest = setTimeout(() => {
|
|
162
|
+
this.add();
|
|
163
|
+
this.isPreview$.next(true);
|
|
164
|
+
}, 500);
|
|
165
|
+
}
|
|
166
|
+
this.mouseInsideAdd = true;
|
|
167
|
+
break;
|
|
168
|
+
case 'mouseleave':
|
|
169
|
+
if (this.isPreview$.value) {
|
|
170
|
+
this.remove();
|
|
171
|
+
this.isPreview$.next(false);
|
|
172
|
+
}
|
|
173
|
+
this.mouseInsideAdd = false;
|
|
174
|
+
break;
|
|
175
|
+
default:
|
|
176
|
+
break;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Emit added change event with added = true
|
|
181
|
+
*/
|
|
182
|
+
add() {
|
|
183
|
+
if (!this.added) {
|
|
184
|
+
this.added = true;
|
|
185
|
+
this.addedChange.emit({ added: true, layer: this.layer });
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Emit added change event with added = false
|
|
190
|
+
*/
|
|
191
|
+
remove() {
|
|
192
|
+
if (this.added) {
|
|
193
|
+
this.added = false;
|
|
194
|
+
this.addedChange.emit({ added: false, layer: this.layer });
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
haveGroup() {
|
|
198
|
+
return !(!this.layer.address || this.layer.address.split('.').length === 1);
|
|
199
|
+
}
|
|
200
|
+
isInResolutionsRange(resolution) {
|
|
201
|
+
const minResolution = (!this.layer.options.minResolution || Number.isNaN(this.layer.options.minResolution))
|
|
202
|
+
? 0 : this.layer.options.minResolution;
|
|
203
|
+
const maxResolution = (!this.layer.options.maxResolution || Number.isNaN(this.layer.options.maxResolution))
|
|
204
|
+
? Infinity : this.layer.options.maxResolution;
|
|
205
|
+
this.inRange$.next(resolution >= minResolution && resolution <= maxResolution);
|
|
206
|
+
}
|
|
207
|
+
isVisible() {
|
|
208
|
+
if (this.layer?.id) {
|
|
209
|
+
const oLayer = this.map.getLayerById(this.layer?.id);
|
|
210
|
+
oLayer ? this.isVisible$.next(oLayer.visible) : this.isVisible$.next(false);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
getBadgeIcon() {
|
|
214
|
+
if (this.inRange$.getValue()) {
|
|
215
|
+
return this.isVisible$.getValue() ? '' : 'eye-off';
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
return 'eye-off';
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
computeTooltip() {
|
|
222
|
+
if (this.added) {
|
|
223
|
+
if (this.isPreview$.value) {
|
|
224
|
+
return 'igo.geo.catalog.layer.addToMap';
|
|
225
|
+
}
|
|
226
|
+
else if (this.inRange$.value) {
|
|
227
|
+
return this.isVisible$.value
|
|
228
|
+
? 'igo.geo.catalog.layer.removeFromMap'
|
|
229
|
+
: 'igo.geo.catalog.layer.removeFromMapNotVisible';
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
return 'igo.geo.catalog.layer.removeFromMapOutRange';
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
return this.inRange$.value
|
|
237
|
+
? 'igo.geo.catalog.layer.addToMap'
|
|
238
|
+
: 'igo.geo.catalog.layer.addToMapOutRange';
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
CatalogBrowserLayerComponent.ɵfac = function CatalogBrowserLayerComponent_Factory(t) { return new (t || CatalogBrowserLayerComponent)(i0.ɵɵdirectiveInject(i1.LayerService)); };
|
|
243
|
+
CatalogBrowserLayerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CatalogBrowserLayerComponent, selectors: [["igo-catalog-browser-layer"]], inputs: { resolution: "resolution", catalogAllowLegend: "catalogAllowLegend", layer: "layer", map: "map", added: "added" }, outputs: { addedChange: "addedChange", addedLayerIsPreview: "addedLayerIsPreview" }, decls: 22, vars: 35, consts: [["mat-list-avatar", "", "svgIcon", "blank", 4, "ngIf"], ["mat-line", "", "matTooltipShowDelay", "500", 3, "ngClass", "matTooltip", "click"], ["disabled", "true", "mat-icon-button", "", 4, "ngIf"], [3, "layer"], ["mat-icon-button", "", "tooltip-position", "below", "matTooltipShowDelay", "500", 3, "matTooltip", "color", "mouseenter", "mouseleave", "click"], ["matBadge", "icon", "igoMatBadgeColor", "rgba(0,0,0,0.87)", "igoMatBadgeBackgroundColor", "none", "igoMatBadgeInverseColor", "true", "matBadgeSize", "small", "matBadgePosition", "after", 3, "igoMatBadgeIcon", "matBadgeHidden", "matBadgeDisabled", "svgIcon"], [1, "igo-cataloglayer-legend-container"], ["legend", ""], [3, "layer", 4, "ngIf"], ["mat-list-avatar", "", "svgIcon", "blank"], ["disabled", "true", "mat-icon-button", ""], ["class", "igo-cataloglayer-external-icon", "tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", "svgIcon", "earth-arrow-right", 3, "matTooltip", "click", 4, "ngIf"], ["tooltip-position", "below", "matTooltipShowDelay", "500", "color", "primary", "svgIcon", "earth-arrow-right", 1, "igo-cataloglayer-external-icon", 3, "matTooltip", "click"]], template: function CatalogBrowserLayerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
244
|
+
i0.ɵɵelementStart(0, "mat-list-item");
|
|
245
|
+
i0.ɵɵtemplate(1, CatalogBrowserLayerComponent_mat_icon_1_Template, 1, 0, "mat-icon", 0);
|
|
246
|
+
i0.ɵɵelementStart(2, "h4", 1);
|
|
247
|
+
i0.ɵɵlistener("click", function CatalogBrowserLayerComponent_Template_h4_click_2_listener($event) { return ctx.askForLegend($event); });
|
|
248
|
+
i0.ɵɵtext(3);
|
|
249
|
+
i0.ɵɵelementEnd();
|
|
250
|
+
i0.ɵɵtemplate(4, CatalogBrowserLayerComponent_button_4_Template, 2, 1, "button", 2);
|
|
251
|
+
i0.ɵɵelement(5, "igo-metadata-button", 3);
|
|
252
|
+
i0.ɵɵelementStart(6, "button", 4);
|
|
253
|
+
i0.ɵɵlistener("mouseenter", function CatalogBrowserLayerComponent_Template_button_mouseenter_6_listener($event) { return ctx.onMouseEvent($event); })("mouseleave", function CatalogBrowserLayerComponent_Template_button_mouseleave_6_listener($event) { return ctx.onMouseEvent($event); })("click", function CatalogBrowserLayerComponent_Template_button_click_6_listener($event) { return ctx.onToggleClick($event); });
|
|
254
|
+
i0.ɵɵpipe(7, "translate");
|
|
255
|
+
i0.ɵɵpipe(8, "async");
|
|
256
|
+
i0.ɵɵelement(9, "mat-icon", 5);
|
|
257
|
+
i0.ɵɵpipe(10, "async");
|
|
258
|
+
i0.ɵɵpipe(11, "async");
|
|
259
|
+
i0.ɵɵpipe(12, "async");
|
|
260
|
+
i0.ɵɵpipe(13, "async");
|
|
261
|
+
i0.ɵɵpipe(14, "async");
|
|
262
|
+
i0.ɵɵpipe(15, "async");
|
|
263
|
+
i0.ɵɵpipe(16, "async");
|
|
264
|
+
i0.ɵɵelementEnd()();
|
|
265
|
+
i0.ɵɵelementStart(17, "div", 6, 7);
|
|
266
|
+
i0.ɵɵtemplate(19, CatalogBrowserLayerComponent_igo_layer_legend_19_Template, 2, 3, "igo-layer-legend", 8);
|
|
267
|
+
i0.ɵɵpipe(20, "async");
|
|
268
|
+
i0.ɵɵpipe(21, "async");
|
|
269
|
+
i0.ɵɵelementEnd();
|
|
270
|
+
} if (rf & 2) {
|
|
271
|
+
i0.ɵɵadvance(1);
|
|
272
|
+
i0.ɵɵproperty("ngIf", ctx.haveGroup());
|
|
273
|
+
i0.ɵɵadvance(1);
|
|
274
|
+
i0.ɵɵproperty("ngClass", ctx.catalogAllowLegend ? "igo-cataloglayer-title" : "")("matTooltip", ctx.computeTitleTooltip());
|
|
275
|
+
i0.ɵɵadvance(1);
|
|
276
|
+
i0.ɵɵtextInterpolate(ctx.title);
|
|
277
|
+
i0.ɵɵadvance(1);
|
|
278
|
+
i0.ɵɵproperty("ngIf", ctx.layer.externalProvider);
|
|
279
|
+
i0.ɵɵadvance(1);
|
|
280
|
+
i0.ɵɵproperty("layer", ctx.layer);
|
|
281
|
+
i0.ɵɵadvance(1);
|
|
282
|
+
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(7, 13, ctx.computeTooltip()))("color", i0.ɵɵpipeBind1(8, 15, ctx.isPreview$) ? "" : ctx.added ? "warn" : "");
|
|
283
|
+
i0.ɵɵadvance(3);
|
|
284
|
+
i0.ɵɵproperty("igoMatBadgeIcon", ctx.getBadgeIcon())("matBadgeHidden", i0.ɵɵpipeBind1(10, 17, ctx.inRange$) && i0.ɵɵpipeBind1(11, 19, ctx.isVisible$) === true || i0.ɵɵpipeBind1(12, 21, ctx.inRange$) && !ctx.added || i0.ɵɵpipeBind1(13, 23, ctx.inRange$) && i0.ɵɵpipeBind1(14, 25, ctx.isPreview$))("matBadgeDisabled", i0.ɵɵpipeBind1(15, 27, ctx.inRange$) === false)("svgIcon", i0.ɵɵpipeBind1(16, 29, ctx.isPreview$) ? "plus" : ctx.added ? "delete" : "plus");
|
|
285
|
+
i0.ɵɵadvance(10);
|
|
286
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(20, 31, ctx.layerLegendShown$) && i0.ɵɵpipeBind1(21, 33, ctx.igoLayer$) && ctx.catalogAllowLegend);
|
|
287
|
+
} }, dependencies: [i2.NgClass, i2.NgIf, i3.MatBadge, i4.MatButton, i5.MatIcon, i6.MatListItem, i6.MatListAvatarCssMatStyler, i7.MatLine, i8.MatTooltip, i9.IgoBadgeIconDirective, i10.MetadataButtonComponent, i11.LayerLegendComponent, i2.AsyncPipe, i12.TranslatePipe], styles: [".igo-cataloglayer-title[_ngcontent-%COMP%]{cursor:pointer}.igo-cataloglayer-legend-container[_ngcontent-%COMP%]{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon[_ngcontent-%COMP%]{cursor:help}"], changeDetection: 0 });
|
|
288
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CatalogBrowserLayerComponent, [{
|
|
289
|
+
type: Component,
|
|
290
|
+
args: [{ selector: 'igo-catalog-browser-layer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item>\n <mat-icon *ngIf=\"haveGroup()\" mat-list-avatar svgIcon=\"blank\"></mat-icon>\n <h4 mat-line matTooltipShowDelay=\"500\" [ngClass]=\"(catalogAllowLegend)?'igo-cataloglayer-title':''\" (click)=\"askForLegend($event)\" [matTooltip]=\"computeTitleTooltip()\">{{title}}</h4>\n\n <button *ngIf=\"layer.externalProvider\"\n disabled=\"true\"\n mat-icon-button>\n <mat-icon\n class=\"igo-cataloglayer-external-icon\"\n *ngIf=\"layer.externalProvider\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.layer' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n svgIcon=\"earth-arrow-right\">\n </mat-icon>\n </button>\n <igo-metadata-button [layer]=\"layer\"></igo-metadata-button>\n\n <button\n (mouseenter)=\"onMouseEvent($event)\" (mouseleave)=\"onMouseEvent($event)\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"computeTooltip() | translate\"\n [color]=\"(isPreview$ | async) ? '' : added ? 'warn' : ''\"\n (click)=\"onToggleClick($event)\">\n <mat-icon\n matBadge=\"icon\"\n [igoMatBadgeIcon]=\"getBadgeIcon()\"\n igoMatBadgeColor=\"rgba(0,0,0,0.87)\"\n igoMatBadgeBackgroundColor=\"none\"\n igoMatBadgeInverseColor=\"true\"\n [matBadgeHidden]=\"((inRange$ | async) && (isVisible$ | async) === true) || ((inRange$ | async) && !added) || ((inRange$ | async) && (isPreview$ | async))\"\n [matBadgeDisabled]=\"(inRange$ | async) === false\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n [svgIcon]=\"(isPreview$ | async) ? 'plus' : added ? 'delete' : 'plus'\">\n </mat-icon>\n </button>\n\n</mat-list-item>\n\n<div #legend class=\"igo-cataloglayer-legend-container\">\n <igo-layer-legend\n *ngIf=\"(layerLegendShown$ | async) && (igoLayer$ | async) && catalogAllowLegend\"\n [layer]=\"igoLayer$ | async\">\n </igo-layer-legend>\n</div>\n", styles: [".igo-cataloglayer-title{cursor:pointer}.igo-cataloglayer-legend-container{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon{cursor:help}\n"] }]
|
|
291
|
+
}], function () { return [{ type: i1.LayerService }]; }, { resolution: [{
|
|
292
|
+
type: Input
|
|
293
|
+
}], catalogAllowLegend: [{
|
|
294
|
+
type: Input
|
|
295
|
+
}], layer: [{
|
|
296
|
+
type: Input
|
|
297
|
+
}], map: [{
|
|
298
|
+
type: Input
|
|
299
|
+
}], added: [{
|
|
300
|
+
type: Input
|
|
301
|
+
}], addedChange: [{
|
|
302
|
+
type: Output
|
|
303
|
+
}], addedLayerIsPreview: [{
|
|
304
|
+
type: Output
|
|
305
|
+
}] }); })();
|
|
306
306
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy1icm93c2VyLWxheWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2NhdGFsb2cvY2F0YWxvZy1icm93c2VyL2NhdGFsb2ctYnJvd3Nlci1sYXllci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9jYXRhbG9nL2NhdGFsb2ctYnJvd3Nlci9jYXRhbG9nLWJyb3dzZXItbGF5ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLE1BQU0sRUFDTixZQUFZLEVBR2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHN0QsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBUyxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0lDZjdELDhCQUF5RTs7O0lBTXZFLG9DQVE4QjtJQUQ1QixxSUFBUyx3QkFBd0IsSUFBQzs7SUFFcEMsaUJBQVc7O0lBSlQsMkZBQW1FOzs7SUFSckUsa0NBRWtCO0lBQ2xCLGlHQVNXO0lBQ2IsaUJBQVM7OztJQVJKLGVBQTRCO0lBQTVCLG9EQUE0Qjs7O0lBb0NqQyxzQ0FHbUI7Ozs7SUFEakIsOERBQTJCOztBRDNCL0I7O0dBRUc7QUFPSCxNQUFNLE9BQU8sNEJBQTRCO0lBc0R2QyxZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXJEdkMsYUFBUSxHQUE2QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvRCxlQUFV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Yyx3QkFBb0IsSUFBQyw0R0FBZSx3QkFBb0IsSUFBbkMsa0dBTTFCLHlCQUFxQixJQU5LOzs7UUFPbkMsOEJBV1c7Ozs7Ozs7O1FBQ2IsaUJBQVMsRUFBQTtRQUlYLGtDQUF1RDtRQUNyRCx5R0FHbUI7OztRQUNyQixpQkFBTTs7UUFoRE8sZUFBaUI7UUFBakIsc0NBQWlCO1FBQ1csZUFBNEQ7UUFBNUQsZ0ZBQTRELHlDQUFBO1FBQXFFLGVBQVM7UUFBVCwrQkFBUztRQUV0SyxlQUE0QjtRQUE1QixpREFBNEI7UUFjbEIsZUFBZTtRQUFmLGlDQUFlO1FBT2xDLGVBQTJDO1FBQTNDLHdFQUEyQywrRUFBQTtRQUt4QyxlQUFrQztRQUFsQyxvREFBa0MsbVBBQUEsb0VBQUEsNEZBQUE7UUFnQnBDLGdCQUE4RTtRQUE5RSx1SUFBOEU7O3VGRGpCdEUsNEJBQTRCO2NBTnhDLFNBQVM7MkJBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNOytEQWdCdEMsVUFBVTtrQkFBbEIsS0FBSztZQUVHLGtCQUFrQjtrQkFBMUIsS0FBSztZQUtHLEtBQUs7a0JBQWIsS0FBSztZQUVHLEdBQUc7a0JBQVgsS0FBSztZQUtHLEtBQUs7a0JBQWIsS0FBSztZQUtJLFdBQVc7a0JBQXBCLE1BQU07WUFLRyxtQkFBbUI7a0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBnZXRFbnRpdHlUaXRsZSwgZ2V0RW50aXR5SWNvbiB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IENhdGFsb2dJdGVtTGF5ZXIgfSBmcm9tICcuLi9zaGFyZWQnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExheWVyU2VydmljZSB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllci5zZXJ2aWNlJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTGF5ZXIsIFRvb2x0aXBUeXBlIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycyc7XG5pbXBvcnQgeyBNZXRhZGF0YUxheWVyT3B0aW9ucyB9IGZyb20gJy4uLy4uL21ldGFkYXRhL3NoYXJlZC9tZXRhZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwJztcblxuLyoqXG4gKiBDYXRhbG9nIGJyb3dzZXIgbGF5ZXIgaXRlbVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tY2F0YWxvZy1icm93c2VyLWxheWVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhdGFsb2ctYnJvd3Nlci1sYXllci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhdGFsb2ctYnJvd3Nlci1sYXllci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBDYXRhbG9nQnJvd3NlckxheWVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgaW5SYW5nZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodHJ1ZSk7XG4gIHB1YmxpYyBpc1ByZXZpZXckOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHVibGljIGlzVmlzaWJsZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIGlzUHJldmlldyQkOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcmVzb2x1dGlvbiQkOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgbGF5ZXJzJCQ6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBsYXN0VGltZW91dFJlcXVlc3Q7XG5cbiAgcHVibGljIGxheWVyTGVnZW5kU2hvd24kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcHVibGljIGlnb0xheWVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGF5ZXI+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBtb3VzZUluc2lkZUFkZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHJlc29sdXRpb246IG51bWJlcjtcblxuICBASW5wdXQoKSBjYXRhbG9nQWxsb3dMZWdlbmQgPSBmYWxzZTtcblxuICAvKipcbiAgICogQ2F0YWxvZyBsYXllclxuICAgKi9cbiAgQElucHV0KCkgbGF5ZXI6IENhdGFsb2dJdGVtTGF5ZXI7XG5cbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGxheWVyIGlzIGFscmVhZHkgYWRkZWQgdG8gdGhlIG1hcFxuICAgKi9cbiAgQElucHV0KCkgYWRkZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhZGQvcmVtb3ZlIGJ1dHRvbiBpcyBjbGlja2VkXG4gICAqL1xuICBAT3V0cHV0KCkgYWRkZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICBhZGRlZDogYm9vbGVhbjtcbiAgICBsYXllcjogQ2F0YWxvZ0l0ZW1MYXllcjtcbiAgfT4oKTtcblxuICBAT3V0cHV0KCkgYWRkZWRMYXllcklzUHJldmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0RW50aXR5VGl0bGUodGhpcy5sYXllcik7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRFbnRpdHlJY29uKHRoaXMubGF5ZXIpIHx8ICdsYXllcnMnO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsYXllclNlcnZpY2U6IExheWVyU2VydmljZSApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc1ByZXZpZXckJCA9IHRoaXMuaXNQcmV2aWV3JC5zdWJzY3JpYmUodmFsdWUgPT4gdGhpcy5hZGRlZExheWVySXNQcmV2aWV3LmVtaXQodmFsdWUpKTtcblxuICAgIHRoaXMubGF5ZXJzJCQgPSB0aGlzLm1hcC5sYXllcnMkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmlzVmlzaWJsZSgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5yZXNvbHV0aW9uJCQgPSB0aGlzLm1hcC52aWV3Q29udHJvbGxlci5yZXNvbHV0aW9uJC5zdWJzY3JpYmUoKHJlc29sdXRpb24pID0+IHtcbiAgICAgIHRoaXMuaXNJblJlc29sdXRpb25zUmFuZ2UocmVzb2x1dGlvbik7XG4gICAgICB0aGlzLmlzVmlzaWJsZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5pc1ByZXZpZXckJC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMucmVzb2x1dGlvbiQkLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5sYXllcnMkJC51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgY29tcHV0ZVRpdGxlVG9vbHRpcCgpOiBzdHJpbmcge1xuICAgICAgY29uc3QgbGF5ZXJPcHRpb25zID0gdGhpcy5sYXllci5vcHRpb25zO1xuICAgICAgaWYgKCFsYXllck9wdGlvbnMudG9vbHRpcCkge1xuICAgICAgICByZXR1cm4gZ2V0RW50aXR5VGl0bGUodGhpcy5sYXllcik7XG4gICAgICB9XG4gICAgICBjb25zdCBsYXllclRvb2x0aXAgPSBsYXllck9wdGlvbnMudG9vbHRpcDtcbiAgICAgIGNvbnN0IGxheWVyTWV0YWRhdGEgPSAobGF5ZXJPcHRpb25zIGFzIE1ldGFkYXRhTGF5ZXJPcHRpb25zKS5tZXRhZGF0YTtcbiAgICAgIHN3aXRjaCAobGF5ZXJPcHRpb25zLnRvb2x0aXAudHlwZSkge1xuICAgICAgICBjYXNlIFRvb2x0aXBUeXBlLlRJVExFOlxuICAgICAgICAgIHJldHVybiB0aGlzLmxheWVyLnRpdGxlO1xuICAgICAgICBjYXNlIFRvb2x0aXBUeXBlLkFCU1RSQUNUOlxuICAgICAgICAgIGlmIChsYXllck1ldGFkYXRhICYmIGxheWVyTWV0YWRhdGEuYWJzdHJhY3QpIHtcbiAgICAgICAgICAgIHJldHVybiBsYXllck1ldGFkYXRhLmFic3RyYWN0O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sYXllci50aXRsZTtcbiAgICAgICAgICB9XG4gICAgICAgIGNhc2UgVG9vbHRpcFR5cGUuQ1VTVE9NOlxuICAgICAgICAgIGlmIChsYXllclRvb2x0aXAgJiYgbGF5ZXJUb29sdGlwLnRleHQpIHtcbiAgICAgICAgICAgIHJldHVybiBsYXllclRvb2x0aXAudGV4dDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubGF5ZXIudGl0bGU7XG4gICAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiB0aGlzLmxheWVyLnRpdGxlO1xuICAgICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE9uIG1vdXNlIGV2ZW50LCBtb3VzZWVudGVyIC9tb3VzZWxlYXZlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgb25Nb3VzZUV2ZW50KGV2ZW50KSB7XG4gICAgdGhpcy5vblRvZ2dsZUNsaWNrKGV2ZW50KTtcbiAgfVxuXG4gIGFza0ZvckxlZ2VuZChldmVudCkge1xuICAgIHRoaXMubGF5ZXJMZWdlbmRTaG93biQubmV4dCghdGhpcy5sYXllckxlZ2VuZFNob3duJC52YWx1ZSk7XG4gICAgdGhpcy5sYXllclNlcnZpY2UuY3JlYXRlQXN5bmNMYXllcih0aGlzLmxheWVyLm9wdGlvbnMpLnBpcGUoZmlyc3QoKSlcbiAgICAuc3Vic2NyaWJlKGxheWVyID0+IHRoaXMuaWdvTGF5ZXIkLm5leHQobGF5ZXIpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiB0b2dnbGUgYnV0dG9uIGNsaWNrLCBlbWl0IHRoZSBhZGRlZCBjaGFuZ2UgZXZlbnRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvblRvZ2dsZUNsaWNrKGV2ZW50KSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCk7XG4gICAgfVxuICAgIGlmIChldmVudC50eXBlID09PSAnbW91c2VlbnRlcicgJiYgdGhpcy5tb3VzZUluc2lkZUFkZCApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XG4gICAgICBjYXNlICdjbGljayc6XG4gICAgICAgIGlmICghdGhpcy5pc1ByZXZpZXckLnZhbHVlKSB7XG4gICAgICAgICAgaWYgKHRoaXMuYWRkZWQpIHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYWRkKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNQcmV2aWV3JC5uZXh0KGZhbHNlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdtb3VzZWVudGVyJzpcbiAgICAgICAgaWYgKCF0aGlzLmlzUHJldmlldyQudmFsdWUgJiYgIXRoaXMuYWRkZWQpIHtcbiAgICAgICAgICB0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hZGQoKTtcbiAgICAgICAgICAgIHRoaXMuaXNQcmV2aWV3JC5uZXh0KHRydWUpO1xuICAgICAgICAgIH0sIDUwMCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tb3VzZUluc2lkZUFkZCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbW91c2VsZWF2ZSc6XG4gICAgICAgIGlmICh0aGlzLmlzUHJldmlldyQudmFsdWUpIHtcbiAgICAgICAgICB0aGlzLnJlbW92ZSgpO1xuICAgICAgICAgIHRoaXMuaXNQcmV2aWV3JC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1vdXNlSW5zaWRlQWRkID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEVtaXQgYWRkZWQgY2hhbmdlIGV2ZW50IHdpdGggYWRkZWQgPSB0cnVlXG4gICAqL1xuICBwcml2YXRlIGFkZCgpIHtcbiAgICBpZiAoIXRoaXMuYWRkZWQpIHtcbiAgICAgIHRoaXMuYWRkZWQgPSB0cnVlO1xuICAgICAgdGhpcy5hZGRlZENoYW5nZS5lbWl0KHsgYWRkZWQ6IHRydWUsIGxheWVyOiB0aGlzLmxheWVyIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0IGFkZGVkIGNoYW5nZSBldmVudCB3aXRoIGFkZGVkID0gZmFsc2VcbiAgICovXG4gIHByaXZhdGUgcmVtb3ZlKCkge1xuICAgIGlmICh0aGlzLmFkZGVkKSB7XG4gICAgICB0aGlzLmFkZGVkID0gZmFsc2U7XG4gICAgICB0aGlzLmFkZGVkQ2hhbmdlLmVtaXQoeyBhZGRlZDogZmFsc2UsIGxheWVyOiB0aGlzLmxheWVyIH0pO1xuICAgIH1cbiAgfVxuXG4gIGhhdmVHcm91cCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISghdGhpcy5sYXllci5hZGRyZXNzIHx8IHRoaXMubGF5ZXIuYWRkcmVzcy5zcGxpdCgnLicpLmxlbmd0aCA9PT0gMSk7XG4gIH1cblxuICBpc0luUmVzb2x1dGlvbnNSYW5nZShyZXNvbHV0aW9uOiBudW1iZXIpIHtcbiAgICBjb25zdCBtaW5SZXNvbHV0aW9uID0gKCF0aGlzLmxheWVyLm9wdGlvbnMubWluUmVzb2x1dGlvbiB8fCBOdW1iZXIuaXNOYU4odGhpcy5sYXllci5vcHRpb25zLm1pblJlc29sdXRpb24pKVxuICAgICAgPyAwIDogdGhpcy5sYXllci5vcHRpb25zLm1pblJlc29sdXRpb247XG4gICAgY29uc3QgbWF4UmVzb2x1dGlvbiA9ICghdGhpcy5sYXllci5vcHRpb25zLm1heFJlc29sdXRpb24gfHwgTnVtYmVyLmlzTmFOKHRoaXMubGF5ZXIub3B0aW9ucy5tYXhSZXNvbHV0aW9uKSlcbiAgICA/IEluZmluaXR5IDogdGhpcy5sYXllci5vcHRpb25zLm1heFJlc29sdXRpb247XG4gICAgdGhpcy5pblJhbmdlJC5uZXh0KFxuICAgICAgcmVzb2x1dGlvbiA+PSBtaW5SZXNvbHV0aW9uICYmIHJlc29sdXRpb24gPD0gbWF4UmVzb2x1dGlvblxuICAgICk7XG4gIH1cblxuICBpc1Zpc2libGUoKSB7XG4gICAgaWYgKHRoaXMubGF5ZXI/LmlkKSB7XG4gICAgICBjb25zdCBvTGF5ZXIgPSB0aGlzLm1hcC5nZXRMYXllckJ5SWQodGhpcy5sYXllcj8uaWQpO1xuICAgICAgb0xheWVyID8gdGhpcy5pc1Zpc2libGUkLm5leHQob0xheWVyLnZpc2libGUpIDogdGhpcy5pc1Zpc2libGUkLm5leHQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGdldEJhZGdlSWNvbigpIHtcbiAgICBpZiAodGhpcy5pblJhbmdlJC5nZXRWYWx1ZSgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc1Zpc2libGUkLmdldFZhbHVlKCkgPyAnJyA6ICdleWUtb2ZmJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdleWUtb2ZmJztcbiAgICB9XG4gIH1cblxuICBjb21wdXRlVG9vbHRpcCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmFkZGVkKSB7XG4gICAgICBpZiAodGhpcy5pc1ByZXZpZXckLnZhbHVlKSB7XG4gICAgICAgIHJldHVybiAnaWdvLmdlby5jYXRhbG9nLmxheWVyLmFkZFRvTWFwJztcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pblJhbmdlJC52YWx1ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1Zpc2libGUkLnZhbHVlXG4gICAgICAgID8gJ2lnby5nZW8uY2F0YWxvZy5sYXllci5yZW1vdmVGcm9tTWFwJ1xuICAgICAgICA6ICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIucmVtb3ZlRnJvbU1hcE5vdFZpc2libGUnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIucmVtb3ZlRnJvbU1hcE91dFJhbmdlJztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuaW5SYW5nZSQudmFsdWVcbiAgICAgICAgPyAnaWdvLmdlby5jYXRhbG9nLmxheWVyLmFkZFRvTWFwJ1xuICAgICAgICA6ICdpZ28uZ2VvLmNhdGFsb2cubGF5ZXIuYWRkVG9NYXBPdXRSYW5nZSc7XG4gICAgfVxuICB9XG59XG4iLCI8bWF0LWxpc3QtaXRlbT5cbiAgPG1hdC1pY29uICpuZ0lmPVwiaGF2ZUdyb3VwKClcIiBtYXQtbGlzdC1hdmF0YXIgc3ZnSWNvbj1cImJsYW5rXCI+PC9tYXQtaWNvbj5cbiAgPGg0IG1hdC1saW5lIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIiBbbmdDbGFzc109XCIoY2F0YWxvZ0FsbG93TGVnZW5kKT8naWdvLWNhdGFsb2dsYXllci10aXRsZSc6JydcIiAoY2xpY2spPVwiYXNrRm9yTGVnZW5kKCRldmVudClcIiBbbWF0VG9vbHRpcF09XCJjb21wdXRlVGl0bGVUb29sdGlwKClcIj57e3RpdGxlfX08L2g0PlxuXG4gICAgPGJ1dHRvbiAqbmdJZj1cImxheWVyLmV4dGVybmFsUHJvdmlkZXJcIlxuICAgICAgZGlzYWJsZWQ9XCJ0cnVlXCJcbiAgICAgIG1hdC1pY29uLWJ1dHRvbj5cbiAgICA8bWF0LWljb25cbiAgICAgIGNsYXNzPVwiaWdvLWNhdGFsb2dsYXllci1leHRlcm5hbC1pY29uXCJcbiAgICAgICpuZ0lmPVwibGF5ZXIuZXh0ZXJuYWxQcm92aWRlclwiXG4gICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5jYXRhbG9nLmV4dGVybmFsUHJvdmlkZXIubGF5ZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgIHN2Z0ljb249XCJlYXJ0aC1hcnJvdy1yaWdodFwiPlxuICAgIDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8aWdvLW1ldGFkYXRhLWJ1dHRvbiBbbGF5ZXJdPVwibGF5ZXJcIj48L2lnby1tZXRhZGF0YS1idXR0b24+XG5cbiAgPGJ1dHRvblxuICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFdmVudCgkZXZlbnQpXCIgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUV2ZW50KCRldmVudClcIlxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgW21hdFRvb2x0aXBdPVwiY29tcHV0ZVRvb2x0aXAoKSB8IHRyYW5zbGF0ZVwiXG4gICAgW2NvbG9yXT1cIihpc1ByZXZpZXckIHwgYXN5bmMpID8gJycgOiBhZGRlZCA/ICd3YXJuJyA6ICcnXCJcbiAgICAoY2xpY2spPVwib25Ub2dnbGVDbGljaygkZXZlbnQpXCI+XG4gICAgPG1hdC1pY29uXG4gICAgICAgbWF0QmFkZ2U9XCJpY29uXCJcbiAgICAgICBbaWdvTWF0QmFkZ2VJY29uXT1cImdldEJhZGdlSWNvbigpXCJcbiAgICAgICBpZ29NYXRCYWRnZUNvbG9yPVwicmdiYSgwLDAsMCwwLjg3KVwiXG4gICAgICAgaWdvTWF0QmFkZ2VCYWNrZ3JvdW5kQ29sb3I9XCJub25lXCJcbiAgICAgICBpZ29NYXRCYWRnZUludmVyc2VDb2xvcj1cInRydWVcIlxuICAgICAgIFttYXRCYWRnZUhpZGRlbl09XCIoKGluUmFuZ2UkIHwgYXN5bmMpICYmIChpc1Zpc2libGUkIHwgYXN5bmMpID09PSB0cnVlKSB8fCAoKGluUmFuZ2UkIHwgYXN5bmMpICYmICFhZGRlZCkgfHwgKChpblJhbmdlJCB8IGFzeW5jKSAmJiAoaXNQcmV2aWV3JCB8IGFzeW5jKSlcIlxuICAgICAgIFttYXRCYWRnZURpc2FibGVkXT1cIihpblJhbmdlJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxuICAgICAgIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCJcbiAgICAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYWZ0ZXJcIlxuICAgICAgIFtzdmdJY29uXT1cIihpc1ByZXZpZXckIHwgYXN5bmMpID8gJ3BsdXMnIDogYWRkZWQgPyAnZGVsZXRlJyA6ICdwbHVzJ1wiPlxuICAgIDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG48L21hdC1saXN0LWl0ZW0+XG5cbjxkaXYgI2xlZ2VuZCBjbGFzcz1cImlnby1jYXRhbG9nbGF5ZXItbGVnZW5kLWNvbnRhaW5lclwiPlxuICA8aWdvLWxheWVyLWxlZ2VuZFxuICAgICpuZ0lmPVwiKGxheWVyTGVnZW5kU2hvd24kIHwgYXN5bmMpICYmIChpZ29MYXllciQgfCBhc3luYykgJiYgY2F0YWxvZ0FsbG93TGVnZW5kXCJcbiAgICBbbGF5ZXJdPVwiaWdvTGF5ZXIkIHwgYXN5bmNcIj5cbiAgPC9pZ28tbGF5ZXItbGVnZW5kPlxuPC9kaXY+XG4iXX0=
|