@igo2/geo 18.0.1-next.2 → 18.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/igo2-geo.mjs +5 -0
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +234 -0
- package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +272 -0
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +246 -0
- package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +19 -0
- package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +136 -0
- package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +60 -0
- package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +232 -0
- package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +24 -0
- package/esm2022/lib/catalog/catalog-library/index.mjs +4 -0
- package/esm2022/lib/catalog/catalog.module.mjs +26 -0
- package/esm2022/lib/catalog/index.mjs +6 -0
- package/esm2022/lib/catalog/shared/catalog.abstract.mjs +32 -0
- package/esm2022/lib/catalog/shared/catalog.enum.mjs +16 -0
- package/esm2022/lib/catalog/shared/catalog.interface.mjs +2 -0
- package/esm2022/lib/catalog/shared/catalog.service.mjs +706 -0
- package/esm2022/lib/catalog/shared/catalogs.mjs +75 -0
- package/esm2022/lib/catalog/shared/index.mjs +5 -0
- package/esm2022/lib/datasource/index.mjs +3 -0
- package/esm2022/lib/datasource/shared/capabilities.interface.mjs +17 -0
- package/esm2022/lib/datasource/shared/capabilities.service.mjs +441 -0
- package/esm2022/lib/datasource/shared/datasource.service.mjs +258 -0
- package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +222 -0
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +118 -0
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +24 -0
- package/esm2022/lib/datasource/shared/datasources/data.service.mjs +3 -0
- package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/datasource.mjs +42 -0
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +52 -0
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +70 -0
- package/esm2022/lib/datasource/shared/datasources/index.mjs +36 -0
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +33 -0
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +14 -0
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +60 -0
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +17 -0
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +56 -0
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +137 -0
- package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +170 -0
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +227 -0
- package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +224 -0
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +18 -0
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +11 -0
- package/esm2022/lib/datasource/shared/index.mjs +6 -0
- package/esm2022/lib/datasource/shared/options/index.mjs +5 -0
- package/esm2022/lib/datasource/shared/options/options-api.interface.mjs +2 -0
- package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +15 -0
- package/esm2022/lib/datasource/shared/options/options-api.service.mjs +85 -0
- package/esm2022/lib/datasource/shared/options/options.service.mjs +3 -0
- package/esm2022/lib/datasource/utils/index.mjs +2 -0
- package/esm2022/lib/datasource/utils/tilegrid.mjs +20 -0
- package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +246 -0
- package/esm2022/lib/directions/directions-buttons/index.mjs +2 -0
- package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +312 -0
- package/esm2022/lib/directions/directions-inputs/index.mjs +2 -0
- package/esm2022/lib/directions/directions-results/directions-results.component.mjs +192 -0
- package/esm2022/lib/directions/directions-results/index.mjs +2 -0
- package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +5 -0
- package/esm2022/lib/directions/directions-sources/directions-source.mjs +3 -0
- package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +23 -0
- package/esm2022/lib/directions/directions-sources/index.mjs +5 -0
- package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +159 -0
- package/esm2022/lib/directions/directions.component.mjs +437 -0
- package/esm2022/lib/directions/directions.module.mjs +46 -0
- package/esm2022/lib/directions/directions.provider.mjs +16 -0
- package/esm2022/lib/directions/index.mjs +8 -0
- package/esm2022/lib/directions/shared/directions-source.service.mjs +18 -0
- package/esm2022/lib/directions/shared/directions.enum.mjs +72 -0
- package/esm2022/lib/directions/shared/directions.interface.mjs +2 -0
- package/esm2022/lib/directions/shared/directions.service.mjs +239 -0
- package/esm2022/lib/directions/shared/directions.utils.mjs +522 -0
- package/esm2022/lib/directions/shared/index.mjs +6 -0
- package/esm2022/lib/directions/shared/store.mjs +21 -0
- package/esm2022/lib/download/download-button/download-button.component.mjs +48 -0
- package/esm2022/lib/download/download-button/index.mjs +2 -0
- package/esm2022/lib/download/download.module.mjs +24 -0
- package/esm2022/lib/download/index.mjs +3 -0
- package/esm2022/lib/download/shared/download.interface.mjs +2 -0
- package/esm2022/lib/download/shared/download.service.mjs +67 -0
- package/esm2022/lib/download/shared/index.mjs +3 -0
- package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +42 -0
- package/esm2022/lib/draw/draw/draw-popup.component.mjs +421 -0
- package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +28 -0
- package/esm2022/lib/draw/draw/draw.component.mjs +1136 -0
- package/esm2022/lib/draw/draw/draw.module.mjs +19 -0
- package/esm2022/lib/draw/drawingTool.module.mjs +18 -0
- package/esm2022/lib/draw/index.mjs +3 -0
- package/esm2022/lib/draw/shared/draw-icon.service.mjs +30 -0
- package/esm2022/lib/draw/shared/draw.enum.mjs +21 -0
- package/esm2022/lib/draw/shared/draw.interface.mjs +2 -0
- package/esm2022/lib/draw/shared/draw.utils.mjs +125 -0
- package/esm2022/lib/draw/shared/index.mjs +5 -0
- package/esm2022/lib/environment/environment.interface.mjs +2 -0
- package/esm2022/lib/environment/index.mjs +2 -0
- package/esm2022/lib/feature/feature-details/feature-details.component.mjs +306 -0
- package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +56 -0
- package/esm2022/lib/feature/feature-details/feature-details.module.mjs +26 -0
- package/esm2022/lib/feature/feature-details/index.mjs +4 -0
- package/esm2022/lib/feature/feature-form/feature-form.component.mjs +101 -0
- package/esm2022/lib/feature/feature-form/feature-form.module.mjs +19 -0
- package/esm2022/lib/feature/feature.module.mjs +26 -0
- package/esm2022/lib/feature/index.mjs +5 -0
- package/esm2022/lib/feature/shared/feature-store.utils.mjs +28 -0
- package/esm2022/lib/feature/shared/feature.enums.mjs +9 -0
- package/esm2022/lib/feature/shared/feature.interfaces.mjs +2 -0
- package/esm2022/lib/feature/shared/feature.utils.mjs +332 -0
- package/esm2022/lib/feature/shared/index.mjs +8 -0
- package/esm2022/lib/feature/shared/store.mjs +143 -0
- package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +216 -0
- package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +119 -0
- package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +99 -0
- package/esm2022/lib/feature/shared/strategies/index.mjs +8 -0
- package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +103 -0
- package/esm2022/lib/feature/shared/strategies/loading.mjs +136 -0
- package/esm2022/lib/feature/shared/strategies/search.mjs +158 -0
- package/esm2022/lib/feature/shared/strategies/selection.mjs +385 -0
- package/esm2022/lib/feature/shared/strategies.utils.mjs +37 -0
- package/esm2022/lib/filter/filter.module.mjs +131 -0
- package/esm2022/lib/filter/index.mjs +17 -0
- package/esm2022/lib/filter/ogc-filter-button/index.mjs +2 -0
- package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +141 -0
- package/esm2022/lib/filter/ogc-filter-form/index.mjs +2 -0
- package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +325 -0
- package/esm2022/lib/filter/ogc-filter-selection/index.mjs +2 -0
- package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +787 -0
- package/esm2022/lib/filter/ogc-filter-time/index.mjs +3 -0
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +201 -0
- package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +665 -0
- package/esm2022/lib/filter/ogc-filterable-form/index.mjs +2 -0
- package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +66 -0
- package/esm2022/lib/filter/ogc-filterable-item/index.mjs +2 -0
- package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +244 -0
- package/esm2022/lib/filter/ogc-filterable-list/index.mjs +3 -0
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +39 -0
- package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +32 -0
- package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +63 -0
- package/esm2022/lib/filter/shared/index.mjs +12 -0
- package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +72 -0
- package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +30 -0
- package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +2 -0
- package/esm2022/lib/filter/shared/ogc-filter.mjs +756 -0
- package/esm2022/lib/filter/shared/ogc-filter.service.mjs +47 -0
- package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +23 -0
- package/esm2022/lib/filter/shared/spatial-filter.interface.mjs +2 -0
- package/esm2022/lib/filter/shared/spatial-filter.service.mjs +282 -0
- package/esm2022/lib/filter/shared/time-filter.enum.mjs +13 -0
- package/esm2022/lib/filter/shared/time-filter.interface.mjs +2 -0
- package/esm2022/lib/filter/shared/time-filter.service.mjs +107 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/index.mjs +2 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +875 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/index.mjs +2 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +191 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/index.mjs +2 -0
- package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +120 -0
- package/esm2022/lib/filter/time-filter-button/index.mjs +2 -0
- package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +70 -0
- package/esm2022/lib/filter/time-filter-form/index.mjs +2 -0
- package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +537 -0
- package/esm2022/lib/filter/time-filter-item/index.mjs +2 -0
- package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +90 -0
- package/esm2022/lib/filter/time-filter-list/index.mjs +3 -0
- package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +39 -0
- package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +24 -0
- package/esm2022/lib/geo.module.mjs +63 -0
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +559 -0
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +170 -0
- package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +24 -0
- package/esm2022/lib/geometry/geometry-form-field/index.mjs +4 -0
- package/esm2022/lib/geometry/geometry.module.mjs +18 -0
- package/esm2022/lib/geometry/index.mjs +3 -0
- package/esm2022/lib/geometry/shared/controls/draw.mjs +340 -0
- package/esm2022/lib/geometry/shared/controls/index.mjs +4 -0
- package/esm2022/lib/geometry/shared/controls/modify.mjs +538 -0
- package/esm2022/lib/geometry/shared/controls/slice.mjs +190 -0
- package/esm2022/lib/geometry/shared/geometry.errors.mjs +24 -0
- package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +2 -0
- package/esm2022/lib/geometry/shared/geometry.utils.mjs +113 -0
- package/esm2022/lib/geometry/shared/index.mjs +5 -0
- package/esm2022/lib/import-export/export-button/export-button.component.mjs +49 -0
- package/esm2022/lib/import-export/export-button/index.mjs +2 -0
- package/esm2022/lib/import-export/import-export/import-export.component.mjs +876 -0
- package/esm2022/lib/import-export/import-export/index.mjs +2 -0
- package/esm2022/lib/import-export/import-export.module.mjs +31 -0
- package/esm2022/lib/import-export/index.mjs +5 -0
- package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +114 -0
- package/esm2022/lib/import-export/shared/export.errors.mjs +15 -0
- package/esm2022/lib/import-export/shared/export.interface.mjs +2 -0
- package/esm2022/lib/import-export/shared/export.service.mjs +378 -0
- package/esm2022/lib/import-export/shared/export.type.mjs +13 -0
- package/esm2022/lib/import-export/shared/export.utils.mjs +51 -0
- package/esm2022/lib/import-export/shared/import.errors.mjs +39 -0
- package/esm2022/lib/import-export/shared/import.interface.mjs +2 -0
- package/esm2022/lib/import-export/shared/import.service.mjs +221 -0
- package/esm2022/lib/import-export/shared/import.utils.mjs +203 -0
- package/esm2022/lib/import-export/shared/index.mjs +11 -0
- package/esm2022/lib/layer/index.mjs +16 -0
- package/esm2022/lib/layer/layer-group/index.mjs +2 -0
- package/esm2022/lib/layer/layer-group/layer-group.component.mjs +103 -0
- package/esm2022/lib/layer/layer-item/index.mjs +2 -0
- package/esm2022/lib/layer/layer-item/layer-item.component.mjs +196 -0
- package/esm2022/lib/layer/layer-legend/index.mjs +2 -0
- package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +287 -0
- package/esm2022/lib/layer/layer-legend-item/index.mjs +2 -0
- package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +85 -0
- package/esm2022/lib/layer/layer-legend-list/index.mjs +3 -0
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +54 -0
- package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +104 -0
- package/esm2022/lib/layer/layer-list/index.mjs +2 -0
- package/esm2022/lib/layer/layer-list/layer-list.component.mjs +232 -0
- package/esm2022/lib/layer/layer-list-tool/index.mjs +4 -0
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +92 -0
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +7 -0
- package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +61 -0
- package/esm2022/lib/layer/layer-search/index.mjs +2 -0
- package/esm2022/lib/layer/layer-search/layer-search.component.mjs +65 -0
- package/esm2022/lib/layer/layer-unavailable/index.mjs +3 -0
- package/esm2022/lib/layer/layer-unavailable/layer-unavailable-list/layer-unavailable-list.component.mjs +26 -0
- package/esm2022/lib/layer/layer-unavailable/layer-unavailable.component.mjs +35 -0
- package/esm2022/lib/layer/layer-viewer/index.mjs +3 -0
- package/esm2022/lib/layer/layer-viewer/layer-viewer.component.mjs +226 -0
- package/esm2022/lib/layer/layer-viewer/layer-viewer.interface.mjs +2 -0
- package/esm2022/lib/layer/layer-viewer-bottom-actions/index.mjs +2 -0
- package/esm2022/lib/layer/layer-viewer-bottom-actions/layer-viewer-bottom-actions.component.mjs +207 -0
- package/esm2022/lib/layer/layer-visibility-button/index.mjs +2 -0
- package/esm2022/lib/layer/layer-visibility-button/layer-visibility-button.component.mjs +83 -0
- package/esm2022/lib/layer/layer.module.mjs +107 -0
- package/esm2022/lib/layer/shared/clusterParam.mjs +2 -0
- package/esm2022/lib/layer/shared/index.mjs +6 -0
- package/esm2022/lib/layer/shared/layer-controller.mjs +316 -0
- package/esm2022/lib/layer/shared/layer-selection.mjs +38 -0
- package/esm2022/lib/layer/shared/layer.enums.mjs +2 -0
- package/esm2022/lib/layer/shared/layer.service.mjs +315 -0
- package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/any-layer.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/image-layer.mjs +75 -0
- package/esm2022/lib/layer/shared/layers/index.mjs +18 -0
- package/esm2022/lib/layer/shared/layers/layer-base.mjs +199 -0
- package/esm2022/lib/layer/shared/layers/layer-group.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/layer-group.mjs +120 -0
- package/esm2022/lib/layer/shared/layers/layer.interface.mjs +7 -0
- package/esm2022/lib/layer/shared/layers/layer.mjs +178 -0
- package/esm2022/lib/layer/shared/layers/legend.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/linked/index.mjs +4 -0
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.interface.mjs +12 -0
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.mjs +242 -0
- package/esm2022/lib/layer/shared/layers/linked/linked-layer.utils.mjs +70 -0
- package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/tile-layer.mjs +55 -0
- package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/vector-layer.mjs +576 -0
- package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +2 -0
- package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +112 -0
- package/esm2022/lib/layer/track-feature-button/index.mjs +2 -0
- package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +54 -0
- package/esm2022/lib/layer/utils/image-watcher.mjs +62 -0
- package/esm2022/lib/layer/utils/index.mjs +6 -0
- package/esm2022/lib/layer/utils/layer.utils.mjs +57 -0
- package/esm2022/lib/layer/utils/outputLegend.mjs +32 -0
- package/esm2022/lib/layer/utils/tile-watcher.mjs +52 -0
- package/esm2022/lib/layer/utils/vector-watcher.mjs +50 -0
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +20 -0
- package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +87 -0
- package/esm2022/lib/map/baselayers-switcher/index.mjs +3 -0
- package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +122 -0
- package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +78 -0
- package/esm2022/lib/map/geolocate-button/index.mjs +2 -0
- package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +73 -0
- package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +2 -0
- package/esm2022/lib/map/home-extent-button/index.mjs +3 -0
- package/esm2022/lib/map/index.mjs +14 -0
- package/esm2022/lib/map/info-section/index.mjs +2 -0
- package/esm2022/lib/map/info-section/info-section.component.mjs +15 -0
- package/esm2022/lib/map/map-browser/index.mjs +2 -0
- package/esm2022/lib/map/map-browser/map-browser.component.mjs +67 -0
- package/esm2022/lib/map/map-center/index.mjs +2 -0
- package/esm2022/lib/map/map-center/map-center.component.mjs +56 -0
- package/esm2022/lib/map/map.module.mjs +89 -0
- package/esm2022/lib/map/menu-button/index.mjs +2 -0
- package/esm2022/lib/map/menu-button/menu-button.component.mjs +57 -0
- package/esm2022/lib/map/offline-button/index.mjs +2 -0
- package/esm2022/lib/map/offline-button/offline-button.component.mjs +53 -0
- package/esm2022/lib/map/rotation-button/index.mjs +2 -0
- package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +58 -0
- package/esm2022/lib/map/shared/controllers/controller.mjs +44 -0
- package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +8 -0
- package/esm2022/lib/map/shared/controllers/geolocation.mjs +431 -0
- package/esm2022/lib/map/shared/controllers/index.mjs +5 -0
- package/esm2022/lib/map/shared/controllers/view.mjs +361 -0
- package/esm2022/lib/map/shared/hover-feature.directive.mjs +481 -0
- package/esm2022/lib/map/shared/index.mjs +15 -0
- package/esm2022/lib/map/shared/linkedLayers.utils.mjs +238 -0
- package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +122 -0
- package/esm2022/lib/map/shared/map.abstract.mjs +24 -0
- package/esm2022/lib/map/shared/map.enums.mjs +6 -0
- package/esm2022/lib/map/shared/map.interface.mjs +2 -0
- package/esm2022/lib/map/shared/map.mjs +201 -0
- package/esm2022/lib/map/shared/map.service.mjs +29 -0
- package/esm2022/lib/map/shared/map.utils.mjs +455 -0
- package/esm2022/lib/map/shared/mapOffline.directive.mjs +114 -0
- package/esm2022/lib/map/shared/projection.interfaces.mjs +2 -0
- package/esm2022/lib/map/shared/projection.service.mjs +67 -0
- package/esm2022/lib/map/shared/projection.utils.mjs +122 -0
- package/esm2022/lib/map/swipe-control/index.mjs +2 -0
- package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +211 -0
- package/esm2022/lib/map/utils/index.mjs +2 -0
- package/esm2022/lib/map/utils/layer-watcher.mjs +112 -0
- package/esm2022/lib/map/wake-lock-button/index.mjs +2 -0
- package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +103 -0
- package/esm2022/lib/map/zoom-button/index.mjs +2 -0
- package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +35 -0
- package/esm2022/lib/measure/index.mjs +3 -0
- package/esm2022/lib/measure/measure.module.mjs +20 -0
- package/esm2022/lib/measure/measurer/index.mjs +6 -0
- package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +40 -0
- package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +38 -0
- package/esm2022/lib/measure/measurer/measurer-item.component.mjs +143 -0
- package/esm2022/lib/measure/measurer/measurer.component.mjs +948 -0
- package/esm2022/lib/measure/measurer/measurer.module.mjs +20 -0
- package/esm2022/lib/measure/shared/index.mjs +4 -0
- package/esm2022/lib/measure/shared/measure.enum.mjs +37 -0
- package/esm2022/lib/measure/shared/measure.interfaces.mjs +2 -0
- package/esm2022/lib/measure/shared/measure.utils.mjs +497 -0
- package/esm2022/lib/metadata/index.mjs +4 -0
- package/esm2022/lib/metadata/metadata-button/index.mjs +2 -0
- package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +96 -0
- package/esm2022/lib/metadata/metadata.module.mjs +29 -0
- package/esm2022/lib/metadata/shared/index.mjs +3 -0
- package/esm2022/lib/metadata/shared/metadata.interface.mjs +2 -0
- package/esm2022/lib/metadata/shared/metadata.service.mjs +18 -0
- package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +130 -0
- package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +6 -0
- package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +2 -0
- package/esm2022/lib/offline/geoDB/geoDB.service.mjs +172 -0
- package/esm2022/lib/offline/geoDB/index.mjs +5 -0
- package/esm2022/lib/offline/index.mjs +6 -0
- package/esm2022/lib/offline/layerDB/index.mjs +3 -0
- package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +2 -0
- package/esm2022/lib/offline/layerDB/layerDB.service.mjs +83 -0
- package/esm2022/lib/offline/offline.interface.mjs +2 -0
- package/esm2022/lib/offline/offline.provider.mjs +50 -0
- package/esm2022/lib/offline/shared/geo-network.service.mjs +79 -0
- package/esm2022/lib/offline/shared/index.mjs +2 -0
- package/esm2022/lib/overlay/index.mjs +2 -0
- package/esm2022/lib/overlay/shared/index.mjs +4 -0
- package/esm2022/lib/overlay/shared/overlay.enum.mjs +8 -0
- package/esm2022/lib/overlay/shared/overlay.mjs +139 -0
- package/esm2022/lib/overlay/shared/overlay.utils.mjs +17 -0
- package/esm2022/lib/print/index.mjs +4 -0
- package/esm2022/lib/print/print/print.component.mjs +116 -0
- package/esm2022/lib/print/print-form/index.mjs +2 -0
- package/esm2022/lib/print/print-form/print-form.component.mjs +320 -0
- package/esm2022/lib/print/print.module.mjs +20 -0
- package/esm2022/lib/print/shared/geopdf.mjs +68 -0
- package/esm2022/lib/print/shared/index.mjs +5 -0
- package/esm2022/lib/print/shared/print.interface.mjs +2 -0
- package/esm2022/lib/print/shared/print.service.mjs +1136 -0
- package/esm2022/lib/print/shared/print.type.mjs +30 -0
- package/esm2022/lib/query/index.mjs +2 -0
- package/esm2022/lib/query/query.module.mjs +27 -0
- package/esm2022/lib/query/shared/index.mjs +8 -0
- package/esm2022/lib/query/shared/query-search-source.mjs +35 -0
- package/esm2022/lib/query/shared/query-search-source.providers.mjs +22 -0
- package/esm2022/lib/query/shared/query.directive.mjs +290 -0
- package/esm2022/lib/query/shared/query.enums.mjs +32 -0
- package/esm2022/lib/query/shared/query.interfaces.mjs +2 -0
- package/esm2022/lib/query/shared/query.service.mjs +753 -0
- package/esm2022/lib/query/shared/query.utils.mjs +45 -0
- package/esm2022/lib/search/index.mjs +10 -0
- package/esm2022/lib/search/search-bar/search-bar.component.mjs +483 -0
- package/esm2022/lib/search/search-bar/search-bar.module.mjs +19 -0
- package/esm2022/lib/search/search-results/index.mjs +5 -0
- package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +101 -0
- package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +433 -0
- package/esm2022/lib/search/search-results/search-results-item.component.mjs +119 -0
- package/esm2022/lib/search/search-results/search-results.component.mjs +297 -0
- package/esm2022/lib/search/search-results/search-results.directive.mjs +7 -0
- package/esm2022/lib/search/search-results/search-results.module.mjs +20 -0
- package/esm2022/lib/search/search-selector/search-selector.component.mjs +118 -0
- package/esm2022/lib/search/search-selector/search-selector.module.mjs +19 -0
- package/esm2022/lib/search/search-settings/search-settings.component.mjs +264 -0
- package/esm2022/lib/search/search-settings/search-settings.module.mjs +19 -0
- package/esm2022/lib/search/search.module.mjs +77 -0
- package/esm2022/lib/search/shared/index.mjs +10 -0
- package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +328 -0
- package/esm2022/lib/search/shared/search-source-service.providers.mjs +20 -0
- package/esm2022/lib/search/shared/search-source.service.mjs +56 -0
- package/esm2022/lib/search/shared/search.enums.mjs +4 -0
- package/esm2022/lib/search/shared/search.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/search.provider.mjs +20 -0
- package/esm2022/lib/search/shared/search.service.mjs +149 -0
- package/esm2022/lib/search/shared/search.utils.mjs +92 -0
- package/esm2022/lib/search/shared/sources/cadastre.mjs +142 -0
- package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +32 -0
- package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/coordinates.mjs +168 -0
- package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +52 -0
- package/esm2022/lib/search/shared/sources/icherche-icons.mjs +32 -0
- package/esm2022/lib/search/shared/sources/icherche.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/icherche.mjs +816 -0
- package/esm2022/lib/search/shared/sources/icherche.providers.mjs +87 -0
- package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/ilayer.mjs +339 -0
- package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +58 -0
- package/esm2022/lib/search/shared/sources/index.mjs +23 -0
- package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/nominatim.mjs +263 -0
- package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +31 -0
- package/esm2022/lib/search/shared/sources/source.interfaces.mjs +13 -0
- package/esm2022/lib/search/shared/sources/source.mjs +221 -0
- package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/storedqueries.mjs +454 -0
- package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +56 -0
- package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +2 -0
- package/esm2022/lib/search/shared/sources/workspace.mjs +192 -0
- package/esm2022/lib/search/shared/sources/workspace.providers.mjs +31 -0
- package/esm2022/lib/style/index.mjs +5 -0
- package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +360 -0
- package/esm2022/lib/style/shared/datasource/index.mjs +2 -0
- package/esm2022/lib/style/shared/feature/feature-style.mjs +162 -0
- package/esm2022/lib/style/shared/feature/index.mjs +2 -0
- package/esm2022/lib/style/shared/font.enum.mjs +17 -0
- package/esm2022/lib/style/shared/index.mjs +5 -0
- package/esm2022/lib/style/shared/overlay/index.mjs +3 -0
- package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +39 -0
- package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +88 -0
- package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +78 -0
- package/esm2022/lib/style/shared/vector/conversion.utils.mjs +27 -0
- package/esm2022/lib/style/shared/vector/index.mjs +4 -0
- package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +2 -0
- package/esm2022/lib/style/style-list/index.mjs +5 -0
- package/esm2022/lib/style/style-list/style-list.interface.mjs +2 -0
- package/esm2022/lib/style/style-list/style-list.module.mjs +23 -0
- package/esm2022/lib/style/style-list/style-list.provider.mjs +21 -0
- package/esm2022/lib/style/style-list/style-list.service.mjs +52 -0
- package/esm2022/lib/style/style-modal/drawing/index.mjs +2 -0
- package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +193 -0
- package/esm2022/lib/style/style-modal/index.mjs +5 -0
- package/esm2022/lib/style/style-modal/layer/index.mjs +2 -0
- package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +142 -0
- package/esm2022/lib/style/style-modal/layer-button/index.mjs +2 -0
- package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +44 -0
- package/esm2022/lib/style/style-modal/shared/index.mjs +2 -0
- package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +2 -0
- package/esm2022/lib/style/style-service/draw-style.service.mjs +255 -0
- package/esm2022/lib/style/style-service/index.mjs +3 -0
- package/esm2022/lib/style/style-service/style.service.mjs +393 -0
- package/esm2022/lib/style/style.module.mjs +46 -0
- package/esm2022/lib/toast/index.mjs +2 -0
- package/esm2022/lib/toast/toast.component.mjs +99 -0
- package/esm2022/lib/toast/toast.module.mjs +24 -0
- package/esm2022/lib/utils/googleLinks.mjs +13 -0
- package/esm2022/lib/utils/id-generator.mjs +112 -0
- package/esm2022/lib/utils/index.mjs +5 -0
- package/esm2022/lib/utils/osmLinks.mjs +9 -0
- package/esm2022/lib/utils/propertyTypeDetector/index.mjs +3 -0
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +2 -0
- package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +64 -0
- package/esm2022/lib/wkt/index.mjs +2 -0
- package/esm2022/lib/wkt/shared/index.mjs +2 -0
- package/esm2022/lib/wkt/shared/wkt.service.mjs +235 -0
- package/esm2022/lib/wkt/wkt.module.mjs +25 -0
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +36 -0
- package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +19 -0
- package/esm2022/lib/workspace/confirmation-popup/index.mjs +3 -0
- package/esm2022/lib/workspace/index.mjs +8 -0
- package/esm2022/lib/workspace/shared/edition-workspace.mjs +301 -0
- package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +720 -0
- package/esm2022/lib/workspace/shared/feature-workspace.mjs +41 -0
- package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +113 -0
- package/esm2022/lib/workspace/shared/index.mjs +8 -0
- package/esm2022/lib/workspace/shared/wfs-workspace.mjs +41 -0
- package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +121 -0
- package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +248 -0
- package/esm2022/lib/workspace/shared/workspace.utils.mjs +188 -0
- package/esm2022/lib/workspace/widgets/index.mjs +4 -0
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +48 -0
- package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +19 -0
- package/esm2022/lib/workspace/widgets/widgets.mjs +15 -0
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +172 -0
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +19 -0
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +137 -0
- package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +19 -0
- package/esm2022/lib/workspace/workspace.module.mjs +32 -0
- package/esm2022/public_api.mjs +56 -0
- package/fesm2022/igo2-geo.mjs +717 -691
- package/fesm2022/igo2-geo.mjs.map +1 -1
- package/lib/datasource/shared/datasources/datasource.d.ts +2 -2
- package/lib/directions/shared/directions.service.d.ts +0 -1
- package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
- package/lib/offline/layerDB/layerDB.service.d.ts +1 -1
- package/lib/style/style-list/style-list.provider.d.ts +8 -1
- package/lib/style/style-list/style-list.service.d.ts +1 -1
- package/package.json +16 -14
- package/src/lib/layer/layer-list/layer-list.theme.scss +1 -2
- package/src/lib/map/menu-button/menu-button.theming.scss +3 -3
- package/src/style/style.scss +1 -1
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { HttpClient, HttpParams } from '@angular/common/http';
|
|
2
|
+
import { Inject, Injectable } from '@angular/core';
|
|
3
|
+
import { of } from 'rxjs';
|
|
4
|
+
import { map } from 'rxjs/operators';
|
|
5
|
+
import { OptionsService } from './options.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common/http";
|
|
8
|
+
export class OptionsApiService extends OptionsService {
|
|
9
|
+
http;
|
|
10
|
+
urlApi;
|
|
11
|
+
provideContextUri;
|
|
12
|
+
constructor(http, options = {}) {
|
|
13
|
+
super();
|
|
14
|
+
this.http = http;
|
|
15
|
+
this.urlApi = options.url || this.urlApi;
|
|
16
|
+
this.provideContextUri =
|
|
17
|
+
options.provideContextUri || this.provideContextUri;
|
|
18
|
+
}
|
|
19
|
+
getWMSOptions(baseOptions, detailedContextUri) {
|
|
20
|
+
if (!this.urlApi) {
|
|
21
|
+
return of({});
|
|
22
|
+
}
|
|
23
|
+
let params = new HttpParams({
|
|
24
|
+
fromObject: {
|
|
25
|
+
type: baseOptions.type,
|
|
26
|
+
url: baseOptions.url,
|
|
27
|
+
layers: baseOptions.params.LAYERS
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
if (detailedContextUri && this.provideContextUri) {
|
|
31
|
+
params = params.append('context', detailedContextUri);
|
|
32
|
+
}
|
|
33
|
+
const request = this.http.get(this.urlApi, {
|
|
34
|
+
params
|
|
35
|
+
});
|
|
36
|
+
return request.pipe(map((res) => {
|
|
37
|
+
if (!res || !res.sourceOptions) {
|
|
38
|
+
return {};
|
|
39
|
+
}
|
|
40
|
+
if (res.layerOptions) {
|
|
41
|
+
res.sourceOptions._layerOptionsFromSource = res.layerOptions;
|
|
42
|
+
}
|
|
43
|
+
return res.sourceOptions;
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
getArcgisRestOptions(baseOptions, detailedContextUri) {
|
|
47
|
+
if (!this.urlApi) {
|
|
48
|
+
return of({});
|
|
49
|
+
}
|
|
50
|
+
let params = new HttpParams({
|
|
51
|
+
fromObject: {
|
|
52
|
+
type: baseOptions.type,
|
|
53
|
+
url: baseOptions.url,
|
|
54
|
+
layers: baseOptions.layer
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
if (detailedContextUri && this.provideContextUri) {
|
|
58
|
+
params = params.append('context', detailedContextUri);
|
|
59
|
+
}
|
|
60
|
+
const request = this.http.get(this.urlApi, {
|
|
61
|
+
params
|
|
62
|
+
});
|
|
63
|
+
return request.pipe(map((res) => {
|
|
64
|
+
if (!res || !res.sourceOptions) {
|
|
65
|
+
return {};
|
|
66
|
+
}
|
|
67
|
+
if (res.layerOptions) {
|
|
68
|
+
res.sourceOptions._layerOptionsFromSource = res.layerOptions;
|
|
69
|
+
}
|
|
70
|
+
return res.sourceOptions;
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OptionsApiService, deps: [{ token: i1.HttpClient }, { token: 'options' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
74
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OptionsApiService, providedIn: 'root' });
|
|
75
|
+
}
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OptionsApiService, decorators: [{
|
|
77
|
+
type: Injectable,
|
|
78
|
+
args: [{
|
|
79
|
+
providedIn: 'root'
|
|
80
|
+
}]
|
|
81
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
82
|
+
type: Inject,
|
|
83
|
+
args: ['options']
|
|
84
|
+
}] }] });
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RhdGFzb3VyY2Uvc2hhcmVkL29wdGlvbnMvb3B0aW9ucy1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBU3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBS25ELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxjQUFjO0lBS3pDO0lBSkYsTUFBTSxDQUFTO0lBQ2YsaUJBQWlCLENBQVU7SUFFbkMsWUFDVSxJQUFnQixFQUNMLFVBQTZCLEVBQUU7UUFFbEQsS0FBSyxFQUFFLENBQUM7UUFIQSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBSXhCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxpQkFBaUI7WUFDcEIsT0FBTyxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUN4RCxDQUFDO0lBRUQsYUFBYSxDQUNYLFdBQWlDLEVBQ2pDLGtCQUEyQjtRQUUzQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLE9BQU8sRUFBRSxDQUFDLEVBQTBCLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBQ0QsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUM7WUFDMUIsVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSTtnQkFDdEIsR0FBRyxFQUFFLFdBQVcsQ0FBQyxHQUFHO2dCQUNwQixNQUFNLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNO2FBQ2xDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxrQkFBa0IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNqRCxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN6QyxNQUFNO1NBQ1AsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUNqQixHQUFHLENBQ0QsQ0FBQyxHQUdBLEVBQUUsRUFBRTtZQUNILElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQy9CLE9BQU8sRUFBMEIsQ0FBQztZQUNwQyxDQUFDO1lBQ0QsSUFBSSxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3JCLEdBQUcsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQztZQUMvRCxDQUFDO1lBQ0QsT0FBTyxHQUFHLENBQUMsYUFBYSxDQUFDO1FBQzNCLENBQUMsQ0FDRixDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsb0JBQW9CLENBQ2xCLFdBR21DLEVBQ25DLGtCQUEyQjtRQU0zQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLE9BQU8sRUFBRSxDQUFDLEVBQXNDLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUM7WUFDMUIsVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSTtnQkFDdEIsR0FBRyxFQUFFLFdBQVcsQ0FBQyxHQUFHO2dCQUNwQixNQUFNLEVBQUUsV0FBVyxDQUFDLEtBQUs7YUFDMUI7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLGtCQUFrQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ2pELE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3pDLE1BQU07U0FDUCxDQUFDLENBQUM7UUFFSCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQ2pCLEdBQUcsQ0FDRCxDQUFDLEdBTUEsRUFBRSxFQUFFO1lBQ0gsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDL0IsT0FBTyxFQUc0QixDQUFDO1lBQ3RDLENBQUM7WUFDRCxJQUFJLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDckIsR0FBRyxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDO1lBQy9ELENBQUM7WUFDRCxPQUFPLEdBQUcsQ0FBQyxhQUFhLENBQUM7UUFDM0IsQ0FBQyxDQUNGLENBQ0YsQ0FBQztJQUNKLENBQUM7d0dBM0dVLGlCQUFpQiw0Q0FNbEIsU0FBUzs0R0FOUixpQkFBaUIsY0FGaEIsTUFBTTs7NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksTUFBTTsyQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBBcmNHSVNSZXN0RGF0YVNvdXJjZU9wdGlvbnMsXG4gIEFyY0dJU1Jlc3RJbWFnZURhdGFTb3VyY2VPcHRpb25zLFxuICBUaWxlQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zLFxuICBXTVNEYXRhU291cmNlT3B0aW9uc1xufSBmcm9tICcuLi9kYXRhc291cmNlcyc7XG5pbXBvcnQgeyBPcHRpb25zQXBpT3B0aW9ucyB9IGZyb20gJy4vb3B0aW9ucy1hcGkuaW50ZXJmYWNlJztcbmltcG9ydCB7IE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9vcHRpb25zLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBPcHRpb25zQXBpU2VydmljZSBleHRlbmRzIE9wdGlvbnNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB1cmxBcGk6IHN0cmluZztcbiAgcHJpdmF0ZSBwcm92aWRlQ29udGV4dFVyaTogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQEluamVjdCgnb3B0aW9ucycpIG9wdGlvbnM6IE9wdGlvbnNBcGlPcHRpb25zID0ge31cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnVybEFwaSA9IG9wdGlvbnMudXJsIHx8IHRoaXMudXJsQXBpO1xuICAgIHRoaXMucHJvdmlkZUNvbnRleHRVcmkgPVxuICAgICAgb3B0aW9ucy5wcm92aWRlQ29udGV4dFVyaSB8fCB0aGlzLnByb3ZpZGVDb250ZXh0VXJpO1xuICB9XG5cbiAgZ2V0V01TT3B0aW9ucyhcbiAgICBiYXNlT3B0aW9uczogV01TRGF0YVNvdXJjZU9wdGlvbnMsXG4gICAgZGV0YWlsZWRDb250ZXh0VXJpPzogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8V01TRGF0YVNvdXJjZU9wdGlvbnM+IHtcbiAgICBpZiAoIXRoaXMudXJsQXBpKSB7XG4gICAgICByZXR1cm4gb2Yoe30gYXMgV01TRGF0YVNvdXJjZU9wdGlvbnMpO1xuICAgIH1cbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoe1xuICAgICAgZnJvbU9iamVjdDoge1xuICAgICAgICB0eXBlOiBiYXNlT3B0aW9ucy50eXBlLFxuICAgICAgICB1cmw6IGJhc2VPcHRpb25zLnVybCxcbiAgICAgICAgbGF5ZXJzOiBiYXNlT3B0aW9ucy5wYXJhbXMuTEFZRVJTXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoZGV0YWlsZWRDb250ZXh0VXJpICYmIHRoaXMucHJvdmlkZUNvbnRleHRVcmkpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ2NvbnRleHQnLCBkZXRhaWxlZENvbnRleHRVcmkpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVlc3QgPSB0aGlzLmh0dHAuZ2V0KHRoaXMudXJsQXBpLCB7XG4gICAgICBwYXJhbXNcbiAgICB9KTtcblxuICAgIHJldHVybiByZXF1ZXN0LnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChyZXM6IHtcbiAgICAgICAgICBzb3VyY2VPcHRpb25zOiBXTVNEYXRhU291cmNlT3B0aW9ucztcbiAgICAgICAgICBsYXllck9wdGlvbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgICAgIH0pID0+IHtcbiAgICAgICAgICBpZiAoIXJlcyB8fCAhcmVzLnNvdXJjZU9wdGlvbnMpIHtcbiAgICAgICAgICAgIHJldHVybiB7fSBhcyBXTVNEYXRhU291cmNlT3B0aW9ucztcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHJlcy5sYXllck9wdGlvbnMpIHtcbiAgICAgICAgICAgIHJlcy5zb3VyY2VPcHRpb25zLl9sYXllck9wdGlvbnNGcm9tU291cmNlID0gcmVzLmxheWVyT3B0aW9ucztcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlcy5zb3VyY2VPcHRpb25zO1xuICAgICAgICB9XG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGdldEFyY2dpc1Jlc3RPcHRpb25zKFxuICAgIGJhc2VPcHRpb25zOlxuICAgICAgfCBBcmNHSVNSZXN0RGF0YVNvdXJjZU9wdGlvbnNcbiAgICAgIHwgQXJjR0lTUmVzdEltYWdlRGF0YVNvdXJjZU9wdGlvbnNcbiAgICAgIHwgVGlsZUFyY0dJU1Jlc3REYXRhU291cmNlT3B0aW9ucyxcbiAgICBkZXRhaWxlZENvbnRleHRVcmk/OiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxcbiAgICB8IEFyY0dJU1Jlc3REYXRhU291cmNlT3B0aW9uc1xuICAgIHwgQXJjR0lTUmVzdEltYWdlRGF0YVNvdXJjZU9wdGlvbnNcbiAgICB8IFRpbGVBcmNHSVNSZXN0RGF0YVNvdXJjZU9wdGlvbnNcbiAgPiB7XG4gICAgaWYgKCF0aGlzLnVybEFwaSkge1xuICAgICAgcmV0dXJuIG9mKHt9IGFzIEFyY0dJU1Jlc3RJbWFnZURhdGFTb3VyY2VPcHRpb25zKTtcbiAgICB9XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKHtcbiAgICAgIGZyb21PYmplY3Q6IHtcbiAgICAgICAgdHlwZTogYmFzZU9wdGlvbnMudHlwZSxcbiAgICAgICAgdXJsOiBiYXNlT3B0aW9ucy51cmwsXG4gICAgICAgIGxheWVyczogYmFzZU9wdGlvbnMubGF5ZXJcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChkZXRhaWxlZENvbnRleHRVcmkgJiYgdGhpcy5wcm92aWRlQ29udGV4dFVyaSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnY29udGV4dCcsIGRldGFpbGVkQ29udGV4dFVyaSk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdCA9IHRoaXMuaHR0cC5nZXQodGhpcy51cmxBcGksIHtcbiAgICAgIHBhcmFtc1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlcXVlc3QucGlwZShcbiAgICAgIG1hcChcbiAgICAgICAgKHJlczoge1xuICAgICAgICAgIHNvdXJjZU9wdGlvbnM6XG4gICAgICAgICAgICB8IEFyY0dJU1Jlc3REYXRhU291cmNlT3B0aW9uc1xuICAgICAgICAgICAgfCBBcmNHSVNSZXN0SW1hZ2VEYXRhU291cmNlT3B0aW9uc1xuICAgICAgICAgICAgfCBUaWxlQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zO1xuICAgICAgICAgIGxheWVyT3B0aW9uczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICAgICAgfSkgPT4ge1xuICAgICAgICAgIGlmICghcmVzIHx8ICFyZXMuc291cmNlT3B0aW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIHt9IGFzXG4gICAgICAgICAgICAgIHwgQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zXG4gICAgICAgICAgICAgIHwgQXJjR0lTUmVzdEltYWdlRGF0YVNvdXJjZU9wdGlvbnNcbiAgICAgICAgICAgICAgfCBUaWxlQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocmVzLmxheWVyT3B0aW9ucykge1xuICAgICAgICAgICAgcmVzLnNvdXJjZU9wdGlvbnMuX2xheWVyT3B0aW9uc0Zyb21Tb3VyY2UgPSByZXMubGF5ZXJPcHRpb25zO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzLnNvdXJjZU9wdGlvbnM7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export class OptionsService {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGF0YXNvdXJjZS9zaGFyZWQvb3B0aW9ucy9vcHRpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxPQUFnQixjQUFjO0NBZ0JuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zLFxuICBBcmNHSVNSZXN0SW1hZ2VEYXRhU291cmNlT3B0aW9ucyxcbiAgVGlsZUFyY0dJU1Jlc3REYXRhU291cmNlT3B0aW9ucyxcbiAgV01TRGF0YVNvdXJjZU9wdGlvbnNcbn0gZnJvbSAnLi4vZGF0YXNvdXJjZXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgT3B0aW9uc1NlcnZpY2Uge1xuICBhYnN0cmFjdCBnZXRXTVNPcHRpb25zKFxuICAgIF9iYXNlT3B0aW9uczogV01TRGF0YVNvdXJjZU9wdGlvbnMsXG4gICAgZGV0YWlsZWRDb250ZXh0VXJpPzogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8V01TRGF0YVNvdXJjZU9wdGlvbnM+O1xuICBhYnN0cmFjdCBnZXRBcmNnaXNSZXN0T3B0aW9ucyhcbiAgICBfYmFzZU9wdGlvbnM6XG4gICAgICB8IEFyY0dJU1Jlc3REYXRhU291cmNlT3B0aW9uc1xuICAgICAgfCBBcmNHSVNSZXN0SW1hZ2VEYXRhU291cmNlT3B0aW9uc1xuICAgICAgfCBUaWxlQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zLFxuICAgIGRldGFpbGVkQ29udGV4dFVyaT86IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPFxuICAgIHwgQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zXG4gICAgfCBBcmNHSVNSZXN0SW1hZ2VEYXRhU291cmNlT3B0aW9uc1xuICAgIHwgVGlsZUFyY0dJU1Jlc3REYXRhU291cmNlT3B0aW9uc1xuICA+O1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './tilegrid';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90aWxlZ3JpZCc7XG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { getTopLeft as extentGetTopLeft, getWidth as extentGetWidth } from 'ol/extent.js';
|
|
2
|
+
import * as olproj from 'ol/proj';
|
|
3
|
+
import olTileGridWMTS from 'ol/tilegrid/WMTS';
|
|
4
|
+
export function createDefaultTileGrid(epsg) {
|
|
5
|
+
const projection = epsg ? olproj.get(epsg) : olproj.get('EPSG:3857');
|
|
6
|
+
const projectionExtent = projection.getExtent();
|
|
7
|
+
const size = extentGetWidth(projectionExtent) / 256;
|
|
8
|
+
const resolutions = new Array(20);
|
|
9
|
+
const matrixIds = new Array(20);
|
|
10
|
+
for (let z = 0; z < 20; ++z) {
|
|
11
|
+
resolutions[z] = size / Math.pow(2, z);
|
|
12
|
+
matrixIds[z] = z;
|
|
13
|
+
}
|
|
14
|
+
return new olTileGridWMTS({
|
|
15
|
+
origin: extentGetTopLeft(projectionExtent),
|
|
16
|
+
resolutions,
|
|
17
|
+
matrixIds
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZWdyaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3V0aWxzL3RpbGVncmlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLElBQUksZ0JBQWdCLEVBQzlCLFFBQVEsSUFBSSxjQUFjLEVBQzNCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sS0FBSyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFDO0FBRTlDLE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxJQUFhO0lBQ2pELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyRSxNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoRCxNQUFNLElBQUksR0FBRyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDcEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzVCLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsT0FBTyxJQUFJLGNBQWMsQ0FBQztRQUN4QixNQUFNLEVBQUUsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUM7UUFDMUMsV0FBVztRQUNYLFNBQVM7S0FDVixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZ2V0VG9wTGVmdCBhcyBleHRlbnRHZXRUb3BMZWZ0LFxuICBnZXRXaWR0aCBhcyBleHRlbnRHZXRXaWR0aFxufSBmcm9tICdvbC9leHRlbnQuanMnO1xuaW1wb3J0ICogYXMgb2xwcm9qIGZyb20gJ29sL3Byb2onO1xuaW1wb3J0IG9sVGlsZUdyaWRXTVRTIGZyb20gJ29sL3RpbGVncmlkL1dNVFMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGVmYXVsdFRpbGVHcmlkKGVwc2c/OiBzdHJpbmcpOiBvbFRpbGVHcmlkV01UUyB7XG4gIGNvbnN0IHByb2plY3Rpb24gPSBlcHNnID8gb2xwcm9qLmdldChlcHNnKSA6IG9scHJvai5nZXQoJ0VQU0c6Mzg1NycpO1xuICBjb25zdCBwcm9qZWN0aW9uRXh0ZW50ID0gcHJvamVjdGlvbi5nZXRFeHRlbnQoKTtcbiAgY29uc3Qgc2l6ZSA9IGV4dGVudEdldFdpZHRoKHByb2plY3Rpb25FeHRlbnQpIC8gMjU2O1xuICBjb25zdCByZXNvbHV0aW9ucyA9IG5ldyBBcnJheSgyMCk7XG4gIGNvbnN0IG1hdHJpeElkcyA9IG5ldyBBcnJheSgyMCk7XG4gIGZvciAobGV0IHogPSAwOyB6IDwgMjA7ICsreikge1xuICAgIHJlc29sdXRpb25zW3pdID0gc2l6ZSAvIE1hdGgucG93KDIsIHopO1xuICAgIG1hdHJpeElkc1t6XSA9IHo7XG4gIH1cblxuICByZXR1cm4gbmV3IG9sVGlsZUdyaWRXTVRTKHtcbiAgICBvcmlnaW46IGV4dGVudEdldFRvcExlZnQocHJvamVjdGlvbkV4dGVudCksXG4gICAgcmVzb2x1dGlvbnMsXG4gICAgbWF0cml4SWRzXG4gIH0pO1xufVxuIl19
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { AsyncPipe, NgIf } from '@angular/common';
|
|
2
|
+
import { Component, Input, Optional } from '@angular/core';
|
|
3
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
6
|
+
import { LanguageService } from '@igo2/core/language';
|
|
7
|
+
import { IgoLanguageModule } from '@igo2/core/language';
|
|
8
|
+
import { MessageService } from '@igo2/core/message';
|
|
9
|
+
import { RouteService } from '@igo2/core/route';
|
|
10
|
+
import { Clipboard } from '@igo2/utils';
|
|
11
|
+
import { Subject } from 'rxjs';
|
|
12
|
+
import { roundCoordTo, roundCoordToString } from '../../map/shared/map.utils';
|
|
13
|
+
import { DirectionsService } from '../shared';
|
|
14
|
+
import { formatDistance, formatDuration, formatStep } from '../shared/directions.utils';
|
|
15
|
+
import { RoutesFeatureStore, StepsFeatureStore, StopsStore } from '../shared/store';
|
|
16
|
+
import * as i0 from "@angular/core";
|
|
17
|
+
import * as i1 from "@igo2/core/language";
|
|
18
|
+
import * as i2 from "@igo2/core/message";
|
|
19
|
+
import * as i3 from "@igo2/core/route";
|
|
20
|
+
import * as i4 from "../shared";
|
|
21
|
+
import * as i5 from "@angular/material/button";
|
|
22
|
+
import * as i6 from "@angular/material/tooltip";
|
|
23
|
+
import * as i7 from "@angular/material/icon";
|
|
24
|
+
import * as i8 from "@ngx-translate/core";
|
|
25
|
+
export class DirectionsButtonsComponent {
|
|
26
|
+
languageService;
|
|
27
|
+
messageService;
|
|
28
|
+
routeService;
|
|
29
|
+
directionsService;
|
|
30
|
+
contextUri;
|
|
31
|
+
zoomOnActiveRoute$ = new Subject();
|
|
32
|
+
stopsStore;
|
|
33
|
+
routesFeatureStore;
|
|
34
|
+
stepsFeatureStore;
|
|
35
|
+
downloadDirectionsBtnDisabled = false;
|
|
36
|
+
constructor(languageService, messageService, routeService, directionsService) {
|
|
37
|
+
this.languageService = languageService;
|
|
38
|
+
this.messageService = messageService;
|
|
39
|
+
this.routeService = routeService;
|
|
40
|
+
this.directionsService = directionsService;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Returns the active route from the routesFeatureStore.
|
|
44
|
+
*
|
|
45
|
+
* @return {FeatureWithDirections | undefined} The active route, or undefined if no active route is found.
|
|
46
|
+
*/
|
|
47
|
+
get activeRoute() {
|
|
48
|
+
return this.routesFeatureStore
|
|
49
|
+
.all()
|
|
50
|
+
.find((route) => route.properties.active);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Resets the stops in the stopsStore by clearing all the stops.
|
|
54
|
+
*
|
|
55
|
+
*/
|
|
56
|
+
resetStops() {
|
|
57
|
+
this.stopsStore.clearStops();
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Triggers the zoom on the active route.
|
|
61
|
+
*
|
|
62
|
+
*/
|
|
63
|
+
zoomOnActiveRoute() {
|
|
64
|
+
this.zoomOnActiveRoute$.next();
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Copies the directions to the clipboard and displays a success message if the copy is successful.
|
|
68
|
+
*
|
|
69
|
+
*/
|
|
70
|
+
copyDirectionsToClipboard() {
|
|
71
|
+
const directions = this.directionsToText();
|
|
72
|
+
const successful = Clipboard.copy(directions);
|
|
73
|
+
if (successful) {
|
|
74
|
+
this.messageService.success('igo.geo.directions.buttons.message.copyDirections');
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Copies the link to the clipboard and displays a success message if the copy is successful.
|
|
79
|
+
*
|
|
80
|
+
*/
|
|
81
|
+
copyLinkToClipboard() {
|
|
82
|
+
const copySuccessful = Clipboard.copy(this.getLink());
|
|
83
|
+
if (copySuccessful) {
|
|
84
|
+
this.messageService.success('igo.geo.directions.buttons.message.copyLink');
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Downloads the directions.
|
|
89
|
+
*
|
|
90
|
+
*/
|
|
91
|
+
downloadDirections() {
|
|
92
|
+
this.stepsFeatureStore.clear();
|
|
93
|
+
this.downloadDirectionsBtnDisabled = true;
|
|
94
|
+
this.directionsService
|
|
95
|
+
.downloadDirections(this.routesFeatureStore.map, this.activeRoute.properties.directions)
|
|
96
|
+
.subscribe(() => {
|
|
97
|
+
this.downloadDirectionsBtnDisabled = false;
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Generates a text representation of the directions, including summary, stops, URL, and directions.
|
|
102
|
+
*
|
|
103
|
+
* @return {string} The directions in text format.
|
|
104
|
+
*/
|
|
105
|
+
directionsToText() {
|
|
106
|
+
const indent = '\t';
|
|
107
|
+
const newLine = '\n';
|
|
108
|
+
let summary = this.languageService.translate.instant('igo.geo.directions.directionsText.summary') +
|
|
109
|
+
':' +
|
|
110
|
+
newLine +
|
|
111
|
+
indent +
|
|
112
|
+
this.activeRoute.properties.directions.title;
|
|
113
|
+
const distance = formatDistance(this.activeRoute.properties.directions.distance);
|
|
114
|
+
const duration = formatDuration(this.activeRoute.properties.directions.duration);
|
|
115
|
+
if (distance && duration) {
|
|
116
|
+
summary += ' (' + distance + ' - ' + duration + ')';
|
|
117
|
+
}
|
|
118
|
+
summary += newLine + newLine;
|
|
119
|
+
let stops = this.languageService.translate.instant('igo.geo.directions.directionsText.stopList') +
|
|
120
|
+
':' +
|
|
121
|
+
newLine;
|
|
122
|
+
let stopNumber = 1;
|
|
123
|
+
this.stopsStore.view.all().forEach((stop) => {
|
|
124
|
+
let coords = '';
|
|
125
|
+
let stopText = '';
|
|
126
|
+
if (stop.text !== roundCoordToString(stop.coordinates, 6).join(', ')) {
|
|
127
|
+
stopText = stop.text;
|
|
128
|
+
coords = ` (${roundCoordToString(stop.coordinates, 6).join(', ')})`;
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
stopText = roundCoordToString(stop.coordinates, 6).join(', ');
|
|
132
|
+
}
|
|
133
|
+
stops =
|
|
134
|
+
stops +
|
|
135
|
+
indent +
|
|
136
|
+
stopNumber.toLocaleString() +
|
|
137
|
+
'. ' +
|
|
138
|
+
stopText +
|
|
139
|
+
coords +
|
|
140
|
+
newLine;
|
|
141
|
+
stopNumber++;
|
|
142
|
+
});
|
|
143
|
+
stops += newLine;
|
|
144
|
+
const url = this.languageService.translate.instant('igo.geo.directions.directionsText.link') +
|
|
145
|
+
':' +
|
|
146
|
+
newLine +
|
|
147
|
+
indent +
|
|
148
|
+
this.getLink() +
|
|
149
|
+
newLine +
|
|
150
|
+
newLine;
|
|
151
|
+
let directions = this.languageService.translate.instant('igo.geo.directions.directions') +
|
|
152
|
+
':' +
|
|
153
|
+
newLine;
|
|
154
|
+
this.activeRoute.properties.directions.steps.forEach((step, stepIndex, steps) => {
|
|
155
|
+
const distance = formatDistance(step.distance);
|
|
156
|
+
const duration = formatDuration(step.duration);
|
|
157
|
+
if ((distance && duration) || stepIndex === steps.length - 1) {
|
|
158
|
+
const instruction = this.getFormattedStepInstruction(step, stepIndex);
|
|
159
|
+
const formattedDistanceDuration = distance && duration ? ` (${distance} - ${duration}) ` : '';
|
|
160
|
+
directions =
|
|
161
|
+
directions +
|
|
162
|
+
indent +
|
|
163
|
+
'- ' +
|
|
164
|
+
instruction +
|
|
165
|
+
formattedDistanceDuration +
|
|
166
|
+
newLine;
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
const directionsBody = summary + stops + url + directions;
|
|
170
|
+
return directionsBody;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Formats a step.
|
|
174
|
+
*
|
|
175
|
+
* @param {IgoStep} step - The step to format.
|
|
176
|
+
* @param {number} stepIndex - The index of the step in the directions.
|
|
177
|
+
* @return {string} The formatted instruction for the step.
|
|
178
|
+
*/
|
|
179
|
+
getFormattedStepInstruction(step, stepIndex) {
|
|
180
|
+
return formatStep(step, this.languageService, stepIndex === this.activeRoute.properties.directions.steps.length - 1).instruction;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Generates a link based on the current route and stops.
|
|
184
|
+
*
|
|
185
|
+
* @return {string | undefined} The generated link, or undefined if the route service is not available.
|
|
186
|
+
*/
|
|
187
|
+
getLink() {
|
|
188
|
+
if (!this.routeService) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
let context = '';
|
|
192
|
+
if (this.contextUri) {
|
|
193
|
+
context = `context=${this.contextUri}&`;
|
|
194
|
+
}
|
|
195
|
+
const routeIndex = this.routesFeatureStore
|
|
196
|
+
.all()
|
|
197
|
+
.map((direction) => direction.properties.id)
|
|
198
|
+
.indexOf(this.activeRoute.properties.id);
|
|
199
|
+
let routingOptions = '';
|
|
200
|
+
if (routeIndex !== 0) {
|
|
201
|
+
const routingOptionsKey = this.routeService.options.directionsOptionsKey;
|
|
202
|
+
routingOptions = `&${routingOptionsKey}=result:${routeIndex}`;
|
|
203
|
+
}
|
|
204
|
+
const directionsKey = this.routeService.options.directionsCoordKey;
|
|
205
|
+
const stopsCoordinates = this.stopsStore.view
|
|
206
|
+
.all()
|
|
207
|
+
.map((stop) => roundCoordTo(stop.coordinates, 6));
|
|
208
|
+
let directionsUrl = '';
|
|
209
|
+
if (stopsCoordinates.length >= 2) {
|
|
210
|
+
directionsUrl = `${directionsKey}=${stopsCoordinates.join(';')}`;
|
|
211
|
+
return `${location.origin}${location.pathname}?${context}tool=directions&sidenav=1&${directionsUrl}${routingOptions}`;
|
|
212
|
+
}
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DirectionsButtonsComponent, deps: [{ token: i1.LanguageService }, { token: i2.MessageService }, { token: i3.RouteService, optional: true }, { token: i4.DirectionsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
216
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DirectionsButtonsComponent, isStandalone: true, selector: "igo-directions-buttons", inputs: { contextUri: "contextUri", zoomOnActiveRoute$: "zoomOnActiveRoute$", stopsStore: "stopsStore", routesFeatureStore: "routesFeatureStore", stepsFeatureStore: "stepsFeatureStore" }, ngImport: i0, template: "<button\n mat-icon-button\n [matTooltip]=\"'igo.geo.directions.buttons.resetStops' | translate\"\n color=\"warn\"\n (click)=\"resetStops()\"\n>\n <mat-icon>restart_alt</mat-icon>\n</button>\n<button\n mat-icon-button\n [matTooltip]=\"'igo.geo.directions.buttons.zoomOnRoute' | translate\"\n color=\"primary\"\n (click)=\"zoomOnActiveRoute()\"\n>\n <mat-icon>frame_inspect</mat-icon>\n</button>\n<button\n mat-icon-button\n [matTooltip]=\"'igo.geo.directions.buttons.copyDirections' | translate\"\n color=\"primary\"\n (click)=\"copyDirectionsToClipboard()\"\n>\n <mat-icon>content_copy</mat-icon>\n</button>\n<button\n mat-icon-button\n [matTooltip]=\"'igo.geo.directions.buttons.copyLink' | translate\"\n color=\"primary\"\n (click)=\"copyLinkToClipboard()\"\n>\n <mat-icon>link</mat-icon>\n</button>\n\n<button\n mat-icon-button\n [disabled]=\"downloadDirectionsBtnDisabled\"\n [matTooltip]=\"'igo.geo.directions.buttons.downloadDirections' | translate\"\n color=\"primary\"\n (click)=\"downloadDirections()\"\n>\n <mat-icon>download</mat-icon>\n</button>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
|
|
217
|
+
}
|
|
218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DirectionsButtonsComponent, decorators: [{
|
|
219
|
+
type: Component,
|
|
220
|
+
args: [{ selector: 'igo-directions-buttons', standalone: true, imports: [
|
|
221
|
+
MatButtonModule,
|
|
222
|
+
MatTooltipModule,
|
|
223
|
+
MatIconModule,
|
|
224
|
+
NgIf,
|
|
225
|
+
AsyncPipe,
|
|
226
|
+
IgoLanguageModule
|
|
227
|
+
], template: "<button\n mat-icon-button\n [matTooltip]=\"'igo.geo.directions.buttons.resetStops' | translate\"\n color=\"warn\"\n (click)=\"resetStops()\"\n>\n <mat-icon>restart_alt</mat-icon>\n</button>\n<button\n mat-icon-button\n [matTooltip]=\"'igo.geo.directions.buttons.zoomOnRoute' | translate\"\n color=\"primary\"\n (click)=\"zoomOnActiveRoute()\"\n>\n <mat-icon>frame_inspect</mat-icon>\n</button>\n<button\n mat-icon-button\n [matTooltip]=\"'igo.geo.directions.buttons.copyDirections' | translate\"\n color=\"primary\"\n (click)=\"copyDirectionsToClipboard()\"\n>\n <mat-icon>content_copy</mat-icon>\n</button>\n<button\n mat-icon-button\n [matTooltip]=\"'igo.geo.directions.buttons.copyLink' | translate\"\n color=\"primary\"\n (click)=\"copyLinkToClipboard()\"\n>\n <mat-icon>link</mat-icon>\n</button>\n\n<button\n mat-icon-button\n [disabled]=\"downloadDirectionsBtnDisabled\"\n [matTooltip]=\"'igo.geo.directions.buttons.downloadDirections' | translate\"\n color=\"primary\"\n (click)=\"downloadDirections()\"\n>\n <mat-icon>download</mat-icon>\n</button>\n" }]
|
|
228
|
+
}], ctorParameters: () => [{ type: i1.LanguageService }, { type: i2.MessageService }, { type: i3.RouteService, decorators: [{
|
|
229
|
+
type: Optional
|
|
230
|
+
}] }, { type: i4.DirectionsService }], propDecorators: { contextUri: [{
|
|
231
|
+
type: Input,
|
|
232
|
+
args: [{ required: true }]
|
|
233
|
+
}], zoomOnActiveRoute$: [{
|
|
234
|
+
type: Input,
|
|
235
|
+
args: [{ required: true }]
|
|
236
|
+
}], stopsStore: [{
|
|
237
|
+
type: Input,
|
|
238
|
+
args: [{ required: true }]
|
|
239
|
+
}], routesFeatureStore: [{
|
|
240
|
+
type: Input,
|
|
241
|
+
args: [{ required: true }]
|
|
242
|
+
}], stepsFeatureStore: [{
|
|
243
|
+
type: Input,
|
|
244
|
+
args: [{ required: true }]
|
|
245
|
+
}] } });
|
|
246
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1idXR0b25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RpcmVjdGlvbnMvZGlyZWN0aW9ucy1idXR0b25zL2RpcmVjdGlvbnMtYnV0dG9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtYnV0dG9ucy9kaXJlY3Rpb25zLWJ1dHRvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSXhDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFN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eUVBWGdCLFVBQVU7c0JBQXBDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLGtCQUFrQjtzQkFBNUMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsVUFBVTtzQkFBcEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ0Usa0JBQWtCO3NCQUE1QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDRSxpQkFBaUI7c0JBQTNDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbWVzc2FnZSc7XG5pbXBvcnQgeyBSb3V0ZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL3JvdXRlJztcbmltcG9ydCB7IENsaXBib2FyZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IHsgQ29vcmRpbmF0ZSB9IGZyb20gJ29sL2Nvb3JkaW5hdGUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHJvdW5kQ29vcmRUbywgcm91bmRDb29yZFRvU3RyaW5nIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAudXRpbHMnO1xuaW1wb3J0IHsgRGlyZWN0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQnO1xuaW1wb3J0IHsgRmVhdHVyZVdpdGhEaXJlY3Rpb25zLCBJZ29TdGVwIH0gZnJvbSAnLi4vc2hhcmVkL2RpcmVjdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIGZvcm1hdERpc3RhbmNlLFxuICBmb3JtYXREdXJhdGlvbixcbiAgZm9ybWF0U3RlcFxufSBmcm9tICcuLi9zaGFyZWQvZGlyZWN0aW9ucy51dGlscyc7XG5pbXBvcnQge1xuICBSb3V0ZXNGZWF0dXJlU3RvcmUsXG4gIFN0ZXBzRmVhdHVyZVN0b3JlLFxuICBTdG9wc1N0b3JlXG59IGZyb20gJy4uL3NoYXJlZC9zdG9yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1kaXJlY3Rpb25zLWJ1dHRvbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGlyZWN0aW9ucy1idXR0b25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGlyZWN0aW9ucy1idXR0b25zLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE5nSWYsXG4gICAgQXN5bmNQaXBlLFxuICAgIElnb0xhbmd1YWdlTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGlyZWN0aW9uc0J1dHRvbnNDb21wb25lbnQge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb250ZXh0VXJpOiBzdHJpbmc7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHpvb21PbkFjdGl2ZVJvdXRlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHN0b3BzU3RvcmU6IFN0b3BzU3RvcmU7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHJvdXRlc0ZlYXR1cmVTdG9yZTogUm91dGVzRmVhdHVyZVN0b3JlO1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBzdGVwc0ZlYXR1cmVTdG9yZTogU3RlcHNGZWF0dXJlU3RvcmU7XG5cbiAgcHVibGljIGRvd25sb2FkRGlyZWN0aW9uc0J0bkRpc2FibGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJvdXRlU2VydmljZTogUm91dGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGlyZWN0aW9uc1NlcnZpY2U6IERpcmVjdGlvbnNTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgYWN0aXZlIHJvdXRlIGZyb20gdGhlIHJvdXRlc0ZlYXR1cmVTdG9yZS5cbiAgICpcbiAgICogQHJldHVybiB7RmVhdHVyZVdpdGhEaXJlY3Rpb25zIHwgdW5kZWZpbmVkfSBUaGUgYWN0aXZlIHJvdXRlLCBvciB1bmRlZmluZWQgaWYgbm8gYWN0aXZlIHJvdXRlIGlzIGZvdW5kLlxuICAgKi9cbiAgZ2V0IGFjdGl2ZVJvdXRlKCk6IEZlYXR1cmVXaXRoRGlyZWN0aW9ucyB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVzRmVhdHVyZVN0b3JlXG4gICAgICAuYWxsKClcbiAgICAgIC5maW5kKChyb3V0ZSkgPT4gcm91dGUucHJvcGVydGllcy5hY3RpdmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgc3RvcHMgaW4gdGhlIHN0b3BzU3RvcmUgYnkgY2xlYXJpbmcgYWxsIHRoZSBzdG9wcy5cbiAgICpcbiAgICovXG4gIHJlc2V0U3RvcHMoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9wc1N0b3JlLmNsZWFyU3RvcHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VycyB0aGUgem9vbSBvbiB0aGUgYWN0aXZlIHJvdXRlLlxuICAgKlxuICAgKi9cbiAgem9vbU9uQWN0aXZlUm91dGUoKTogdm9pZCB7XG4gICAgdGhpcy56b29tT25BY3RpdmVSb3V0ZSQubmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvcGllcyB0aGUgZGlyZWN0aW9ucyB0byB0aGUgY2xpcGJvYXJkIGFuZCBkaXNwbGF5cyBhIHN1Y2Nlc3MgbWVzc2FnZSBpZiB0aGUgY29weSBpcyBzdWNjZXNzZnVsLlxuICAgKlxuICAgKi9cbiAgY29weURpcmVjdGlvbnNUb0NsaXBib2FyZCgpOiB2b2lkIHtcbiAgICBjb25zdCBkaXJlY3Rpb25zOiBzdHJpbmcgPSB0aGlzLmRpcmVjdGlvbnNUb1RleHQoKTtcbiAgICBjb25zdCBzdWNjZXNzZnVsOiBib29sZWFuID0gQ2xpcGJvYXJkLmNvcHkoZGlyZWN0aW9ucyk7XG4gICAgaWYgKHN1Y2Nlc3NmdWwpIHtcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2Uuc3VjY2VzcyhcbiAgICAgICAgJ2lnby5nZW8uZGlyZWN0aW9ucy5idXR0b25zLm1lc3NhZ2UuY29weURpcmVjdGlvbnMnXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDb3BpZXMgdGhlIGxpbmsgdG8gdGhlIGNsaXBib2FyZCBhbmQgZGlzcGxheXMgYSBzdWNjZXNzIG1lc3NhZ2UgaWYgdGhlIGNvcHkgaXMgc3VjY2Vzc2Z1bC5cbiAgICpcbiAgICovXG4gIGNvcHlMaW5rVG9DbGlwYm9hcmQoKTogdm9pZCB7XG4gICAgY29uc3QgY29weVN1Y2Nlc3NmdWw6IGJvb2xlYW4gPSBDbGlwYm9hcmQuY29weSh0aGlzLmdldExpbmsoKSk7XG4gICAgaWYgKGNvcHlTdWNjZXNzZnVsKSB7XG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnN1Y2Nlc3MoXG4gICAgICAgICdpZ28uZ2VvLmRpcmVjdGlvbnMuYnV0dG9ucy5tZXNzYWdlLmNvcHlMaW5rJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRG93bmxvYWRzIHRoZSBkaXJlY3Rpb25zLlxuICAgKlxuICAgKi9cbiAgZG93bmxvYWREaXJlY3Rpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuc3RlcHNGZWF0dXJlU3RvcmUuY2xlYXIoKTtcbiAgICB0aGlzLmRvd25sb2FkRGlyZWN0aW9uc0J0bkRpc2FibGVkID0gdHJ1ZTtcbiAgICB0aGlzLmRpcmVjdGlvbnNTZXJ2aWNlXG4gICAgICAuZG93bmxvYWREaXJlY3Rpb25zKFxuICAgICAgICB0aGlzLnJvdXRlc0ZlYXR1cmVTdG9yZS5tYXAsXG4gICAgICAgIHRoaXMuYWN0aXZlUm91dGUucHJvcGVydGllcy5kaXJlY3Rpb25zXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5kb3dubG9hZERpcmVjdGlvbnNCdG5EaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgdGV4dCByZXByZXNlbnRhdGlvbiBvZiB0aGUgZGlyZWN0aW9ucywgaW5jbHVkaW5nIHN1bW1hcnksIHN0b3BzLCBVUkwsIGFuZCBkaXJlY3Rpb25zLlxuICAgKlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBkaXJlY3Rpb25zIGluIHRleHQgZm9ybWF0LlxuICAgKi9cbiAgcHJpdmF0ZSBkaXJlY3Rpb25zVG9UZXh0KCk6IHN0cmluZyB7XG4gICAgY29uc3QgaW5kZW50ID0gJ1xcdCc7XG4gICAgY29uc3QgbmV3TGluZSA9ICdcXG4nO1xuXG4gICAgbGV0IHN1bW1hcnk6IHN0cmluZyA9XG4gICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgJ2lnby5nZW8uZGlyZWN0aW9ucy5kaXJlY3Rpb25zVGV4dC5zdW1tYXJ5J1xuICAgICAgKSArXG4gICAgICAnOicgK1xuICAgICAgbmV3TGluZSArXG4gICAgICBpbmRlbnQgK1xuICAgICAgdGhpcy5hY3RpdmVSb3V0ZS5wcm9wZXJ0aWVzLmRpcmVjdGlvbnMudGl0bGU7XG5cbiAgICBjb25zdCBkaXN0YW5jZTogc3RyaW5nID0gZm9ybWF0RGlzdGFuY2UoXG4gICAgICB0aGlzLmFjdGl2ZVJvdXRlLnByb3BlcnRpZXMuZGlyZWN0aW9ucy5kaXN0YW5jZVxuICAgICk7XG4gICAgY29uc3QgZHVyYXRpb246IHN0cmluZyA9IGZvcm1hdER1cmF0aW9uKFxuICAgICAgdGhpcy5hY3RpdmVSb3V0ZS5wcm9wZXJ0aWVzLmRpcmVjdGlvbnMuZHVyYXRpb25cbiAgICApO1xuXG4gICAgaWYgKGRpc3RhbmNlICYmIGR1cmF0aW9uKSB7XG4gICAgICBzdW1tYXJ5ICs9ICcgKCcgKyBkaXN0YW5jZSArICcgLSAnICsgZHVyYXRpb24gKyAnKSc7XG4gICAgfVxuXG4gICAgc3VtbWFyeSArPSBuZXdMaW5lICsgbmV3TGluZTtcblxuICAgIGxldCBzdG9wczogc3RyaW5nID1cbiAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAnaWdvLmdlby5kaXJlY3Rpb25zLmRpcmVjdGlvbnNUZXh0LnN0b3BMaXN0J1xuICAgICAgKSArXG4gICAgICAnOicgK1xuICAgICAgbmV3TGluZTtcblxuICAgIGxldCBzdG9wTnVtYmVyID0gMTtcbiAgICB0aGlzLnN0b3BzU3RvcmUudmlldy5hbGwoKS5mb3JFYWNoKChzdG9wKSA9PiB7XG4gICAgICBsZXQgY29vcmRzID0gJyc7XG4gICAgICBsZXQgc3RvcFRleHQgPSAnJztcbiAgICAgIGlmIChzdG9wLnRleHQgIT09IHJvdW5kQ29vcmRUb1N0cmluZyhzdG9wLmNvb3JkaW5hdGVzLCA2KS5qb2luKCcsICcpKSB7XG4gICAgICAgIHN0b3BUZXh0ID0gc3RvcC50ZXh0O1xuICAgICAgICBjb29yZHMgPSBgICgke3JvdW5kQ29vcmRUb1N0cmluZyhzdG9wLmNvb3JkaW5hdGVzLCA2KS5qb2luKCcsICcpfSlgO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RvcFRleHQgPSByb3VuZENvb3JkVG9TdHJpbmcoc3RvcC5jb29yZGluYXRlcywgNikuam9pbignLCAnKTtcbiAgICAgIH1cblxuICAgICAgc3RvcHMgPVxuICAgICAgICBzdG9wcyArXG4gICAgICAgIGluZGVudCArXG4gICAgICAgIHN0b3BOdW1iZXIudG9Mb2NhbGVTdHJpbmcoKSArXG4gICAgICAgICcuICcgK1xuICAgICAgICBzdG9wVGV4dCArXG4gICAgICAgIGNvb3JkcyArXG4gICAgICAgIG5ld0xpbmU7XG4gICAgICBzdG9wTnVtYmVyKys7XG4gICAgfSk7XG4gICAgc3RvcHMgKz0gbmV3TGluZTtcblxuICAgIGNvbnN0IHVybDogc3RyaW5nID1cbiAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAnaWdvLmdlby5kaXJlY3Rpb25zLmRpcmVjdGlvbnNUZXh0LmxpbmsnXG4gICAgICApICtcbiAgICAgICc6JyArXG4gICAgICBuZXdMaW5lICtcbiAgICAgIGluZGVudCArXG4gICAgICB0aGlzLmdldExpbmsoKSArXG4gICAgICBuZXdMaW5lICtcbiAgICAgIG5ld0xpbmU7XG5cbiAgICBsZXQgZGlyZWN0aW9uczogc3RyaW5nID1cbiAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRpcmVjdGlvbnMuZGlyZWN0aW9ucycpICtcbiAgICAgICc6JyArXG4gICAgICBuZXdMaW5lO1xuXG4gICAgdGhpcy5hY3RpdmVSb3V0ZS5wcm9wZXJ0aWVzLmRpcmVjdGlvbnMuc3RlcHMuZm9yRWFjaChcbiAgICAgIChzdGVwLCBzdGVwSW5kZXgsIHN0ZXBzKSA9PiB7XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlOiBzdHJpbmcgPSBmb3JtYXREaXN0YW5jZShzdGVwLmRpc3RhbmNlKTtcbiAgICAgICAgY29uc3QgZHVyYXRpb246IHN0cmluZyA9IGZvcm1hdER1cmF0aW9uKHN0ZXAuZHVyYXRpb24pO1xuICAgICAgICBpZiAoKGRpc3RhbmNlICYmIGR1cmF0aW9uKSB8fCBzdGVwSW5kZXggPT09IHN0ZXBzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICBjb25zdCBpbnN0cnVjdGlvbjogc3RyaW5nID0gdGhpcy5nZXRGb3JtYXR0ZWRTdGVwSW5zdHJ1Y3Rpb24oXG4gICAgICAgICAgICBzdGVwLFxuICAgICAgICAgICAgc3RlcEluZGV4XG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCBmb3JtYXR0ZWREaXN0YW5jZUR1cmF0aW9uOiBzdHJpbmcgPVxuICAgICAgICAgICAgZGlzdGFuY2UgJiYgZHVyYXRpb24gPyBgICgke2Rpc3RhbmNlfSAtICR7ZHVyYXRpb259KSBgIDogJyc7XG4gICAgICAgICAgZGlyZWN0aW9ucyA9XG4gICAgICAgICAgICBkaXJlY3Rpb25zICtcbiAgICAgICAgICAgIGluZGVudCArXG4gICAgICAgICAgICAnLSAnICtcbiAgICAgICAgICAgIGluc3RydWN0aW9uICtcbiAgICAgICAgICAgIGZvcm1hdHRlZERpc3RhbmNlRHVyYXRpb24gK1xuICAgICAgICAgICAgbmV3TGluZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG5cbiAgICBjb25zdCBkaXJlY3Rpb25zQm9keTogc3RyaW5nID0gc3VtbWFyeSArIHN0b3BzICsgdXJsICsgZGlyZWN0aW9ucztcblxuICAgIHJldHVybiBkaXJlY3Rpb25zQm9keTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JtYXRzIGEgc3RlcC5cbiAgICpcbiAgICogQHBhcmFtIHtJZ29TdGVwfSBzdGVwIC0gVGhlIHN0ZXAgdG8gZm9ybWF0LlxuICAgKiBAcGFyYW0ge251bWJlcn0gc3RlcEluZGV4IC0gVGhlIGluZGV4IG9mIHRoZSBzdGVwIGluIHRoZSBkaXJlY3Rpb25zLlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBmb3JtYXR0ZWQgaW5zdHJ1Y3Rpb24gZm9yIHRoZSBzdGVwLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRGb3JtYXR0ZWRTdGVwSW5zdHJ1Y3Rpb24oXG4gICAgc3RlcDogSWdvU3RlcCxcbiAgICBzdGVwSW5kZXg6IG51bWJlclxuICApOiBzdHJpbmcge1xuICAgIHJldHVybiBmb3JtYXRTdGVwKFxuICAgICAgc3RlcCxcbiAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLFxuICAgICAgc3RlcEluZGV4ID09PSB0aGlzLmFjdGl2ZVJvdXRlLnByb3BlcnRpZXMuZGlyZWN0aW9ucy5zdGVwcy5sZW5ndGggLSAxXG4gICAgKS5pbnN0cnVjdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBsaW5rIGJhc2VkIG9uIHRoZSBjdXJyZW50IHJvdXRlIGFuZCBzdG9wcy5cbiAgICpcbiAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfSBUaGUgZ2VuZXJhdGVkIGxpbmssIG9yIHVuZGVmaW5lZCBpZiB0aGUgcm91dGUgc2VydmljZSBpcyBub3QgYXZhaWxhYmxlLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRMaW5rKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLnJvdXRlU2VydmljZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBjb250ZXh0ID0gJyc7XG4gICAgaWYgKHRoaXMuY29udGV4dFVyaSkge1xuICAgICAgY29udGV4dCA9IGBjb250ZXh0PSR7dGhpcy5jb250ZXh0VXJpfSZgO1xuICAgIH1cblxuICAgIGNvbnN0IHJvdXRlSW5kZXg6IG51bWJlciA9IHRoaXMucm91dGVzRmVhdHVyZVN0b3JlXG4gICAgICAuYWxsKClcbiAgICAgIC5tYXAoKGRpcmVjdGlvbikgPT4gZGlyZWN0aW9uLnByb3BlcnRpZXMuaWQpXG4gICAgICAuaW5kZXhPZih0aGlzLmFjdGl2ZVJvdXRlLnByb3BlcnRpZXMuaWQpO1xuICAgIGxldCByb3V0aW5nT3B0aW9ucyA9ICcnO1xuICAgIGlmIChyb3V0ZUluZGV4ICE9PSAwKSB7XG4gICAgICBjb25zdCByb3V0aW5nT3B0aW9uc0tleTogc3RyaW5nIHwgYm9vbGVhbiA9XG4gICAgICAgIHRoaXMucm91dGVTZXJ2aWNlLm9wdGlvbnMuZGlyZWN0aW9uc09wdGlvbnNLZXk7XG4gICAgICByb3V0aW5nT3B0aW9ucyA9IGAmJHtyb3V0aW5nT3B0aW9uc0tleX09cmVzdWx0OiR7cm91dGVJbmRleH1gO1xuICAgIH1cbiAgICBjb25zdCBkaXJlY3Rpb25zS2V5OiBzdHJpbmcgfCBib29sZWFuID1cbiAgICAgIHRoaXMucm91dGVTZXJ2aWNlLm9wdGlvbnMuZGlyZWN0aW9uc0Nvb3JkS2V5O1xuICAgIGNvbnN0IHN0b3BzQ29vcmRpbmF0ZXM6IENvb3JkaW5hdGVbXSA9IHRoaXMuc3RvcHNTdG9yZS52aWV3XG4gICAgICAuYWxsKClcbiAgICAgIC5tYXAoKHN0b3ApID0+IHJvdW5kQ29vcmRUbyhzdG9wLmNvb3JkaW5hdGVzLCA2KSk7XG4gICAgbGV0IGRpcmVjdGlvbnNVcmwgPSAnJztcbiAgICBpZiAoc3RvcHNDb29yZGluYXRlcy5sZW5ndGggPj0gMikge1xuICAgICAgZGlyZWN0aW9uc1VybCA9IGAke2RpcmVjdGlvbnNLZXl9PSR7c3RvcHNDb29yZGluYXRlcy5qb2luKCc7Jyl9YDtcbiAgICAgIHJldHVybiBgJHtsb2NhdGlvbi5vcmlnaW59JHtsb2NhdGlvbi5wYXRobmFtZX0/JHtjb250ZXh0fXRvb2w9ZGlyZWN0aW9ucyZzaWRlbmF2PTEmJHtkaXJlY3Rpb25zVXJsfSR7cm91dGluZ09wdGlvbnN9YDtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG59XG4iLCI8YnV0dG9uXG4gIG1hdC1pY29uLWJ1dHRvblxuICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5kaXJlY3Rpb25zLmJ1dHRvbnMucmVzZXRTdG9wcycgfCB0cmFuc2xhdGVcIlxuICBjb2xvcj1cIndhcm5cIlxuICAoY2xpY2spPVwicmVzZXRTdG9wcygpXCJcbj5cbiAgPG1hdC1pY29uPnJlc3RhcnRfYWx0PC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuPGJ1dHRvblxuICBtYXQtaWNvbi1idXR0b25cbiAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uZGlyZWN0aW9ucy5idXR0b25zLnpvb21PblJvdXRlJyB8IHRyYW5zbGF0ZVwiXG4gIGNvbG9yPVwicHJpbWFyeVwiXG4gIChjbGljayk9XCJ6b29tT25BY3RpdmVSb3V0ZSgpXCJcbj5cbiAgPG1hdC1pY29uPmZyYW1lX2luc3BlY3Q8L21hdC1pY29uPlxuPC9idXR0b24+XG48YnV0dG9uXG4gIG1hdC1pY29uLWJ1dHRvblxuICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5kaXJlY3Rpb25zLmJ1dHRvbnMuY29weURpcmVjdGlvbnMnIHwgdHJhbnNsYXRlXCJcbiAgY29sb3I9XCJwcmltYXJ5XCJcbiAgKGNsaWNrKT1cImNvcHlEaXJlY3Rpb25zVG9DbGlwYm9hcmQoKVwiXG4+XG4gIDxtYXQtaWNvbj5jb250ZW50X2NvcHk8L21hdC1pY29uPlxuPC9idXR0b24+XG48YnV0dG9uXG4gIG1hdC1pY29uLWJ1dHRvblxuICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5kaXJlY3Rpb25zLmJ1dHRvbnMuY29weUxpbmsnIHwgdHJhbnNsYXRlXCJcbiAgY29sb3I9XCJwcmltYXJ5XCJcbiAgKGNsaWNrKT1cImNvcHlMaW5rVG9DbGlwYm9hcmQoKVwiXG4+XG4gIDxtYXQtaWNvbj5saW5rPC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuXG48YnV0dG9uXG4gIG1hdC1pY29uLWJ1dHRvblxuICBbZGlzYWJsZWRdPVwiZG93bmxvYWREaXJlY3Rpb25zQnRuRGlzYWJsZWRcIlxuICBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5kaXJlY3Rpb25zLmJ1dHRvbnMuZG93bmxvYWREaXJlY3Rpb25zJyB8IHRyYW5zbGF0ZVwiXG4gIGNvbG9yPVwicHJpbWFyeVwiXG4gIChjbGljayk9XCJkb3dubG9hZERpcmVjdGlvbnMoKVwiXG4+XG4gIDxtYXQtaWNvbj5kb3dubG9hZDwvbWF0LWljb24+XG48L2J1dHRvbj5cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './directions-buttons.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtYnV0dG9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLWJ1dHRvbnMuY29tcG9uZW50JztcbiJdfQ==
|