@igo2/geo 1.12.1 → 1.13.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/icons/cross_black_18px.svg +88 -88
- package/assets/icons/place_blue_36px.svg +55 -55
- package/assets/icons/place_green_36px.svg +55 -55
- package/assets/icons/place_red_36px.svg +55 -55
- package/assets/icons/place_yellow_36px.svg +55 -55
- package/{esm2015/igo2-geo.js → esm2020/igo2-geo.mjs} +0 -0
- package/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +299 -0
- package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +268 -0
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +244 -0
- package/esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs +80 -0
- package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +209 -0
- package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +79 -0
- package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +217 -0
- package/esm2020/lib/catalog/catalog-library/catalog-library.module.mjs +95 -0
- package/esm2020/lib/catalog/catalog.module.mjs +53 -0
- package/esm2020/lib/catalog/index.mjs +5 -0
- package/esm2020/lib/catalog/shared/catalog.abstract.mjs +95 -0
- package/esm2020/lib/catalog/shared/catalog.enum.mjs +16 -0
- package/esm2020/lib/catalog/shared/catalog.interface.mjs +2 -0
- package/esm2020/lib/catalog/shared/catalog.service.mjs +606 -0
- package/esm2020/lib/catalog/shared/index.mjs +5 -0
- package/esm2020/lib/datasource/datasource.module.mjs +22 -0
- package/esm2020/lib/datasource/index.mjs +3 -0
- package/esm2020/lib/datasource/shared/capabilities.service.mjs +426 -0
- package/esm2020/lib/datasource/shared/datasource.service.mjs +236 -0
- package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +145 -0
- package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +109 -0
- package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +15 -0
- package/esm2020/lib/datasource/shared/datasources/data.service.mjs +3 -0
- package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/datasource.mjs +29 -0
- package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +43 -0
- package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +57 -0
- package/esm2020/lib/datasource/shared/datasources/index.mjs +36 -0
- package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +28 -0
- package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +12 -0
- package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +49 -0
- package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +15 -0
- package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +54 -0
- package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +74 -0
- package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +152 -0
- package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +205 -0
- package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +207 -0
- package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +16 -0
- package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +9 -0
- package/esm2020/lib/datasource/shared/index.mjs +5 -0
- package/esm2020/lib/datasource/shared/options/index.mjs +5 -0
- package/esm2020/lib/datasource/shared/options/options-api.interface.mjs +2 -0
- package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +15 -0
- package/esm2020/lib/datasource/shared/options/options-api.service.mjs +81 -0
- package/esm2020/lib/datasource/shared/options/options.service.mjs +3 -0
- package/esm2020/lib/datasource/utils/esri-style-generator.mjs +357 -0
- package/esm2020/lib/datasource/utils/index.mjs +3 -0
- package/esm2020/lib/datasource/utils/tilegrid.mjs +20 -0
- package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +224 -0
- package/esm2020/lib/directions/directions-buttons/index.mjs +2 -0
- package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +290 -0
- package/esm2020/lib/directions/directions-inputs/index.mjs +2 -0
- package/esm2020/lib/directions/directions-results/directions-results.component.mjs +196 -0
- package/esm2020/lib/directions/directions-results/index.mjs +2 -0
- package/esm2020/lib/directions/directions-sources/directions-source.interface.mjs +2 -0
- package/esm2020/lib/directions/directions-sources/directions-source.mjs +3 -0
- package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +16 -0
- package/esm2020/lib/directions/directions-sources/index.mjs +5 -0
- package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +99 -0
- package/esm2020/lib/directions/directions.component.mjs +311 -0
- package/esm2020/lib/directions/directions.module.mjs +102 -0
- package/esm2020/lib/directions/index.mjs +7 -0
- package/esm2020/lib/directions/shared/directions-source.service.mjs +17 -0
- package/esm2020/lib/directions/shared/directions.enum.mjs +28 -0
- package/esm2020/lib/directions/shared/directions.interface.mjs +2 -0
- package/esm2020/lib/directions/shared/directions.service.mjs +29 -0
- package/esm2020/lib/directions/shared/directions.utils.mjs +510 -0
- package/esm2020/lib/directions/shared/index.mjs +6 -0
- package/esm2020/lib/directions/shared/store.mjs +24 -0
- package/esm2020/lib/download/download-button/download-button.component.mjs +61 -0
- package/esm2020/lib/download/download-button/index.mjs +2 -0
- package/esm2020/lib/download/download.module.mjs +42 -0
- package/esm2020/lib/download/index.mjs +3 -0
- package/esm2020/lib/download/shared/download.interface.mjs +2 -0
- package/esm2020/lib/download/shared/download.service.mjs +65 -0
- package/esm2020/lib/download/shared/index.mjs +3 -0
- package/esm2020/lib/draw/draw/draw-popup.component.mjs +61 -0
- package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +48 -0
- package/esm2020/lib/draw/draw/draw.component.mjs +714 -0
- package/esm2020/lib/draw/draw/draw.module.mjs +100 -0
- package/esm2020/lib/draw/drawingTool.module.mjs +20 -0
- package/esm2020/lib/draw/index.mjs +3 -0
- package/esm2020/lib/draw/shared/draw-icon.service.mjs +27 -0
- package/esm2020/lib/draw/shared/draw-style.service.mjs +173 -0
- package/esm2020/lib/draw/shared/draw.enum.mjs +24 -0
- package/esm2020/lib/draw/shared/draw.interface.mjs +2 -0
- package/esm2020/lib/draw/shared/draw.utils.mjs +104 -0
- package/esm2020/lib/draw/shared/index.mjs +6 -0
- package/esm2020/lib/feature/feature-details/feature-details.component.mjs +377 -0
- package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +54 -0
- package/esm2020/lib/feature/feature-details/feature-details.module.mjs +48 -0
- package/esm2020/lib/feature/feature-form/feature-form.component.mjs +112 -0
- package/esm2020/lib/feature/feature-form/feature-form.module.mjs +34 -0
- package/esm2020/lib/feature/feature.module.mjs +28 -0
- package/esm2020/lib/feature/index.mjs +4 -0
- package/esm2020/lib/feature/shared/feature.enums.mjs +9 -0
- package/esm2020/lib/feature/shared/feature.interfaces.mjs +2 -0
- package/esm2020/lib/feature/shared/feature.utils.mjs +348 -0
- package/esm2020/lib/feature/shared/index.mjs +7 -0
- package/esm2020/lib/feature/shared/store.mjs +112 -0
- package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +113 -0
- package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +94 -0
- package/esm2020/lib/feature/shared/strategies/index.mjs +6 -0
- package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +104 -0
- package/esm2020/lib/feature/shared/strategies/loading.mjs +133 -0
- package/esm2020/lib/feature/shared/strategies/selection.mjs +370 -0
- package/esm2020/lib/feature/shared/strategies.utils.mjs +37 -0
- package/esm2020/lib/filter/filter.module.mjs +289 -0
- package/esm2020/lib/filter/index.mjs +16 -0
- package/esm2020/lib/filter/ogc-filter-button/index.mjs +2 -0
- package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +140 -0
- package/esm2020/lib/filter/ogc-filter-form/index.mjs +2 -0
- package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +645 -0
- package/esm2020/lib/filter/ogc-filter-selection/index.mjs +2 -0
- package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +1302 -0
- package/esm2020/lib/filter/ogc-filter-time/index.mjs +3 -0
- package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +177 -0
- package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +871 -0
- package/esm2020/lib/filter/ogc-filterable-form/index.mjs +2 -0
- package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +59 -0
- package/esm2020/lib/filter/ogc-filterable-item/index.mjs +2 -0
- package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +302 -0
- package/esm2020/lib/filter/ogc-filterable-list/index.mjs +3 -0
- package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +31 -0
- package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +31 -0
- package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +55 -0
- package/esm2020/lib/filter/shared/index.mjs +12 -0
- package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +72 -0
- package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +30 -0
- package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +2 -0
- package/esm2020/lib/filter/shared/ogc-filter.mjs +692 -0
- package/esm2020/lib/filter/shared/ogc-filter.service.mjs +46 -0
- package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +23 -0
- package/esm2020/lib/filter/shared/spatial-filter.interface.mjs +2 -0
- package/esm2020/lib/filter/shared/spatial-filter.service.mjs +269 -0
- package/esm2020/lib/filter/shared/time-filter.enum.mjs +13 -0
- package/esm2020/lib/filter/shared/time-filter.interface.mjs +2 -0
- package/esm2020/lib/filter/shared/time-filter.service.mjs +107 -0
- package/esm2020/lib/filter/spatial-filter/spatial-filter-item/index.mjs +2 -0
- package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +1076 -0
- package/esm2020/lib/filter/spatial-filter/spatial-filter-list/index.mjs +2 -0
- package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +208 -0
- package/esm2020/lib/filter/spatial-filter/spatial-filter-type/index.mjs +2 -0
- package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +144 -0
- package/esm2020/lib/filter/time-filter-button/index.mjs +2 -0
- package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +78 -0
- package/esm2020/lib/filter/time-filter-form/index.mjs +2 -0
- package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +734 -0
- package/esm2020/lib/filter/time-filter-item/index.mjs +2 -0
- package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +119 -0
- package/esm2020/lib/filter/time-filter-list/index.mjs +3 -0
- package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +31 -0
- package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +39 -0
- package/esm2020/lib/geo.module.mjs +102 -0
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +511 -0
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +189 -0
- package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +64 -0
- package/esm2020/lib/geometry/geometry.module.mjs +27 -0
- package/esm2020/lib/geometry/index.mjs +4 -0
- package/esm2020/lib/geometry/shared/controls/draw.mjs +271 -0
- package/esm2020/lib/geometry/shared/controls/index.mjs +4 -0
- package/esm2020/lib/geometry/shared/controls/modify.mjs +521 -0
- package/esm2020/lib/geometry/shared/controls/slice.mjs +177 -0
- package/esm2020/lib/geometry/shared/geometry.errors.mjs +26 -0
- package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +2 -0
- package/esm2020/lib/geometry/shared/geometry.utils.mjs +122 -0
- package/esm2020/lib/geometry/shared/index.mjs +5 -0
- package/esm2020/lib/import-export/export-button/export-button.component.mjs +64 -0
- package/esm2020/lib/import-export/export-button/index.mjs +2 -0
- package/esm2020/lib/import-export/import-export/import-export.component.mjs +1190 -0
- package/esm2020/lib/import-export/import-export/index.mjs +2 -0
- package/esm2020/lib/import-export/import-export.module.mjs +93 -0
- package/esm2020/lib/import-export/index.mjs +5 -0
- package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +135 -0
- package/esm2020/lib/import-export/shared/export.errors.mjs +15 -0
- package/esm2020/lib/import-export/shared/export.interface.mjs +2 -0
- package/esm2020/lib/import-export/shared/export.service.mjs +195 -0
- package/esm2020/lib/import-export/shared/export.type.mjs +4 -0
- package/esm2020/lib/import-export/shared/export.utils.mjs +55 -0
- package/esm2020/lib/import-export/shared/import.errors.mjs +39 -0
- package/esm2020/lib/import-export/shared/import.interface.mjs +2 -0
- package/esm2020/lib/import-export/shared/import.service.mjs +195 -0
- package/esm2020/lib/import-export/shared/import.utils.mjs +234 -0
- package/esm2020/lib/import-export/shared/index.mjs +11 -0
- package/esm2020/lib/import-export/style-list/index.mjs +5 -0
- package/esm2020/lib/import-export/style-list/style-list.interface.mjs +2 -0
- package/esm2020/lib/import-export/style-list/style-list.module.mjs +23 -0
- package/esm2020/lib/import-export/style-list/style-list.provider.mjs +21 -0
- package/esm2020/lib/import-export/style-list/style-list.service.mjs +51 -0
- package/esm2020/lib/layer/index.mjs +10 -0
- package/esm2020/lib/layer/layer-item/index.mjs +2 -0
- package/esm2020/lib/layer/layer-item/layer-item.component.mjs +300 -0
- package/esm2020/lib/layer/layer-legend/index.mjs +2 -0
- package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +382 -0
- package/esm2020/lib/layer/layer-legend-item/index.mjs +2 -0
- package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +84 -0
- package/esm2020/lib/layer/layer-legend-list/index.mjs +3 -0
- package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +48 -0
- package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +195 -0
- package/esm2020/lib/layer/layer-list/index.mjs +4 -0
- package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +59 -0
- package/esm2020/lib/layer/layer-list/layer-list.component.mjs +1024 -0
- package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +19 -0
- package/esm2020/lib/layer/layer-list-tool/index.mjs +5 -0
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +165 -0
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.enum.mjs +7 -0
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +2 -0
- package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +22 -0
- package/esm2020/lib/layer/layer.module.mjs +173 -0
- package/esm2020/lib/layer/shared/clusterParam.mjs +2 -0
- package/esm2020/lib/layer/shared/index.mjs +7 -0
- package/esm2020/lib/layer/shared/layer.enums.mjs +2 -0
- package/esm2020/lib/layer/shared/layer.service.mjs +186 -0
- package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +2 -0
- package/esm2020/lib/layer/shared/layers/any-layer.mjs +2 -0
- package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +2 -0
- package/esm2020/lib/layer/shared/layers/image-layer.mjs +68 -0
- package/esm2020/lib/layer/shared/layers/index.mjs +13 -0
- package/esm2020/lib/layer/shared/layers/layer.interface.mjs +17 -0
- package/esm2020/lib/layer/shared/layers/layer.mjs +170 -0
- package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +2 -0
- package/esm2020/lib/layer/shared/layers/tile-layer.mjs +47 -0
- package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +2 -0
- package/esm2020/lib/layer/shared/layers/vector-layer.mjs +376 -0
- package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +2 -0
- package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +104 -0
- package/esm2020/lib/layer/shared/style.service.mjs +356 -0
- package/esm2020/lib/layer/shared/vector-style.interface.mjs +2 -0
- package/esm2020/lib/layer/track-feature-button/index.mjs +2 -0
- package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +59 -0
- package/esm2020/lib/layer/utils/image-watcher.mjs +62 -0
- package/esm2020/lib/layer/utils/index.mjs +7 -0
- package/esm2020/lib/layer/utils/layer.utils.mjs +10 -0
- package/esm2020/lib/layer/utils/layerSync-watcher.mjs +242 -0
- package/esm2020/lib/layer/utils/outputLegend.mjs +27 -0
- package/esm2020/lib/layer/utils/tile-watcher.mjs +50 -0
- package/esm2020/lib/layer/utils/vector-watcher.mjs +48 -0
- package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +20 -0
- package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +97 -0
- package/esm2020/lib/map/baselayers-switcher/index.mjs +3 -0
- package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +133 -0
- package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +76 -0
- package/esm2020/lib/map/geolocate-button/index.mjs +2 -0
- package/esm2020/lib/map/home-extent-button/home-extent-button.component.mjs +63 -0
- package/{esm2015/lib/map/home-extent-button/index.js → esm2020/lib/map/home-extent-button/index.mjs} +0 -0
- package/esm2020/lib/map/index.mjs +14 -0
- package/esm2020/lib/map/info-section/index.mjs +2 -0
- package/esm2020/lib/map/info-section/info-section.component.mjs +30 -0
- package/esm2020/lib/map/map-browser/index.mjs +2 -0
- package/esm2020/lib/map/map-browser/map-browser.component.mjs +66 -0
- package/esm2020/lib/map/map-center/index.mjs +2 -0
- package/esm2020/lib/map/map-center/map-center.component.mjs +50 -0
- package/esm2020/lib/map/map.module.mjs +127 -0
- package/esm2020/lib/map/menu-button/index.mjs +2 -0
- package/esm2020/lib/map/menu-button/menu-button.component.mjs +62 -0
- package/esm2020/lib/map/offline-button/index.mjs +2 -0
- package/esm2020/lib/map/offline-button/offline-button.component.mjs +76 -0
- package/esm2020/lib/map/rotation-button/index.mjs +2 -0
- package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +91 -0
- package/esm2020/lib/map/shared/controllers/controller.mjs +42 -0
- package/esm2020/lib/map/shared/controllers/geolocation.mjs +308 -0
- package/esm2020/lib/map/shared/controllers/index.mjs +4 -0
- package/esm2020/lib/map/shared/controllers/view.mjs +342 -0
- package/esm2020/lib/map/shared/hover-feature.directive.mjs +506 -0
- package/esm2020/lib/map/shared/index.mjs +13 -0
- package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +107 -0
- package/esm2020/lib/map/shared/map.enums.mjs +6 -0
- package/esm2020/lib/map/shared/map.interface.mjs +2 -0
- package/esm2020/lib/map/shared/map.mjs +417 -0
- package/esm2020/lib/map/shared/map.service.mjs +29 -0
- package/esm2020/lib/map/shared/map.utils.mjs +459 -0
- package/esm2020/lib/map/shared/mapOffline.directive.mjs +163 -0
- package/esm2020/lib/map/shared/projection.interfaces.mjs +2 -0
- package/esm2020/lib/map/shared/projection.service.mjs +65 -0
- package/esm2020/lib/map/shared/projection.utils.mjs +64 -0
- package/esm2020/lib/map/swipe-control/index.mjs +2 -0
- package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +193 -0
- package/esm2020/lib/map/utils/layer-watcher.mjs +58 -0
- package/esm2020/lib/map/wake-lock-button/index.mjs +2 -0
- package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +114 -0
- package/esm2020/lib/map/zoom-button/index.mjs +2 -0
- package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +40 -0
- package/esm2020/lib/measure/index.mjs +4 -0
- package/esm2020/lib/measure/measure.module.mjs +20 -0
- package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +37 -0
- package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +180 -0
- package/esm2020/lib/measure/measurer/measurer-item.component.mjs +140 -0
- package/esm2020/lib/measure/measurer/measurer.component.mjs +1042 -0
- package/esm2020/lib/measure/measurer/measurer.module.mjs +94 -0
- package/esm2020/lib/measure/shared/index.mjs +4 -0
- package/esm2020/lib/measure/shared/measure.enum.mjs +37 -0
- package/esm2020/lib/measure/shared/measure.interfaces.mjs +2 -0
- package/esm2020/lib/measure/shared/measure.utils.mjs +489 -0
- package/esm2020/lib/metadata/index.mjs +3 -0
- package/esm2020/lib/metadata/metadata-button/index.mjs +2 -0
- package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +134 -0
- package/esm2020/lib/metadata/metadata.module.mjs +55 -0
- package/esm2020/lib/metadata/shared/index.mjs +3 -0
- package/esm2020/lib/metadata/shared/metadata.interface.mjs +2 -0
- package/esm2020/lib/metadata/shared/metadata.service.mjs +19 -0
- package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +6 -0
- package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +2 -0
- package/esm2020/lib/offline/geoDB/geoDB.service.mjs +161 -0
- package/esm2020/lib/offline/geoDB/index.mjs +4 -0
- package/esm2020/lib/offline/index.mjs +3 -0
- package/esm2020/lib/offline/shared/geo-network.service.mjs +66 -0
- package/esm2020/lib/offline/shared/index.mjs +2 -0
- package/esm2020/lib/overlay/index.mjs +2 -0
- package/esm2020/lib/overlay/overlay.module.mjs +23 -0
- package/esm2020/lib/overlay/shared/index.mjs +7 -0
- package/esm2020/lib/overlay/shared/overlay-marker-style.utils.mjs +69 -0
- package/esm2020/lib/overlay/shared/overlay.directive.mjs +33 -0
- package/esm2020/lib/overlay/shared/overlay.enum.mjs +8 -0
- package/esm2020/lib/overlay/shared/overlay.mjs +130 -0
- package/esm2020/lib/overlay/shared/overlay.service.mjs +27 -0
- package/esm2020/lib/overlay/shared/overlay.utils.mjs +103 -0
- package/esm2020/lib/print/index.mjs +4 -0
- package/esm2020/lib/print/print/print.component.mjs +123 -0
- package/esm2020/lib/print/print-form/index.mjs +2 -0
- package/esm2020/lib/print/print-form/print-form.component.mjs +405 -0
- package/esm2020/lib/print/print.module.mjs +65 -0
- package/esm2020/lib/print/shared/index.mjs +4 -0
- package/esm2020/lib/print/shared/print.interface.mjs +2 -0
- package/esm2020/lib/print/shared/print.service.mjs +807 -0
- package/esm2020/lib/print/shared/print.type.mjs +30 -0
- package/esm2020/lib/query/index.mjs +2 -0
- package/esm2020/lib/query/query.module.mjs +29 -0
- package/esm2020/lib/query/shared/index.mjs +7 -0
- package/esm2020/lib/query/shared/query-search-source.mjs +35 -0
- package/esm2020/lib/query/shared/query-search-source.providers.mjs +22 -0
- package/esm2020/lib/query/shared/query.directive.mjs +261 -0
- package/esm2020/lib/query/shared/query.enums.mjs +30 -0
- package/esm2020/lib/query/shared/query.interfaces.mjs +2 -0
- package/esm2020/lib/query/shared/query.service.mjs +613 -0
- package/esm2020/lib/query/shared/query.utils.mjs +37 -0
- package/esm2020/lib/search/index.mjs +12 -0
- package/esm2020/lib/search/search-bar/search-bar.component.mjs +489 -0
- package/esm2020/lib/search/search-bar/search-bar.module.mjs +75 -0
- package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +35 -0
- package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +193 -0
- package/esm2020/lib/search/search-results/search-results-item.component.mjs +124 -0
- package/esm2020/lib/search/search-results/search-results.component.mjs +331 -0
- package/esm2020/lib/search/search-results/search-results.module.mjs +77 -0
- package/esm2020/lib/search/search-selector/search-selector.component.mjs +123 -0
- package/esm2020/lib/search/search-selector/search-selector.module.mjs +56 -0
- package/esm2020/lib/search/search-settings/search-settings.component.mjs +418 -0
- package/esm2020/lib/search/search-settings/search-settings.module.mjs +60 -0
- package/esm2020/lib/search/search.module.mjs +67 -0
- package/esm2020/lib/search/shared/index.mjs +9 -0
- package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +322 -0
- package/esm2020/lib/search/shared/search-source-service.providers.mjs +20 -0
- package/esm2020/lib/search/shared/search-source.service.mjs +47 -0
- package/esm2020/lib/search/shared/search.enums.mjs +4 -0
- package/esm2020/lib/search/shared/search.interfaces.mjs +2 -0
- package/esm2020/lib/search/shared/search.service.mjs +118 -0
- package/esm2020/lib/search/shared/search.utils.mjs +78 -0
- package/esm2020/lib/search/shared/sources/cadastre.mjs +126 -0
- package/esm2020/lib/search/shared/sources/cadastre.providers.mjs +23 -0
- package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +2 -0
- package/esm2020/lib/search/shared/sources/coordinates.mjs +147 -0
- package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +40 -0
- package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +2 -0
- package/esm2020/lib/search/shared/sources/icherche.mjs +755 -0
- package/esm2020/lib/search/shared/sources/icherche.providers.mjs +66 -0
- package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +2 -0
- package/esm2020/lib/search/shared/sources/ilayer.mjs +320 -0
- package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +40 -0
- package/esm2020/lib/search/shared/sources/index.mjs +20 -0
- package/esm2020/lib/search/shared/sources/nominatim.interfaces.mjs +2 -0
- package/esm2020/lib/search/shared/sources/nominatim.mjs +253 -0
- package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +23 -0
- package/esm2020/lib/search/shared/sources/source.interfaces.mjs +2 -0
- package/esm2020/lib/search/shared/sources/source.mjs +179 -0
- package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +2 -0
- package/esm2020/lib/search/shared/sources/storedqueries.mjs +425 -0
- package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +41 -0
- package/esm2020/lib/toast/index.mjs +2 -0
- package/esm2020/lib/toast/toast.component.mjs +113 -0
- package/esm2020/lib/toast/toast.module.mjs +45 -0
- package/esm2020/lib/utils/commonVectorStyle.interface.mjs +2 -0
- package/esm2020/lib/utils/commonVectorStyle.mjs +75 -0
- package/esm2020/lib/utils/googleLinks.mjs +13 -0
- package/esm2020/lib/utils/id-generator.mjs +110 -0
- package/esm2020/lib/utils/index.mjs +6 -0
- package/esm2020/lib/utils/osmLinks.mjs +10 -0
- package/esm2020/lib/wkt/index.mjs +2 -0
- package/esm2020/lib/wkt/shared/index.mjs +2 -0
- package/esm2020/lib/wkt/shared/wkt.service.mjs +239 -0
- package/esm2020/lib/wkt/wkt.module.mjs +22 -0
- package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +48 -0
- package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +36 -0
- package/esm2020/lib/workspace/confirmation-popup/index.mjs +3 -0
- package/esm2020/lib/workspace/index.mjs +8 -0
- package/esm2020/lib/workspace/shared/edition-workspace.mjs +278 -0
- package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +642 -0
- package/esm2020/lib/workspace/shared/feature-workspace.mjs +35 -0
- package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +150 -0
- package/esm2020/lib/workspace/shared/index.mjs +8 -0
- package/esm2020/lib/workspace/shared/wfs-workspace.mjs +35 -0
- package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +150 -0
- package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +261 -0
- package/esm2020/lib/workspace/shared/workspace.utils.mjs +24 -0
- package/esm2020/lib/workspace/widgets/index.mjs +4 -0
- package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +47 -0
- package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +36 -0
- package/esm2020/lib/workspace/widgets/widgets.mjs +15 -0
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +133 -0
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +28 -0
- package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +113 -0
- package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +28 -0
- package/esm2020/lib/workspace/workspace.module.mjs +62 -0
- package/esm2020/public_api.mjs +55 -0
- package/fesm2015/igo2-geo.mjs +42904 -0
- package/fesm2015/igo2-geo.mjs.map +1 -0
- package/fesm2020/igo2-geo.mjs +41183 -0
- package/fesm2020/igo2-geo.mjs.map +1 -0
- package/{igo2-geo.d.ts → index.d.ts} +0 -0
- package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +1 -1
- package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +1 -1
- package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +1 -1
- package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +4 -4
- package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +1 -1
- package/lib/catalog/catalog-library/catalog-library.component.d.ts +1 -1
- package/lib/directions/directions-buttons/directions-buttons.component.d.ts +1 -1
- package/lib/directions/directions-inputs/directions-inputs.component.d.ts +1 -1
- package/lib/directions/directions-results/directions-results.component.d.ts +1 -1
- package/lib/directions/directions.component.d.ts +1 -1
- package/lib/download/download-button/download-button.component.d.ts +1 -1
- package/lib/draw/draw/draw-popup.component.d.ts +1 -1
- package/lib/draw/draw/draw-shorcuts.component.d.ts +1 -1
- package/lib/draw/draw/draw.component.d.ts +4 -4
- package/lib/feature/feature-details/feature-details.component.d.ts +1 -1
- package/lib/feature/feature-details/feature-details.directive.d.ts +1 -1
- package/lib/feature/feature-form/feature-form.component.d.ts +1 -1
- package/lib/feature/shared/feature.interfaces.d.ts +2 -2
- package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +1 -1
- package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +1 -1
- package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +4 -4
- package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +1 -1
- package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +6 -6
- package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +1 -1
- package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +1 -1
- package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +1 -1
- package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +1 -1
- package/lib/filter/shared/filterable-datasource.pipe.d.ts +1 -1
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +5 -5
- package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +4 -4
- package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +3 -3
- package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
- package/lib/filter/time-filter-form/time-filter-form.component.d.ts +1 -1
- package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
- package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +1 -1
- package/lib/filter/time-filter-list/time-filter-list.component.d.ts +1 -1
- package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +1 -1
- package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +3 -3
- package/lib/import-export/export-button/export-button.component.d.ts +1 -1
- package/lib/import-export/import-export/import-export.component.d.ts +5 -5
- package/lib/import-export/shared/drop-geo-file.directive.d.ts +1 -1
- package/lib/layer/layer-item/layer-item.component.d.ts +1 -1
- package/lib/layer/layer-legend/layer-legend.component.d.ts +1 -1
- package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +1 -1
- package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +1 -1
- package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +1 -1
- package/lib/layer/layer-list/layer-list-binding.directive.d.ts +1 -1
- package/lib/layer/layer-list/layer-list.component.d.ts +1 -1
- package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +1 -1
- package/lib/layer/track-feature-button/track-feature-button.component.d.ts +1 -1
- package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +1 -1
- package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
- package/lib/map/geolocate-button/geolocate-button.component.d.ts +1 -1
- package/lib/map/home-extent-button/home-extent-button.component.d.ts +1 -1
- package/lib/map/info-section/info-section.component.d.ts +1 -1
- package/lib/map/map-browser/map-browser.component.d.ts +1 -1
- package/lib/map/map-center/map-center.component.d.ts +1 -1
- package/lib/map/menu-button/menu-button.component.d.ts +1 -1
- package/lib/map/offline-button/offline-button.component.d.ts +1 -1
- package/lib/map/rotation-button/rotation-button.component.d.ts +1 -1
- package/lib/map/shared/hover-feature.directive.d.ts +1 -1
- package/lib/map/shared/map-pointer-position.directive.d.ts +1 -1
- package/lib/map/shared/mapOffline.directive.d.ts +1 -1
- package/lib/map/swipe-control/swipe-control.component.d.ts +1 -1
- package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +1 -1
- package/lib/map/zoom-button/zoom-button.component.d.ts +1 -1
- package/lib/measure/measurer/measure-format.pipe.d.ts +1 -1
- package/lib/measure/measurer/measurer-dialog.component.d.ts +1 -1
- package/lib/measure/measurer/measurer-item.component.d.ts +1 -1
- package/lib/measure/measurer/measurer.component.d.ts +1 -1
- package/lib/metadata/metadata-button/metadata-button.component.d.ts +2 -2
- package/lib/overlay/shared/overlay.directive.d.ts +1 -1
- package/lib/print/print/print.component.d.ts +1 -1
- package/lib/print/print-form/print-form.component.d.ts +17 -17
- package/lib/print/shared/print.service.d.ts +6 -1
- package/lib/query/shared/query.directive.d.ts +1 -1
- package/lib/search/search-bar/search-bar.component.d.ts +1 -1
- package/lib/search/search-bar/search-url-param.directive.d.ts +1 -1
- package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
- package/lib/search/search-results/search-results-item.component.d.ts +1 -1
- package/lib/search/search-results/search-results.component.d.ts +1 -1
- package/lib/search/search-selector/search-selector.component.d.ts +1 -1
- package/lib/search/search-settings/search-settings.component.d.ts +1 -1
- package/lib/search/shared/search-pointer-summary.directive.d.ts +1 -1
- package/lib/toast/toast.component.d.ts +1 -1
- package/lib/wkt/shared/wkt.service.d.ts +1 -1
- package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +1 -1
- package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
- package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +1 -1
- package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +1 -1
- package/ngcc.config.js +3 -3
- package/package.json +32 -19
- package/style/geo.theming.scss +12 -12
- package/bundles/igo2-geo.umd.js +0 -47639
- package/bundles/igo2-geo.umd.js.map +0 -1
- package/esm2015/lib/catalog/catalog-browser/catalog-browser-group.component.js +0 -305
- package/esm2015/lib/catalog/catalog-browser/catalog-browser-layer.component.js +0 -274
- package/esm2015/lib/catalog/catalog-browser/catalog-browser.component.js +0 -248
- package/esm2015/lib/catalog/catalog-browser/catalog-browser.module.js +0 -82
- package/esm2015/lib/catalog/catalog-library/add-catalog-dialog.component.js +0 -235
- package/esm2015/lib/catalog/catalog-library/catalog-library-item.component.js +0 -85
- package/esm2015/lib/catalog/catalog-library/catalog-library.component.js +0 -224
- package/esm2015/lib/catalog/catalog-library/catalog-library.module.js +0 -97
- package/esm2015/lib/catalog/catalog.module.js +0 -55
- package/esm2015/lib/catalog/index.js +0 -5
- package/esm2015/lib/catalog/shared/catalog.abstract.js +0 -95
- package/esm2015/lib/catalog/shared/catalog.enum.js +0 -16
- package/esm2015/lib/catalog/shared/catalog.interface.js +0 -2
- package/esm2015/lib/catalog/shared/catalog.service.js +0 -606
- package/esm2015/lib/catalog/shared/index.js +0 -5
- package/esm2015/lib/datasource/datasource.module.js +0 -22
- package/esm2015/lib/datasource/index.js +0 -3
- package/esm2015/lib/datasource/shared/capabilities.service.js +0 -427
- package/esm2015/lib/datasource/shared/datasource.service.js +0 -236
- package/esm2015/lib/datasource/shared/datasources/any-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/any-datasource.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.js +0 -145
- package/esm2015/lib/datasource/shared/datasources/carto-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/carto-datasource.js +0 -109
- package/esm2015/lib/datasource/shared/datasources/cluster-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/cluster-datasource.js +0 -15
- package/esm2015/lib/datasource/shared/datasources/data.service.js +0 -3
- package/esm2015/lib/datasource/shared/datasources/datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/datasource.js +0 -29
- package/esm2015/lib/datasource/shared/datasources/feature-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/feature-datasource.js +0 -43
- package/esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.js +0 -57
- package/esm2015/lib/datasource/shared/datasources/index.js +0 -36
- package/esm2015/lib/datasource/shared/datasources/mvt-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/mvt-datasource.js +0 -28
- package/esm2015/lib/datasource/shared/datasources/osm-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/osm-datasource.js +0 -12
- package/esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.js +0 -49
- package/esm2015/lib/datasource/shared/datasources/tiledebug-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/tiledebug-datasource.js +0 -15
- package/esm2015/lib/datasource/shared/datasources/websocket-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/websocket-datasource.js +0 -54
- package/esm2015/lib/datasource/shared/datasources/wfs-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/wfs-datasource.js +0 -74
- package/esm2015/lib/datasource/shared/datasources/wfs.service.js +0 -153
- package/esm2015/lib/datasource/shared/datasources/wms-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/wms-datasource.js +0 -205
- package/esm2015/lib/datasource/shared/datasources/wms-wfs.utils.js +0 -207
- package/esm2015/lib/datasource/shared/datasources/wmts-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/wmts-datasource.js +0 -16
- package/esm2015/lib/datasource/shared/datasources/xyz-datasource.interface.js +0 -2
- package/esm2015/lib/datasource/shared/datasources/xyz-datasource.js +0 -9
- package/esm2015/lib/datasource/shared/index.js +0 -5
- package/esm2015/lib/datasource/shared/options/index.js +0 -5
- package/esm2015/lib/datasource/shared/options/options-api.interface.js +0 -2
- package/esm2015/lib/datasource/shared/options/options-api.providers.js +0 -15
- package/esm2015/lib/datasource/shared/options/options-api.service.js +0 -81
- package/esm2015/lib/datasource/shared/options/options.service.js +0 -3
- package/esm2015/lib/datasource/utils/esri-style-generator.js +0 -357
- package/esm2015/lib/datasource/utils/index.js +0 -3
- package/esm2015/lib/datasource/utils/tilegrid.js +0 -20
- package/esm2015/lib/directions/directions-buttons/directions-buttons.component.js +0 -229
- package/esm2015/lib/directions/directions-buttons/index.js +0 -2
- package/esm2015/lib/directions/directions-inputs/directions-inputs.component.js +0 -300
- package/esm2015/lib/directions/directions-inputs/index.js +0 -2
- package/esm2015/lib/directions/directions-results/directions-results.component.js +0 -204
- package/esm2015/lib/directions/directions-results/index.js +0 -2
- package/esm2015/lib/directions/directions-sources/directions-source.interface.js +0 -2
- package/esm2015/lib/directions/directions-sources/directions-source.js +0 -3
- package/esm2015/lib/directions/directions-sources/directions-source.provider.js +0 -16
- package/esm2015/lib/directions/directions-sources/index.js +0 -5
- package/esm2015/lib/directions/directions-sources/osrm-directions-source.js +0 -99
- package/esm2015/lib/directions/directions.component.js +0 -316
- package/esm2015/lib/directions/directions.module.js +0 -104
- package/esm2015/lib/directions/index.js +0 -7
- package/esm2015/lib/directions/shared/directions-source.service.js +0 -17
- package/esm2015/lib/directions/shared/directions.enum.js +0 -28
- package/esm2015/lib/directions/shared/directions.interface.js +0 -2
- package/esm2015/lib/directions/shared/directions.service.js +0 -29
- package/esm2015/lib/directions/shared/directions.utils.js +0 -510
- package/esm2015/lib/directions/shared/index.js +0 -6
- package/esm2015/lib/directions/shared/store.js +0 -24
- package/esm2015/lib/download/download-button/download-button.component.js +0 -66
- package/esm2015/lib/download/download-button/index.js +0 -2
- package/esm2015/lib/download/download.module.js +0 -44
- package/esm2015/lib/download/index.js +0 -3
- package/esm2015/lib/download/shared/download.interface.js +0 -2
- package/esm2015/lib/download/shared/download.service.js +0 -65
- package/esm2015/lib/download/shared/index.js +0 -3
- package/esm2015/lib/draw/draw/draw-popup.component.js +0 -69
- package/esm2015/lib/draw/draw/draw-shorcuts.component.js +0 -64
- package/esm2015/lib/draw/draw/draw.component.js +0 -745
- package/esm2015/lib/draw/draw/draw.module.js +0 -102
- package/esm2015/lib/draw/drawingTool.module.js +0 -20
- package/esm2015/lib/draw/index.js +0 -3
- package/esm2015/lib/draw/shared/draw-icon.service.js +0 -27
- package/esm2015/lib/draw/shared/draw-style.service.js +0 -173
- package/esm2015/lib/draw/shared/draw.enum.js +0 -24
- package/esm2015/lib/draw/shared/draw.interface.js +0 -2
- package/esm2015/lib/draw/shared/draw.utils.js +0 -104
- package/esm2015/lib/draw/shared/index.js +0 -6
- package/esm2015/lib/feature/feature-details/feature-details.component.js +0 -393
- package/esm2015/lib/feature/feature-details/feature-details.directive.js +0 -54
- package/esm2015/lib/feature/feature-details/feature-details.module.js +0 -50
- package/esm2015/lib/feature/feature-form/feature-form.component.js +0 -117
- package/esm2015/lib/feature/feature-form/feature-form.module.js +0 -36
- package/esm2015/lib/feature/feature.module.js +0 -30
- package/esm2015/lib/feature/index.js +0 -4
- package/esm2015/lib/feature/shared/feature.enums.js +0 -9
- package/esm2015/lib/feature/shared/feature.interfaces.js +0 -2
- package/esm2015/lib/feature/shared/feature.utils.js +0 -348
- package/esm2015/lib/feature/shared/index.js +0 -7
- package/esm2015/lib/feature/shared/store.js +0 -112
- package/esm2015/lib/feature/shared/strategies/in-map-extent.js +0 -114
- package/esm2015/lib/feature/shared/strategies/in-map-resolution.js +0 -94
- package/esm2015/lib/feature/shared/strategies/index.js +0 -6
- package/esm2015/lib/feature/shared/strategies/loading-layer.js +0 -104
- package/esm2015/lib/feature/shared/strategies/loading.js +0 -133
- package/esm2015/lib/feature/shared/strategies/selection.js +0 -370
- package/esm2015/lib/feature/shared/strategies.utils.js +0 -37
- package/esm2015/lib/filter/filter.module.js +0 -290
- package/esm2015/lib/filter/index.js +0 -16
- package/esm2015/lib/filter/ogc-filter-button/index.js +0 -2
- package/esm2015/lib/filter/ogc-filter-button/ogc-filter-button.component.js +0 -161
- package/esm2015/lib/filter/ogc-filter-form/index.js +0 -2
- package/esm2015/lib/filter/ogc-filter-form/ogc-filter-form.component.js +0 -657
- package/esm2015/lib/filter/ogc-filter-selection/index.js +0 -2
- package/esm2015/lib/filter/ogc-filter-selection/ogc-filter-selection.component.js +0 -1355
- package/esm2015/lib/filter/ogc-filter-time/index.js +0 -3
- package/esm2015/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.js +0 -185
- package/esm2015/lib/filter/ogc-filter-time/ogc-filter-time.component.js +0 -898
- package/esm2015/lib/filter/ogc-filterable-form/index.js +0 -2
- package/esm2015/lib/filter/ogc-filterable-form/ogc-filterable-form.component.js +0 -62
- package/esm2015/lib/filter/ogc-filterable-item/index.js +0 -2
- package/esm2015/lib/filter/ogc-filterable-item/ogc-filterable-item.component.js +0 -307
- package/esm2015/lib/filter/ogc-filterable-list/index.js +0 -3
- package/esm2015/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.js +0 -31
- package/esm2015/lib/filter/ogc-filterable-list/ogc-filterable-list.component.js +0 -35
- package/esm2015/lib/filter/shared/filterable-datasource.pipe.js +0 -55
- package/esm2015/lib/filter/shared/index.js +0 -12
- package/esm2015/lib/filter/shared/ogc-filter-time.service.js +0 -73
- package/esm2015/lib/filter/shared/ogc-filter.enum.js +0 -30
- package/esm2015/lib/filter/shared/ogc-filter.interface.js +0 -2
- package/esm2015/lib/filter/shared/ogc-filter.js +0 -693
- package/esm2015/lib/filter/shared/ogc-filter.service.js +0 -46
- package/esm2015/lib/filter/shared/spatial-filter.enum.js +0 -23
- package/esm2015/lib/filter/shared/spatial-filter.interface.js +0 -2
- package/esm2015/lib/filter/shared/spatial-filter.service.js +0 -269
- package/esm2015/lib/filter/shared/time-filter.enum.js +0 -13
- package/esm2015/lib/filter/shared/time-filter.interface.js +0 -2
- package/esm2015/lib/filter/shared/time-filter.service.js +0 -107
- package/esm2015/lib/filter/spatial-filter/spatial-filter-item/index.js +0 -2
- package/esm2015/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.js +0 -1108
- package/esm2015/lib/filter/spatial-filter/spatial-filter-list/index.js +0 -2
- package/esm2015/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.js +0 -224
- package/esm2015/lib/filter/spatial-filter/spatial-filter-type/index.js +0 -2
- package/esm2015/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.js +0 -157
- package/esm2015/lib/filter/time-filter-button/index.js +0 -2
- package/esm2015/lib/filter/time-filter-button/time-filter-button.component.js +0 -83
- package/esm2015/lib/filter/time-filter-form/index.js +0 -2
- package/esm2015/lib/filter/time-filter-form/time-filter-form.component.js +0 -772
- package/esm2015/lib/filter/time-filter-item/index.js +0 -2
- package/esm2015/lib/filter/time-filter-item/time-filter-item.component.js +0 -126
- package/esm2015/lib/filter/time-filter-list/index.js +0 -3
- package/esm2015/lib/filter/time-filter-list/time-filter-list-binding.directive.js +0 -31
- package/esm2015/lib/filter/time-filter-list/time-filter-list.component.js +0 -43
- package/esm2015/lib/geo.module.js +0 -102
- package/esm2015/lib/geometry/geometry-form-field/geometry-form-field-input.component.js +0 -515
- package/esm2015/lib/geometry/geometry-form-field/geometry-form-field.component.js +0 -199
- package/esm2015/lib/geometry/geometry-form-field/geometry-form-field.module.js +0 -66
- package/esm2015/lib/geometry/geometry.module.js +0 -29
- package/esm2015/lib/geometry/index.js +0 -4
- package/esm2015/lib/geometry/shared/controls/draw.js +0 -271
- package/esm2015/lib/geometry/shared/controls/index.js +0 -4
- package/esm2015/lib/geometry/shared/controls/modify.js +0 -521
- package/esm2015/lib/geometry/shared/controls/slice.js +0 -177
- package/esm2015/lib/geometry/shared/geometry.errors.js +0 -26
- package/esm2015/lib/geometry/shared/geometry.interfaces.js +0 -2
- package/esm2015/lib/geometry/shared/geometry.utils.js +0 -122
- package/esm2015/lib/geometry/shared/index.js +0 -5
- package/esm2015/lib/import-export/export-button/export-button.component.js +0 -70
- package/esm2015/lib/import-export/export-button/index.js +0 -2
- package/esm2015/lib/import-export/import-export/import-export.component.js +0 -1238
- package/esm2015/lib/import-export/import-export/index.js +0 -2
- package/esm2015/lib/import-export/import-export.module.js +0 -95
- package/esm2015/lib/import-export/index.js +0 -5
- package/esm2015/lib/import-export/shared/drop-geo-file.directive.js +0 -136
- package/esm2015/lib/import-export/shared/export.errors.js +0 -15
- package/esm2015/lib/import-export/shared/export.interface.js +0 -2
- package/esm2015/lib/import-export/shared/export.service.js +0 -195
- package/esm2015/lib/import-export/shared/export.type.js +0 -4
- package/esm2015/lib/import-export/shared/export.utils.js +0 -55
- package/esm2015/lib/import-export/shared/import.errors.js +0 -39
- package/esm2015/lib/import-export/shared/import.interface.js +0 -2
- package/esm2015/lib/import-export/shared/import.service.js +0 -195
- package/esm2015/lib/import-export/shared/import.utils.js +0 -234
- package/esm2015/lib/import-export/shared/index.js +0 -11
- package/esm2015/lib/import-export/style-list/index.js +0 -5
- package/esm2015/lib/import-export/style-list/style-list.interface.js +0 -2
- package/esm2015/lib/import-export/style-list/style-list.module.js +0 -23
- package/esm2015/lib/import-export/style-list/style-list.provider.js +0 -21
- package/esm2015/lib/import-export/style-list/style-list.service.js +0 -51
- package/esm2015/lib/layer/index.js +0 -10
- package/esm2015/lib/layer/layer-item/index.js +0 -2
- package/esm2015/lib/layer/layer-item/layer-item.component.js +0 -305
- package/esm2015/lib/layer/layer-legend/index.js +0 -2
- package/esm2015/lib/layer/layer-legend/layer-legend.component.js +0 -395
- package/esm2015/lib/layer/layer-legend-item/index.js +0 -2
- package/esm2015/lib/layer/layer-legend-item/layer-legend-item.component.js +0 -91
- package/esm2015/lib/layer/layer-legend-list/index.js +0 -3
- package/esm2015/lib/layer/layer-legend-list/layer-legend-list-binding.directive.js +0 -48
- package/esm2015/lib/layer/layer-legend-list/layer-legend-list.component.js +0 -200
- package/esm2015/lib/layer/layer-list/index.js +0 -4
- package/esm2015/lib/layer/layer-list/layer-list-binding.directive.js +0 -59
- package/esm2015/lib/layer/layer-list/layer-list.component.js +0 -1043
- package/esm2015/lib/layer/layer-list/layer-list.enum.js +0 -19
- package/esm2015/lib/layer/layer-list-tool/index.js +0 -5
- package/esm2015/lib/layer/layer-list-tool/layer-list-tool.component.js +0 -176
- package/esm2015/lib/layer/layer-list-tool/layer-list-tool.enum.js +0 -7
- package/esm2015/lib/layer/layer-list-tool/layer-list-tool.interface.js +0 -2
- package/esm2015/lib/layer/layer-list-tool/layer-list-tool.service.js +0 -22
- package/esm2015/lib/layer/layer.module.js +0 -174
- package/esm2015/lib/layer/shared/clusterParam.js +0 -2
- package/esm2015/lib/layer/shared/index.js +0 -7
- package/esm2015/lib/layer/shared/layer.enums.js +0 -2
- package/esm2015/lib/layer/shared/layer.service.js +0 -186
- package/esm2015/lib/layer/shared/layers/any-layer.interface.js +0 -2
- package/esm2015/lib/layer/shared/layers/any-layer.js +0 -2
- package/esm2015/lib/layer/shared/layers/image-layer.interface.js +0 -2
- package/esm2015/lib/layer/shared/layers/image-layer.js +0 -68
- package/esm2015/lib/layer/shared/layers/index.js +0 -13
- package/esm2015/lib/layer/shared/layers/layer.interface.js +0 -17
- package/esm2015/lib/layer/shared/layers/layer.js +0 -169
- package/esm2015/lib/layer/shared/layers/tile-layer.interface.js +0 -2
- package/esm2015/lib/layer/shared/layers/tile-layer.js +0 -47
- package/esm2015/lib/layer/shared/layers/vector-layer.interface.js +0 -2
- package/esm2015/lib/layer/shared/layers/vector-layer.js +0 -376
- package/esm2015/lib/layer/shared/layers/vectortile-layer.interface.js +0 -2
- package/esm2015/lib/layer/shared/layers/vectortile-layer.js +0 -104
- package/esm2015/lib/layer/shared/style.service.js +0 -358
- package/esm2015/lib/layer/shared/vector-style.interface.js +0 -2
- package/esm2015/lib/layer/track-feature-button/index.js +0 -2
- package/esm2015/lib/layer/track-feature-button/track-feature-button.component.js +0 -64
- package/esm2015/lib/layer/utils/image-watcher.js +0 -62
- package/esm2015/lib/layer/utils/index.js +0 -7
- package/esm2015/lib/layer/utils/layer.utils.js +0 -11
- package/esm2015/lib/layer/utils/layerSync-watcher.js +0 -249
- package/esm2015/lib/layer/utils/outputLegend.js +0 -27
- package/esm2015/lib/layer/utils/tile-watcher.js +0 -50
- package/esm2015/lib/layer/utils/vector-watcher.js +0 -48
- package/esm2015/lib/map/baselayers-switcher/baselayers-switcher.animation.js +0 -20
- package/esm2015/lib/map/baselayers-switcher/baselayers-switcher.component.js +0 -105
- package/esm2015/lib/map/baselayers-switcher/index.js +0 -3
- package/esm2015/lib/map/baselayers-switcher/mini-basemap.component.js +0 -137
- package/esm2015/lib/map/geolocate-button/geolocate-button.component.js +0 -82
- package/esm2015/lib/map/geolocate-button/index.js +0 -2
- package/esm2015/lib/map/home-extent-button/home-extent-button.component.js +0 -69
- package/esm2015/lib/map/index.js +0 -14
- package/esm2015/lib/map/info-section/index.js +0 -2
- package/esm2015/lib/map/info-section/info-section.component.js +0 -36
- package/esm2015/lib/map/map-browser/index.js +0 -2
- package/esm2015/lib/map/map-browser/map-browser.component.js +0 -70
- package/esm2015/lib/map/map-center/index.js +0 -2
- package/esm2015/lib/map/map-center/map-center.component.js +0 -55
- package/esm2015/lib/map/map.module.js +0 -129
- package/esm2015/lib/map/menu-button/index.js +0 -2
- package/esm2015/lib/map/menu-button/menu-button.component.js +0 -66
- package/esm2015/lib/map/offline-button/index.js +0 -2
- package/esm2015/lib/map/offline-button/offline-button.component.js +0 -84
- package/esm2015/lib/map/rotation-button/index.js +0 -2
- package/esm2015/lib/map/rotation-button/rotation-button.component.js +0 -97
- package/esm2015/lib/map/shared/controllers/controller.js +0 -42
- package/esm2015/lib/map/shared/controllers/geolocation.js +0 -310
- package/esm2015/lib/map/shared/controllers/index.js +0 -4
- package/esm2015/lib/map/shared/controllers/view.js +0 -342
- package/esm2015/lib/map/shared/hover-feature.directive.js +0 -509
- package/esm2015/lib/map/shared/index.js +0 -13
- package/esm2015/lib/map/shared/map-pointer-position.directive.js +0 -107
- package/esm2015/lib/map/shared/map.enums.js +0 -6
- package/esm2015/lib/map/shared/map.interface.js +0 -2
- package/esm2015/lib/map/shared/map.js +0 -418
- package/esm2015/lib/map/shared/map.service.js +0 -29
- package/esm2015/lib/map/shared/map.utils.js +0 -459
- package/esm2015/lib/map/shared/mapOffline.directive.js +0 -163
- package/esm2015/lib/map/shared/projection.interfaces.js +0 -2
- package/esm2015/lib/map/shared/projection.service.js +0 -65
- package/esm2015/lib/map/shared/projection.utils.js +0 -64
- package/esm2015/lib/map/swipe-control/index.js +0 -2
- package/esm2015/lib/map/swipe-control/swipe-control.component.js +0 -199
- package/esm2015/lib/map/utils/layer-watcher.js +0 -58
- package/esm2015/lib/map/wake-lock-button/index.js +0 -2
- package/esm2015/lib/map/wake-lock-button/wake-lock-button.component.js +0 -122
- package/esm2015/lib/map/zoom-button/index.js +0 -2
- package/esm2015/lib/map/zoom-button/zoom-button.component.js +0 -46
- package/esm2015/lib/measure/index.js +0 -4
- package/esm2015/lib/measure/measure.module.js +0 -20
- package/esm2015/lib/measure/measurer/measure-format.pipe.js +0 -37
- package/esm2015/lib/measure/measurer/measurer-dialog.component.js +0 -220
- package/esm2015/lib/measure/measurer/measurer-item.component.js +0 -148
- package/esm2015/lib/measure/measurer/measurer.component.js +0 -1053
- package/esm2015/lib/measure/measurer/measurer.module.js +0 -96
- package/esm2015/lib/measure/shared/index.js +0 -4
- package/esm2015/lib/measure/shared/measure.enum.js +0 -37
- package/esm2015/lib/measure/shared/measure.interfaces.js +0 -2
- package/esm2015/lib/measure/shared/measure.utils.js +0 -489
- package/esm2015/lib/metadata/index.js +0 -3
- package/esm2015/lib/metadata/metadata-button/index.js +0 -2
- package/esm2015/lib/metadata/metadata-button/metadata-button.component.js +0 -146
- package/esm2015/lib/metadata/metadata.module.js +0 -57
- package/esm2015/lib/metadata/shared/index.js +0 -3
- package/esm2015/lib/metadata/shared/metadata.interface.js +0 -2
- package/esm2015/lib/metadata/shared/metadata.service.js +0 -19
- package/esm2015/lib/offline/geoDB/geoDB.enums.js +0 -6
- package/esm2015/lib/offline/geoDB/geoDB.interface.js +0 -2
- package/esm2015/lib/offline/geoDB/geoDB.service.js +0 -161
- package/esm2015/lib/offline/geoDB/index.js +0 -4
- package/esm2015/lib/offline/index.js +0 -3
- package/esm2015/lib/offline/shared/geo-network.service.js +0 -66
- package/esm2015/lib/offline/shared/index.js +0 -2
- package/esm2015/lib/overlay/index.js +0 -2
- package/esm2015/lib/overlay/overlay.module.js +0 -23
- package/esm2015/lib/overlay/shared/index.js +0 -7
- package/esm2015/lib/overlay/shared/overlay-marker-style.utils.js +0 -69
- package/esm2015/lib/overlay/shared/overlay.directive.js +0 -33
- package/esm2015/lib/overlay/shared/overlay.enum.js +0 -8
- package/esm2015/lib/overlay/shared/overlay.js +0 -130
- package/esm2015/lib/overlay/shared/overlay.service.js +0 -27
- package/esm2015/lib/overlay/shared/overlay.utils.js +0 -103
- package/esm2015/lib/print/index.js +0 -4
- package/esm2015/lib/print/print/print.component.js +0 -126
- package/esm2015/lib/print/print-form/index.js +0 -2
- package/esm2015/lib/print/print-form/print-form.component.js +0 -447
- package/esm2015/lib/print/print.module.js +0 -67
- package/esm2015/lib/print/shared/index.js +0 -4
- package/esm2015/lib/print/shared/print.interface.js +0 -2
- package/esm2015/lib/print/shared/print.service.js +0 -820
- package/esm2015/lib/print/shared/print.type.js +0 -30
- package/esm2015/lib/query/index.js +0 -2
- package/esm2015/lib/query/query.module.js +0 -29
- package/esm2015/lib/query/shared/index.js +0 -7
- package/esm2015/lib/query/shared/query-search-source.js +0 -35
- package/esm2015/lib/query/shared/query-search-source.providers.js +0 -22
- package/esm2015/lib/query/shared/query.directive.js +0 -261
- package/esm2015/lib/query/shared/query.enums.js +0 -30
- package/esm2015/lib/query/shared/query.interfaces.js +0 -2
- package/esm2015/lib/query/shared/query.service.js +0 -619
- package/esm2015/lib/query/shared/query.utils.js +0 -37
- package/esm2015/lib/search/index.js +0 -12
- package/esm2015/lib/search/search-bar/search-bar.component.js +0 -496
- package/esm2015/lib/search/search-bar/search-bar.module.js +0 -77
- package/esm2015/lib/search/search-bar/search-url-param.directive.js +0 -35
- package/esm2015/lib/search/search-results/search-results-add-button.component.js +0 -198
- package/esm2015/lib/search/search-results/search-results-item.component.js +0 -129
- package/esm2015/lib/search/search-results/search-results.component.js +0 -337
- package/esm2015/lib/search/search-results/search-results.module.js +0 -79
- package/esm2015/lib/search/search-selector/search-selector.component.js +0 -132
- package/esm2015/lib/search/search-selector/search-selector.module.js +0 -58
- package/esm2015/lib/search/search-settings/search-settings.component.js +0 -435
- package/esm2015/lib/search/search-settings/search-settings.module.js +0 -62
- package/esm2015/lib/search/search.module.js +0 -69
- package/esm2015/lib/search/shared/index.js +0 -9
- package/esm2015/lib/search/shared/search-pointer-summary.directive.js +0 -322
- package/esm2015/lib/search/shared/search-source-service.providers.js +0 -20
- package/esm2015/lib/search/shared/search-source.service.js +0 -47
- package/esm2015/lib/search/shared/search.enums.js +0 -4
- package/esm2015/lib/search/shared/search.interfaces.js +0 -2
- package/esm2015/lib/search/shared/search.service.js +0 -118
- package/esm2015/lib/search/shared/search.utils.js +0 -78
- package/esm2015/lib/search/shared/sources/cadastre.js +0 -126
- package/esm2015/lib/search/shared/sources/cadastre.providers.js +0 -23
- package/esm2015/lib/search/shared/sources/coordinates.interfaces.js +0 -2
- package/esm2015/lib/search/shared/sources/coordinates.js +0 -147
- package/esm2015/lib/search/shared/sources/coordinates.providers.js +0 -40
- package/esm2015/lib/search/shared/sources/icherche.interfaces.js +0 -2
- package/esm2015/lib/search/shared/sources/icherche.js +0 -756
- package/esm2015/lib/search/shared/sources/icherche.providers.js +0 -66
- package/esm2015/lib/search/shared/sources/ilayer.interfaces.js +0 -2
- package/esm2015/lib/search/shared/sources/ilayer.js +0 -320
- package/esm2015/lib/search/shared/sources/ilayer.providers.js +0 -40
- package/esm2015/lib/search/shared/sources/index.js +0 -20
- package/esm2015/lib/search/shared/sources/nominatim.interfaces.js +0 -2
- package/esm2015/lib/search/shared/sources/nominatim.js +0 -253
- package/esm2015/lib/search/shared/sources/nominatim.providers.js +0 -23
- package/esm2015/lib/search/shared/sources/source.interfaces.js +0 -2
- package/esm2015/lib/search/shared/sources/source.js +0 -179
- package/esm2015/lib/search/shared/sources/storedqueries.interfaces.js +0 -2
- package/esm2015/lib/search/shared/sources/storedqueries.js +0 -425
- package/esm2015/lib/search/shared/sources/storedqueries.providers.js +0 -41
- package/esm2015/lib/toast/index.js +0 -2
- package/esm2015/lib/toast/toast.component.js +0 -119
- package/esm2015/lib/toast/toast.module.js +0 -47
- package/esm2015/lib/utils/commonVectorStyle.interface.js +0 -2
- package/esm2015/lib/utils/commonVectorStyle.js +0 -75
- package/esm2015/lib/utils/googleLinks.js +0 -13
- package/esm2015/lib/utils/id-generator.js +0 -110
- package/esm2015/lib/utils/index.js +0 -6
- package/esm2015/lib/utils/osmLinks.js +0 -10
- package/esm2015/lib/wkt/index.js +0 -2
- package/esm2015/lib/wkt/shared/index.js +0 -2
- package/esm2015/lib/wkt/shared/wkt.service.js +0 -239
- package/esm2015/lib/wkt/wkt.module.js +0 -22
- package/esm2015/lib/workspace/confirmation-popup/confirmation-popup.component.js +0 -56
- package/esm2015/lib/workspace/confirmation-popup/confirmation-popup.module.js +0 -38
- package/esm2015/lib/workspace/confirmation-popup/index.js +0 -3
- package/esm2015/lib/workspace/index.js +0 -8
- package/esm2015/lib/workspace/shared/edition-workspace.js +0 -279
- package/esm2015/lib/workspace/shared/edition-workspace.service.js +0 -646
- package/esm2015/lib/workspace/shared/feature-workspace.js +0 -37
- package/esm2015/lib/workspace/shared/feature-workspace.service.js +0 -151
- package/esm2015/lib/workspace/shared/index.js +0 -8
- package/esm2015/lib/workspace/shared/wfs-workspace.js +0 -37
- package/esm2015/lib/workspace/shared/wfs-workspace.service.js +0 -151
- package/esm2015/lib/workspace/shared/wms-workspace.service.js +0 -263
- package/esm2015/lib/workspace/shared/workspace.utils.js +0 -24
- package/esm2015/lib/workspace/widgets/index.js +0 -4
- package/esm2015/lib/workspace/widgets/ogc-filter/ogc-filter.component.js +0 -52
- package/esm2015/lib/workspace/widgets/ogc-filter/ogc-filter.module.js +0 -38
- package/esm2015/lib/workspace/widgets/widgets.js +0 -15
- package/esm2015/lib/workspace/workspace-selector/workspace-selector.directive.js +0 -135
- package/esm2015/lib/workspace/workspace-selector/workspace-selector.module.js +0 -30
- package/esm2015/lib/workspace/workspace-updator/workspace-updator.directive.js +0 -116
- package/esm2015/lib/workspace/workspace-updator/workspace-updator.module.js +0 -30
- package/esm2015/lib/workspace/workspace.module.js +0 -64
- package/esm2015/public_api.js +0 -55
- package/fesm2015/igo2-geo.js +0 -42102
- package/fesm2015/igo2-geo.js.map +0 -1
|
@@ -0,0 +1,510 @@
|
|
|
1
|
+
import olFeature from 'ol/Feature';
|
|
2
|
+
import * as olStyle from 'ol/style';
|
|
3
|
+
import * as olGeom from 'ol/geom';
|
|
4
|
+
import OlGeoJSON from 'ol/format/GeoJSON';
|
|
5
|
+
import * as olProj from 'ol/proj';
|
|
6
|
+
import { uuid, NumberUtils } from '@igo2/utils';
|
|
7
|
+
import { createOverlayMarkerStyle } from '../../overlay/shared/overlay-marker-style.utils';
|
|
8
|
+
import { VectorLayer } from '../../layer/shared/layers/vector-layer';
|
|
9
|
+
import { FeatureDataSource } from '../../datasource/shared/datasources/feature-datasource';
|
|
10
|
+
import { tryBindStoreLayer } from '../../feature/shared/feature.utils';
|
|
11
|
+
import { tryAddLoadingStrategy } from '../../feature/shared/strategies.utils';
|
|
12
|
+
import { FeatureStoreLoadingStrategy } from '../../feature/shared/strategies/loading';
|
|
13
|
+
import { FEATURE, FeatureMotion } from '../../feature/shared/feature.enums';
|
|
14
|
+
import { DirectionRelativePositionType, DirectionType } from './directions.enum';
|
|
15
|
+
/**
|
|
16
|
+
* Function that updat the sort of the list base on the provided field.
|
|
17
|
+
* @param source stop store
|
|
18
|
+
* @param direction asc / desc sort order
|
|
19
|
+
* @param field the field to use to sort the view
|
|
20
|
+
*/
|
|
21
|
+
export function updateStoreSorting(stopsStore, direction = 'asc', field = 'position') {
|
|
22
|
+
stopsStore.view.sort({
|
|
23
|
+
direction,
|
|
24
|
+
valueAccessor: (entity) => entity[field]
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
export function computeRelativePosition(index, totalLength) {
|
|
28
|
+
let relativePosition = DirectionRelativePositionType.Intermediate;
|
|
29
|
+
if (index === 0) {
|
|
30
|
+
relativePosition = DirectionRelativePositionType.Start;
|
|
31
|
+
}
|
|
32
|
+
else if (index === totalLength - 1) {
|
|
33
|
+
relativePosition = DirectionRelativePositionType.End;
|
|
34
|
+
}
|
|
35
|
+
return relativePosition;
|
|
36
|
+
}
|
|
37
|
+
export function computeStopsPosition(stopsStore) {
|
|
38
|
+
const stopsToComputePosition = [...stopsStore.all()];
|
|
39
|
+
stopsToComputePosition.sort((a, b) => a.position - b.position);
|
|
40
|
+
stopsToComputePosition.map((stop, i) => {
|
|
41
|
+
stop.position = i;
|
|
42
|
+
stop.relativePosition = computeRelativePosition(stop.position, stopsToComputePosition.length);
|
|
43
|
+
});
|
|
44
|
+
if (stopsToComputePosition) {
|
|
45
|
+
stopsStore.updateMany(stopsToComputePosition);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Function that add a stop to the stop store. Stop are always added before the last stop.
|
|
50
|
+
* @param stopsStore stop store as an EntityStore
|
|
51
|
+
*/
|
|
52
|
+
export function addStopToStore(stopsStore) {
|
|
53
|
+
const id = uuid();
|
|
54
|
+
const stops = stopsStore.all();
|
|
55
|
+
let positions;
|
|
56
|
+
if (stopsStore.count === 0) {
|
|
57
|
+
positions = [0];
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
positions = stops.map(stop => stop.position);
|
|
61
|
+
}
|
|
62
|
+
const maxPosition = Math.max(...positions);
|
|
63
|
+
const insertPosition = maxPosition;
|
|
64
|
+
const lastPosition = maxPosition + 1;
|
|
65
|
+
const stopToUpdate = stopsStore.all().find(stop => stop.position === maxPosition);
|
|
66
|
+
if (stopToUpdate) {
|
|
67
|
+
stopToUpdate.position = lastPosition;
|
|
68
|
+
stopToUpdate.relativePosition = computeRelativePosition(lastPosition, stopsStore.count + 1);
|
|
69
|
+
}
|
|
70
|
+
stopsStore.insert({ id, position: insertPosition, relativePosition: computeRelativePosition(insertPosition, stopsStore.count + 1) });
|
|
71
|
+
updateStoreSorting(stopsStore);
|
|
72
|
+
return stopsStore.get(id);
|
|
73
|
+
}
|
|
74
|
+
export function removeStopFromStore(stopsStore, stop) {
|
|
75
|
+
stopsStore.delete(stop);
|
|
76
|
+
computeStopsPosition(stopsStore);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Create a style for the directions stops and routes
|
|
80
|
+
* @param feature OlFeature
|
|
81
|
+
* @returns OL style function
|
|
82
|
+
*/
|
|
83
|
+
export function directionsStyle(feature, resolution) {
|
|
84
|
+
const vertexStyle = [
|
|
85
|
+
new olStyle.Style({
|
|
86
|
+
geometry: feature.getGeometry(),
|
|
87
|
+
image: new olStyle.Circle({
|
|
88
|
+
radius: 7,
|
|
89
|
+
stroke: new olStyle.Stroke({ color: '#FF0000', width: 3 })
|
|
90
|
+
})
|
|
91
|
+
})
|
|
92
|
+
];
|
|
93
|
+
const stopStyle = createOverlayMarkerStyle({
|
|
94
|
+
text: feature.get('stopText'),
|
|
95
|
+
opacity: feature.get('stopOpacity'),
|
|
96
|
+
markerColor: feature.get('stopColor'),
|
|
97
|
+
markerOutlineColor: [255, 255, 255]
|
|
98
|
+
});
|
|
99
|
+
const routeStyle = [
|
|
100
|
+
new olStyle.Style({
|
|
101
|
+
stroke: new olStyle.Stroke({ color: `rgba(106, 121, 130, ${feature.get('active') ? 0.75 : 0})`, width: 10 })
|
|
102
|
+
}),
|
|
103
|
+
new olStyle.Style({
|
|
104
|
+
stroke: new olStyle.Stroke({ color: `rgba(79, 169, 221, ${feature.get('active') ? 0.75 : 0})`, width: 6 })
|
|
105
|
+
})
|
|
106
|
+
];
|
|
107
|
+
if (feature.get('type') === DirectionType.Stop) {
|
|
108
|
+
return stopStyle;
|
|
109
|
+
}
|
|
110
|
+
if (feature.get('type') === 'vertex') {
|
|
111
|
+
return vertexStyle;
|
|
112
|
+
}
|
|
113
|
+
if (feature.get('type') === DirectionType.Route) {
|
|
114
|
+
return routeStyle;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
export function initStopsFeatureStore(stopsFeatureStore, languageService) {
|
|
118
|
+
const loadingStrategy = new FeatureStoreLoadingStrategy({
|
|
119
|
+
motion: FeatureMotion.None
|
|
120
|
+
});
|
|
121
|
+
const stopsLayer = new VectorLayer({
|
|
122
|
+
isIgoInternalLayer: true,
|
|
123
|
+
id: 'igo-direction-stops-layer',
|
|
124
|
+
title: languageService.translate.instant('igo.geo.directionsForm.stopLayer'),
|
|
125
|
+
zIndex: 911,
|
|
126
|
+
source: new FeatureDataSource(),
|
|
127
|
+
showInLayerList: true,
|
|
128
|
+
workspace: {
|
|
129
|
+
enabled: false,
|
|
130
|
+
},
|
|
131
|
+
linkedLayers: {
|
|
132
|
+
linkId: 'igo-direction-stops-layer',
|
|
133
|
+
links: [
|
|
134
|
+
{
|
|
135
|
+
bidirectionnal: false,
|
|
136
|
+
syncedDelete: true,
|
|
137
|
+
linkedIds: ['igo-direction-route-layer'],
|
|
138
|
+
properties: []
|
|
139
|
+
}
|
|
140
|
+
]
|
|
141
|
+
},
|
|
142
|
+
exportable: true,
|
|
143
|
+
browsable: false,
|
|
144
|
+
style: directionsStyle
|
|
145
|
+
});
|
|
146
|
+
tryBindStoreLayer(stopsFeatureStore, stopsLayer);
|
|
147
|
+
stopsFeatureStore.layer.visible = true;
|
|
148
|
+
tryAddLoadingStrategy(stopsFeatureStore, loadingStrategy);
|
|
149
|
+
}
|
|
150
|
+
export function initRoutesFeatureStore(routesFeatureStore, languageService) {
|
|
151
|
+
const loadingStrategy = new FeatureStoreLoadingStrategy({
|
|
152
|
+
motion: FeatureMotion.None
|
|
153
|
+
});
|
|
154
|
+
const routeLayer = new VectorLayer({
|
|
155
|
+
isIgoInternalLayer: true,
|
|
156
|
+
id: 'igo-direction-route-layer',
|
|
157
|
+
title: languageService.translate.instant('igo.geo.directionsForm.routeLayer'),
|
|
158
|
+
zIndex: 910,
|
|
159
|
+
source: new FeatureDataSource(),
|
|
160
|
+
showInLayerList: true,
|
|
161
|
+
workspace: {
|
|
162
|
+
enabled: false,
|
|
163
|
+
},
|
|
164
|
+
linkedLayers: {
|
|
165
|
+
linkId: 'igo-direction-route-layer'
|
|
166
|
+
},
|
|
167
|
+
exportable: true,
|
|
168
|
+
browsable: false,
|
|
169
|
+
style: directionsStyle
|
|
170
|
+
});
|
|
171
|
+
tryBindStoreLayer(routesFeatureStore, routeLayer);
|
|
172
|
+
routesFeatureStore.layer.visible = true;
|
|
173
|
+
tryAddLoadingStrategy(routesFeatureStore, loadingStrategy);
|
|
174
|
+
}
|
|
175
|
+
export function initStepFeatureStore(stepFeatureStore) {
|
|
176
|
+
const loadingStrategy = new FeatureStoreLoadingStrategy({
|
|
177
|
+
motion: FeatureMotion.None
|
|
178
|
+
});
|
|
179
|
+
const stepLayer = new VectorLayer({
|
|
180
|
+
isIgoInternalLayer: true,
|
|
181
|
+
id: 'igo-direction-step-layer',
|
|
182
|
+
title: '',
|
|
183
|
+
zIndex: 910,
|
|
184
|
+
source: new FeatureDataSource(),
|
|
185
|
+
showInLayerList: false,
|
|
186
|
+
workspace: {
|
|
187
|
+
enabled: false,
|
|
188
|
+
},
|
|
189
|
+
linkedLayers: {
|
|
190
|
+
linkId: 'igo-direction-route-layer'
|
|
191
|
+
},
|
|
192
|
+
exportable: false,
|
|
193
|
+
browsable: false,
|
|
194
|
+
style: directionsStyle
|
|
195
|
+
});
|
|
196
|
+
tryBindStoreLayer(stepFeatureStore, stepLayer);
|
|
197
|
+
stepFeatureStore.layer.visible = true;
|
|
198
|
+
tryAddLoadingStrategy(stepFeatureStore, loadingStrategy);
|
|
199
|
+
}
|
|
200
|
+
export function addStopToStopsFeatureStore(stop, stopsStore, stopsFeatureStore, projection, languageService) {
|
|
201
|
+
let stopColor;
|
|
202
|
+
let stopText;
|
|
203
|
+
switch (stop.relativePosition) {
|
|
204
|
+
case DirectionRelativePositionType.Start:
|
|
205
|
+
stopColor = '#008000';
|
|
206
|
+
stopText = languageService.translate.instant('igo.geo.directionsForm.start');
|
|
207
|
+
break;
|
|
208
|
+
case DirectionRelativePositionType.End:
|
|
209
|
+
stopColor = '#f64139';
|
|
210
|
+
stopText = languageService.translate.instant('igo.geo.directionsForm.end');
|
|
211
|
+
break;
|
|
212
|
+
default:
|
|
213
|
+
stopColor = '#ffd700';
|
|
214
|
+
stopText = languageService.translate.instant('igo.geo.directionsForm.intermediate') + ' #' + stop.position;
|
|
215
|
+
break;
|
|
216
|
+
}
|
|
217
|
+
const geometry = new olGeom.Point(olProj.transform(stop.coordinates, projection, stopsFeatureStore.map.projection));
|
|
218
|
+
const geojsonGeom = new OlGeoJSON().writeGeometryObject(geometry, {
|
|
219
|
+
featureProjection: stopsFeatureStore.map.projection,
|
|
220
|
+
dataProjection: stopsFeatureStore.map.projection
|
|
221
|
+
});
|
|
222
|
+
const previousStop = stopsFeatureStore.get(stop.id);
|
|
223
|
+
const previousStopRevision = previousStop ? previousStop.meta.revision : 0;
|
|
224
|
+
const stopFeatureStore = {
|
|
225
|
+
type: FEATURE,
|
|
226
|
+
geometry: geojsonGeom,
|
|
227
|
+
projection: stopsFeatureStore.map.projection,
|
|
228
|
+
properties: {
|
|
229
|
+
id: stop.id,
|
|
230
|
+
type: DirectionType.Stop,
|
|
231
|
+
stopText,
|
|
232
|
+
stopColor,
|
|
233
|
+
stopOpacity: 1,
|
|
234
|
+
stop
|
|
235
|
+
},
|
|
236
|
+
meta: {
|
|
237
|
+
id: stop.id,
|
|
238
|
+
revision: previousStopRevision + 1
|
|
239
|
+
},
|
|
240
|
+
ol: new olFeature({ geometry })
|
|
241
|
+
};
|
|
242
|
+
stopsFeatureStore.update(stopFeatureStore);
|
|
243
|
+
}
|
|
244
|
+
export function addDirectionToRoutesFeatureStore(routesFeatureStore, direction, projection, active = false, moveToExtent = false) {
|
|
245
|
+
const geom = direction.geometry.coordinates;
|
|
246
|
+
const geometry4326 = new olGeom.LineString(geom);
|
|
247
|
+
const geometry = geometry4326.transform(projection, routesFeatureStore.map.projection);
|
|
248
|
+
const geojsonGeom = new OlGeoJSON().writeGeometryObject(geometry, {
|
|
249
|
+
featureProjection: routesFeatureStore.map.projection,
|
|
250
|
+
dataProjection: routesFeatureStore.map.projection
|
|
251
|
+
});
|
|
252
|
+
const previousRoute = routesFeatureStore.get(direction.id);
|
|
253
|
+
const previousRouteRevision = previousRoute
|
|
254
|
+
? previousRoute.meta.revision
|
|
255
|
+
: 0;
|
|
256
|
+
const routeFeatureStore = {
|
|
257
|
+
type: FEATURE,
|
|
258
|
+
geometry: geojsonGeom,
|
|
259
|
+
projection: routesFeatureStore.map.projection,
|
|
260
|
+
properties: {
|
|
261
|
+
id: direction.id,
|
|
262
|
+
type: DirectionType.Route,
|
|
263
|
+
active,
|
|
264
|
+
direction
|
|
265
|
+
},
|
|
266
|
+
meta: {
|
|
267
|
+
id: direction.id,
|
|
268
|
+
revision: previousRouteRevision + 1
|
|
269
|
+
},
|
|
270
|
+
ol: new olFeature({ geometry })
|
|
271
|
+
};
|
|
272
|
+
routesFeatureStore.update(routeFeatureStore);
|
|
273
|
+
}
|
|
274
|
+
export function formatDistance(distance) {
|
|
275
|
+
if (distance === 0) {
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
if (distance >= 100000) {
|
|
279
|
+
return NumberUtils.roundToNDecimal(Math.round(distance) / 1000, 1) + ' km';
|
|
280
|
+
}
|
|
281
|
+
if (distance >= 10000) {
|
|
282
|
+
return NumberUtils.roundToNDecimal(Math.round(distance) / 100 / 10, 1) + ' km';
|
|
283
|
+
}
|
|
284
|
+
if (distance >= 1000) {
|
|
285
|
+
return NumberUtils.roundToNDecimal(Math.round(distance) / 100 / 10, 1) + ' km';
|
|
286
|
+
}
|
|
287
|
+
return NumberUtils.roundToNDecimal(distance, 0) + ' m';
|
|
288
|
+
}
|
|
289
|
+
export function formatDuration(duration) {
|
|
290
|
+
if (duration >= 3600) {
|
|
291
|
+
const hour = Math.floor(duration / 3600);
|
|
292
|
+
const minute = Math.round((duration / 3600 - hour) * 60);
|
|
293
|
+
if (minute === 60) {
|
|
294
|
+
return hour + 1 + ' h';
|
|
295
|
+
}
|
|
296
|
+
return hour + ' h ' + minute + ' min';
|
|
297
|
+
}
|
|
298
|
+
if (duration >= 60) {
|
|
299
|
+
return Math.round(duration / 60) + ' min';
|
|
300
|
+
}
|
|
301
|
+
return duration + ' s';
|
|
302
|
+
}
|
|
303
|
+
export function formatInstruction(type, modifier, route, direction, stepPosition, exit, languageService, lastStep = false) {
|
|
304
|
+
const translate = languageService.translate;
|
|
305
|
+
let directive;
|
|
306
|
+
let image = 'forward';
|
|
307
|
+
let cssClass = 'rotate-270';
|
|
308
|
+
const translatedDirection = translateBearing(direction, languageService);
|
|
309
|
+
const translatedModifier = translateModifier(modifier, languageService);
|
|
310
|
+
const prefix = modifier === 'straight' ? '' : translate.instant('igo.geo.directions.modifier.prefix');
|
|
311
|
+
let aggregatedDirection = prefix + translatedModifier;
|
|
312
|
+
if (modifier?.search('slight') >= 0) {
|
|
313
|
+
aggregatedDirection = translatedModifier;
|
|
314
|
+
}
|
|
315
|
+
if (modifier === 'uturn') {
|
|
316
|
+
image = 'forward';
|
|
317
|
+
cssClass = 'rotate-90';
|
|
318
|
+
}
|
|
319
|
+
else if (modifier === 'sharp right') {
|
|
320
|
+
image = 'subdirectory-arrow-right';
|
|
321
|
+
cssClass = 'icon-flipped';
|
|
322
|
+
}
|
|
323
|
+
else if (modifier === 'right') {
|
|
324
|
+
image = 'subdirectory-arrow-right';
|
|
325
|
+
cssClass = 'icon-flipped';
|
|
326
|
+
}
|
|
327
|
+
else if (modifier === 'slight right') {
|
|
328
|
+
image = 'forward';
|
|
329
|
+
cssClass = 'rotate-290';
|
|
330
|
+
}
|
|
331
|
+
else if (modifier === 'straight') {
|
|
332
|
+
image = 'forward';
|
|
333
|
+
}
|
|
334
|
+
else if (modifier === 'slight left') {
|
|
335
|
+
image = 'forward';
|
|
336
|
+
cssClass = 'rotate-250';
|
|
337
|
+
}
|
|
338
|
+
else if (modifier === 'left') {
|
|
339
|
+
image = 'subdirectory-arrow-left';
|
|
340
|
+
cssClass = 'icon-flipped';
|
|
341
|
+
}
|
|
342
|
+
else if (modifier === 'sharp left') {
|
|
343
|
+
image = 'subdirectory-arrow-left';
|
|
344
|
+
cssClass = 'icon-flipped';
|
|
345
|
+
}
|
|
346
|
+
if (type === 'turn') {
|
|
347
|
+
if (modifier === 'straight') {
|
|
348
|
+
directive = translate.instant('igo.geo.directions.turn.straight', { route });
|
|
349
|
+
}
|
|
350
|
+
else if (modifier === 'uturn') {
|
|
351
|
+
directive = translate.instant('igo.geo.directions.turn.uturn', { route });
|
|
352
|
+
}
|
|
353
|
+
else {
|
|
354
|
+
directive = translate.instant('igo.geo.directions.turn.else', { route, aggregatedDirection, translatedModifier });
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
else if (type === 'new name') {
|
|
358
|
+
directive = translate.instant('igo.geo.directions.new name', { route, translatedDirection });
|
|
359
|
+
image = 'compass';
|
|
360
|
+
cssClass = '';
|
|
361
|
+
}
|
|
362
|
+
else if (type === 'depart') {
|
|
363
|
+
directive = translate.instant('igo.geo.directions.depart', { route, translatedDirection });
|
|
364
|
+
image = 'compass';
|
|
365
|
+
cssClass = '';
|
|
366
|
+
}
|
|
367
|
+
else if (type === 'arrive') {
|
|
368
|
+
if (lastStep) {
|
|
369
|
+
const coma = !translatedModifier ? '' : ', ';
|
|
370
|
+
aggregatedDirection = !translatedModifier ? '' : aggregatedDirection;
|
|
371
|
+
directive = translate.instant('igo.geo.directions.arrive.lastStep', { coma, aggregatedDirection });
|
|
372
|
+
}
|
|
373
|
+
else {
|
|
374
|
+
directive = translate.instant('igo.geo.directions.arrive.intermediate', { route });
|
|
375
|
+
image = 'map-marker';
|
|
376
|
+
cssClass = '';
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
else if (type === 'merge') {
|
|
380
|
+
directive = translate.instant('igo.geo.directions.merge', { route });
|
|
381
|
+
image = 'forward';
|
|
382
|
+
cssClass = 'rotate-270';
|
|
383
|
+
}
|
|
384
|
+
else if (type === 'on ramp') {
|
|
385
|
+
directive = translate.instant('igo.geo.directions.on ramp', { aggregatedDirection });
|
|
386
|
+
}
|
|
387
|
+
else if (type === 'off ramp') {
|
|
388
|
+
directive = translate.instant('igo.geo.directions.off ramp', { aggregatedDirection });
|
|
389
|
+
}
|
|
390
|
+
else if (type === 'fork') {
|
|
391
|
+
if (modifier.search('left') >= 0) {
|
|
392
|
+
directive = translate.instant('igo.geo.directions.fork.left', { route });
|
|
393
|
+
}
|
|
394
|
+
else if (modifier.search('right') >= 0) {
|
|
395
|
+
directive = translate.instant('igo.geo.directions.fork.right', { route });
|
|
396
|
+
}
|
|
397
|
+
else {
|
|
398
|
+
directive = translate.instant('igo.geo.directions.fork.else', { route });
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
else if (type === 'end of road') {
|
|
402
|
+
directive = translate.instant('igo.geo.directions.end of road', { translatedModifier, route });
|
|
403
|
+
}
|
|
404
|
+
else if (type === 'use lane') {
|
|
405
|
+
directive = translate.instant('igo.geo.directions.use lane');
|
|
406
|
+
}
|
|
407
|
+
else if (type === 'continue' && modifier !== 'uturn') {
|
|
408
|
+
directive = translate.instant('igo.geo.directions.continue.notUturn', { route });
|
|
409
|
+
image = 'forward';
|
|
410
|
+
cssClass = 'rotate-270';
|
|
411
|
+
}
|
|
412
|
+
else if (type === 'roundabout') {
|
|
413
|
+
const cntSuffix = exit === 1 ?
|
|
414
|
+
translate.instant('igo.geo.directions.cntSuffix.first') :
|
|
415
|
+
translate.instant('igo.geo.directions.cntSuffix.secondAndMore');
|
|
416
|
+
directive = translate.instant('igo.geo.directions.roundabout', { exit, cntSuffix, route });
|
|
417
|
+
image = 'chart-donut';
|
|
418
|
+
cssClass = '';
|
|
419
|
+
}
|
|
420
|
+
else if (type === 'rotary') {
|
|
421
|
+
directive = translate.instant('igo.geo.directions.rotary');
|
|
422
|
+
image = 'chart-donut';
|
|
423
|
+
cssClass = '';
|
|
424
|
+
}
|
|
425
|
+
else if (type === 'roundabout turn') {
|
|
426
|
+
directive = translate.instant('igo.geo.directions.roundabout turn');
|
|
427
|
+
image = 'chart-donut';
|
|
428
|
+
cssClass = '';
|
|
429
|
+
}
|
|
430
|
+
else if (type === 'exit roundabout') {
|
|
431
|
+
directive = translate.instant('igo.geo.directions.exit roundabout', { route });
|
|
432
|
+
image = 'forward';
|
|
433
|
+
cssClass = 'rotate-270';
|
|
434
|
+
}
|
|
435
|
+
else if (type === 'notification') {
|
|
436
|
+
directive = translate.instant('igo.geo.directions.notification');
|
|
437
|
+
}
|
|
438
|
+
else if (modifier === 'uturn') {
|
|
439
|
+
directive = translate.instant('igo.geo.directions.uturnText', { translatedDirection, route });
|
|
440
|
+
}
|
|
441
|
+
else {
|
|
442
|
+
directive = translate.instant('igo.geo.directions.unknown');
|
|
443
|
+
}
|
|
444
|
+
image = lastStep ? 'flag-variant' : image;
|
|
445
|
+
cssClass = lastStep ? '' : cssClass;
|
|
446
|
+
image = stepPosition === 0 ? 'compass' : image;
|
|
447
|
+
cssClass = stepPosition === 0 ? '' : cssClass;
|
|
448
|
+
return { instruction: directive, image, cssClass };
|
|
449
|
+
}
|
|
450
|
+
export function translateModifier(modifier, languageService) {
|
|
451
|
+
const translate = languageService.translate;
|
|
452
|
+
if (modifier === 'uturn') {
|
|
453
|
+
return translate.instant('igo.geo.directions.uturn');
|
|
454
|
+
}
|
|
455
|
+
else if (modifier === 'sharp right') {
|
|
456
|
+
return translate.instant('igo.geo.directions.sharp right');
|
|
457
|
+
}
|
|
458
|
+
else if (modifier === 'right') {
|
|
459
|
+
return translate.instant('igo.geo.directions.right');
|
|
460
|
+
}
|
|
461
|
+
else if (modifier === 'slight right') {
|
|
462
|
+
return translate.instant('igo.geo.directions.slight right');
|
|
463
|
+
}
|
|
464
|
+
else if (modifier === 'sharp left') {
|
|
465
|
+
return languageService.translate.instant('igo.geo.directions.sharp left');
|
|
466
|
+
}
|
|
467
|
+
else if (modifier === 'left') {
|
|
468
|
+
return languageService.translate.instant('igo.geo.directions.left');
|
|
469
|
+
}
|
|
470
|
+
else if (modifier === 'slight left') {
|
|
471
|
+
return languageService.translate.instant('igo.geo.directions.slight left');
|
|
472
|
+
}
|
|
473
|
+
else if (modifier === 'straight') {
|
|
474
|
+
return languageService.translate.instant('igo.geo.directions.straight');
|
|
475
|
+
}
|
|
476
|
+
else {
|
|
477
|
+
return modifier;
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
export function translateBearing(bearing, languageService) {
|
|
481
|
+
const translate = languageService.translate;
|
|
482
|
+
if (bearing >= 337 || bearing < 23) {
|
|
483
|
+
return translate.instant('igo.geo.cardinalPoints.n');
|
|
484
|
+
}
|
|
485
|
+
else if (bearing < 67) {
|
|
486
|
+
return translate.instant('igo.geo.cardinalPoints.ne');
|
|
487
|
+
}
|
|
488
|
+
else if (bearing < 113) {
|
|
489
|
+
return translate.instant('igo.geo.cardinalPoints.e');
|
|
490
|
+
}
|
|
491
|
+
else if (bearing < 157) {
|
|
492
|
+
return translate.instant('igo.geo.cardinalPoints.se');
|
|
493
|
+
}
|
|
494
|
+
else if (bearing < 203) {
|
|
495
|
+
return translate.instant('igo.geo.cardinalPoints.s');
|
|
496
|
+
}
|
|
497
|
+
else if (bearing < 247) {
|
|
498
|
+
return translate.instant('igo.geo.cardinalPoints.sw');
|
|
499
|
+
}
|
|
500
|
+
else if (bearing < 293) {
|
|
501
|
+
return translate.instant('igo.geo.cardinalPoints.w');
|
|
502
|
+
}
|
|
503
|
+
else if (bearing < 337) {
|
|
504
|
+
return translate.instant('igo.geo.cardinalPoints.nw');
|
|
505
|
+
}
|
|
506
|
+
else {
|
|
507
|
+
return;
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RpcmVjdGlvbnMvc2hhcmVkL2RpcmVjdGlvbnMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ25DLE9BQU8sS0FBSyxPQUFPLE1BQU0sVUFBVSxDQUFDO0FBRXBDLE9BQU8sS0FBSyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sU0FBUyxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBRWxDLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RixPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRzVFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUdqRjs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxVQUFzQixFQUFFLFlBQTRCLEtBQUssRUFBRSxLQUFLLEdBQUcsVUFBVTtJQUM5RyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNuQixTQUFT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QixPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztLQUN0RDtTQUFNLElBQUksT0FBTyxHQUFHLEdBQUcsRUFBRTtRQUN4QixPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FBQztLQUN2RDtTQUFNO1FBQ0wsT0FBTztLQUNSO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XHJcbmltcG9ydCAqIGFzIG9sU3R5bGUgZnJvbSAnb2wvc3R5bGUnO1xyXG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xyXG5pbXBvcnQgKiBhcyBvbEdlb20gZnJvbSAnb2wvZ2VvbSc7XHJcbmltcG9ydCBPbEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nO1xyXG5pbXBvcnQgKiBhcyBvbFByb2ogZnJvbSAnb2wvcHJvaic7XHJcblxyXG5pbXBvcnQgeyB1dWlkLCBOdW1iZXJVdGlscyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuXHJcbmltcG9ydCB7IERpcmVjdGlvbiwgRmVhdHVyZVdpdGhEaXJlY3Rpb24sIEZlYXR1cmVXaXRoU3RvcCwgU3RvcCB9IGZyb20gJy4vZGlyZWN0aW9ucy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBjcmVhdGVPdmVybGF5TWFya2VyU3R5bGUgfSBmcm9tICcuLi8uLi9vdmVybGF5L3NoYXJlZC9vdmVybGF5LW1hcmtlci1zdHlsZS51dGlscyc7XHJcbmltcG9ydCB7IFZlY3RvckxheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy92ZWN0b3ItbGF5ZXInO1xyXG5pbXBvcnQgeyBGZWF0dXJlRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2ZlYXR1cmUtZGF0YXNvdXJjZSc7XHJcbmltcG9ydCB7IHRyeUJpbmRTdG9yZUxheWVyIH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS51dGlscyc7XHJcbmltcG9ydCB7IHRyeUFkZExvYWRpbmdTdHJhdGVneSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL3N0cmF0ZWdpZXMudXRpbHMnO1xyXG5pbXBvcnQgeyBGZWF0dXJlU3RvcmVMb2FkaW5nU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9zdHJhdGVnaWVzL2xvYWRpbmcnO1xyXG5pbXBvcnQgeyBGRUFUVVJFLCBGZWF0dXJlTW90aW9uIH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5lbnVtcyc7XHJcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBGZWF0dXJlR2VvbWV0cnkgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb25SZWxhdGl2ZVBvc2l0aW9uVHlwZSwgRGlyZWN0aW9uVHlwZSB9IGZyb20gJy4vZGlyZWN0aW9ucy5lbnVtJztcclxuaW1wb3J0IHsgUm91dGVzRmVhdHVyZVN0b3JlLCBTdGVwRmVhdHVyZVN0b3JlLCBTdG9wc0ZlYXR1cmVTdG9yZSwgU3RvcHNTdG9yZSB9IGZyb20gJy4vc3RvcmUnO1xyXG5cclxuLyoqXHJcbiAqIEZ1bmN0aW9uIHRoYXQgdXBkYXQgdGhlIHNvcnQgb2YgdGhlIGxpc3QgYmFzZSBvbiB0aGUgcHJvdmlkZWQgZmllbGQuXHJcbiAqIEBwYXJhbSBzb3VyY2Ugc3RvcCBzdG9yZVxyXG4gKiBAcGFyYW0gZGlyZWN0aW9uIGFzYyAvIGRlc2Mgc29ydCBvcmRlclxyXG4gKiBAcGFyYW0gZmllbGQgdGhlIGZpZWxkIHRvIHVzZSB0byBzb3J0IHRoZSB2aWV3XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlU3RvcmVTb3J0aW5nKHN0b3BzU3RvcmU6IFN0b3BzU3RvcmUsIGRpcmVjdGlvbjogJ2FzYycgfCAnZGVzYycgPSAnYXNjJywgZmllbGQgPSAncG9zaXRpb24nKSB7XHJcbiAgc3RvcHNTdG9yZS52aWV3LnNvcnQoe1xyXG4gICAgZGlyZWN0aW9uLFxyXG4gICAgdmFsdWVBY2Nlc3NvcjogKGVudGl0eTogU3RvcCkgPT4gZW50aXR5W2ZpZWxkXVxyXG4gIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZVJlbGF0aXZlUG9zaXRpb24oaW5kZXg6IG51bWJlciwgdG90YWxMZW5ndGgpOiBEaXJlY3Rpb25SZWxhdGl2ZVBvc2l0aW9uVHlwZSB7XHJcbiAgbGV0IHJlbGF0aXZlUG9zaXRpb24gPSBEaXJlY3Rpb25SZWxhdGl2ZVBvc2l0aW9uVHlwZS5JbnRlcm1lZGlhdGU7XHJcbiAgaWYgKGluZGV4ID09PSAwKSB7XHJcbiAgICByZWxhdGl2ZVBvc2l0aW9uID0gRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGUuU3RhcnQ7XHJcbiAgfSBlbHNlIGlmIChpbmRleCA9PT0gdG90YWxMZW5ndGggLSAxKSB7XHJcbiAgICByZWxhdGl2ZVBvc2l0aW9uID0gRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGUuRW5kO1xyXG4gIH1cclxuICByZXR1cm4gcmVsYXRpdmVQb3NpdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVTdG9wc1Bvc2l0aW9uKHN0b3BzU3RvcmU6IFN0b3BzU3RvcmUpIHtcclxuXHJcbiAgY29uc3Qgc3RvcHNUb0NvbXB1dGVQb3NpdGlvbiA9IFsuLi5zdG9wc1N0b3JlLmFsbCgpXTtcclxuICBzdG9wc1RvQ29tcHV0ZVBvc2l0aW9uLnNvcnQoKGEsIGIpID0+IGEucG9zaXRpb24gLSBiLnBvc2l0aW9uKTtcclxuICBzdG9wc1RvQ29tcHV0ZVBvc2l0aW9uLm1hcCgoc3RvcCwgaSkgPT4ge1xyXG4gICAgc3RvcC5wb3NpdGlvbiA9IGk7XHJcbiAgICBzdG9wLnJlbGF0aXZlUG9zaXRpb24gPSBjb21wdXRlUmVsYXRpdmVQb3NpdGlvbihzdG9wLnBvc2l0aW9uLCBzdG9wc1RvQ29tcHV0ZVBvc2l0aW9uLmxlbmd0aCk7XHJcbiAgfSk7XHJcbiAgaWYgKHN0b3BzVG9Db21wdXRlUG9zaXRpb24pIHtcclxuICAgIHN0b3BzU3RvcmUudXBkYXRlTWFueShzdG9wc1RvQ29tcHV0ZVBvc2l0aW9uKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGdW5jdGlvbiB0aGF0IGFkZCBhIHN0b3AgdG8gdGhlIHN0b3Agc3RvcmUuIFN0b3AgYXJlIGFsd2F5cyBhZGRlZCBiZWZvcmUgdGhlIGxhc3Qgc3RvcC5cclxuICogQHBhcmFtIHN0b3BzU3RvcmUgc3RvcCBzdG9yZSBhcyBhbiBFbnRpdHlTdG9yZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGFkZFN0b3BUb1N0b3JlKHN0b3BzU3RvcmU6IFN0b3BzU3RvcmUpOiBTdG9wIHtcclxuXHJcbiAgY29uc3QgaWQgPSB1dWlkKCk7XHJcbiAgY29uc3Qgc3RvcHMgPSBzdG9wc1N0b3JlLmFsbCgpO1xyXG4gIGxldCBwb3NpdGlvbnM6IG51bWJlcltdO1xyXG4gIGlmIChzdG9wc1N0b3JlLmNvdW50ID09PSAwKSB7XHJcbiAgICBwb3NpdGlvbnMgPSBbMF07XHJcbiAgfSBlbHNlIHtcclxuICAgIHBvc2l0aW9ucyA9IHN0b3BzLm1hcChzdG9wID0+IHN0b3AucG9zaXRpb24pO1xyXG4gIH1cclxuICBjb25zdCBtYXhQb3NpdGlvbjogbnVtYmVyID0gTWF0aC5tYXgoLi4ucG9zaXRpb25zKTtcclxuICBjb25zdCBpbnNlcnRQb3NpdGlvbjogbnVtYmVyID0gbWF4UG9zaXRpb247XHJcbiAgY29uc3QgbGFzdFBvc2l0aW9uOiBudW1iZXIgPSBtYXhQb3NpdGlvbiArIDE7XHJcblxyXG4gIGNvbnN0IHN0b3BUb1VwZGF0ZSA9IHN0b3BzU3RvcmUuYWxsKCkuZmluZChzdG9wID0+IHN0b3AucG9zaXRpb24gPT09IG1heFBvc2l0aW9uKTtcclxuICBpZiAoc3RvcFRvVXBkYXRlKSB7XHJcbiAgICBzdG9wVG9VcGRhdGUucG9zaXRpb24gPSBsYXN0UG9zaXRpb247XHJcbiAgICBzdG9wVG9VcGRhdGUucmVsYXRpdmVQb3NpdGlvbiA9IGNvbXB1dGVSZWxhdGl2ZVBvc2l0aW9uKGxhc3RQb3NpdGlvbiwgc3RvcHNTdG9yZS5jb3VudCArIDEpO1xyXG4gIH1cclxuXHJcbiAgc3RvcHNTdG9yZS5pbnNlcnQoeyBpZCwgcG9zaXRpb246IGluc2VydFBvc2l0aW9uLCByZWxhdGl2ZVBvc2l0aW9uOiBjb21wdXRlUmVsYXRpdmVQb3NpdGlvbihpbnNlcnRQb3NpdGlvbiwgc3RvcHNTdG9yZS5jb3VudCArIDEpIH0pO1xyXG5cclxuICB1cGRhdGVTdG9yZVNvcnRpbmcoc3RvcHNTdG9yZSk7XHJcbiAgcmV0dXJuIHN0b3BzU3RvcmUuZ2V0KGlkKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVN0b3BGcm9tU3RvcmUoc3RvcHNTdG9yZTogU3RvcHNTdG9yZSwgc3RvcDogU3RvcCkge1xyXG4gIHN0b3BzU3RvcmUuZGVsZXRlKHN0b3ApO1xyXG4gIGNvbXB1dGVTdG9wc1Bvc2l0aW9uKHN0b3BzU3RvcmUpO1xyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlIGEgc3R5bGUgZm9yIHRoZSBkaXJlY3Rpb25zIHN0b3BzIGFuZCByb3V0ZXNcclxuICogQHBhcmFtIGZlYXR1cmUgT2xGZWF0dXJlXHJcbiAqIEByZXR1cm5zIE9MIHN0eWxlIGZ1bmN0aW9uXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZGlyZWN0aW9uc1N0eWxlKFxyXG4gIGZlYXR1cmU6IG9sRmVhdHVyZTxPbEdlb21ldHJ5PixcclxuICByZXNvbHV0aW9uOiBudW1iZXJcclxuKTogb2xTdHlsZS5TdHlsZSB8IG9sU3R5bGUuU3R5bGVbXSB7XHJcbiAgY29uc3QgdmVydGV4U3R5bGUgPSBbXHJcbiAgICBuZXcgb2xTdHlsZS5TdHlsZSh7XHJcbiAgICAgIGdlb21ldHJ5OiBmZWF0dXJlLmdldEdlb21ldHJ5KCksXHJcbiAgICAgIGltYWdlOiBuZXcgb2xTdHlsZS5DaXJjbGUoe1xyXG4gICAgICAgIHJhZGl1czogNyxcclxuICAgICAgICBzdHJva2U6IG5ldyBvbFN0eWxlLlN0cm9rZSh7IGNvbG9yOiAnI0ZGMDAwMCcsIHdpZHRoOiAzIH0pXHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gIF07XHJcblxyXG4gIGNvbnN0IHN0b3BTdHlsZSA9IGNyZWF0ZU92ZXJsYXlNYXJrZXJTdHlsZSh7XHJcbiAgICB0ZXh0OiBmZWF0dXJlLmdldCgnc3RvcFRleHQnKSxcclxuICAgIG9wYWNpdHk6IGZlYXR1cmUuZ2V0KCdzdG9wT3BhY2l0eScpLFxyXG4gICAgbWFya2VyQ29sb3I6IGZlYXR1cmUuZ2V0KCdzdG9wQ29sb3InKSxcclxuICAgIG1hcmtlck91dGxpbmVDb2xvcjogWzI1NSwgMjU1LCAyNTVdXHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0IHJvdXRlU3R5bGUgPSBbXHJcbiAgICBuZXcgb2xTdHlsZS5TdHlsZSh7XHJcbiAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHsgY29sb3I6IGByZ2JhKDEwNiwgMTIxLCAxMzAsICR7ZmVhdHVyZS5nZXQoJ2FjdGl2ZScpID8gMC43NSA6IDB9KWAsIHdpZHRoOiAxMCB9KVxyXG4gICAgfSksXHJcbiAgICBuZXcgb2xTdHlsZS5TdHlsZSh7XHJcbiAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHsgY29sb3I6IGByZ2JhKDc5LCAxNjksIDIyMSwgJHtmZWF0dXJlLmdldCgnYWN0aXZlJykgPyAwLjc1IDogMH0pYCwgd2lkdGg6IDYgfSlcclxuICAgIH0pXHJcbiAgXTtcclxuXHJcbiAgaWYgKGZlYXR1cmUuZ2V0KCd0eXBlJykgPT09IERpcmVjdGlvblR5cGUuU3RvcCkge1xyXG4gICAgcmV0dXJuIHN0b3BTdHlsZTtcclxuICB9XHJcbiAgaWYgKGZlYXR1cmUuZ2V0KCd0eXBlJykgPT09ICd2ZXJ0ZXgnKSB7XHJcbiAgICByZXR1cm4gdmVydGV4U3R5bGU7XHJcbiAgfVxyXG4gIGlmIChmZWF0dXJlLmdldCgndHlwZScpID09PSBEaXJlY3Rpb25UeXBlLlJvdXRlKSB7XHJcbiAgICByZXR1cm4gcm91dGVTdHlsZTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpbml0U3RvcHNGZWF0dXJlU3RvcmUoc3RvcHNGZWF0dXJlU3RvcmU6IFN0b3BzRmVhdHVyZVN0b3JlLCBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSkge1xyXG4gIGNvbnN0IGxvYWRpbmdTdHJhdGVneSA9IG5ldyBGZWF0dXJlU3RvcmVMb2FkaW5nU3RyYXRlZ3koe1xyXG4gICAgbW90aW9uOiBGZWF0dXJlTW90aW9uLk5vbmVcclxuICB9KTtcclxuXHJcbiAgY29uc3Qgc3RvcHNMYXllciA9IG5ldyBWZWN0b3JMYXllcih7XHJcbiAgICBpc0lnb0ludGVybmFsTGF5ZXI6IHRydWUsXHJcbiAgICBpZDogJ2lnby1kaXJlY3Rpb24tc3RvcHMtbGF5ZXInLFxyXG4gICAgdGl0bGU6IGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5zdG9wTGF5ZXInKSxcclxuICAgIHpJbmRleDogOTExLFxyXG4gICAgc291cmNlOiBuZXcgRmVhdHVyZURhdGFTb3VyY2UoKSxcclxuICAgIHNob3dJbkxheWVyTGlzdDogdHJ1ZSxcclxuICAgIHdvcmtzcGFjZToge1xyXG4gICAgICBlbmFibGVkOiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICBsaW5rZWRMYXllcnM6IHtcclxuICAgICAgbGlua0lkOiAnaWdvLWRpcmVjdGlvbi1zdG9wcy1sYXllcicsXHJcbiAgICAgIGxpbmtzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgYmlkaXJlY3Rpb25uYWw6IGZhbHNlLFxyXG4gICAgICAgICAgc3luY2VkRGVsZXRlOiB0cnVlLFxyXG4gICAgICAgICAgbGlua2VkSWRzOiBbJ2lnby1kaXJlY3Rpb24tcm91dGUtbGF5ZXInXSxcclxuICAgICAgICAgIHByb3BlcnRpZXM6IFtdXHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9LFxyXG4gICAgZXhwb3J0YWJsZTogdHJ1ZSxcclxuICAgIGJyb3dzYWJsZTogZmFsc2UsXHJcbiAgICBzdHlsZTogZGlyZWN0aW9uc1N0eWxlXHJcbiAgfSk7XHJcbiAgdHJ5QmluZFN0b3JlTGF5ZXIoc3RvcHNGZWF0dXJlU3RvcmUsIHN0b3BzTGF5ZXIpO1xyXG4gIHN0b3BzRmVhdHVyZVN0b3JlLmxheWVyLnZpc2libGUgPSB0cnVlO1xyXG4gIHRyeUFkZExvYWRpbmdTdHJhdGVneShzdG9wc0ZlYXR1cmVTdG9yZSwgbG9hZGluZ1N0cmF0ZWd5KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGluaXRSb3V0ZXNGZWF0dXJlU3RvcmUocm91dGVzRmVhdHVyZVN0b3JlOiBSb3V0ZXNGZWF0dXJlU3RvcmUsIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlKSB7XHJcbiAgY29uc3QgbG9hZGluZ1N0cmF0ZWd5ID0gbmV3IEZlYXR1cmVTdG9yZUxvYWRpbmdTdHJhdGVneSh7XHJcbiAgICBtb3Rpb246IEZlYXR1cmVNb3Rpb24uTm9uZVxyXG4gIH0pO1xyXG5cclxuICBjb25zdCByb3V0ZUxheWVyID0gbmV3IFZlY3RvckxheWVyKHtcclxuICAgIGlzSWdvSW50ZXJuYWxMYXllcjogdHJ1ZSxcclxuICAgIGlkOiAnaWdvLWRpcmVjdGlvbi1yb3V0ZS1sYXllcicsXHJcbiAgICB0aXRsZTogbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnNGb3JtLnJvdXRlTGF5ZXInKSxcclxuICAgIHpJbmRleDogOTEwLFxyXG4gICAgc291cmNlOiBuZXcgRmVhdHVyZURhdGFTb3VyY2UoKSxcclxuICAgIHNob3dJbkxheWVyTGlzdDogdHJ1ZSxcclxuICAgIHdvcmtzcGFjZToge1xyXG4gICAgICBlbmFibGVkOiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICBsaW5rZWRMYXllcnM6IHtcclxuICAgICAgbGlua0lkOiAnaWdvLWRpcmVjdGlvbi1yb3V0ZS1sYXllcidcclxuICAgIH0sXHJcbiAgICBleHBvcnRhYmxlOiB0cnVlLFxyXG4gICAgYnJvd3NhYmxlOiBmYWxzZSxcclxuICAgIHN0eWxlOiBkaXJlY3Rpb25zU3R5bGVcclxuICB9KTtcclxuICB0cnlCaW5kU3RvcmVMYXllcihyb3V0ZXNGZWF0dXJlU3RvcmUsIHJvdXRlTGF5ZXIpO1xyXG4gIHJvdXRlc0ZlYXR1cmVTdG9yZS5sYXllci52aXNpYmxlID0gdHJ1ZTtcclxuICB0cnlBZGRMb2FkaW5nU3RyYXRlZ3kocm91dGVzRmVhdHVyZVN0b3JlLCBsb2FkaW5nU3RyYXRlZ3kpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaW5pdFN0ZXBGZWF0dXJlU3RvcmUoc3RlcEZlYXR1cmVTdG9yZTogU3RlcEZlYXR1cmVTdG9yZSkge1xyXG4gIGNvbnN0IGxvYWRpbmdTdHJhdGVneSA9IG5ldyBGZWF0dXJlU3RvcmVMb2FkaW5nU3RyYXRlZ3koe1xyXG4gICAgbW90aW9uOiBGZWF0dXJlTW90aW9uLk5vbmVcclxuICB9KTtcclxuXHJcbiAgY29uc3Qgc3RlcExheWVyID0gbmV3IFZlY3RvckxheWVyKHtcclxuICAgIGlzSWdvSW50ZXJuYWxMYXllcjogdHJ1ZSxcclxuICAgIGlkOiAnaWdvLWRpcmVjdGlvbi1zdGVwLWxheWVyJyxcclxuICAgIHRpdGxlOiAnJyxcclxuICAgIHpJbmRleDogOTEwLFxyXG4gICAgc291cmNlOiBuZXcgRmVhdHVyZURhdGFTb3VyY2UoKSxcclxuICAgIHNob3dJbkxheWVyTGlzdDogZmFsc2UsXHJcbiAgICB3b3Jrc3BhY2U6IHtcclxuICAgICAgZW5hYmxlZDogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAgbGlua2VkTGF5ZXJzOiB7XHJcbiAgICAgIGxpbmtJZDogJ2lnby1kaXJlY3Rpb24tcm91dGUtbGF5ZXInXHJcbiAgICB9LFxyXG4gICAgZXhwb3J0YWJsZTogZmFsc2UsXHJcbiAgICBicm93c2FibGU6IGZhbHNlLFxyXG4gICAgc3R5bGU6IGRpcmVjdGlvbnNTdHlsZVxyXG4gIH0pO1xyXG4gIHRyeUJpbmRTdG9yZUxheWVyKHN0ZXBGZWF0dXJlU3RvcmUsIHN0ZXBMYXllcik7XHJcbiAgc3RlcEZlYXR1cmVTdG9yZS5sYXllci52aXNpYmxlID0gdHJ1ZTtcclxuICB0cnlBZGRMb2FkaW5nU3RyYXRlZ3koc3RlcEZlYXR1cmVTdG9yZSwgbG9hZGluZ1N0cmF0ZWd5KTtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBhZGRTdG9wVG9TdG9wc0ZlYXR1cmVTdG9yZShcclxuICBzdG9wOiBTdG9wLFxyXG4gIHN0b3BzU3RvcmU6IFN0b3BzU3RvcmUsXHJcbiAgc3RvcHNGZWF0dXJlU3RvcmU6IFN0b3BzRmVhdHVyZVN0b3JlLFxyXG4gIHByb2plY3Rpb246IHN0cmluZyxcclxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSkge1xyXG4gIGxldCBzdG9wQ29sb3I7XHJcbiAgbGV0IHN0b3BUZXh0O1xyXG5cclxuXHJcbiAgc3dpdGNoIChzdG9wLnJlbGF0aXZlUG9zaXRpb24pIHtcclxuICAgIGNhc2UgRGlyZWN0aW9uUmVsYXRpdmVQb3NpdGlvblR5cGUuU3RhcnQ6XHJcbiAgICAgIHN0b3BDb2xvciA9ICcjMDA4MDAwJztcclxuICAgICAgc3RvcFRleHQgPSBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9uc0Zvcm0uc3RhcnQnKTtcclxuICAgICAgYnJlYWs7XHJcbiAgICBjYXNlIERpcmVjdGlvblJlbGF0aXZlUG9zaXRpb25UeXBlLkVuZDpcclxuICAgICAgc3RvcENvbG9yID0gJyNmNjQxMzknO1xyXG4gICAgICBzdG9wVGV4dCA9IGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zRm9ybS5lbmQnKTtcclxuICAgICAgYnJlYWs7XHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICBzdG9wQ29sb3IgPSAnI2ZmZDcwMCc7XHJcbiAgICAgIHN0b3BUZXh0ID0gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnNGb3JtLmludGVybWVkaWF0ZScpICsgJyAjJyArIHN0b3AucG9zaXRpb247XHJcbiAgICAgIGJyZWFrO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgZ2VvbWV0cnkgPSBuZXcgb2xHZW9tLlBvaW50KFxyXG4gICAgb2xQcm9qLnRyYW5zZm9ybShzdG9wLmNvb3JkaW5hdGVzLCBwcm9qZWN0aW9uLCBzdG9wc0ZlYXR1cmVTdG9yZS5tYXAucHJvamVjdGlvbilcclxuICApO1xyXG5cclxuICBjb25zdCBnZW9qc29uR2VvbSA9IG5ldyBPbEdlb0pTT04oKS53cml0ZUdlb21ldHJ5T2JqZWN0KGdlb21ldHJ5LCB7XHJcbiAgICBmZWF0dXJlUHJvamVjdGlvbjogc3RvcHNGZWF0dXJlU3RvcmUubWFwLnByb2plY3Rpb24sXHJcbiAgICBkYXRhUHJvamVjdGlvbjogc3RvcHNGZWF0dXJlU3RvcmUubWFwLnByb2plY3Rpb25cclxuICB9KSBhcyBGZWF0dXJlR2VvbWV0cnk7XHJcblxyXG4gIGNvbnN0IHByZXZpb3VzU3RvcCA9IHN0b3BzRmVhdHVyZVN0b3JlLmdldChzdG9wLmlkKTtcclxuICBjb25zdCBwcmV2aW91c1N0b3BSZXZpc2lvbiA9IHByZXZpb3VzU3RvcCA/IHByZXZpb3VzU3RvcC5tZXRhLnJldmlzaW9uIDogMDtcclxuXHJcbiAgY29uc3Qgc3RvcEZlYXR1cmVTdG9yZTogRmVhdHVyZVdpdGhTdG9wID0ge1xyXG4gICAgdHlwZTogRkVBVFVSRSxcclxuICAgIGdlb21ldHJ5OiBnZW9qc29uR2VvbSxcclxuICAgIHByb2plY3Rpb246IHN0b3BzRmVhdHVyZVN0b3JlLm1hcC5wcm9qZWN0aW9uLFxyXG4gICAgcHJvcGVydGllczoge1xyXG4gICAgICBpZDogc3RvcC5pZCxcclxuICAgICAgdHlwZTogRGlyZWN0aW9uVHlwZS5TdG9wLFxyXG4gICAgICBzdG9wVGV4dCxcclxuICAgICAgc3RvcENvbG9yLFxyXG4gICAgICBzdG9wT3BhY2l0eTogMSxcclxuICAgICAgc3RvcFxyXG4gICAgfSxcclxuICAgIG1ldGE6IHtcclxuICAgICAgaWQ6IHN0b3AuaWQsXHJcbiAgICAgIHJldmlzaW9uOiBwcmV2aW91c1N0b3BSZXZpc2lvbiArIDFcclxuICAgIH0sXHJcbiAgICBvbDogbmV3IG9sRmVhdHVyZSh7IGdlb21ldHJ5IH0pXHJcbiAgfTtcclxuICBzdG9wc0ZlYXR1cmVTdG9yZS51cGRhdGUoc3RvcEZlYXR1cmVTdG9yZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBhZGREaXJlY3Rpb25Ub1JvdXRlc0ZlYXR1cmVTdG9yZShcclxuICByb3V0ZXNGZWF0dXJlU3RvcmU6IFJvdXRlc0ZlYXR1cmVTdG9yZSxcclxuICBkaXJlY3Rpb246IERpcmVjdGlvbixcclxuICBwcm9qZWN0aW9uOiBzdHJpbmcsXHJcbiAgYWN0aXZlOiBib29sZWFuID0gZmFsc2UsXHJcbiAgbW92ZVRvRXh0ZW50ID0gZmFsc2UpIHtcclxuICBjb25zdCBnZW9tID0gZGlyZWN0aW9uLmdlb21ldHJ5LmNvb3JkaW5hdGVzO1xyXG4gIGNvbnN0IGdlb21ldHJ5NDMyNiA9IG5ldyBvbEdlb20uTGluZVN0cmluZyhnZW9tKTtcclxuICBjb25zdCBnZW9tZXRyeSA9IGdlb21ldHJ5NDMyNi50cmFuc2Zvcm0oXHJcbiAgICBwcm9qZWN0aW9uLFxyXG4gICAgcm91dGVzRmVhdHVyZVN0b3JlLm1hcC5wcm9qZWN0aW9uXHJcbiAgKTtcclxuXHJcbiAgY29uc3QgZ2VvanNvbkdlb20gPSBuZXcgT2xHZW9KU09OKCkud3JpdGVHZW9tZXRyeU9iamVjdChnZW9tZXRyeSwge1xyXG4gICAgZmVhdHVyZVByb2plY3Rpb246IHJvdXRlc0ZlYXR1cmVTdG9yZS5tYXAucHJvamVjdGlvbixcclxuICAgIGRhdGFQcm9qZWN0aW9uOiByb3V0ZXNGZWF0dXJlU3RvcmUubWFwLnByb2plY3Rpb25cclxuICB9KSBhcyBGZWF0dXJlR2VvbWV0cnk7XHJcblxyXG5cclxuICBjb25zdCBwcmV2aW91c1JvdXRlID0gcm91dGVzRmVhdHVyZVN0b3JlLmdldChkaXJlY3Rpb24uaWQpO1xyXG4gIGNvbnN0IHByZXZpb3VzUm91dGVSZXZpc2lvbiA9IHByZXZpb3VzUm91dGVcclxuICAgID8gcHJldmlvdXNSb3V0ZS5tZXRhLnJldmlzaW9uXHJcbiAgICA6IDA7XHJcblxyXG4gIGNvbnN0IHJvdXRlRmVhdHVyZVN0b3JlOiBGZWF0dXJlV2l0aERpcmVjdGlvbiA9IHtcclxuICAgIHR5cGU6IEZFQVRVUkUsXHJcbiAgICBnZW9tZXRyeTogZ2VvanNvbkdlb20sXHJcbiAgICBwcm9qZWN0aW9uOiByb3V0ZXNGZWF0dXJlU3RvcmUubWFwLnByb2plY3Rpb24sXHJcbiAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICAgIGlkOiBkaXJlY3Rpb24uaWQsXHJcbiAgICAgIHR5cGU6IERpcmVjdGlvblR5cGUuUm91dGUsXHJcbiAgICAgIGFjdGl2ZSxcclxuICAgICAgZGlyZWN0aW9uXHJcbiAgICB9LFxyXG4gICAgbWV0YToge1xyXG4gICAgICBpZDogZGlyZWN0aW9uLmlkLFxyXG4gICAgICByZXZpc2lvbjogcHJldmlvdXNSb3V0ZVJldmlzaW9uICsgMVxyXG4gICAgfSxcclxuICAgIG9sOiBuZXcgb2xGZWF0dXJlKHsgZ2VvbWV0cnkgfSlcclxuICB9O1xyXG4gIHJvdXRlc0ZlYXR1cmVTdG9yZS51cGRhdGUocm91dGVGZWF0dXJlU3RvcmUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RGlzdGFuY2UoZGlzdGFuY2U6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgaWYgKGRpc3RhbmNlID09PSAwKSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG4gIGlmIChkaXN0YW5jZSA+PSAxMDAwMDApIHtcclxuICAgIHJldHVybiBOdW1iZXJVdGlscy5yb3VuZFRvTkRlY2ltYWwoTWF0aC5yb3VuZChkaXN0YW5jZSkgLyAxMDAwLCAxKSArICcga20nO1xyXG4gIH1cclxuICBpZiAoZGlzdGFuY2UgPj0gMTAwMDApIHtcclxuICAgIHJldHVybiBOdW1iZXJVdGlscy5yb3VuZFRvTkRlY2ltYWwoTWF0aC5yb3VuZChkaXN0YW5jZSkgLyAxMDAgLyAxMCwgMSkgKyAnIGttJztcclxuICB9XHJcbiAgaWYgKGRpc3RhbmNlID49IDEwMDApIHtcclxuICAgIHJldHVybiBOdW1iZXJVdGlscy5yb3VuZFRvTkRlY2ltYWwoTWF0aC5yb3VuZChkaXN0YW5jZSkgLyAxMDAgLyAxMCwgMSkgKyAnIGttJztcclxuICB9XHJcbiAgcmV0dXJuIE51bWJlclV0aWxzLnJvdW5kVG9ORGVjaW1hbChkaXN0YW5jZSwgMCkgKyAnIG0nO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0RHVyYXRpb24oZHVyYXRpb246IG51bWJlcik6IHN0cmluZyB7XHJcbiAgaWYgKGR1cmF0aW9uID49IDM2MDApIHtcclxuICAgIGNvbnN0IGhvdXIgPSBNYXRoLmZsb29yKGR1cmF0aW9uIC8gMzYwMCk7XHJcbiAgICBjb25zdCBtaW51dGUgPSBNYXRoLnJvdW5kKChkdXJhdGlvbiAvIDM2MDAgLSBob3VyKSAqIDYwKTtcclxuICAgIGlmIChtaW51dGUgPT09IDYwKSB7XHJcbiAgICAgIHJldHVybiBob3VyICsgMSArICcgaCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaG91ciArICcgaCAnICsgbWludXRlICsgJyBtaW4nO1xyXG4gIH1cclxuXHJcbiAgaWYgKGR1cmF0aW9uID49IDYwKSB7XHJcbiAgICByZXR1cm4gTWF0aC5yb3VuZChkdXJhdGlvbiAvIDYwKSArICcgbWluJztcclxuICB9XHJcbiAgcmV0dXJuIGR1cmF0aW9uICsgJyBzJztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEluc3RydWN0aW9uKFxyXG4gIHR5cGUsXHJcbiAgbW9kaWZpZXIsXHJcbiAgcm91dGUsXHJcbiAgZGlyZWN0aW9uLFxyXG4gIHN0ZXBQb3NpdGlvbixcclxuICBleGl0LFxyXG4gIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gIGxhc3RTdGVwID0gZmFsc2VcclxuKSB7XHJcbiAgY29uc3QgdHJhbnNsYXRlID0gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZTtcclxuICBsZXQgZGlyZWN0aXZlO1xyXG4gIGxldCBpbWFnZSA9ICdmb3J3YXJkJztcclxuICBsZXQgY3NzQ2xhc3MgPSAncm90YXRlLTI3MCc7XHJcbiAgY29uc3QgdHJhbnNsYXRlZERpcmVjdGlvbiA9IHRyYW5zbGF0ZUJlYXJpbmcoZGlyZWN0aW9uLCBsYW5ndWFnZVNlcnZpY2UpO1xyXG4gIGNvbnN0IHRyYW5zbGF0ZWRNb2RpZmllciA9IHRyYW5zbGF0ZU1vZGlmaWVyKG1vZGlmaWVyLCBsYW5ndWFnZVNlcnZpY2UpO1xyXG4gIGNvbnN0IHByZWZpeCA9IG1vZGlmaWVyID09PSAnc3RyYWlnaHQnID8gJycgOiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLm1vZGlmaWVyLnByZWZpeCcpO1xyXG5cclxuICBsZXQgYWdncmVnYXRlZERpcmVjdGlvbiA9IHByZWZpeCArIHRyYW5zbGF0ZWRNb2RpZmllcjtcclxuXHJcblxyXG4gIGlmIChtb2RpZmllcj8uc2VhcmNoKCdzbGlnaHQnKSA+PSAwKSB7XHJcbiAgICBhZ2dyZWdhdGVkRGlyZWN0aW9uID0gdHJhbnNsYXRlZE1vZGlmaWVyO1xyXG4gIH1cclxuXHJcbiAgaWYgKG1vZGlmaWVyID09PSAndXR1cm4nKSB7XHJcbiAgICBpbWFnZSA9ICdmb3J3YXJkJztcclxuICAgIGNzc0NsYXNzID0gJ3JvdGF0ZS05MCc7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3NoYXJwIHJpZ2h0Jykge1xyXG4gICAgaW1hZ2UgPSAnc3ViZGlyZWN0b3J5LWFycm93LXJpZ2h0JztcclxuICAgIGNzc0NsYXNzID0gJ2ljb24tZmxpcHBlZCc7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgaW1hZ2UgPSAnc3ViZGlyZWN0b3J5LWFycm93LXJpZ2h0JztcclxuICAgIGNzc0NsYXNzID0gJ2ljb24tZmxpcHBlZCc7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3NsaWdodCByaWdodCcpIHtcclxuICAgIGltYWdlID0gJ2ZvcndhcmQnO1xyXG4gICAgY3NzQ2xhc3MgPSAncm90YXRlLTI5MCc7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3N0cmFpZ2h0Jykge1xyXG4gICAgaW1hZ2UgPSAnZm9yd2FyZCc7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3NsaWdodCBsZWZ0Jykge1xyXG4gICAgaW1hZ2UgPSAnZm9yd2FyZCc7XHJcbiAgICBjc3NDbGFzcyA9ICdyb3RhdGUtMjUwJztcclxuICB9IGVsc2UgaWYgKG1vZGlmaWVyID09PSAnbGVmdCcpIHtcclxuICAgIGltYWdlID0gJ3N1YmRpcmVjdG9yeS1hcnJvdy1sZWZ0JztcclxuICAgIGNzc0NsYXNzID0gJ2ljb24tZmxpcHBlZCc7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3NoYXJwIGxlZnQnKSB7XHJcbiAgICBpbWFnZSA9ICdzdWJkaXJlY3RvcnktYXJyb3ctbGVmdCc7XHJcbiAgICBjc3NDbGFzcyA9ICdpY29uLWZsaXBwZWQnO1xyXG4gIH1cclxuXHJcbiAgaWYgKHR5cGUgPT09ICd0dXJuJykge1xyXG4gICAgaWYgKG1vZGlmaWVyID09PSAnc3RyYWlnaHQnKSB7XHJcbiAgICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMudHVybi5zdHJhaWdodCcsIHsgcm91dGUgfSk7XHJcbiAgICB9IGVsc2UgaWYgKG1vZGlmaWVyID09PSAndXR1cm4nKSB7XHJcbiAgICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMudHVybi51dHVybicsIHsgcm91dGUgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnR1cm4uZWxzZScsIHsgcm91dGUsIGFnZ3JlZ2F0ZWREaXJlY3Rpb24sIHRyYW5zbGF0ZWRNb2RpZmllciB9KTtcclxuICAgIH1cclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICduZXcgbmFtZScpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMubmV3IG5hbWUnLCB7IHJvdXRlLCB0cmFuc2xhdGVkRGlyZWN0aW9uIH0pO1xyXG4gICAgaW1hZ2UgPSAnY29tcGFzcyc7XHJcbiAgICBjc3NDbGFzcyA9ICcnO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2RlcGFydCcpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuZGVwYXJ0JywgeyByb3V0ZSwgdHJhbnNsYXRlZERpcmVjdGlvbiB9KTtcclxuICAgIGltYWdlID0gJ2NvbXBhc3MnO1xyXG4gICAgY3NzQ2xhc3MgPSAnJztcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdhcnJpdmUnKSB7XHJcbiAgICBpZiAobGFzdFN0ZXApIHtcclxuICAgICAgY29uc3QgY29tYSA9ICF0cmFuc2xhdGVkTW9kaWZpZXIgPyAnJyA6ICcsICc7XHJcbiAgICAgIGFnZ3JlZ2F0ZWREaXJlY3Rpb24gPSAhdHJhbnNsYXRlZE1vZGlmaWVyID8gJycgOiBhZ2dyZWdhdGVkRGlyZWN0aW9uO1xyXG4gICAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmFycml2ZS5sYXN0U3RlcCcsIHsgY29tYSwgYWdncmVnYXRlZERpcmVjdGlvbiB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuYXJyaXZlLmludGVybWVkaWF0ZScsIHsgcm91dGUgfSk7XHJcbiAgICAgIGltYWdlID0gJ21hcC1tYXJrZXInO1xyXG4gICAgICBjc3NDbGFzcyA9ICcnO1xyXG4gICAgfVxyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ21lcmdlJykge1xyXG4gICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5tZXJnZScsIHsgcm91dGUgfSk7XHJcbiAgICBpbWFnZSA9ICdmb3J3YXJkJztcclxuICAgIGNzc0NsYXNzID0gJ3JvdGF0ZS0yNzAnO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ29uIHJhbXAnKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLm9uIHJhbXAnLCB7IGFnZ3JlZ2F0ZWREaXJlY3Rpb24gfSk7XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAnb2ZmIHJhbXAnKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLm9mZiByYW1wJywgeyBhZ2dyZWdhdGVkRGlyZWN0aW9uIH0pO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2ZvcmsnKSB7XHJcbiAgICBpZiAobW9kaWZpZXIuc2VhcmNoKCdsZWZ0JykgPj0gMCkge1xyXG4gICAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmZvcmsubGVmdCcsIHsgcm91dGUgfSk7XHJcbiAgICB9IGVsc2UgaWYgKG1vZGlmaWVyLnNlYXJjaCgncmlnaHQnKSA+PSAwKSB7XHJcbiAgICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuZm9yay5yaWdodCcsIHsgcm91dGUgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmZvcmsuZWxzZScsIHsgcm91dGUgfSk7XHJcbiAgICB9XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAnZW5kIG9mIHJvYWQnKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLmVuZCBvZiByb2FkJywgeyB0cmFuc2xhdGVkTW9kaWZpZXIsIHJvdXRlIH0pO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3VzZSBsYW5lJykge1xyXG4gICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy51c2UgbGFuZScpO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2NvbnRpbnVlJyAmJiBtb2RpZmllciAhPT0gJ3V0dXJuJykge1xyXG4gICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5jb250aW51ZS5ub3RVdHVybicsIHsgcm91dGUgfSk7XHJcbiAgICBpbWFnZSA9ICdmb3J3YXJkJztcclxuICAgIGNzc0NsYXNzID0gJ3JvdGF0ZS0yNzAnO1xyXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3JvdW5kYWJvdXQnKSB7XHJcbiAgICBjb25zdCBjbnRTdWZmaXggPSBleGl0ID09PSAxID9cclxuICAgICAgdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5jbnRTdWZmaXguZmlyc3QnKSA6XHJcbiAgICAgIHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuY250U3VmZml4LnNlY29uZEFuZE1vcmUnKTtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMucm91bmRhYm91dCcsIHsgZXhpdCwgY250U3VmZml4LCByb3V0ZSB9KTtcclxuICAgIGltYWdlID0gJ2NoYXJ0LWRvbnV0JztcclxuICAgIGNzc0NsYXNzID0gJyc7XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAncm90YXJ5Jykge1xyXG4gICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5yb3RhcnknKTtcclxuICAgIGltYWdlID0gJ2NoYXJ0LWRvbnV0JztcclxuICAgIGNzc0NsYXNzID0gJyc7XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAncm91bmRhYm91dCB0dXJuJykge1xyXG4gICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5yb3VuZGFib3V0IHR1cm4nKTtcclxuICAgIGltYWdlID0gJ2NoYXJ0LWRvbnV0JztcclxuICAgIGNzc0NsYXNzID0gJyc7XHJcbiAgfSBlbHNlIGlmICh0eXBlID09PSAnZXhpdCByb3VuZGFib3V0Jykge1xyXG4gICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5leGl0IHJvdW5kYWJvdXQnLCB7IHJvdXRlIH0pO1xyXG4gICAgaW1hZ2UgPSAnZm9yd2FyZCc7XHJcbiAgICBjc3NDbGFzcyA9ICdyb3RhdGUtMjcwJztcclxuICB9IGVsc2UgaWYgKHR5cGUgPT09ICdub3RpZmljYXRpb24nKSB7XHJcbiAgICBkaXJlY3RpdmUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLm5vdGlmaWNhdGlvbicpO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICd1dHVybicpIHtcclxuICAgIGRpcmVjdGl2ZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMudXR1cm5UZXh0JywgeyB0cmFuc2xhdGVkRGlyZWN0aW9uLCByb3V0ZSB9KTtcclxuICB9IGVsc2Uge1xyXG4gICAgZGlyZWN0aXZlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy51bmtub3duJyk7XHJcbiAgfVxyXG5cclxuICBpbWFnZSA9IGxhc3RTdGVwID8gJ2ZsYWctdmFyaWFudCcgOiBpbWFnZTtcclxuICBjc3NDbGFzcyA9IGxhc3RTdGVwID8gJycgOiBjc3NDbGFzcztcclxuICBpbWFnZSA9IHN0ZXBQb3NpdGlvbiA9PT0gMCA/ICdjb21wYXNzJyA6IGltYWdlO1xyXG4gIGNzc0NsYXNzID0gc3RlcFBvc2l0aW9uID09PSAwID8gJycgOiBjc3NDbGFzcztcclxuXHJcbiAgcmV0dXJuIHsgaW5zdHJ1Y3Rpb246IGRpcmVjdGl2ZSwgaW1hZ2UsIGNzc0NsYXNzIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2xhdGVNb2RpZmllcihtb2RpZmllciwgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UpIHtcclxuICBjb25zdCB0cmFuc2xhdGUgPSBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlO1xyXG4gIGlmIChtb2RpZmllciA9PT0gJ3V0dXJuJykge1xyXG4gICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMudXR1cm4nKTtcclxuICB9IGVsc2UgaWYgKG1vZGlmaWVyID09PSAnc2hhcnAgcmlnaHQnKSB7XHJcbiAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5zaGFycCByaWdodCcpO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdyaWdodCcpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnJpZ2h0Jyk7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3NsaWdodCByaWdodCcpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnNsaWdodCByaWdodCcpO1xyXG4gIH0gZWxzZSBpZiAobW9kaWZpZXIgPT09ICdzaGFycCBsZWZ0Jykge1xyXG4gICAgcmV0dXJuIGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnNoYXJwIGxlZnQnKTtcclxuICB9IGVsc2UgaWYgKG1vZGlmaWVyID09PSAnbGVmdCcpIHtcclxuICAgIHJldHVybiBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZGlyZWN0aW9ucy5sZWZ0Jyk7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3NsaWdodCBsZWZ0Jykge1xyXG4gICAgcmV0dXJuIGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnNsaWdodCBsZWZ0Jyk7XHJcbiAgfSBlbHNlIGlmIChtb2RpZmllciA9PT0gJ3N0cmFpZ2h0Jykge1xyXG4gICAgcmV0dXJuIGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kaXJlY3Rpb25zLnN0cmFpZ2h0Jyk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBtb2RpZmllcjtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2xhdGVCZWFyaW5nKGJlYXJpbmc6IG51bWJlciwgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UpIHtcclxuICBjb25zdCB0cmFuc2xhdGUgPSBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlO1xyXG4gIGlmIChiZWFyaW5nID49IDMzNyB8fCBiZWFyaW5nIDwgMjMpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy5uJyk7XHJcbiAgfSBlbHNlIGlmIChiZWFyaW5nIDwgNjcpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy5uZScpO1xyXG4gIH0gZWxzZSBpZiAoYmVhcmluZyA8IDExMykge1xyXG4gICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmNhcmRpbmFsUG9pbnRzLmUnKTtcclxuICB9IGVsc2UgaWYgKGJlYXJpbmcgPCAxNTcpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy5zZScpO1xyXG4gIH0gZWxzZSBpZiAoYmVhcmluZyA8IDIwMykge1xyXG4gICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmNhcmRpbmFsUG9pbnRzLnMnKTtcclxuICB9IGVsc2UgaWYgKGJlYXJpbmcgPCAyNDcpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy5zdycpO1xyXG4gIH0gZWxzZSBpZiAoYmVhcmluZyA8IDI5Mykge1xyXG4gICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmNhcmRpbmFsUG9pbnRzLncnKTtcclxuICB9IGVsc2UgaWYgKGJlYXJpbmcgPCAzMzcpIHtcclxuICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5jYXJkaW5hbFBvaW50cy5udycpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG59XHJcblxyXG5cclxuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './directions.service';
|
|
2
|
+
export * from './directions.enum';
|
|
3
|
+
export * from './directions.interface';
|
|
4
|
+
export * from './directions.utils';
|
|
5
|
+
export * from './store';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGlvbnMuZW51bSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aW9ucy5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGlvbnMudXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0b3JlJztcclxuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { EntityStore } from '@igo2/common';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { FeatureStore } from '../../feature/shared/store';
|
|
4
|
+
/**
|
|
5
|
+
* The class is a specialized version of an EntityStore that stores
|
|
6
|
+
* stops.
|
|
7
|
+
*/
|
|
8
|
+
export class StopsStore extends EntityStore {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.storeInitialized$ = new BehaviorSubject(false);
|
|
12
|
+
}
|
|
13
|
+
clearStops() {
|
|
14
|
+
this.storeInitialized$.next(false);
|
|
15
|
+
this.clear();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class StopsFeatureStore extends FeatureStore {
|
|
19
|
+
}
|
|
20
|
+
export class RoutesFeatureStore extends FeatureStore {
|
|
21
|
+
}
|
|
22
|
+
export class StepFeatureStore extends FeatureStore {
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL3NoYXJlZC9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzFEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxVQUFXLFNBQVEsV0FBaUI7SUFBakQ7O1FBRVcsc0JBQWlCLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBT3BGLENBQUM7SUFMVSxVQUFVO1FBQ2IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakIsQ0FBQztDQUVKO0FBRUQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFlBQTZCO0NBRW5FO0FBQ0QsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFlBQWtDO0NBRXpFO0FBQ0QsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFlBQTZCO0NBRWxFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRmVhdHVyZVN0b3JlIH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvc3RvcmUnO1xyXG5pbXBvcnQgeyBGZWF0dXJlV2l0aERpcmVjdGlvbiwgRmVhdHVyZVdpdGhTdGVwLCBGZWF0dXJlV2l0aFN0b3AsIFN0b3AgfSBmcm9tICcuL2RpcmVjdGlvbnMuaW50ZXJmYWNlJztcclxuXHJcbi8qKlxyXG4gKiBUaGUgY2xhc3MgaXMgYSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGFuIEVudGl0eVN0b3JlIHRoYXQgc3RvcmVzXHJcbiAqIHN0b3BzLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFN0b3BzU3RvcmUgZXh0ZW5kcyBFbnRpdHlTdG9yZTxTdG9wPiB7XHJcblxyXG4gICAgcHVibGljIHN0b3JlSW5pdGlhbGl6ZWQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuXHJcbiAgICBwdWJsaWMgY2xlYXJTdG9wcygpIHtcclxuICAgICAgICB0aGlzLnN0b3JlSW5pdGlhbGl6ZWQkLm5leHQoZmFsc2UpO1xyXG4gICAgICAgIHRoaXMuY2xlYXIoKTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTdG9wc0ZlYXR1cmVTdG9yZSBleHRlbmRzIEZlYXR1cmVTdG9yZTxGZWF0dXJlV2l0aFN0b3A+IHtcclxuXHJcbn1cclxuZXhwb3J0IGNsYXNzIFJvdXRlc0ZlYXR1cmVTdG9yZSBleHRlbmRzIEZlYXR1cmVTdG9yZTxGZWF0dXJlV2l0aERpcmVjdGlvbj4ge1xyXG5cclxufVxyXG5leHBvcnQgY2xhc3MgU3RlcEZlYXR1cmVTdG9yZSBleHRlbmRzIEZlYXR1cmVTdG9yZTxGZWF0dXJlV2l0aFN0ZXA+IHtcclxuXHJcbn1cclxuIl19
|