@igo2/geo 18.0.0 → 18.0.1-next.2
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/fesm2022/igo2-geo.mjs +684 -709
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
- package/lib/offline/layerDB/layerDB.service.d.ts +1 -1
- package/lib/style/style-list/style-list.provider.d.ts +1 -8
- package/lib/style/style-list/style-list.service.d.ts +1 -1
- package/package.json +15 -17
- package/src/lib/layer/layer-list/layer-list.theme.scss +2 -1
- package/src/lib/map/menu-button/menu-button.theming.scss +3 -3
- package/src/style/style.scss +1 -1
- package/esm2022/igo2-geo.mjs +0 -5
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +0 -234
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +0 -272
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +0 -246
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +0 -19
- package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +0 -136
- package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +0 -60
- package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +0 -232
- package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +0 -24
- package/esm2022/lib/catalog/catalog-library/index.mjs +0 -4
- package/esm2022/lib/catalog/catalog.module.mjs +0 -26
- package/esm2022/lib/catalog/index.mjs +0 -6
- package/esm2022/lib/catalog/shared/catalog.abstract.mjs +0 -32
- package/esm2022/lib/catalog/shared/catalog.enum.mjs +0 -16
- package/esm2022/lib/catalog/shared/catalog.interface.mjs +0 -2
- package/esm2022/lib/catalog/shared/catalog.service.mjs +0 -706
- package/esm2022/lib/catalog/shared/catalogs.mjs +0 -75
- package/esm2022/lib/catalog/shared/index.mjs +0 -5
- package/esm2022/lib/datasource/index.mjs +0 -3
- package/esm2022/lib/datasource/shared/capabilities.interface.mjs +0 -17
- package/esm2022/lib/datasource/shared/capabilities.service.mjs +0 -441
- package/esm2022/lib/datasource/shared/datasource.service.mjs +0 -258
- package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +0 -222
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +0 -118
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +0 -24
- package/esm2022/lib/datasource/shared/datasources/data.service.mjs +0 -3
- package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/datasource.mjs +0 -41
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +0 -52
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +0 -70
- package/esm2022/lib/datasource/shared/datasources/index.mjs +0 -36
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +0 -33
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +0 -14
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +0 -60
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +0 -17
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +0 -56
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +0 -137
- package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +0 -170
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +0 -227
- package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +0 -224
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +0 -18
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +0 -11
- package/esm2022/lib/datasource/shared/index.mjs +0 -6
- package/esm2022/lib/datasource/shared/options/index.mjs +0 -5
- package/esm2022/lib/datasource/shared/options/options-api.interface.mjs +0 -2
- package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +0 -15
- package/esm2022/lib/datasource/shared/options/options-api.service.mjs +0 -85
- package/esm2022/lib/datasource/shared/options/options.service.mjs +0 -3
- package/esm2022/lib/datasource/utils/index.mjs +0 -2
- package/esm2022/lib/datasource/utils/tilegrid.mjs +0 -20
- package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +0 -246
- package/esm2022/lib/directions/directions-buttons/index.mjs +0 -2
- package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +0 -312
- package/esm2022/lib/directions/directions-inputs/index.mjs +0 -2
- package/esm2022/lib/directions/directions-results/directions-results.component.mjs +0 -192
- package/esm2022/lib/directions/directions-results/index.mjs +0 -2
- package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +0 -5
- package/esm2022/lib/directions/directions-sources/directions-source.mjs +0 -3
- package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +0 -23
- package/esm2022/lib/directions/directions-sources/index.mjs +0 -5
- package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +0 -159
- package/esm2022/lib/directions/directions.component.mjs +0 -437
- package/esm2022/lib/directions/directions.module.mjs +0 -46
- package/esm2022/lib/directions/directions.provider.mjs +0 -16
- package/esm2022/lib/directions/index.mjs +0 -8
- package/esm2022/lib/directions/shared/directions-source.service.mjs +0 -18
- package/esm2022/lib/directions/shared/directions.enum.mjs +0 -72
- package/esm2022/lib/directions/shared/directions.interface.mjs +0 -2
- package/esm2022/lib/directions/shared/directions.service.mjs +0 -239
- package/esm2022/lib/directions/shared/directions.utils.mjs +0 -522
- package/esm2022/lib/directions/shared/index.mjs +0 -6
- package/esm2022/lib/directions/shared/store.mjs +0 -21
- package/esm2022/lib/download/download-button/download-button.component.mjs +0 -48
- package/esm2022/lib/download/download-button/index.mjs +0 -2
- package/esm2022/lib/download/download.module.mjs +0 -24
- package/esm2022/lib/download/index.mjs +0 -3
- package/esm2022/lib/download/shared/download.interface.mjs +0 -2
- package/esm2022/lib/download/shared/download.service.mjs +0 -67
- package/esm2022/lib/download/shared/index.mjs +0 -3
- package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +0 -42
- package/esm2022/lib/draw/draw/draw-popup.component.mjs +0 -421
- package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +0 -28
- package/esm2022/lib/draw/draw/draw.component.mjs +0 -1136
- package/esm2022/lib/draw/draw/draw.module.mjs +0 -19
- package/esm2022/lib/draw/drawingTool.module.mjs +0 -18
- package/esm2022/lib/draw/index.mjs +0 -3
- package/esm2022/lib/draw/shared/draw-icon.service.mjs +0 -30
- package/esm2022/lib/draw/shared/draw.enum.mjs +0 -21
- package/esm2022/lib/draw/shared/draw.interface.mjs +0 -2
- package/esm2022/lib/draw/shared/draw.utils.mjs +0 -125
- package/esm2022/lib/draw/shared/index.mjs +0 -5
- package/esm2022/lib/environment/environment.interface.mjs +0 -2
- package/esm2022/lib/environment/index.mjs +0 -2
- package/esm2022/lib/feature/feature-details/feature-details.component.mjs +0 -306
- package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +0 -56
- package/esm2022/lib/feature/feature-details/feature-details.module.mjs +0 -26
- package/esm2022/lib/feature/feature-details/index.mjs +0 -4
- package/esm2022/lib/feature/feature-form/feature-form.component.mjs +0 -101
- package/esm2022/lib/feature/feature-form/feature-form.module.mjs +0 -19
- package/esm2022/lib/feature/feature.module.mjs +0 -26
- package/esm2022/lib/feature/index.mjs +0 -5
- package/esm2022/lib/feature/shared/feature-store.utils.mjs +0 -28
- package/esm2022/lib/feature/shared/feature.enums.mjs +0 -9
- package/esm2022/lib/feature/shared/feature.interfaces.mjs +0 -2
- package/esm2022/lib/feature/shared/feature.utils.mjs +0 -332
- package/esm2022/lib/feature/shared/index.mjs +0 -8
- package/esm2022/lib/feature/shared/store.mjs +0 -143
- package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +0 -216
- package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +0 -119
- package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +0 -99
- package/esm2022/lib/feature/shared/strategies/index.mjs +0 -8
- package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +0 -103
- package/esm2022/lib/feature/shared/strategies/loading.mjs +0 -136
- package/esm2022/lib/feature/shared/strategies/search.mjs +0 -158
- package/esm2022/lib/feature/shared/strategies/selection.mjs +0 -385
- package/esm2022/lib/feature/shared/strategies.utils.mjs +0 -37
- package/esm2022/lib/filter/filter.module.mjs +0 -131
- package/esm2022/lib/filter/index.mjs +0 -17
- package/esm2022/lib/filter/ogc-filter-button/index.mjs +0 -2
- package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +0 -141
- package/esm2022/lib/filter/ogc-filter-form/index.mjs +0 -2
- package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +0 -325
- package/esm2022/lib/filter/ogc-filter-selection/index.mjs +0 -2
- package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +0 -787
- package/esm2022/lib/filter/ogc-filter-time/index.mjs +0 -3
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +0 -201
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +0 -665
- package/esm2022/lib/filter/ogc-filterable-form/index.mjs +0 -2
- package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +0 -66
- package/esm2022/lib/filter/ogc-filterable-item/index.mjs +0 -2
- package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +0 -244
- package/esm2022/lib/filter/ogc-filterable-list/index.mjs +0 -3
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +0 -39
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +0 -32
- package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +0 -63
- package/esm2022/lib/filter/shared/index.mjs +0 -12
- package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +0 -72
- package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +0 -30
- package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +0 -2
- package/esm2022/lib/filter/shared/ogc-filter.mjs +0 -756
- package/esm2022/lib/filter/shared/ogc-filter.service.mjs +0 -47
- package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +0 -23
- package/esm2022/lib/filter/shared/spatial-filter.interface.mjs +0 -2
- package/esm2022/lib/filter/shared/spatial-filter.service.mjs +0 -282
- package/esm2022/lib/filter/shared/time-filter.enum.mjs +0 -13
- package/esm2022/lib/filter/shared/time-filter.interface.mjs +0 -2
- package/esm2022/lib/filter/shared/time-filter.service.mjs +0 -107
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/index.mjs +0 -2
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +0 -875
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/index.mjs +0 -2
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +0 -191
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/index.mjs +0 -2
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +0 -120
- package/esm2022/lib/filter/time-filter-button/index.mjs +0 -2
- package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +0 -70
- package/esm2022/lib/filter/time-filter-form/index.mjs +0 -2
- package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +0 -537
- package/esm2022/lib/filter/time-filter-item/index.mjs +0 -2
- package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +0 -90
- package/esm2022/lib/filter/time-filter-list/index.mjs +0 -3
- package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +0 -39
- package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +0 -24
- package/esm2022/lib/geo.module.mjs +0 -63
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +0 -559
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +0 -170
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +0 -24
- package/esm2022/lib/geometry/geometry-form-field/index.mjs +0 -4
- package/esm2022/lib/geometry/geometry.module.mjs +0 -18
- package/esm2022/lib/geometry/index.mjs +0 -3
- package/esm2022/lib/geometry/shared/controls/draw.mjs +0 -340
- package/esm2022/lib/geometry/shared/controls/index.mjs +0 -4
- package/esm2022/lib/geometry/shared/controls/modify.mjs +0 -538
- package/esm2022/lib/geometry/shared/controls/slice.mjs +0 -190
- package/esm2022/lib/geometry/shared/geometry.errors.mjs +0 -24
- package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +0 -2
- package/esm2022/lib/geometry/shared/geometry.utils.mjs +0 -113
- package/esm2022/lib/geometry/shared/index.mjs +0 -5
- package/esm2022/lib/import-export/export-button/export-button.component.mjs +0 -49
- package/esm2022/lib/import-export/export-button/index.mjs +0 -2
- package/esm2022/lib/import-export/import-export/import-export.component.mjs +0 -876
- package/esm2022/lib/import-export/import-export/index.mjs +0 -2
- package/esm2022/lib/import-export/import-export.module.mjs +0 -31
- package/esm2022/lib/import-export/index.mjs +0 -5
- package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +0 -114
- package/esm2022/lib/import-export/shared/export.errors.mjs +0 -15
- package/esm2022/lib/import-export/shared/export.interface.mjs +0 -2
- package/esm2022/lib/import-export/shared/export.service.mjs +0 -378
- package/esm2022/lib/import-export/shared/export.type.mjs +0 -13
- package/esm2022/lib/import-export/shared/export.utils.mjs +0 -51
- package/esm2022/lib/import-export/shared/import.errors.mjs +0 -39
- package/esm2022/lib/import-export/shared/import.interface.mjs +0 -2
- package/esm2022/lib/import-export/shared/import.service.mjs +0 -221
- package/esm2022/lib/import-export/shared/import.utils.mjs +0 -203
- package/esm2022/lib/import-export/shared/index.mjs +0 -11
- package/esm2022/lib/layer/index.mjs +0 -16
- package/esm2022/lib/layer/layer-group/index.mjs +0 -2
- package/esm2022/lib/layer/layer-group/layer-group.component.mjs +0 -103
- package/esm2022/lib/layer/layer-item/index.mjs +0 -2
- package/esm2022/lib/layer/layer-item/layer-item.component.mjs +0 -196
- package/esm2022/lib/layer/layer-legend/index.mjs +0 -2
- package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +0 -287
- package/esm2022/lib/layer/layer-legend-item/index.mjs +0 -2
- package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +0 -85
- package/esm2022/lib/layer/layer-legend-list/index.mjs +0 -3
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +0 -54
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +0 -104
- package/esm2022/lib/layer/layer-list/index.mjs +0 -2
- package/esm2022/lib/layer/layer-list/layer-list.component.mjs +0 -232
- package/esm2022/lib/layer/layer-list-tool/index.mjs +0 -4
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +0 -92
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +0 -7
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +0 -61
- package/esm2022/lib/layer/layer-search/index.mjs +0 -2
- package/esm2022/lib/layer/layer-search/layer-search.component.mjs +0 -65
- package/esm2022/lib/layer/layer-unavailable/index.mjs +0 -3
- package/esm2022/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.mjs +0 -25
- package/esm2022/lib/layer/layer-unavailable/layer-unavailable.component.mjs +0 -35
- package/esm2022/lib/layer/layer-viewer/index.mjs +0 -3
- package/esm2022/lib/layer/layer-viewer/layer-viewer.component.mjs +0 -226
- package/esm2022/lib/layer/layer-viewer/layer-viewer.interface.mjs +0 -2
- package/esm2022/lib/layer/layer-viewer-bottom-actions/index.mjs +0 -2
- package/esm2022/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.mjs +0 -207
- package/esm2022/lib/layer/layer-visibility-button/index.mjs +0 -2
- package/esm2022/lib/layer/layer-visibility-button/layer-visibility-button.component.mjs +0 -83
- package/esm2022/lib/layer/layer.module.mjs +0 -107
- package/esm2022/lib/layer/shared/clusterParam.mjs +0 -2
- package/esm2022/lib/layer/shared/index.mjs +0 -6
- package/esm2022/lib/layer/shared/layer-controller.mjs +0 -316
- package/esm2022/lib/layer/shared/layer-selection.mjs +0 -38
- package/esm2022/lib/layer/shared/layer.enums.mjs +0 -2
- package/esm2022/lib/layer/shared/layer.service.mjs +0 -315
- package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/any-layer.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/image-layer.mjs +0 -75
- package/esm2022/lib/layer/shared/layers/index.mjs +0 -18
- package/esm2022/lib/layer/shared/layers/layer-base.mjs +0 -199
- package/esm2022/lib/layer/shared/layers/layer-group.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/layer-group.mjs +0 -120
- package/esm2022/lib/layer/shared/layers/layer.interface.mjs +0 -7
- package/esm2022/lib/layer/shared/layers/layer.mjs +0 -178
- package/esm2022/lib/layer/shared/layers/legend.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/linked/index.mjs +0 -4
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.interface.mjs +0 -12
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.mjs +0 -242
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.utils.mjs +0 -70
- package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/tile-layer.mjs +0 -55
- package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/vector-layer.mjs +0 -576
- package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +0 -2
- package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +0 -112
- package/esm2022/lib/layer/track-feature-button/index.mjs +0 -2
- package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +0 -54
- package/esm2022/lib/layer/utils/image-watcher.mjs +0 -62
- package/esm2022/lib/layer/utils/index.mjs +0 -6
- package/esm2022/lib/layer/utils/layer.utils.mjs +0 -57
- package/esm2022/lib/layer/utils/outputLegend.mjs +0 -32
- package/esm2022/lib/layer/utils/tile-watcher.mjs +0 -52
- package/esm2022/lib/layer/utils/vector-watcher.mjs +0 -50
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +0 -20
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +0 -87
- package/esm2022/lib/map/baselayers-switcher/index.mjs +0 -3
- package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +0 -122
- package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +0 -78
- package/esm2022/lib/map/geolocate-button/index.mjs +0 -2
- package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +0 -73
- package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +0 -2
- package/esm2022/lib/map/home-extent-button/index.mjs +0 -3
- package/esm2022/lib/map/index.mjs +0 -14
- package/esm2022/lib/map/info-section/index.mjs +0 -2
- package/esm2022/lib/map/info-section/info-section.component.mjs +0 -15
- package/esm2022/lib/map/map-browser/index.mjs +0 -2
- package/esm2022/lib/map/map-browser/map-browser.component.mjs +0 -67
- package/esm2022/lib/map/map-center/index.mjs +0 -2
- package/esm2022/lib/map/map-center/map-center.component.mjs +0 -56
- package/esm2022/lib/map/map.module.mjs +0 -89
- package/esm2022/lib/map/menu-button/index.mjs +0 -2
- package/esm2022/lib/map/menu-button/menu-button.component.mjs +0 -57
- package/esm2022/lib/map/offline-button/index.mjs +0 -2
- package/esm2022/lib/map/offline-button/offline-button.component.mjs +0 -53
- package/esm2022/lib/map/rotation-button/index.mjs +0 -2
- package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +0 -58
- package/esm2022/lib/map/shared/controllers/controller.mjs +0 -44
- package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +0 -8
- package/esm2022/lib/map/shared/controllers/geolocation.mjs +0 -431
- package/esm2022/lib/map/shared/controllers/index.mjs +0 -5
- package/esm2022/lib/map/shared/controllers/view.mjs +0 -361
- package/esm2022/lib/map/shared/hover-feature.directive.mjs +0 -481
- package/esm2022/lib/map/shared/index.mjs +0 -15
- package/esm2022/lib/map/shared/linkedLayers.utils.mjs +0 -238
- package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +0 -122
- package/esm2022/lib/map/shared/map.abstract.mjs +0 -24
- package/esm2022/lib/map/shared/map.enums.mjs +0 -6
- package/esm2022/lib/map/shared/map.interface.mjs +0 -2
- package/esm2022/lib/map/shared/map.mjs +0 -201
- package/esm2022/lib/map/shared/map.service.mjs +0 -29
- package/esm2022/lib/map/shared/map.utils.mjs +0 -455
- package/esm2022/lib/map/shared/mapOffline.directive.mjs +0 -114
- package/esm2022/lib/map/shared/projection.interfaces.mjs +0 -2
- package/esm2022/lib/map/shared/projection.service.mjs +0 -67
- package/esm2022/lib/map/shared/projection.utils.mjs +0 -122
- package/esm2022/lib/map/swipe-control/index.mjs +0 -2
- package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +0 -211
- package/esm2022/lib/map/utils/index.mjs +0 -2
- package/esm2022/lib/map/utils/layer-watcher.mjs +0 -112
- package/esm2022/lib/map/wake-lock-button/index.mjs +0 -2
- package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +0 -103
- package/esm2022/lib/map/zoom-button/index.mjs +0 -2
- package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +0 -35
- package/esm2022/lib/measure/index.mjs +0 -3
- package/esm2022/lib/measure/measure.module.mjs +0 -20
- package/esm2022/lib/measure/measurer/index.mjs +0 -6
- package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +0 -40
- package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +0 -38
- package/esm2022/lib/measure/measurer/measurer-item.component.mjs +0 -143
- package/esm2022/lib/measure/measurer/measurer.component.mjs +0 -948
- package/esm2022/lib/measure/measurer/measurer.module.mjs +0 -20
- package/esm2022/lib/measure/shared/index.mjs +0 -4
- package/esm2022/lib/measure/shared/measure.enum.mjs +0 -37
- package/esm2022/lib/measure/shared/measure.interfaces.mjs +0 -2
- package/esm2022/lib/measure/shared/measure.utils.mjs +0 -497
- package/esm2022/lib/metadata/index.mjs +0 -4
- package/esm2022/lib/metadata/metadata-button/index.mjs +0 -2
- package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +0 -96
- package/esm2022/lib/metadata/metadata.module.mjs +0 -29
- package/esm2022/lib/metadata/shared/index.mjs +0 -3
- package/esm2022/lib/metadata/shared/metadata.interface.mjs +0 -2
- package/esm2022/lib/metadata/shared/metadata.service.mjs +0 -18
- package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +0 -130
- package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +0 -6
- package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +0 -2
- package/esm2022/lib/offline/geoDB/geoDB.service.mjs +0 -172
- package/esm2022/lib/offline/geoDB/index.mjs +0 -5
- package/esm2022/lib/offline/index.mjs +0 -6
- package/esm2022/lib/offline/layerDB/index.mjs +0 -3
- package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +0 -2
- package/esm2022/lib/offline/layerDB/layerDB.service.mjs +0 -83
- package/esm2022/lib/offline/offline.interface.mjs +0 -2
- package/esm2022/lib/offline/offline.provider.mjs +0 -50
- package/esm2022/lib/offline/shared/geo-network.service.mjs +0 -79
- package/esm2022/lib/offline/shared/index.mjs +0 -2
- package/esm2022/lib/overlay/index.mjs +0 -2
- package/esm2022/lib/overlay/shared/index.mjs +0 -4
- package/esm2022/lib/overlay/shared/overlay.enum.mjs +0 -8
- package/esm2022/lib/overlay/shared/overlay.mjs +0 -139
- package/esm2022/lib/overlay/shared/overlay.utils.mjs +0 -17
- package/esm2022/lib/print/index.mjs +0 -4
- package/esm2022/lib/print/print/print.component.mjs +0 -116
- package/esm2022/lib/print/print-form/index.mjs +0 -2
- package/esm2022/lib/print/print-form/print-form.component.mjs +0 -320
- package/esm2022/lib/print/print.module.mjs +0 -20
- package/esm2022/lib/print/shared/geopdf.mjs +0 -68
- package/esm2022/lib/print/shared/index.mjs +0 -5
- package/esm2022/lib/print/shared/print.interface.mjs +0 -2
- package/esm2022/lib/print/shared/print.service.mjs +0 -1136
- package/esm2022/lib/print/shared/print.type.mjs +0 -30
- package/esm2022/lib/query/index.mjs +0 -2
- package/esm2022/lib/query/query.module.mjs +0 -27
- package/esm2022/lib/query/shared/index.mjs +0 -8
- package/esm2022/lib/query/shared/query-search-source.mjs +0 -35
- package/esm2022/lib/query/shared/query-search-source.providers.mjs +0 -22
- package/esm2022/lib/query/shared/query.directive.mjs +0 -290
- package/esm2022/lib/query/shared/query.enums.mjs +0 -32
- package/esm2022/lib/query/shared/query.interfaces.mjs +0 -2
- package/esm2022/lib/query/shared/query.service.mjs +0 -753
- package/esm2022/lib/query/shared/query.utils.mjs +0 -45
- package/esm2022/lib/search/index.mjs +0 -10
- package/esm2022/lib/search/search-bar/search-bar.component.mjs +0 -483
- package/esm2022/lib/search/search-bar/search-bar.module.mjs +0 -19
- package/esm2022/lib/search/search-results/index.mjs +0 -5
- package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +0 -101
- package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +0 -433
- package/esm2022/lib/search/search-results/search-results-item.component.mjs +0 -119
- package/esm2022/lib/search/search-results/search-results.component.mjs +0 -297
- package/esm2022/lib/search/search-results/search-results.directive.mjs +0 -7
- package/esm2022/lib/search/search-results/search-results.module.mjs +0 -20
- package/esm2022/lib/search/search-selector/search-selector.component.mjs +0 -118
- package/esm2022/lib/search/search-selector/search-selector.module.mjs +0 -19
- package/esm2022/lib/search/search-settings/search-settings.component.mjs +0 -264
- package/esm2022/lib/search/search-settings/search-settings.module.mjs +0 -19
- package/esm2022/lib/search/search.module.mjs +0 -77
- package/esm2022/lib/search/shared/index.mjs +0 -10
- package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +0 -328
- package/esm2022/lib/search/shared/search-source-service.providers.mjs +0 -20
- package/esm2022/lib/search/shared/search-source.service.mjs +0 -56
- package/esm2022/lib/search/shared/search.enums.mjs +0 -4
- package/esm2022/lib/search/shared/search.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/search.provider.mjs +0 -20
- package/esm2022/lib/search/shared/search.service.mjs +0 -149
- package/esm2022/lib/search/shared/search.utils.mjs +0 -92
- package/esm2022/lib/search/shared/sources/cadastre.mjs +0 -142
- package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +0 -32
- package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/sources/coordinates.mjs +0 -168
- package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +0 -52
- package/esm2022/lib/search/shared/sources/icherche-icons.mjs +0 -32
- package/esm2022/lib/search/shared/sources/icherche.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/sources/icherche.mjs +0 -816
- package/esm2022/lib/search/shared/sources/icherche.providers.mjs +0 -87
- package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/sources/ilayer.mjs +0 -339
- package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +0 -58
- package/esm2022/lib/search/shared/sources/index.mjs +0 -23
- package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/sources/nominatim.mjs +0 -263
- package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +0 -31
- package/esm2022/lib/search/shared/sources/source.interfaces.mjs +0 -13
- package/esm2022/lib/search/shared/sources/source.mjs +0 -221
- package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/sources/storedqueries.mjs +0 -454
- package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +0 -56
- package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +0 -2
- package/esm2022/lib/search/shared/sources/workspace.mjs +0 -192
- package/esm2022/lib/search/shared/sources/workspace.providers.mjs +0 -31
- package/esm2022/lib/style/index.mjs +0 -5
- package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +0 -360
- package/esm2022/lib/style/shared/datasource/index.mjs +0 -2
- package/esm2022/lib/style/shared/feature/feature-style.mjs +0 -162
- package/esm2022/lib/style/shared/feature/index.mjs +0 -2
- package/esm2022/lib/style/shared/font.enum.mjs +0 -17
- package/esm2022/lib/style/shared/index.mjs +0 -5
- package/esm2022/lib/style/shared/overlay/index.mjs +0 -3
- package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +0 -39
- package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +0 -88
- package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +0 -78
- package/esm2022/lib/style/shared/vector/conversion.utils.mjs +0 -27
- package/esm2022/lib/style/shared/vector/index.mjs +0 -4
- package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +0 -2
- package/esm2022/lib/style/style-list/index.mjs +0 -5
- package/esm2022/lib/style/style-list/style-list.interface.mjs +0 -2
- package/esm2022/lib/style/style-list/style-list.module.mjs +0 -23
- package/esm2022/lib/style/style-list/style-list.provider.mjs +0 -21
- package/esm2022/lib/style/style-list/style-list.service.mjs +0 -52
- package/esm2022/lib/style/style-modal/drawing/index.mjs +0 -2
- package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +0 -193
- package/esm2022/lib/style/style-modal/index.mjs +0 -5
- package/esm2022/lib/style/style-modal/layer/index.mjs +0 -2
- package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +0 -142
- package/esm2022/lib/style/style-modal/layer-button/index.mjs +0 -2
- package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +0 -44
- package/esm2022/lib/style/style-modal/shared/index.mjs +0 -2
- package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +0 -2
- package/esm2022/lib/style/style-service/draw-style.service.mjs +0 -255
- package/esm2022/lib/style/style-service/index.mjs +0 -3
- package/esm2022/lib/style/style-service/style.service.mjs +0 -393
- package/esm2022/lib/style/style.module.mjs +0 -46
- package/esm2022/lib/toast/index.mjs +0 -2
- package/esm2022/lib/toast/toast.component.mjs +0 -99
- package/esm2022/lib/toast/toast.module.mjs +0 -24
- package/esm2022/lib/utils/googleLinks.mjs +0 -13
- package/esm2022/lib/utils/id-generator.mjs +0 -112
- package/esm2022/lib/utils/index.mjs +0 -5
- package/esm2022/lib/utils/osmLinks.mjs +0 -9
- package/esm2022/lib/utils/propertyTypeDetector/index.mjs +0 -3
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +0 -2
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +0 -64
- package/esm2022/lib/wkt/index.mjs +0 -2
- package/esm2022/lib/wkt/shared/index.mjs +0 -2
- package/esm2022/lib/wkt/shared/wkt.service.mjs +0 -235
- package/esm2022/lib/wkt/wkt.module.mjs +0 -25
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +0 -36
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +0 -19
- package/esm2022/lib/workspace/confirmation-popup/index.mjs +0 -3
- package/esm2022/lib/workspace/index.mjs +0 -8
- package/esm2022/lib/workspace/shared/edition-workspace.mjs +0 -301
- package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +0 -720
- package/esm2022/lib/workspace/shared/feature-workspace.mjs +0 -41
- package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +0 -113
- package/esm2022/lib/workspace/shared/index.mjs +0 -8
- package/esm2022/lib/workspace/shared/wfs-workspace.mjs +0 -41
- package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +0 -121
- package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +0 -248
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +0 -188
- package/esm2022/lib/workspace/widgets/index.mjs +0 -4
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +0 -48
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +0 -19
- package/esm2022/lib/workspace/widgets/widgets.mjs +0 -15
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +0 -172
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +0 -19
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +0 -137
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +0 -19
- package/esm2022/lib/workspace/workspace.module.mjs +0 -32
- package/esm2022/public_api.mjs +0 -56
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import { MessageService } from '@igo2/core/message';
|
|
3
|
-
import { NetworkService } from '@igo2/core/network';
|
|
4
|
-
import { SubjectStatus } from '@igo2/utils';
|
|
5
|
-
import { combineLatest, filter } from 'rxjs';
|
|
6
|
-
import { isLayerGroup } from '../../layer';
|
|
7
|
-
import { MapBrowserComponent } from '../map-browser/map-browser.component';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../map-browser/map-browser.component";
|
|
10
|
-
import * as i2 from "@igo2/core/network";
|
|
11
|
-
import * as i3 from "@igo2/core/message";
|
|
12
|
-
export class MapOfflineDirective {
|
|
13
|
-
networkService;
|
|
14
|
-
messageService;
|
|
15
|
-
component;
|
|
16
|
-
get map() {
|
|
17
|
-
return this.component.map;
|
|
18
|
-
}
|
|
19
|
-
previousMessageId;
|
|
20
|
-
constructor(component, networkService, messageService) {
|
|
21
|
-
this.networkService = networkService;
|
|
22
|
-
this.messageService = messageService;
|
|
23
|
-
this.component = component;
|
|
24
|
-
}
|
|
25
|
-
ngAfterViewInit() {
|
|
26
|
-
const initialOnline = window.navigator.onLine;
|
|
27
|
-
this.map.forcedOffline$.subscribe((forcedOffline) => {
|
|
28
|
-
const online = window.navigator.onLine;
|
|
29
|
-
// prevent first online message if no state change.
|
|
30
|
-
if (initialOnline && initialOnline === online && !forcedOffline) {
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
if (this.previousMessageId) {
|
|
34
|
-
this.messageService.remove(this.previousMessageId);
|
|
35
|
-
}
|
|
36
|
-
if (!forcedOffline && online) {
|
|
37
|
-
const messageObj = this.messageService.info('igo.geo.network.online.message', 'igo.geo.network.online.title');
|
|
38
|
-
this.previousMessageId = messageObj.toastId;
|
|
39
|
-
}
|
|
40
|
-
else if (forcedOffline) {
|
|
41
|
-
const messageObj = this.messageService.info('igo.geo.network.offline.message', 'igo.geo.network.offline.title');
|
|
42
|
-
this.previousMessageId = messageObj.toastId;
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
combineLatest([
|
|
46
|
-
this.networkService.currentState(),
|
|
47
|
-
this.map.forcedOffline$,
|
|
48
|
-
this.map.status$.pipe(filter((status) => status === SubjectStatus.Done))
|
|
49
|
-
]).subscribe((bunch) => {
|
|
50
|
-
const online = bunch[0].connection;
|
|
51
|
-
const forcedOffline = bunch[1];
|
|
52
|
-
this.handleLayersOnlineState(online, forcedOffline, this.map.layerController.all);
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
handleNonOfflinableLayerResolution(online, forcedOffline, layer) {
|
|
56
|
-
if (!online || forcedOffline) {
|
|
57
|
-
layer.maxResolution = 0;
|
|
58
|
-
}
|
|
59
|
-
else if (online || !forcedOffline) {
|
|
60
|
-
layer.maxResolution = layer.options.maxResolution || Infinity;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
handleLayersOnlineState(online, forcedOffline, layers) {
|
|
64
|
-
layers.forEach((layer) => {
|
|
65
|
-
if (isLayerGroup(layer)) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
let offlinableByUrlSourceOptions;
|
|
69
|
-
if (layer.isIgoInternalLayer) {
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
// detect if layer/source are offlinable by url/pathOffline properties
|
|
73
|
-
if (layer.options.sourceOptions?.pathOffline) {
|
|
74
|
-
offlinableByUrlSourceOptions = layer.options.sourceOptions;
|
|
75
|
-
}
|
|
76
|
-
if (offlinableByUrlSourceOptions) {
|
|
77
|
-
const type = offlinableByUrlSourceOptions.type;
|
|
78
|
-
if (type === 'mvt') {
|
|
79
|
-
layer.ol.getSource().refresh();
|
|
80
|
-
}
|
|
81
|
-
if (!online || forcedOffline) {
|
|
82
|
-
if (['vector', 'cluster'].includes(type)) {
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
layer.ol.getSource().setUrl(offlinableByUrlSourceOptions.pathOffline);
|
|
86
|
-
}
|
|
87
|
-
else if (!online || !forcedOffline) {
|
|
88
|
-
if (['vector', 'cluster'].includes(type)) {
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
layer.ol.getSource().setUrl(offlinableByUrlSourceOptions.url);
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
this.handleNonOfflinableLayerResolution(online, forcedOffline, layer);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
// FOR ALL NON OFFLINABLE SOURCE (i.e. EXCEPT PREVIOUS);
|
|
99
|
-
this.handleNonOfflinableLayerResolution(online, forcedOffline, layer);
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapOfflineDirective, deps: [{ token: i1.MapBrowserComponent }, { token: i2.NetworkService }, { token: i3.MessageService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
105
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: MapOfflineDirective, isStandalone: true, selector: "[igoMapOffline]", ngImport: i0 });
|
|
106
|
-
}
|
|
107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MapOfflineDirective, decorators: [{
|
|
108
|
-
type: Directive,
|
|
109
|
-
args: [{
|
|
110
|
-
selector: '[igoMapOffline]',
|
|
111
|
-
standalone: true
|
|
112
|
-
}]
|
|
113
|
-
}], ctorParameters: () => [{ type: i1.MapBrowserComponent }, { type: i2.NetworkService }, { type: i3.MessageService }] });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwT2ZmbGluZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvc2hhcmVkL21hcE9mZmxpbmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc3QyxPQUFPLEVBQVksWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7OztBQVczRSxNQUFNLE9BQU8sbUJBQW1CO0lBV3BCO0lBQ0E7SUFYRixTQUFTLENBQXNCO0lBRXZDLElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7SUFDNUIsQ0FBQztJQUVPLGlCQUFpQixDQUFDO0lBRTFCLFlBQ0UsU0FBOEIsRUFDdEIsY0FBOEIsRUFDOUIsY0FBOEI7UUFEOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUV0QyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGFBQXNCLEVBQUUsRUFBRTtZQUMzRCxNQUFNLE1B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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9tZXNzYWdlJztcbmltcG9ydCB7IE5ldHdvcmtTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9uZXR3b3JrJztcbmltcG9ydCB7IFN1YmplY3RTdGF0dXMgfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGZpbHRlciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2RhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFueUxheWVyLCBpc0xheWVyR3JvdXAgfSBmcm9tICcuLi8uLi9sYXllcic7XG5pbXBvcnQgeyBNYXBCcm93c2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vbWFwLWJyb3dzZXIvbWFwLWJyb3dzZXIuY29tcG9uZW50JztcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4vbWFwJztcblxuaW50ZXJmYWNlIE9mZmxpbmFibGVTb3VyY2VPcHRpb25zIGV4dGVuZHMgRGF0YVNvdXJjZU9wdGlvbnMge1xuICBwYXRoT2ZmbGluZT86IHN0cmluZztcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2lnb01hcE9mZmxpbmVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBNYXBPZmZsaW5lRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgY29tcG9uZW50OiBNYXBCcm93c2VyQ29tcG9uZW50O1xuXG4gIGdldCBtYXAoKTogSWdvTWFwIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnQubWFwO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmV2aW91c01lc3NhZ2VJZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjb21wb25lbnQ6IE1hcEJyb3dzZXJDb21wb25lbnQsXG4gICAgcHJpdmF0ZSBuZXR3b3JrU2VydmljZTogTmV0d29ya1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5jb21wb25lbnQgPSBjb21wb25lbnQ7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgaW5pdGlhbE9ubGluZSA9IHdpbmRvdy5uYXZpZ2F0b3Iub25MaW5lO1xuICAgIHRoaXMubWFwLmZvcmNlZE9mZmxpbmUkLnN1YnNjcmliZSgoZm9yY2VkT2ZmbGluZTogYm9vbGVhbikgPT4ge1xuICAgICAgY29uc3Qgb25saW5lID0gd2luZG93Lm5hdmlnYXRvci5vbkxpbmU7XG4gICAgICAvLyBwcmV2ZW50IGZpcnN0IG9ubGluZSBtZXNzYWdlIGlmIG5vIHN0YXRlIGNoYW5nZS5cbiAgICAgIGlmIChpbml0aWFsT25saW5lICYmIGluaXRpYWxPbmxpbmUgPT09IG9ubGluZSAmJiAhZm9yY2VkT2ZmbGluZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wcmV2aW91c01lc3NhZ2VJZCkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnJlbW92ZSh0aGlzLnByZXZpb3VzTWVzc2FnZUlkKTtcbiAgICAgIH1cbiAgICAgIGlmICghZm9yY2VkT2ZmbGluZSAmJiBvbmxpbmUpIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZU9iaiA9IHRoaXMubWVzc2FnZVNlcnZpY2UuaW5mbyhcbiAgICAgICAgICAnaWdvLmdlby5uZXR3b3JrLm9ubGluZS5tZXNzYWdlJyxcbiAgICAgICAgICAnaWdvLmdlby5uZXR3b3JrLm9ubGluZS50aXRsZSdcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5wcmV2aW91c01lc3NhZ2VJZCA9IG1lc3NhZ2VPYmoudG9hc3RJZDtcbiAgICAgIH0gZWxzZSBpZiAoZm9yY2VkT2ZmbGluZSkge1xuICAgICAgICBjb25zdCBtZXNzYWdlT2JqID0gdGhpcy5tZXNzYWdlU2VydmljZS5pbmZvKFxuICAgICAgICAgICdpZ28uZ2VvLm5ldHdvcmsub2ZmbGluZS5tZXNzYWdlJyxcbiAgICAgICAgICAnaWdvLmdlby5uZXR3b3JrLm9mZmxpbmUudGl0bGUnXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucHJldmlvdXNNZXNzYWdlSWQgPSBtZXNzYWdlT2JqLnRvYXN0SWQ7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMubmV0d29ya1NlcnZpY2UuY3VycmVudFN0YXRlKCksXG4gICAgICB0aGlzLm1hcC5mb3JjZWRPZmZsaW5lJCxcbiAgICAgIHRoaXMubWFwLnN0YXR1cyQucGlwZShmaWx0ZXIoKHN0YXR1cykgPT4gc3RhdHVzID09PSBTdWJqZWN0U3RhdHVzLkRvbmUpKVxuICAgIF0pLnN1YnNjcmliZSgoYnVuY2gpID0+IHtcbiAgICAgIGNvbnN0IG9ubGluZSA9IGJ1bmNoWzBdLmNvbm5lY3Rpb247XG4gICAgICBjb25zdCBmb3JjZWRPZmZsaW5lID0gYnVuY2hbMV07XG4gICAgICB0aGlzLmhhbmRsZUxheWVyc09ubGluZVN0YXRlKFxuICAgICAgICBvbmxpbmUsXG4gICAgICAgIGZvcmNlZE9mZmxpbmUsXG4gICAgICAgIHRoaXMubWFwLmxheWVyQ29udHJvbGxlci5hbGxcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU5vbk9mZmxpbmFibGVMYXllclJlc29sdXRpb24oXG4gICAgb25saW5lOiBib29sZWFuLFxuICAgIGZvcmNlZE9mZmxpbmU6IGJvb2xlYW4sXG4gICAgbGF5ZXI6IEFueUxheWVyXG4gICkge1xuICAgIGlmICghb25saW5lIHx8IGZvcmNlZE9mZmxpbmUpIHtcbiAgICAgIGxheWVyLm1heFJlc29sdXRpb24gPSAwO1xuICAgIH0gZWxzZSBpZiAob25saW5lIHx8ICFmb3JjZWRPZmZsaW5lKSB7XG4gICAgICBsYXllci5tYXhSZXNvbHV0aW9uID0gbGF5ZXIub3B0aW9ucy5tYXhSZXNvbHV0aW9uIHx8IEluZmluaXR5O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTGF5ZXJzT25saW5lU3RhdGUoXG4gICAgb25saW5lOiBib29sZWFuLFxuICAgIGZvcmNlZE9mZmxpbmU6IGJvb2xlYW4sXG4gICAgbGF5ZXJzOiBBbnlMYXllcltdXG4gICkge1xuICAgIGxheWVycy5mb3JFYWNoKChsYXllcikgPT4ge1xuICAgICAgaWYgKGlzTGF5ZXJHcm91cChsYXllcikpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbGV0IG9mZmxpbmFibGVCeVVybFNvdXJjZU9wdGlvbnM7XG4gICAgICBpZiAobGF5ZXIuaXNJZ29JbnRlcm5hbExheWVyKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIC8vIGRldGVjdCBpZiBsYXllci9zb3VyY2UgYXJlIG9mZmxpbmFibGUgYnkgdXJsL3BhdGhPZmZsaW5lIHByb3BlcnRpZXNcbiAgICAgIGlmIChcbiAgICAgICAgKGxheWVyLm9wdGlvbnMuc291cmNlT3B0aW9ucyBhcyBPZmZsaW5hYmxlU291cmNlT3B0aW9ucyk/LnBhdGhPZmZsaW5lXG4gICAgICApIHtcbiAgICAgICAgb2ZmbGluYWJsZUJ5VXJsU291cmNlT3B0aW9ucyA9IGxheWVyLm9wdGlvbnMuc291cmNlT3B0aW9ucztcbiAgICAgIH1cbiAgICAgIGlmIChvZmZsaW5hYmxlQnlVcmxTb3VyY2VPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHR5cGUgPSBvZmZsaW5hYmxlQnlVcmxTb3VyY2VPcHRpb25zLnR5cGU7XG4gICAgICAgIGlmICh0eXBlID09PSAnbXZ0Jykge1xuICAgICAgICAgIGxheWVyLm9sLmdldFNvdXJjZSgpLnJlZnJlc2goKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIW9ubGluZSB8fCBmb3JjZWRPZmZsaW5lKSB7XG4gICAgICAgICAgaWYgKFsndmVjdG9yJywgJ2NsdXN0ZXInXS5pbmNsdWRlcyh0eXBlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICAobGF5ZXIub2wuZ2V0U291cmNlKCkgYXMgYW55KS5zZXRVcmwoXG4gICAgICAgICAgICBvZmZsaW5hYmxlQnlVcmxTb3VyY2VPcHRpb25zLnBhdGhPZmZsaW5lXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIGlmICghb25saW5lIHx8ICFmb3JjZWRPZmZsaW5lKSB7XG4gICAgICAgICAgaWYgKFsndmVjdG9yJywgJ2NsdXN0ZXInXS5pbmNsdWRlcyh0eXBlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICAobGF5ZXIub2wuZ2V0U291cmNlKCkgYXMgYW55KS5zZXRVcmwoXG4gICAgICAgICAgICBvZmZsaW5hYmxlQnlVcmxTb3VyY2VPcHRpb25zLnVybFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVOb25PZmZsaW5hYmxlTGF5ZXJSZXNvbHV0aW9uKG9ubGluZSwgZm9yY2VkT2ZmbGluZSwgbGF5ZXIpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBGT1IgQUxMIE5PTiBPRkZMSU5BQkxFIFNPVVJDRSAoaS5lLiBFWENFUFQgUFJFVklPVVMpO1xuICAgICAgICB0aGlzLmhhbmRsZU5vbk9mZmxpbmFibGVMYXllclJlc29sdXRpb24ob25saW5lLCBmb3JjZWRPZmZsaW5lLCBsYXllcik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdGlvbi5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL3NoYXJlZC9wcm9qZWN0aW9uLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUHJvamVjdGlvbiB7XG4gIGFsaWFzPzogc3RyaW5nO1xuICBjb2RlOiBzdHJpbmc7XG4gIGRlZjogc3RyaW5nO1xuICBleHRlbnQ6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xufVxuZXhwb3J0IGludGVyZmFjZSBJbnB1dFByb2plY3Rpb25zIGV4dGVuZHMgUHJvamVjdGlvbiB7XG4gIHRyYW5zbGF0ZUtleT86IHN0cmluZztcbiAgdHJhbnNsYXRlZFZhbHVlPzogc3RyaW5nO1xuICB6b25lOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFByb2plY3Rpb25zTGltaXRhdGlvbnNPcHRpb25zIHtcbiAgcHJvakZyb21Db25maWc/OiBib29sZWFuO1xuICBuYWQ4Mz86IGJvb2xlYW47XG4gIHdnczg0PzogYm9vbGVhbjtcbiAgd2ViTWVyY2F0b3I/OiBib29sZWFuO1xuICB1dG0/OiBib29sZWFuO1xuICBtdG0/OiBib29sZWFuO1xuICB1dG1ab25lPzoge1xuICAgIG1pblpvbmU/OiBudW1iZXI7XG4gICAgbWF4Wm9uZT86IG51bWJlcjtcbiAgfTtcbiAgbXRtWm9uZT86IHtcbiAgICBtaW5ab25lPzogbnVtYmVyO1xuICAgIG1heFpvbmU/OiBudW1iZXI7XG4gIH07XG59XG4iXX0=
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { ConfigService } from '@igo2/core/config';
|
|
3
|
-
import * as olproj from 'ol/proj';
|
|
4
|
-
import * as olproj4 from 'ol/proj/proj4';
|
|
5
|
-
import proj4 from 'proj4';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@igo2/core/config";
|
|
8
|
-
/**
|
|
9
|
-
* When injected, this service automatically registers and
|
|
10
|
-
* projection defined in the application config. A custom projection
|
|
11
|
-
* needs to be registered to be usable by OL.
|
|
12
|
-
*/
|
|
13
|
-
export class ProjectionService {
|
|
14
|
-
config;
|
|
15
|
-
constructor(config) {
|
|
16
|
-
this.config = config;
|
|
17
|
-
const projections = this.config.getConfig('projections') || [];
|
|
18
|
-
projections.forEach((projection) => {
|
|
19
|
-
projection.alias = projection.alias ? projection.alias : projection.code;
|
|
20
|
-
this.registerProjection(projection);
|
|
21
|
-
});
|
|
22
|
-
// register all utm zones
|
|
23
|
-
for (let utmZone = 1; utmZone < 61; utmZone++) {
|
|
24
|
-
const code = utmZone < 10 ? `EPSG:3260${utmZone}` : `EPSG:326${utmZone}`;
|
|
25
|
-
const def = `+proj=utm +zone=${utmZone} +datum=WGS84 +units=m +no_defs`;
|
|
26
|
-
const proj = { code, def, extent: undefined };
|
|
27
|
-
this.registerProjection(proj);
|
|
28
|
-
}
|
|
29
|
-
// register all mtm zones
|
|
30
|
-
for (let mtmZone = 1; mtmZone < 11; mtmZone++) {
|
|
31
|
-
const code = mtmZone < 10 ? `EPSG:3218${mtmZone}` : `EPSG:321${80 + mtmZone}`;
|
|
32
|
-
let lon0;
|
|
33
|
-
if (Number(mtmZone) <= 2) {
|
|
34
|
-
lon0 = -50 - Number(mtmZone) * 3;
|
|
35
|
-
}
|
|
36
|
-
else if (Number(mtmZone) >= 12) {
|
|
37
|
-
lon0 = -81 - (Number(mtmZone) - 12) * 3;
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
lon0 = -49.5 - Number(mtmZone) * 3;
|
|
41
|
-
}
|
|
42
|
-
const def = `+proj=tmerc +lat_0=0 +lon_0=${lon0} +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"`;
|
|
43
|
-
const proj = { code, def, extent: undefined };
|
|
44
|
-
this.registerProjection(proj);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Define a proj4 projection and register it in OL
|
|
49
|
-
* @param projection Projection
|
|
50
|
-
*/
|
|
51
|
-
registerProjection(projection) {
|
|
52
|
-
proj4.defs(projection.code, projection.def);
|
|
53
|
-
olproj4.register(proj4);
|
|
54
|
-
if (projection.extent) {
|
|
55
|
-
olproj.get(projection.code).setExtent(projection.extent);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProjectionService, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
59
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProjectionService, providedIn: 'root' });
|
|
60
|
-
}
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProjectionService, decorators: [{
|
|
62
|
-
type: Injectable,
|
|
63
|
-
args: [{
|
|
64
|
-
providedIn: 'root'
|
|
65
|
-
}]
|
|
66
|
-
}], ctorParameters: () => [{ type: i1.ConfigService }] });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbWFwL3NoYXJlZC9wcm9qZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsT0FBTyxLQUFLLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDOzs7QUFJMUI7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUFDUjtJQUFwQixZQUFvQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3ZDLE1BQU0sV0FBVyxHQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDakMsVUFBVSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ3pFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztRQUVILHlCQUF5QjtRQUN6QixLQUFLLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxPQUFPLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDOUMsTUFBTSxJQUFJLEdBQUcsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxPQUFPLEVBQUUsQ0FBQztZQUN6RSxNQUFNLEdBQUcsR0FBRyxtQkFBbUIsT0FBTyxpQ0FBaUMsQ0FBQztZQUN4RSxNQUFNLElBQUksR0FBZSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBRUQseUJBQXlCO1FBQ3pCLEtBQUssSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLE9BQU8sR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUM5QyxNQUFNLElBQUksR0FDUixPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztZQUNuRSxJQUFJLElBQUksQ0FBQztZQUNULElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUN6QixJQUFJLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQyxDQUFDO2lCQUFNLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQyxDQUFDO1lBQ0QsTUFBTSxHQUFHLEdBQUcsK0JBQStCLElBQUksc0ZBQXNGLENBQUM7WUFDdEksTUFBTSxJQUFJLEdBQWUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxrQkFBa0IsQ0FBQyxVQUFzQjtRQUN2QyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0gsQ0FBQzt3R0E3Q1UsaUJBQWlCOzRHQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvY29uZmlnJztcblxuaW1wb3J0ICogYXMgb2xwcm9qIGZyb20gJ29sL3Byb2onO1xuaW1wb3J0ICogYXMgb2xwcm9qNCBmcm9tICdvbC9wcm9qL3Byb2o0JztcblxuaW1wb3J0IHByb2o0IGZyb20gJ3Byb2o0JztcblxuaW1wb3J0IHsgUHJvamVjdGlvbiB9IGZyb20gJy4vcHJvamVjdGlvbi5pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBXaGVuIGluamVjdGVkLCB0aGlzIHNlcnZpY2UgYXV0b21hdGljYWxseSByZWdpc3RlcnMgYW5kXG4gKiBwcm9qZWN0aW9uIGRlZmluZWQgaW4gdGhlIGFwcGxpY2F0aW9uIGNvbmZpZy4gQSBjdXN0b20gcHJvamVjdGlvblxuICogbmVlZHMgdG8gYmUgcmVnaXN0ZXJlZCB0byBiZSB1c2FibGUgYnkgT0wuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByb2plY3Rpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2UpIHtcbiAgICBjb25zdCBwcm9qZWN0aW9uczogUHJvamVjdGlvbltdID1cbiAgICAgIHRoaXMuY29uZmlnLmdldENvbmZpZygncHJvamVjdGlvbnMnKSB8fCBbXTtcbiAgICBwcm9qZWN0aW9ucy5mb3JFYWNoKChwcm9qZWN0aW9uKSA9PiB7XG4gICAgICBwcm9qZWN0aW9uLmFsaWFzID0gcHJvamVjdGlvbi5hbGlhcyA/IHByb2plY3Rpb24uYWxpYXMgOiBwcm9qZWN0aW9uLmNvZGU7XG4gICAgICB0aGlzLnJlZ2lzdGVyUHJvamVjdGlvbihwcm9qZWN0aW9uKTtcbiAgICB9KTtcblxuICAgIC8vIHJlZ2lzdGVyIGFsbCB1dG0gem9uZXNcbiAgICBmb3IgKGxldCB1dG1ab25lID0gMTsgdXRtWm9uZSA8IDYxOyB1dG1ab25lKyspIHtcbiAgICAgIGNvbnN0IGNvZGUgPSB1dG1ab25lIDwgMTAgPyBgRVBTRzozMjYwJHt1dG1ab25lfWAgOiBgRVBTRzozMjYke3V0bVpvbmV9YDtcbiAgICAgIGNvbnN0IGRlZiA9IGArcHJvaj11dG0gK3pvbmU9JHt1dG1ab25lfSArZGF0dW09V0dTODQgK3VuaXRzPW0gK25vX2RlZnNgO1xuICAgICAgY29uc3QgcHJvajogUHJvamVjdGlvbiA9IHsgY29kZSwgZGVmLCBleHRlbnQ6IHVuZGVmaW5lZCB9O1xuICAgICAgdGhpcy5yZWdpc3RlclByb2plY3Rpb24ocHJvaik7XG4gICAgfVxuXG4gICAgLy8gcmVnaXN0ZXIgYWxsIG10bSB6b25lc1xuICAgIGZvciAobGV0IG10bVpvbmUgPSAxOyBtdG1ab25lIDwgMTE7IG10bVpvbmUrKykge1xuICAgICAgY29uc3QgY29kZSA9XG4gICAgICAgIG10bVpvbmUgPCAxMCA/IGBFUFNHOjMyMTgke210bVpvbmV9YCA6IGBFUFNHOjMyMSR7ODAgKyBtdG1ab25lfWA7XG4gICAgICBsZXQgbG9uMDtcbiAgICAgIGlmIChOdW1iZXIobXRtWm9uZSkgPD0gMikge1xuICAgICAgICBsb24wID0gLTUwIC0gTnVtYmVyKG10bVpvbmUpICogMztcbiAgICAgIH0gZWxzZSBpZiAoTnVtYmVyKG10bVpvbmUpID49IDEyKSB7XG4gICAgICAgIGxvbjAgPSAtODEgLSAoTnVtYmVyKG10bVpvbmUpIC0gMTIpICogMztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvbjAgPSAtNDkuNSAtIE51bWJlcihtdG1ab25lKSAqIDM7XG4gICAgICB9XG4gICAgICBjb25zdCBkZWYgPSBgK3Byb2o9dG1lcmMgK2xhdF8wPTAgK2xvbl8wPSR7bG9uMH0gK2s9MC45OTk5ICt4XzA9MzA0ODAwICt5XzA9MCArZWxscHM9R1JTODAgK3Rvd2dzODQ9MCwwLDAsMCwwLDAsMCArdW5pdHM9bSArbm9fZGVmc1wiYDtcbiAgICAgIGNvbnN0IHByb2o6IFByb2plY3Rpb24gPSB7IGNvZGUsIGRlZiwgZXh0ZW50OiB1bmRlZmluZWQgfTtcbiAgICAgIHRoaXMucmVnaXN0ZXJQcm9qZWN0aW9uKHByb2opO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgYSBwcm9qNCBwcm9qZWN0aW9uIGFuZCByZWdpc3RlciBpdCBpbiBPTFxuICAgKiBAcGFyYW0gcHJvamVjdGlvbiBQcm9qZWN0aW9uXG4gICAqL1xuICByZWdpc3RlclByb2plY3Rpb24ocHJvamVjdGlvbjogUHJvamVjdGlvbikge1xuICAgIHByb2o0LmRlZnMocHJvamVjdGlvbi5jb2RlLCBwcm9qZWN0aW9uLmRlZik7XG4gICAgb2xwcm9qNC5yZWdpc3Rlcihwcm9qNCk7XG4gICAgaWYgKHByb2plY3Rpb24uZXh0ZW50KSB7XG4gICAgICBvbHByb2ouZ2V0KHByb2plY3Rpb24uY29kZSkuc2V0RXh0ZW50KHByb2plY3Rpb24uZXh0ZW50KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { from } from 'rxjs';
|
|
2
|
-
/**
|
|
3
|
-
* Return a number of zone MTM for a longitude for province of Quebec only
|
|
4
|
-
* @param lon number
|
|
5
|
-
* @returns zone
|
|
6
|
-
*/
|
|
7
|
-
export function zoneMtm(lon) {
|
|
8
|
-
let lonMin = -54;
|
|
9
|
-
const lonMax = -81;
|
|
10
|
-
if (lon < lonMax || lon > lonMin) {
|
|
11
|
-
return 0;
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
const deltaLon = 3;
|
|
15
|
-
let zone = 2;
|
|
16
|
-
while (Math.abs(lon - lonMin) > deltaLon) {
|
|
17
|
-
lonMin = lonMin - deltaLon;
|
|
18
|
-
zone++;
|
|
19
|
-
}
|
|
20
|
-
return zone;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Return a number of zone UTM for a longitude
|
|
25
|
-
* @param lon number
|
|
26
|
-
* @returns zone
|
|
27
|
-
*/
|
|
28
|
-
export function zoneUtm(lon) {
|
|
29
|
-
let lonMin = -180;
|
|
30
|
-
const deltaLon = 6;
|
|
31
|
-
let zone = 1;
|
|
32
|
-
while (Math.abs(lon - lonMin) > deltaLon) {
|
|
33
|
-
lonMin = lonMin + deltaLon;
|
|
34
|
-
zone++;
|
|
35
|
-
}
|
|
36
|
-
return zone;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Compute the contraints of projections
|
|
40
|
-
* @param projectionsLimitations: ProjectionsLimitationsOptions
|
|
41
|
-
* @returns projectionsContraints: ProjectionsLimitationsOptions
|
|
42
|
-
*/
|
|
43
|
-
export function computeProjectionsConstraints(projectionsLimitations) {
|
|
44
|
-
const mtmZone = projectionsLimitations.mtmZone;
|
|
45
|
-
const utmZone = projectionsLimitations.utmZone;
|
|
46
|
-
const projectionsConstraints = {
|
|
47
|
-
projFromConfig: projectionsLimitations.projFromConfig === false ? false : true,
|
|
48
|
-
nad83: projectionsLimitations.nad83 === false ? false : true,
|
|
49
|
-
wgs84: projectionsLimitations.wgs84 === false ? false : true,
|
|
50
|
-
webMercator: projectionsLimitations.webMercator === false ? false : true,
|
|
51
|
-
utm: projectionsLimitations.utm === false ? false : true,
|
|
52
|
-
mtm: projectionsLimitations.mtm === false ? false : true,
|
|
53
|
-
utmZone: {
|
|
54
|
-
minZone: utmZone && utmZone.minZone ? utmZone.minZone : 17,
|
|
55
|
-
maxZone: utmZone && utmZone.maxZone ? utmZone.maxZone : 21
|
|
56
|
-
},
|
|
57
|
-
mtmZone: {
|
|
58
|
-
minZone: mtmZone && mtmZone.minZone ? mtmZone.minZone : 2,
|
|
59
|
-
maxZone: mtmZone && mtmZone.maxZone ? mtmZone.maxZone : 10
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
return projectionsConstraints;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Method allowing to read the file and try to detect projection/Coord system
|
|
66
|
-
* Only geojson/json/gml could be detected at this moment.
|
|
67
|
-
* @param options A file and an optional number of line to read the EPSG Code. Used only for GML files
|
|
68
|
-
* @returns Observable string, epsgNotDefined if the EPSG is not detected or a EPSG string ex: EPSG:3857
|
|
69
|
-
*/
|
|
70
|
-
export function detectFileEPSG(options) {
|
|
71
|
-
const file = options.file;
|
|
72
|
-
const nbLines = options.nbLines ?? 500;
|
|
73
|
-
const reader = new FileReader();
|
|
74
|
-
return from(new Promise((resolve) => {
|
|
75
|
-
if (!file.name.toLowerCase().endsWith('.geojson') &&
|
|
76
|
-
!file.name.toLowerCase().endsWith('.json') &&
|
|
77
|
-
!file.name.toLowerCase().endsWith('.gml')) {
|
|
78
|
-
resolve('epsgNotDefined');
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
reader.onload = () => {
|
|
82
|
-
if (file.name.toLowerCase().endsWith('.geojson') ||
|
|
83
|
-
file.name.toLowerCase().endsWith('.json')) {
|
|
84
|
-
const geojson = JSON.parse(reader.result);
|
|
85
|
-
if (geojson.crs?.properties?.name) {
|
|
86
|
-
const epsg = geojson.crs.properties.name.match(/EPSG:{1,2}\d{0,6}/gm);
|
|
87
|
-
if (epsg !== null && epsg.length) {
|
|
88
|
-
resolve(epsg[0].replace(/::/g, ':'));
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
resolve('epsgNotDefined');
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
resolve('epsgNotDefined');
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
else if (file.name.toLowerCase().endsWith('.gml')) {
|
|
102
|
-
const text = reader.result;
|
|
103
|
-
const lines = text.split('\n');
|
|
104
|
-
for (let line = 0; line <= nbLines; line++) {
|
|
105
|
-
const epsg = lines[line].match(/EPSG:\d{0,6}/gm);
|
|
106
|
-
if (epsg !== null && epsg.length) {
|
|
107
|
-
resolve(epsg[0]);
|
|
108
|
-
break;
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
resolve(undefined);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
resolve('epsgNotDefined');
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
reader.readAsText(file, 'UTF-8');
|
|
120
|
-
}));
|
|
121
|
-
}
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdGlvbi51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21hcC9zaGFyZWQvcHJvamVjdGlvbi51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXhDOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUFDLEdBQVc7SUFDakMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDakIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDbkIsSUFBSSxHQUFHLEdBQUcsTUFBTSxJQUFJLEdBQUcsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUNqQyxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNiLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUM7WUFDekMsTUFBTSxHQUFHLE1BQU0sR0FBRyxRQUFRLENBQUM7WUFDM0IsSUFBSSxFQUFFLENBQUM7UUFDVCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0FBQ0gsQ0FBQztBQUNEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUFDLEdBQVc7SUFDakMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUM7SUFDbEIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNiLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUM7UUFDekMsTUFBTSxHQUFHLE1BQU0sR0FBRyxRQUFRLENB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QUNqRCxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO3dCQUNqQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ2pCLE1BQU07b0JBQ1IsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDckIsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzVCLENBQUM7UUFDSCxDQUFDLENBQUM7UUFDRixNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIGZyb20gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUHJvamVjdGlvbnNMaW1pdGF0aW9uc09wdGlvbnMgfSBmcm9tICcuL3Byb2plY3Rpb24uaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogUmV0dXJuIGEgbnVtYmVyIG9mIHpvbmUgTVRNIGZvciBhIGxvbmdpdHVkZSBmb3IgcHJvdmluY2Ugb2YgUXVlYmVjIG9ubHlcbiAqIEBwYXJhbSBsb24gbnVtYmVyXG4gKiBAcmV0dXJucyB6b25lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB6b25lTXRtKGxvbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgbGV0IGxvbk1pbiA9IC01NDtcbiAgY29uc3QgbG9uTWF4ID0gLTgxO1xuICBpZiAobG9uIDwgbG9uTWF4IHx8IGxvbiA+IGxvbk1pbikge1xuICAgIHJldHVybiAwO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGRlbHRhTG9uID0gMztcbiAgICBsZXQgem9uZSA9IDI7XG4gICAgd2hpbGUgKE1hdGguYWJzKGxvbiAtIGxvbk1pbikgPiBkZWx0YUxvbikge1xuICAgICAgbG9uTWluID0gbG9uTWluIC0gZGVsdGFMb247XG4gICAgICB6b25lKys7XG4gICAgfVxuICAgIHJldHVybiB6b25lO1xuICB9XG59XG4vKipcbiAqIFJldHVybiBhIG51bWJlciBvZiB6b25lIFVUTSBmb3IgYSBsb25naXR1ZGVcbiAqIEBwYXJhbSBsb24gbnVtYmVyXG4gKiBAcmV0dXJucyB6b25lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB6b25lVXRtKGxvbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgbGV0IGxvbk1pbiA9IC0xODA7XG4gIGNvbnN0IGRlbHRhTG9uID0gNjtcbiAgbGV0IHpvbmUgPSAxO1xuICB3aGlsZSAoTWF0aC5hYnMobG9uIC0gbG9uTWluKSA+IGRlbHRhTG9uKSB7XG4gICAgbG9uTWluID0gbG9uTWluICsgZGVsdGFMb247XG4gICAgem9uZSsrO1xuICB9XG4gIHJldHVybiB6b25lO1xufVxuXG4vKipcbiAqIENvbXB1dGUgdGhlIGNvbnRyYWludHMgb2YgcHJvamVjdGlvbnNcbiAqIEBwYXJhbSBwcm9qZWN0aW9uc0xpbWl0YXRpb25zOiBQcm9qZWN0aW9uc0xpbWl0YXRpb25zT3B0aW9uc1xuICogQHJldHVybnMgcHJvamVjdGlvbnNDb250cmFpbnRzOiBQcm9qZWN0aW9uc0xpbWl0YXRpb25zT3B0aW9uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZVByb2plY3Rpb25zQ29uc3RyYWludHMoXG4gIHByb2plY3Rpb25zTGltaXRhdGlvbnM6IFByb2plY3Rpb25zTGltaXRhdGlvbnNPcHRpb25zXG4pOiBQcm9qZWN0aW9uc0xpbWl0YXRpb25zT3B0aW9ucyB7XG4gIGNvbnN0IG10bVpvbmUgPSBwcm9qZWN0aW9uc0xpbWl0YXRpb25zLm10bVpvbmU7XG4gIGNvbnN0IHV0bVpvbmUgPSBwcm9qZWN0aW9uc0xpbWl0YXRpb25zLnV0bVpvbmU7XG4gIGNvbnN0IHByb2plY3Rpb25zQ29uc3RyYWludHMgPSB7XG4gICAgcHJvakZyb21Db25maWc6XG4gICAgICBwcm9qZWN0aW9uc0xpbWl0YXRpb25zLnByb2pGcm9tQ29uZmlnID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZSxcbiAgICBuYWQ4MzogcHJvamVjdGlvbnNMaW1pdGF0aW9ucy5uYWQ4MyA9PT0gZmFsc2UgPyBmYWxzZSA6IHRydWUsXG4gICAgd2dzODQ6IHByb2plY3Rpb25zTGltaXRhdGlvbnMud2dzODQgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlLFxuICAgIHdlYk1lcmNhdG9yOiBwcm9qZWN0aW9uc0xpbWl0YXRpb25zLndlYk1lcmNhdG9yID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZSxcbiAgICB1dG06IHByb2plY3Rpb25zTGltaXRhdGlvbnMudXRtID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZSxcbiAgICBtdG06IHByb2plY3Rpb25zTGltaXRhdGlvbnMubXRtID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZSxcbiAgICB1dG1ab25lOiB7XG4gICAgICBtaW5ab25lOiB1dG1ab25lICYmIHV0bVpvbmUubWluWm9uZSA/IHV0bVpvbmUubWluWm9uZSA6IDE3LFxuICAgICAgbWF4Wm9uZTogdXRtWm9uZSAmJiB1dG1ab25lLm1heFpvbmUgPyB1dG1ab25lLm1heFpvbmUgOiAyMVxuICAgIH0sXG4gICAgbXRtWm9uZToge1xuICAgICAgbWluWm9uZTogbXRtWm9uZSAmJiBtdG1ab25lLm1pblpvbmUgPyBtdG1ab25lLm1pblpvbmUgOiAyLFxuICAgICAgbWF4Wm9uZTogbXRtWm9uZSAmJiBtdG1ab25lLm1heFpvbmUgPyBtdG1ab25lLm1heFpvbmUgOiAxMFxuICAgIH1cbiAgfTtcbiAgcmV0dXJuIHByb2plY3Rpb25zQ29uc3RyYWludHM7XG59XG4vKipcbiAqIE1ldGhvZCBhbGxvd2luZyB0byByZWFkIHRoZSBmaWxlIGFuZCB0cnkgdG8gZGV0ZWN0IHByb2plY3Rpb24vQ29vcmQgc3lzdGVtXG4gKiBPbmx5IGdlb2pzb24vanNvbi9nbWwgY291bGQgYmUgZGV0ZWN0ZWQgYXQgdGhpcyBtb21lbnQuXG4gKiBAcGFyYW0gb3B0aW9ucyBBIGZpbGUgYW5kIGFuIG9wdGlvbmFsIG51bWJlciBvZiBsaW5lIHRvIHJlYWQgdGhlIEVQU0cgQ29kZS4gVXNlZCBvbmx5IGZvciBHTUwgZmlsZXNcbiAqIEByZXR1cm5zIE9ic2VydmFibGUgc3RyaW5nLCBlcHNnTm90RGVmaW5lZCBpZiB0aGUgRVBTRyBpcyBub3QgZGV0ZWN0ZWQgb3IgYSBFUFNHIHN0cmluZyBleDogRVBTRzozODU3XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXRlY3RGaWxlRVBTRyhvcHRpb25zOiB7XG4gIGZpbGU6IEZpbGU7XG4gIG5iTGluZXM/OiBudW1iZXI7XG59KTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgY29uc3QgZmlsZSA9IG9wdGlvbnMuZmlsZTtcbiAgY29uc3QgbmJMaW5lcyA9IG9wdGlvbnMubmJMaW5lcyA/PyA1MDA7XG5cbiAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgcmV0dXJuIGZyb20oXG4gICAgbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZSkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICAhZmlsZS5uYW1lLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoJy5nZW9qc29uJykgJiZcbiAgICAgICAgIWZpbGUubmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCcuanNvbicpICYmXG4gICAgICAgICFmaWxlLm5hbWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aCgnLmdtbCcpXG4gICAgICApIHtcbiAgICAgICAgcmVzb2x2ZSgnZXBzZ05vdERlZmluZWQnKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZmlsZS5uYW1lLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoJy5nZW9qc29uJykgfHxcbiAgICAgICAgICBmaWxlLm5hbWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aCgnLmpzb24nKVxuICAgICAgICApIHtcbiAgICAgICAgICBjb25zdCBnZW9qc29uID0gSlNPTi5wYXJzZShyZWFkZXIucmVzdWx0IGFzIHN0cmluZyk7XG4gICAgICAgICAgaWYgKGdlb2pzb24uY3JzPy5wcm9wZXJ0aWVzPy5uYW1lKSB7XG4gICAgICAgICAgICBjb25zdCBlcHNnID1cbiAgICAgICAgICAgICAgZ2VvanNvbi5jcnMucHJvcGVydGllcy5uYW1lLm1hdGNoKC9FUFNHOnsxLDJ9XFxkezAsNn0vZ20pO1xuICAgICAgICAgICAgaWYgKGVwc2cgIT09IG51bGwgJiYgZXBzZy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgcmVzb2x2ZShlcHNnWzBdLnJlcGxhY2UoLzo6L2csICc6JykpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXNvbHZlKCdlcHNnTm90RGVmaW5lZCcpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc29sdmUoJ2Vwc2dOb3REZWZpbmVkJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGZpbGUubmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCcuZ21sJykpIHtcbiAgICAgICAgICBjb25zdCB0ZXh0ID0gcmVhZGVyLnJlc3VsdCBhcyBzdHJpbmc7XG4gICAgICAgICAgY29uc3QgbGluZXMgPSAodGV4dCBhcyBzdHJpbmcpLnNwbGl0KCdcXG4nKTtcbiAgICAgICAgICBmb3IgKGxldCBsaW5lID0gMDsgbGluZSA8PSBuYkxpbmVzOyBsaW5lKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGVwc2cgPSBsaW5lc1tsaW5lXS5tYXRjaCgvRVBTRzpcXGR7MCw2fS9nbSk7XG4gICAgICAgICAgICBpZiAoZXBzZyAhPT0gbnVsbCAmJiBlcHNnLmxlbmd0aCkge1xuICAgICAgICAgICAgICByZXNvbHZlKGVwc2dbMF0pO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlc29sdmUodW5kZWZpbmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzb2x2ZSgnZXBzZ05vdERlZmluZWQnKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHJlYWRlci5yZWFkQXNUZXh0KGZpbGUsICdVVEYtOCcpO1xuICAgIH0pXG4gICk7XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './swipe-control.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvc3dpcGUtY29udHJvbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zd2lwZS1jb250cm9sLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { getRenderPixel } from 'ol/render';
|
|
3
|
-
import { IgoMap } from '../shared/map';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
/**
|
|
6
|
-
* Tool to swipe the layers
|
|
7
|
-
*/
|
|
8
|
-
export class SwipeControlComponent {
|
|
9
|
-
/**
|
|
10
|
-
* Get an active map
|
|
11
|
-
*/
|
|
12
|
-
map;
|
|
13
|
-
/**
|
|
14
|
-
* The list of layers for swipe
|
|
15
|
-
*/
|
|
16
|
-
layers;
|
|
17
|
-
/**
|
|
18
|
-
* Final position of the swiped element
|
|
19
|
-
*/
|
|
20
|
-
pos1;
|
|
21
|
-
/**
|
|
22
|
-
* Intermediate position of the swiped element
|
|
23
|
-
*/
|
|
24
|
-
pos3;
|
|
25
|
-
/**
|
|
26
|
-
* State of draggable action
|
|
27
|
-
*/
|
|
28
|
-
inDragAction = false;
|
|
29
|
-
/**
|
|
30
|
-
* Listener of toggle from advanced-map-tool
|
|
31
|
-
*/
|
|
32
|
-
swipeEnabled$$;
|
|
33
|
-
/**
|
|
34
|
-
* Binder of prerender on the same element
|
|
35
|
-
*/
|
|
36
|
-
boundPrerender = this.prerender.bind(this);
|
|
37
|
-
/**
|
|
38
|
-
* Get the list of layers for swipe and activate of deactivate the swipe
|
|
39
|
-
* @internal
|
|
40
|
-
*/
|
|
41
|
-
ngAfterViewInit() {
|
|
42
|
-
this.getListOfLayers();
|
|
43
|
-
this.swipeEnabled$$ = this.map.swipeEnabled$.subscribe((value) => {
|
|
44
|
-
value ? this.displaySwipe() : this.displaySwipeOff();
|
|
45
|
-
});
|
|
46
|
-
this.letZoom();
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Clear the overlay layer and any interaction added by this component.
|
|
50
|
-
* @internal
|
|
51
|
-
*/
|
|
52
|
-
ngOnDestroy() {
|
|
53
|
-
this.swipeEnabled$$.unsubscribe();
|
|
54
|
-
this.map.swipeEnabled$.unsubscribe();
|
|
55
|
-
this.displaySwipeOff();
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Display a swipe-element and render the layers
|
|
59
|
-
*/
|
|
60
|
-
displaySwipe() {
|
|
61
|
-
if (this.swipeId) {
|
|
62
|
-
this.swipeId.style.visibility = 'visible';
|
|
63
|
-
}
|
|
64
|
-
this.layers.map((layer) => layer.ol.on('prerender', this.boundPrerender));
|
|
65
|
-
this.layers.map((layer) => layer.ol.on('postrender', this.postrender));
|
|
66
|
-
this.map.ol.render();
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Clear a swipe-element and render the layers on the initial state
|
|
70
|
-
*/
|
|
71
|
-
displaySwipeOff() {
|
|
72
|
-
if (this.swipeId) {
|
|
73
|
-
this.swipeId.style.visibility = 'hidden';
|
|
74
|
-
}
|
|
75
|
-
this.layers.map((layer) => layer.ol.un('prerender', this.boundPrerender));
|
|
76
|
-
this.layers.map((layer) => layer.ol.un('postrender', this.postrender));
|
|
77
|
-
this.map.ol.render();
|
|
78
|
-
this.layers = [];
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Getter of element
|
|
82
|
-
*/
|
|
83
|
-
get swipeId() {
|
|
84
|
-
return document.getElementById('igo-layer-swipe');
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Get the list of layers for swipe
|
|
88
|
-
*/
|
|
89
|
-
getListOfLayers() {
|
|
90
|
-
this.map.selectedFeatures$.subscribe((layers) => {
|
|
91
|
-
this.layers = [];
|
|
92
|
-
if (layers !== null) {
|
|
93
|
-
for (const layer of layers) {
|
|
94
|
-
if (!this.layers.includes(layer)) {
|
|
95
|
-
this.layers.push(layer);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Get a position of click or touch
|
|
103
|
-
*/
|
|
104
|
-
dragDown(event) {
|
|
105
|
-
this.inDragAction = true;
|
|
106
|
-
event.preventDefault();
|
|
107
|
-
if (event.type === 'mousedown') {
|
|
108
|
-
this.pos3 = event.clientX;
|
|
109
|
-
this.mouseSwipe();
|
|
110
|
-
document.onmouseup = this.closeDragMouseElement;
|
|
111
|
-
}
|
|
112
|
-
else if (event.type === 'touchstart') {
|
|
113
|
-
document.getElementById('arrows').style.visibility = 'hidden';
|
|
114
|
-
this.pos3 = event.touches[0].clientX;
|
|
115
|
-
this.touchSwipe();
|
|
116
|
-
document.ontouchend = this.closeDragTouchElement;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Moving a line with a mouse
|
|
121
|
-
*/
|
|
122
|
-
mouseSwipe() {
|
|
123
|
-
document.addEventListener('mousemove', (event) => {
|
|
124
|
-
if (this.inDragAction) {
|
|
125
|
-
event.preventDefault();
|
|
126
|
-
this.pos1 = this.pos3 - event.clientX;
|
|
127
|
-
this.pos3 = event.clientX;
|
|
128
|
-
this.swipeId.style.left = this.swipeId.offsetLeft - this.pos1 + 'px';
|
|
129
|
-
}
|
|
130
|
-
this.map.ol.render();
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Moving a line with a touch
|
|
135
|
-
*/
|
|
136
|
-
touchSwipe() {
|
|
137
|
-
document.addEventListener('touchmove', (event) => {
|
|
138
|
-
if (this.inDragAction) {
|
|
139
|
-
event.preventDefault();
|
|
140
|
-
document.getElementById('arrows').style.visibility = 'hidden';
|
|
141
|
-
this.pos1 = this.pos3 - event.changedTouches[0].clientX;
|
|
142
|
-
this.pos3 = event.changedTouches[0].clientX;
|
|
143
|
-
this.swipeId.style.left = this.swipeId.offsetLeft - this.pos1 + 'px';
|
|
144
|
-
}
|
|
145
|
-
this.map.ol.render();
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Deactivate a listener of a mouse-action
|
|
150
|
-
*/
|
|
151
|
-
closeDragMouseElement() {
|
|
152
|
-
document.onmouseup = null;
|
|
153
|
-
document.onmousemove = null;
|
|
154
|
-
this.inDragAction = false;
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Deactivate a listener of a touch-action
|
|
158
|
-
*/
|
|
159
|
-
closeDragTouchElement() {
|
|
160
|
-
document.ontouchend = null;
|
|
161
|
-
document.ontouchmove = null;
|
|
162
|
-
document.getElementById('arrows').style.visibility = 'visible';
|
|
163
|
-
this.inDragAction = false;
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Cut the image of a layer by the position of swiped-element
|
|
167
|
-
*/
|
|
168
|
-
prerender(event) {
|
|
169
|
-
const ctx = event.context;
|
|
170
|
-
const mapSize = this.map.ol.getSize();
|
|
171
|
-
const width = this.swipeId.offsetLeft;
|
|
172
|
-
const tl = getRenderPixel(event, [width, 0]);
|
|
173
|
-
const tr = getRenderPixel(event, [0, 0]);
|
|
174
|
-
const bl = getRenderPixel(event, [width, mapSize[1]]);
|
|
175
|
-
const br = getRenderPixel(event, [0, mapSize[1]]);
|
|
176
|
-
ctx.save();
|
|
177
|
-
ctx.beginPath();
|
|
178
|
-
ctx.moveTo(tl[0], tl[1]);
|
|
179
|
-
ctx.lineTo(bl[0], bl[1]);
|
|
180
|
-
ctx.lineTo(br[0], br[1]);
|
|
181
|
-
ctx.lineTo(tr[0], tr[1]);
|
|
182
|
-
ctx.closePath();
|
|
183
|
-
ctx.clip();
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* Save a current state of the context
|
|
187
|
-
*/
|
|
188
|
-
postrender(event) {
|
|
189
|
-
event.context.restore();
|
|
190
|
-
event.context.save();
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* Zoom on div
|
|
194
|
-
*/
|
|
195
|
-
letZoom() {
|
|
196
|
-
document.getElementById('igo-layer-swipe').addEventListener('wheel', (event) => {
|
|
197
|
-
event.deltaY > 0
|
|
198
|
-
? this.map.viewController.zoomOut()
|
|
199
|
-
: this.map.viewController.zoomIn();
|
|
200
|
-
}, true);
|
|
201
|
-
}
|
|
202
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SwipeControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
203
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SwipeControlComponent, isStandalone: true, selector: "igo-swipe-control", inputs: { map: "map" }, ngImport: i0, template: "<div\n class=\"igo-swipe-control-container\"\n id=\"igo-layer-swipe\"\n (mousedown)=\"dragDown($event)\"\n (mouseup)=\"closeDragMouseElement()\"\n (touchstart)=\"dragDown($event)\"\n (touchend)=\"closeDragTouchElement()\"\n>\n <div class=\"igo-swipe-control-line\"></div>\n\n <div class=\"igo-swipe-control-arrows\" id=\"arrows\">\n <div class=\"igo-arrow-left\"></div>\n <div class=\"igo-arrow-right\"></div>\n </div>\n</div>\n", styles: [".igo-swipe-control-container{position:absolute;width:80px;height:100%;top:0%;left:50%;cursor:grab;z-index:1;transform:translate(-40px)}.igo-swipe-control-container:active{cursor:grabbing}.igo-swipe-control-line{position:absolute;width:4px;height:100%;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#5e5a5a}.igo-swipe-control-arrows{position:absolute;width:32px;height:32px;left:50%;top:50%;transform:translate(-50%,-50%);margin-top:-16px;padding:5px 4px;background-color:#5e5a5a;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0)}.igo-swipe-control-arrows div{display:inline-block;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent}.igo-swipe-control-arrows .igo-arrow-right{margin-left:4px;border-left:10px solid white}.igo-swipe-control-arrows .igo-arrow-left{border-right:10px solid white}.igo-swipe-control-arrows:active{display:none}\n"] });
|
|
204
|
-
}
|
|
205
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SwipeControlComponent, decorators: [{
|
|
206
|
-
type: Component,
|
|
207
|
-
args: [{ selector: 'igo-swipe-control', standalone: true, template: "<div\n class=\"igo-swipe-control-container\"\n id=\"igo-layer-swipe\"\n (mousedown)=\"dragDown($event)\"\n (mouseup)=\"closeDragMouseElement()\"\n (touchstart)=\"dragDown($event)\"\n (touchend)=\"closeDragTouchElement()\"\n>\n <div class=\"igo-swipe-control-line\"></div>\n\n <div class=\"igo-swipe-control-arrows\" id=\"arrows\">\n <div class=\"igo-arrow-left\"></div>\n <div class=\"igo-arrow-right\"></div>\n </div>\n</div>\n", styles: [".igo-swipe-control-container{position:absolute;width:80px;height:100%;top:0%;left:50%;cursor:grab;z-index:1;transform:translate(-40px)}.igo-swipe-control-container:active{cursor:grabbing}.igo-swipe-control-line{position:absolute;width:4px;height:100%;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#5e5a5a}.igo-swipe-control-arrows{position:absolute;width:32px;height:32px;left:50%;top:50%;transform:translate(-50%,-50%);margin-top:-16px;padding:5px 4px;background-color:#5e5a5a;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0)}.igo-swipe-control-arrows div{display:inline-block;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent}.igo-swipe-control-arrows .igo-arrow-right{margin-left:4px;border-left:10px solid white}.igo-swipe-control-arrows .igo-arrow-left{border-right:10px solid white}.igo-swipe-control-arrows:active{display:none}\n"] }]
|
|
208
|
-
}], propDecorators: { map: [{
|
|
209
|
-
type: Input
|
|
210
|
-
}] } });
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpcGUtY29udHJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvc3dpcGUtY29udHJvbC9zd2lwZS1jb250cm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL21hcC9zd2lwZS1jb250cm9sL3N3aXBlLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFLM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFdkM7O0dBRUc7QUFPSCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDOztPQUVHO0lBQ00sR0FBRyxDQUFTO0lBRXJCOztPQUVHO0lBQ0ssTUFBTSxDQUFVO0lBRXhCOztPQUVHO0lBQ0ssSUFBSSxDQUFTO0lBRXJCOztPQUVHO0lBQ0ssSUFBSSxDQUFTO0lBRXJCOztPQUVHO0lBQ0ssWUFBWSxHQUFHLEtBQUssQ0FBQztJQUU3Qjs7T0FFRztJQUNLLGNBQWMsQ0FBZTtJQUVyQzs7T0FFRztJQUNLLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVuRDs7O09BR0c7SUFDSCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDL0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFl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QUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNoQixHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDYixDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVLENBQUMsS0FBSztRQUNkLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDeEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSyxPQUFPO1FBQ2IsUUFBUSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLGdCQUFnQixDQUN6RCxPQUFPLEVBQ1AsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNSLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQztnQkFDZCxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFO2dCQUNuQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkMsQ0FBQyxFQUNELElBQUksQ0FDTCxDQUFDO0lBQ0osQ0FBQzt3R0F4TlUscUJBQXFCOzRGQUFyQixxQkFBcUIscUdDbEJsQyw2YkFlQTs7NEZER2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLG1CQUFtQixjQUdqQixJQUFJOzhCQU1QLEdBQUc7c0JBQVgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBnZXRSZW5kZXJQaXhlbCB9IGZyb20gJ29sL3JlbmRlcic7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBMYXllciB9IGZyb20gJy4uLy4uL2xheWVyJztcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uL3NoYXJlZC9tYXAnO1xuXG4vKipcbiAqIFRvb2wgdG8gc3dpcGUgdGhlIGxheWVyc1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tc3dpcGUtY29udHJvbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zd2lwZS1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3dpcGUtY29udHJvbC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFN3aXBlQ29udHJvbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBHZXQgYW4gYWN0aXZlIG1hcFxuICAgKi9cbiAgQElucHV0KCkgbWFwOiBJZ29NYXA7XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIGxheWVycyBmb3Igc3dpcGVcbiAgICovXG4gIHByaXZhdGUgbGF5ZXJzOiBMYXllcltdO1xuXG4gIC8qKlxuICAgKiBGaW5hbCBwb3NpdGlvbiBvZiB0aGUgc3dpcGVkIGVsZW1lbnRcbiAgICovXG4gIHByaXZhdGUgcG9zMTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJbnRlcm1lZGlhdGUgcG9zaXRpb24gb2YgdGhlIHN3aXBlZCBlbGVtZW50XG4gICAqL1xuICBwcml2YXRlIHBvczM6IG51bWJlcjtcblxuICAvKipcbiAgICogU3RhdGUgb2YgZHJhZ2dhYmxlIGFjdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBpbkRyYWdBY3Rpb24gPSBmYWxzZTtcblxuICAvKipcbiAgICogTGlzdGVuZXIgb2YgdG9nZ2xlIGZyb20gYWR2YW5jZWQtbWFwLXRvb2xcbiAgICovXG4gIHByaXZhdGUgc3dpcGVFbmFibGVkJCQ6IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogQmluZGVyIG9mIHByZXJlbmRlciBvbiB0aGUgc2FtZSBlbGVtZW50XG4gICAqL1xuICBwcml2YXRlIGJvdW5kUHJlcmVuZGVyID0gdGhpcy5wcmVyZW5kZXIuYmluZCh0aGlzKTtcblxuICAvKipcbiAgICogR2V0IHRoZSBsaXN0IG9mIGxheWVycyBmb3Igc3dpcGUgYW5kIGFjdGl2YXRlIG9mIGRlYWN0aXZhdGUgdGhlIHN3aXBlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0TGlzdE9mTGF5ZXJzKCk7XG4gICAgdGhpcy5zd2lwZUVuYWJsZWQkJCA9IHRoaXMubWFwLnN3aXBlRW5hYmxlZCQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgdmFsdWUgPyB0aGlzLmRpc3BsYXlTd2lwZSgpIDogdGhpcy5kaXNwbGF5U3dpcGVPZmYoKTtcbiAgICB9KTtcbiAgICB0aGlzLmxldFpvb20oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhciB0aGUgb3ZlcmxheSBsYXllciBhbmQgYW55IGludGVyYWN0aW9uIGFkZGVkIGJ5IHRoaXMgY29tcG9uZW50LlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3dpcGVFbmFibGVkJCQudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLm1hcC5zd2lwZUVuYWJsZWQkLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5kaXNwbGF5U3dpcGVPZmYoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwbGF5IGEgc3dpcGUtZWxlbWVudCBhbmQgcmVuZGVyIHRoZSBsYXllcnNcbiAgICovXG4gIGRpc3BsYXlTd2lwZSgpIHtcbiAgICBpZiAodGhpcy5zd2lwZUlkKSB7XG4gICAgICB0aGlzLnN3aXBlSWQuc3R5bGUudmlzaWJpbGl0eSA9ICd2aXNpYmxlJztcbiAgICB9XG4gICAgdGhpcy5sYXllcnMubWFwKChsYXllcikgPT4gbGF5ZXIub2wub24oJ3ByZXJlbmRlcicsIHRoaXMuYm91bmRQcmVyZW5kZXIpKTtcbiAgICB0aGlzLmxheWVycy5tYXAoKGxheWVyKSA9PiBsYXllci5vbC5vbigncG9zdHJlbmRlcicsIHRoaXMucG9zdHJlbmRlcikpO1xuICAgIHRoaXMubWFwLm9sLnJlbmRlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIGEgc3dpcGUtZWxlbWVudCBhbmQgcmVuZGVyIHRoZSBsYXllcnMgb24gdGhlIGluaXRpYWwgc3RhdGVcbiAgICovXG4gIGRpc3BsYXlTd2lwZU9mZigpIHtcbiAgICBpZiAodGhpcy5zd2lwZUlkKSB7XG4gICAgICB0aGlzLnN3aXBlSWQuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICAgIH1cbiAgICB0aGlzLmxheWVycy5tYXAoKGxheWVyKSA9PiBsYXllci5vbC51bigncHJlcmVuZGVyJywgdGhpcy5ib3VuZFByZXJlbmRlcikpO1xuICAgIHRoaXMubGF5ZXJzLm1hcCgobGF5ZXIpID0+IGxheWVyLm9sLnVuKCdwb3N0cmVuZGVyJywgdGhpcy5wb3N0cmVuZGVyKSk7XG4gICAgdGhpcy5tYXAub2wucmVuZGVyKCk7XG4gICAgdGhpcy5sYXllcnMgPSBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXR0ZXIgb2YgZWxlbWVudFxuICAgKi9cbiAgZ2V0IHN3aXBlSWQoKSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZ28tbGF5ZXItc3dpcGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxpc3Qgb2YgbGF5ZXJzIGZvciBzd2lwZVxuICAgKi9cbiAgZ2V0TGlzdE9mTGF5ZXJzKCkge1xuICAgIHRoaXMubWFwLnNlbGVjdGVkRmVhdHVyZXMkLnN1YnNjcmliZSgobGF5ZXJzKSA9PiB7XG4gICAgICB0aGlzLmxheWVycyA9IFtdO1xuICAgICAgaWYgKGxheWVycyAhPT0gbnVsbCkge1xuICAgICAgICBmb3IgKGNvbnN0IGxheWVyIG9mIGxheWVycykge1xuICAgICAgICAgIGlmICghdGhpcy5sYXllcnMuaW5jbHVkZXMobGF5ZXIpKSB7XG4gICAgICAgICAgICB0aGlzLmxheWVycy5wdXNoKGxheWVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBwb3NpdGlvbiBvZiBjbGljayBvciB0b3VjaFxuICAgKi9cbiAgZHJhZ0Rvd24oZXZlbnQpIHtcbiAgICB0aGlzLmluRHJhZ0FjdGlvbiA9IHRydWU7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ21vdXNlZG93bicpIHtcbiAgICAgIHRoaXMucG9zMyA9IGV2ZW50LmNsaWVudFg7XG4gICAgICB0aGlzLm1vdXNlU3dpcGUoKTtcbiAgICAgIGRvY3VtZW50Lm9ubW91c2V1cCA9IHRoaXMuY2xvc2VEcmFnTW91c2VFbGVtZW50O1xuICAgIH0gZWxzZSBpZiAoZXZlbnQudHlwZSA9PT0gJ3RvdWNoc3RhcnQnKSB7XG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXJyb3dzJykuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICAgICAgdGhpcy5wb3MzID0gZXZlbnQudG91Y2hlc1swXS5jbGllbnRYO1xuICAgICAgdGhpcy50b3VjaFN3aXBlKCk7XG4gICAgICBkb2N1bWVudC5vbnRvdWNoZW5kID0gdGhpcy5jbG9zZURyYWdUb3VjaEVsZW1lbnQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1vdmluZyBhIGxpbmUgd2l0aCBhIG1vdXNlXG4gICAqL1xuICBtb3VzZVN3aXBlKCkge1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIChldmVudCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaW5EcmFnQWN0aW9uKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMucG9zMSA9IHRoaXMucG9zMyAtIGV2ZW50LmNsaWVudFg7XG4gICAgICAgIHRoaXMucG9zMyA9IGV2ZW50LmNsaWVudFg7XG4gICAgICAgIHRoaXMuc3dpcGVJZC5zdHlsZS5sZWZ0ID0gdGhpcy5zd2lwZUlkLm9mZnNldExlZnQgLSB0aGlzLnBvczEgKyAncHgnO1xuICAgICAgfVxuICAgICAgdGhpcy5tYXAub2wucmVuZGVyKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTW92aW5nIGEgbGluZSB3aXRoIGEgdG91Y2hcbiAgICovXG4gIHRvdWNoU3dpcGUoKSB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgKGV2ZW50KSA9PiB7XG4gICAgICBpZiAodGhpcy5pbkRyYWdBY3Rpb24pIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Fycm93cycpLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcbiAgICAgICAgdGhpcy5wb3MxID0gdGhpcy5wb3MzIC0gZXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WDtcbiAgICAgICAgdGhpcy5wb3MzID0gZXZlbnQuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WDtcbiAgICAgICAgdGhpcy5zd2lwZUlkLnN0eWxlLmxlZnQgPSB0aGlzLnN3aXBlSWQub2Zmc2V0TGVmdCAtIHRoaXMucG9zMSArICdweCc7XG4gICAgICB9XG4gICAgICB0aGlzLm1hcC5vbC5yZW5kZXIoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWFjdGl2YXRlIGEgbGlzdGVuZXIgb2YgYSBtb3VzZS1hY3Rpb25cbiAgICovXG4gIGNsb3NlRHJhZ01vdXNlRWxlbWVudCgpIHtcbiAgICBkb2N1bWVudC5vbm1vdXNldXAgPSBudWxsO1xuICAgIGRvY3VtZW50Lm9ubW91c2Vtb3ZlID0gbnVsbDtcbiAgICB0aGlzLmluRHJhZ0FjdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIERlYWN0aXZhdGUgYSBsaXN0ZW5lciBvZiBhIHRvdWNoLWFjdGlvblxuICAgKi9cbiAgY2xvc2VEcmFnVG91Y2hFbGVtZW50KCkge1xuICAgIGRvY3VtZW50Lm9udG91Y2hlbmQgPSBudWxsO1xuICAgIGRvY3VtZW50Lm9udG91Y2htb3ZlID0gbnVsbDtcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXJyb3dzJykuc3R5bGUudmlzaWJpbGl0eSA9ICd2aXNpYmxlJztcbiAgICB0aGlzLmluRHJhZ0FjdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEN1dCB0aGUgaW1hZ2Ugb2YgYSBsYXllciBieSB0aGUgcG9zaXRpb24gb2Ygc3dpcGVkLWVsZW1lbnRcbiAgICovXG4gIHByZXJlbmRlcihldmVudCkge1xuICAgIGNvbnN0IGN0eCA9IGV2ZW50LmNvbnRleHQ7XG4gICAgY29uc3QgbWFwU2l6ZSA9IHRoaXMubWFwLm9sLmdldFNpemUoKTtcbiAgICBjb25zdCB3aWR0aCA9IHRoaXMuc3dpcGVJZC5vZmZzZXRMZWZ0O1xuICAgIGNvbnN0IHRsID0gZ2V0UmVuZGVyUGl4ZWwoZXZlbnQsIFt3aWR0aCwgMF0pO1xuICAgIGNvbnN0IHRyID0gZ2V0UmVuZGVyUGl4ZWwoZXZlbnQsIFswLCAwXSk7XG4gICAgY29uc3QgYmwgPSBnZXRSZW5kZXJQaXhlbChldmVudCwgW3dpZHRoLCBtYXBTaXplWzFdXSk7XG4gICAgY29uc3QgYnIgPSBnZXRSZW5kZXJQaXhlbChldmVudCwgWzAsIG1hcFNpemVbMV1dKTtcbiAgICBjdHguc2F2ZSgpO1xuICAgIGN0eC5iZWdpblBhdGgoKTtcbiAgICBjdHgubW92ZVRvKHRsWzBdLCB0bFsxXSk7XG4gICAgY3R4LmxpbmVUbyhibFswXSwgYmxbMV0pO1xuICAgIGN0eC5saW5lVG8oYnJbMF0sIGJyWzFdKTtcbiAgICBjdHgubGluZVRvKHRyWzBdLCB0clsxXSk7XG4gICAgY3R4LmNsb3NlUGF0aCgpO1xuICAgIGN0eC5jbGlwKCk7XG4gIH1cblxuICAvKipcbiAgICogU2F2ZSBhIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGNvbnRleHRcbiAgICovXG4gIHBvc3RyZW5kZXIoZXZlbnQpIHtcbiAgICBldmVudC5jb250ZXh0LnJlc3RvcmUoKTtcbiAgICBldmVudC5jb250ZXh0LnNhdmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBab29tIG9uIGRpdlxuICAgKi9cbiAgcHJpdmF0ZSBsZXRab29tKCkge1xuICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZ28tbGF5ZXItc3dpcGUnKS5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ3doZWVsJyxcbiAgICAgIChldmVudCkgPT4ge1xuICAgICAgICBldmVudC5kZWx0YVkgPiAwXG4gICAgICAgICAgPyB0aGlzLm1hcC52aWV3Q29udHJvbGxlci56b29tT3V0KClcbiAgICAgICAgICA6IHRoaXMubWFwLnZpZXdDb250cm9sbGVyLnpvb21JbigpO1xuICAgICAgfSxcbiAgICAgIHRydWVcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiaWdvLXN3aXBlLWNvbnRyb2wtY29udGFpbmVyXCJcbiAgaWQ9XCJpZ28tbGF5ZXItc3dpcGVcIlxuICAobW91c2Vkb3duKT1cImRyYWdEb3duKCRldmVudClcIlxuICAobW91c2V1cCk9XCJjbG9zZURyYWdNb3VzZUVsZW1lbnQoKVwiXG4gICh0b3VjaHN0YXJ0KT1cImRyYWdEb3duKCRldmVudClcIlxuICAodG91Y2hlbmQpPVwiY2xvc2VEcmFnVG91Y2hFbGVtZW50KClcIlxuPlxuICA8ZGl2IGNsYXNzPVwiaWdvLXN3aXBlLWNvbnRyb2wtbGluZVwiPjwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJpZ28tc3dpcGUtY29udHJvbC1hcnJvd3NcIiBpZD1cImFycm93c1wiPlxuICAgIDxkaXYgY2xhc3M9XCJpZ28tYXJyb3ctbGVmdFwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpZ28tYXJyb3ctcmlnaHRcIj48L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './layer-watcher';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9tYXAvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGF5ZXItd2F0Y2hlcic7XG4iXX0=
|