@igo2/geo 1.9.0 → 1.10.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/bundles/igo2-geo.umd.js +3651 -2762
- package/bundles/igo2-geo.umd.js.map +1 -1
- package/esm2015/lib/catalog/catalog-browser/catalog-browser-group.component.js +2 -2
- package/esm2015/lib/catalog/catalog-browser/catalog-browser-layer.component.js +2 -2
- package/esm2015/lib/catalog/catalog-browser/catalog-browser.module.js +1 -1
- package/esm2015/lib/catalog/catalog-library/add-catalog-dialog.component.js +72 -53
- package/esm2015/lib/catalog/catalog-library/catalog-library.component.js +2 -1
- package/esm2015/lib/catalog/catalog.module.js +1 -1
- package/esm2015/lib/catalog/shared/catalog.abstract.js +1 -1
- package/esm2015/lib/catalog/shared/catalog.interface.js +1 -1
- package/esm2015/lib/catalog/shared/catalog.service.js +13 -3
- package/esm2015/lib/catalog/shared/index.js +1 -1
- package/esm2015/lib/datasource/datasource.module.js +1 -1
- package/esm2015/lib/datasource/index.js +1 -1
- package/esm2015/lib/datasource/shared/capabilities.service.js +4 -4
- package/esm2015/lib/datasource/shared/datasources/carto-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/carto-datasource.js +2 -2
- package/esm2015/lib/datasource/shared/datasources/cluster-datasource.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/data.service.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/datasource.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/mvt-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/mvt-datasource.js +2 -2
- package/esm2015/lib/datasource/shared/datasources/osm-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/websocket-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/websocket-datasource.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/wfs-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/wfs.service.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/wms-wfs.utils.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/wmts-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/xyz-datasource.interface.js +1 -1
- package/esm2015/lib/datasource/shared/datasources/xyz-datasource.js +1 -1
- package/esm2015/lib/datasource/shared/index.js +1 -1
- package/esm2015/lib/datasource/shared/options/index.js +1 -1
- package/esm2015/lib/datasource/shared/options/options-api.interface.js +1 -1
- package/esm2015/lib/datasource/shared/options/options-api.providers.js +1 -1
- package/esm2015/lib/datasource/shared/options/options-api.service.js +1 -1
- package/esm2015/lib/datasource/shared/options/options.service.js +1 -1
- package/esm2015/lib/datasource/utils/esri-style-generator.js +1 -1
- package/esm2015/lib/datasource/utils/index.js +1 -1
- package/esm2015/lib/datasource/utils/tilegrid.js +1 -1
- package/esm2015/lib/directions/directions-buttons/directions-buttons.component.js +223 -0
- package/esm2015/lib/directions/directions-buttons/index.js +2 -0
- package/esm2015/lib/directions/directions-inputs/directions-inputs.component.js +300 -0
- package/esm2015/lib/directions/directions-inputs/index.js +2 -0
- package/esm2015/lib/directions/directions-results/directions-results.component.js +204 -0
- package/esm2015/lib/directions/directions-results/index.js +2 -0
- package/esm2015/lib/directions/directions-sources/directions-source.interface.js +1 -1
- package/esm2015/lib/directions/directions-sources/directions-source.js +1 -1
- package/esm2015/lib/directions/directions-sources/directions-source.provider.js +1 -1
- package/esm2015/lib/directions/directions-sources/index.js +1 -1
- package/esm2015/lib/directions/directions-sources/osrm-directions-source.js +11 -2
- package/esm2015/lib/directions/directions.component.js +314 -0
- package/esm2015/lib/directions/directions.module.js +31 -10
- package/esm2015/lib/directions/index.js +5 -2
- package/esm2015/lib/directions/shared/directions-source.service.js +1 -1
- package/esm2015/lib/directions/shared/directions.enum.js +20 -3
- package/esm2015/lib/directions/shared/directions.interface.js +1 -1
- package/esm2015/lib/directions/shared/directions.service.js +1 -1
- package/esm2015/lib/directions/shared/directions.utils.js +507 -0
- package/esm2015/lib/directions/shared/index.js +3 -1
- package/esm2015/lib/directions/shared/store.js +24 -0
- package/esm2015/lib/download/download-button/download-button.component.js +1 -1
- package/esm2015/lib/download/download-button/index.js +1 -1
- package/esm2015/lib/download/download.module.js +1 -1
- package/esm2015/lib/download/index.js +1 -1
- package/esm2015/lib/download/shared/download.interface.js +1 -1
- package/esm2015/lib/download/shared/download.service.js +1 -1
- package/esm2015/lib/download/shared/index.js +1 -1
- package/esm2015/lib/draw/draw/draw-popup.component.js +6 -5
- package/esm2015/lib/draw/draw/draw.component.js +22 -17
- package/esm2015/lib/draw/shared/draw.utils.js +1 -1
- package/esm2015/lib/feature/feature-details/feature-details.directive.js +1 -1
- package/esm2015/lib/feature/feature-details/feature-details.module.js +1 -1
- package/esm2015/lib/feature/feature-form/feature-form.component.js +1 -1
- package/esm2015/lib/feature/feature-form/feature-form.module.js +1 -1
- package/esm2015/lib/feature/feature.module.js +1 -1
- package/esm2015/lib/feature/index.js +1 -1
- package/esm2015/lib/feature/shared/feature.enums.js +1 -1
- package/esm2015/lib/feature/shared/feature.interfaces.js +1 -1
- package/esm2015/lib/feature/shared/index.js +1 -1
- package/esm2015/lib/feature/shared/strategies/in-map-extent.js +1 -1
- package/esm2015/lib/feature/shared/strategies/in-map-resolution.js +1 -1
- package/esm2015/lib/feature/shared/strategies/index.js +1 -1
- package/esm2015/lib/feature/shared/strategies/loading-layer.js +1 -1
- package/esm2015/lib/feature/shared/strategies/loading.js +1 -1
- package/esm2015/lib/feature/shared/strategies/selection.js +5 -9
- package/esm2015/lib/feature/shared/strategies.utils.js +1 -1
- package/esm2015/lib/filter/filter.module.js +7 -4
- package/esm2015/lib/filter/ogc-filter-button/index.js +1 -1
- package/esm2015/lib/filter/ogc-filter-button/ogc-filter-button.component.js +1 -1
- package/esm2015/lib/filter/ogc-filter-form/index.js +1 -1
- package/esm2015/lib/filter/ogc-filter-form/ogc-filter-form.component.js +3 -3
- package/esm2015/lib/filter/ogc-filter-selection/ogc-filter-selection.component.js +1 -1
- package/esm2015/lib/filter/ogc-filter-time/ogc-filter-time.component.js +240 -121
- package/esm2015/lib/filter/ogc-filterable-form/index.js +1 -1
- package/esm2015/lib/filter/ogc-filterable-item/index.js +1 -1
- package/esm2015/lib/filter/ogc-filterable-item/ogc-filterable-item.component.js +2 -2
- package/esm2015/lib/filter/ogc-filterable-list/index.js +1 -1
- package/esm2015/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.js +1 -1
- package/esm2015/lib/filter/ogc-filterable-list/ogc-filterable-list.component.js +1 -1
- package/esm2015/lib/filter/shared/filterable-datasource.pipe.js +1 -1
- package/esm2015/lib/filter/shared/index.js +1 -1
- package/esm2015/lib/filter/shared/ogc-filter.enum.js +1 -1
- package/esm2015/lib/filter/shared/ogc-filter.interface.js +1 -1
- package/esm2015/lib/filter/shared/ogc-filter.js +1 -1
- package/esm2015/lib/filter/shared/ogc-filter.service.js +1 -1
- package/esm2015/lib/filter/shared/spatial-filter.enum.js +1 -1
- package/esm2015/lib/filter/shared/spatial-filter.interface.js +1 -1
- package/esm2015/lib/filter/shared/time-filter.enum.js +1 -1
- package/esm2015/lib/filter/shared/time-filter.interface.js +1 -1
- package/esm2015/lib/filter/shared/time-filter.service.js +1 -1
- package/esm2015/lib/filter/spatial-filter/spatial-filter-item/index.js +1 -1
- package/esm2015/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.js +185 -95
- package/esm2015/lib/filter/spatial-filter/spatial-filter-list/index.js +1 -1
- package/esm2015/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.js +1 -1
- package/esm2015/lib/filter/spatial-filter/spatial-filter-type/index.js +1 -1
- package/esm2015/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.js +1 -1
- package/esm2015/lib/filter/time-filter-button/index.js +1 -1
- package/esm2015/lib/filter/time-filter-button/time-filter-button.component.js +1 -1
- package/esm2015/lib/filter/time-filter-form/index.js +1 -1
- package/esm2015/lib/filter/time-filter-form/time-filter-form.component.js +1 -1
- package/esm2015/lib/filter/time-filter-item/index.js +1 -1
- package/esm2015/lib/filter/time-filter-item/time-filter-item.component.js +2 -2
- package/esm2015/lib/filter/time-filter-list/index.js +1 -1
- package/esm2015/lib/filter/time-filter-list/time-filter-list-binding.directive.js +1 -1
- package/esm2015/lib/filter/time-filter-list/time-filter-list.component.js +1 -1
- package/esm2015/lib/geometry/geometry-form-field/geometry-form-field-input.component.js +3 -3
- package/esm2015/lib/geometry/geometry-form-field/geometry-form-field.component.js +1 -1
- package/esm2015/lib/geometry/geometry-form-field/geometry-form-field.module.js +1 -1
- package/esm2015/lib/geometry/geometry.module.js +1 -1
- package/esm2015/lib/geometry/index.js +1 -1
- package/esm2015/lib/geometry/shared/controls/draw.js +1 -1
- package/esm2015/lib/geometry/shared/controls/index.js +1 -1
- package/esm2015/lib/geometry/shared/geometry.errors.js +3 -3
- package/esm2015/lib/geometry/shared/index.js +1 -1
- package/esm2015/lib/import-export/export-button/export-button.component.js +1 -1
- package/esm2015/lib/import-export/export-button/index.js +1 -1
- package/esm2015/lib/import-export/import-export/import-export.component.js +179 -66
- package/esm2015/lib/import-export/import-export.module.js +1 -1
- package/esm2015/lib/import-export/index.js +1 -1
- package/esm2015/lib/import-export/shared/drop-geo-file.directive.js +1 -1
- package/esm2015/lib/import-export/shared/export.errors.js +1 -1
- package/esm2015/lib/import-export/shared/export.interface.js +1 -1
- package/esm2015/lib/import-export/shared/export.type.js +1 -1
- package/esm2015/lib/import-export/shared/export.utils.js +1 -1
- package/esm2015/lib/import-export/shared/import.interface.js +1 -1
- package/esm2015/lib/import-export/shared/import.service.js +1 -1
- package/esm2015/lib/import-export/shared/import.utils.js +1 -1
- package/esm2015/lib/import-export/shared/index.js +1 -1
- package/esm2015/lib/import-export/style-list/index.js +1 -1
- package/esm2015/lib/import-export/style-list/style-list.interface.js +1 -1
- package/esm2015/lib/import-export/style-list/style-list.module.js +1 -1
- package/esm2015/lib/import-export/style-list/style-list.provider.js +1 -1
- package/esm2015/lib/import-export/style-list/style-list.service.js +1 -1
- package/esm2015/lib/layer/index.js +1 -1
- package/esm2015/lib/layer/layer-item/index.js +1 -1
- package/esm2015/lib/layer/layer-item/layer-item.component.js +3 -3
- package/esm2015/lib/layer/layer-legend/index.js +1 -1
- package/esm2015/lib/layer/layer-legend/layer-legend.component.js +23 -16
- package/esm2015/lib/layer/layer-legend-item/index.js +1 -1
- package/esm2015/lib/layer/layer-legend-item/layer-legend-item.component.js +1 -1
- package/esm2015/lib/layer/layer-legend-list/index.js +1 -1
- package/esm2015/lib/layer/layer-legend-list/layer-legend-list-binding.directive.js +1 -1
- package/esm2015/lib/layer/layer-legend-list/layer-legend-list.component.js +5 -5
- package/esm2015/lib/layer/layer-list/index.js +1 -1
- package/esm2015/lib/layer/layer-list/layer-list-binding.directive.js +1 -1
- package/esm2015/lib/layer/layer-list/layer-list.component.js +44 -44
- package/esm2015/lib/layer/layer-list/layer-list.enum.js +1 -1
- package/esm2015/lib/layer/layer-list-tool/index.js +1 -1
- package/esm2015/lib/layer/layer-list-tool/layer-list-tool.component.js +2 -2
- package/esm2015/lib/layer/layer-list-tool/layer-list-tool.enum.js +1 -1
- package/esm2015/lib/layer/layer-list-tool/layer-list-tool.interface.js +1 -1
- package/esm2015/lib/layer/layer-list-tool/layer-list-tool.service.js +1 -1
- package/esm2015/lib/layer/layer.module.js +8 -5
- package/esm2015/lib/layer/shared/clusterParam.js +1 -1
- package/esm2015/lib/layer/shared/index.js +1 -1
- package/esm2015/lib/layer/shared/layer.enums.js +1 -1
- package/esm2015/lib/layer/shared/layer.service.js +20 -17
- package/esm2015/lib/layer/shared/layers/any-layer.interface.js +1 -1
- package/esm2015/lib/layer/shared/layers/any-layer.js +1 -1
- package/esm2015/lib/layer/shared/layers/image-layer.js +9 -4
- package/esm2015/lib/layer/shared/layers/index.js +1 -1
- package/esm2015/lib/layer/shared/layers/layer.js +15 -5
- package/esm2015/lib/layer/shared/layers/tile-layer.js +23 -3
- package/esm2015/lib/layer/shared/layers/vector-layer.interface.js +1 -1
- package/esm2015/lib/layer/shared/layers/vector-layer.js +20 -10
- package/esm2015/lib/layer/shared/layers/vectortile-layer.interface.js +1 -1
- package/esm2015/lib/layer/shared/layers/vectortile-layer.js +13 -3
- package/esm2015/lib/layer/shared/style.service.js +21 -16
- package/esm2015/lib/layer/shared/vector-style.interface.js +1 -1
- package/esm2015/lib/layer/track-feature-button/index.js +1 -1
- package/esm2015/lib/layer/track-feature-button/track-feature-button.component.js +1 -1
- package/esm2015/lib/layer/utils/index.js +2 -1
- package/esm2015/lib/layer/utils/layer.utils.js +11 -0
- package/esm2015/lib/layer/utils/layerSync-watcher.js +1 -1
- package/esm2015/lib/layer/utils/tile-watcher.js +1 -1
- package/esm2015/lib/map/baselayers-switcher/baselayers-switcher.animation.js +1 -1
- package/esm2015/lib/map/baselayers-switcher/index.js +1 -1
- package/esm2015/lib/map/baselayers-switcher/mini-basemap.component.js +1 -1
- package/esm2015/lib/map/geolocate-button/geolocate-button.component.js +1 -1
- package/esm2015/lib/map/geolocate-button/index.js +1 -1
- package/esm2015/lib/map/index.js +2 -1
- package/esm2015/lib/map/map-browser/index.js +1 -1
- package/esm2015/lib/map/map-browser/map-browser.component.js +1 -1
- package/esm2015/lib/map/map.module.js +10 -5
- package/esm2015/lib/map/menu-button/index.js +2 -0
- package/esm2015/lib/map/menu-button/menu-button.component.js +66 -0
- package/esm2015/lib/map/offline-button/index.js +1 -1
- package/esm2015/lib/map/offline-button/offline-button.component.js +1 -1
- package/esm2015/lib/map/rotation-button/index.js +1 -1
- package/esm2015/lib/map/rotation-button/rotation-button.component.js +1 -1
- package/esm2015/lib/map/shared/controllers/index.js +1 -1
- package/esm2015/lib/map/shared/hover-feature.directive.js +231 -80
- package/esm2015/lib/map/shared/map-pointer-position.directive.js +3 -1
- package/esm2015/lib/map/shared/map.enums.js +1 -1
- package/esm2015/lib/map/shared/map.interface.js +1 -1
- package/esm2015/lib/map/shared/map.js +38 -16
- package/esm2015/lib/map/shared/map.service.js +1 -1
- package/esm2015/lib/map/shared/map.utils.js +7 -3
- package/esm2015/lib/map/shared/projection.service.js +1 -1
- package/esm2015/lib/map/shared/projection.utils.js +1 -1
- package/esm2015/lib/map/swipe-control/swipe-control.component.js +1 -1
- package/esm2015/lib/map/zoom-button/index.js +1 -1
- package/esm2015/lib/map/zoom-button/zoom-button.component.js +1 -1
- package/esm2015/lib/measure/index.js +1 -1
- package/esm2015/lib/measure/measure.module.js +1 -1
- package/esm2015/lib/measure/measurer/measure-format.pipe.js +1 -1
- package/esm2015/lib/measure/measurer/measurer-dialog.component.js +188 -176
- package/esm2015/lib/measure/measurer/measurer-item.component.js +17 -12
- package/esm2015/lib/measure/measurer/measurer.component.js +170 -69
- package/esm2015/lib/measure/measurer/measurer.module.js +13 -8
- package/esm2015/lib/measure/shared/index.js +1 -1
- package/esm2015/lib/measure/shared/measure.enum.js +1 -1
- package/esm2015/lib/measure/shared/measure.interfaces.js +1 -1
- package/esm2015/lib/measure/shared/measure.utils.js +1 -1
- package/esm2015/lib/metadata/index.js +1 -1
- package/esm2015/lib/metadata/metadata-button/index.js +1 -1
- package/esm2015/lib/metadata/shared/index.js +1 -1
- package/esm2015/lib/metadata/shared/metadata.service.js +1 -1
- package/esm2015/lib/overlay/index.js +1 -1
- package/esm2015/lib/overlay/overlay.module.js +1 -1
- package/esm2015/lib/overlay/shared/index.js +1 -1
- package/esm2015/lib/overlay/shared/overlay-marker-style.utils.js +2 -2
- package/esm2015/lib/overlay/shared/overlay.directive.js +1 -1
- package/esm2015/lib/overlay/shared/overlay.enum.js +1 -1
- package/esm2015/lib/overlay/shared/overlay.service.js +1 -1
- package/esm2015/lib/print/index.js +1 -1
- package/esm2015/lib/print/print-form/index.js +1 -1
- package/esm2015/lib/print/print.module.js +1 -1
- package/esm2015/lib/print/shared/index.js +1 -1
- package/esm2015/lib/print/shared/print.service.js +1 -1
- package/esm2015/lib/query/index.js +1 -1
- package/esm2015/lib/query/query.module.js +1 -1
- package/esm2015/lib/query/shared/index.js +1 -1
- package/esm2015/lib/query/shared/query-search-source.js +1 -1
- package/esm2015/lib/query/shared/query-search-source.providers.js +1 -1
- package/esm2015/lib/query/shared/query.directive.js +4 -4
- package/esm2015/lib/query/shared/query.enums.js +1 -1
- package/esm2015/lib/query/shared/query.interfaces.js +1 -1
- package/esm2015/lib/query/shared/query.service.js +24 -3
- package/esm2015/lib/query/shared/query.utils.js +19 -1
- package/esm2015/lib/search/index.js +1 -1
- package/esm2015/lib/search/search-bar/search-bar.component.js +2 -2
- package/esm2015/lib/search/search-bar/search-bar.module.js +1 -1
- package/esm2015/lib/search/search-bar/search-url-param.directive.js +1 -1
- package/esm2015/lib/search/search-results/search-results-add-button.component.js +2 -2
- package/esm2015/lib/search/search-results/search-results-item.component.js +1 -1
- package/esm2015/lib/search/search-results/search-results.component.js +1 -1
- package/esm2015/lib/search/search-results/search-results.module.js +1 -1
- package/esm2015/lib/search/search-selector/search-selector.component.js +1 -1
- package/esm2015/lib/search/search-selector/search-selector.module.js +1 -1
- package/esm2015/lib/search/search-settings/search-settings.module.js +1 -1
- package/esm2015/lib/search/shared/index.js +1 -1
- package/esm2015/lib/search/shared/search-pointer-summary.directive.js +17 -6
- package/esm2015/lib/search/shared/search-source-service.providers.js +1 -1
- package/esm2015/lib/search/shared/search-source.service.js +1 -1
- package/esm2015/lib/search/shared/search.enums.js +1 -1
- package/esm2015/lib/search/shared/search.interfaces.js +1 -1
- package/esm2015/lib/search/shared/search.utils.js +1 -1
- package/esm2015/lib/search/shared/sources/cadastre.js +9 -2
- package/esm2015/lib/search/shared/sources/coordinates.interfaces.js +1 -1
- package/esm2015/lib/search/shared/sources/coordinates.js +9 -2
- package/esm2015/lib/search/shared/sources/icherche.js +17 -4
- package/esm2015/lib/search/shared/sources/ilayer.interfaces.js +1 -1
- package/esm2015/lib/search/shared/sources/ilayer.js +9 -2
- package/esm2015/lib/search/shared/sources/index.js +1 -1
- package/esm2015/lib/search/shared/sources/nominatim.interfaces.js +1 -1
- package/esm2015/lib/search/shared/sources/nominatim.js +9 -2
- package/esm2015/lib/search/shared/sources/storedqueries.interfaces.js +1 -1
- package/esm2015/lib/search/shared/sources/storedqueries.js +20 -12
- package/esm2015/lib/toast/index.js +1 -1
- package/esm2015/lib/toast/toast.component.js +1 -1
- package/esm2015/lib/toast/toast.module.js +1 -1
- package/esm2015/lib/utils/commonVectorStyle.interface.js +1 -1
- package/esm2015/lib/utils/googleLinks.js +1 -1
- package/esm2015/lib/utils/osmLinks.js +1 -1
- package/esm2015/lib/wkt/index.js +1 -1
- package/esm2015/lib/wkt/shared/index.js +1 -1
- package/esm2015/lib/wkt/shared/wkt.service.js +15 -15
- package/esm2015/lib/wkt/wkt.module.js +1 -1
- package/esm2015/lib/workspace/index.js +1 -1
- package/esm2015/lib/workspace/shared/feature-workspace.js +1 -1
- package/esm2015/lib/workspace/shared/feature-workspace.service.js +1 -1
- package/esm2015/lib/workspace/shared/index.js +1 -1
- package/esm2015/lib/workspace/shared/wfs-workspace.js +1 -1
- package/esm2015/lib/workspace/shared/wfs-workspace.service.js +1 -1
- package/esm2015/lib/workspace/shared/wms-workspace.service.js +1 -1
- package/esm2015/lib/workspace/widgets/index.js +1 -1
- package/esm2015/lib/workspace/widgets/ogc-filter/ogc-filter.component.js +1 -1
- package/esm2015/lib/workspace/widgets/ogc-filter/ogc-filter.module.js +1 -1
- package/esm2015/lib/workspace/widgets/widgets.js +1 -1
- package/esm2015/lib/workspace/workspace-selector/workspace-selector.directive.js +1 -1
- package/esm2015/lib/workspace/workspace-selector/workspace-selector.module.js +1 -1
- package/esm2015/lib/workspace/workspace-updator/workspace-updator.directive.js +1 -1
- package/esm2015/lib/workspace/workspace-updator/workspace-updator.module.js +1 -1
- package/esm2015/lib/workspace/workspace.module.js +1 -1
- package/fesm2015/igo2-geo.js +3221 -2431
- package/fesm2015/igo2-geo.js.map +1 -1
- package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +1 -1
- package/lib/datasource/shared/datasources/datasource.interface.d.ts +1 -0
- package/lib/directions/directions-buttons/directions-buttons.component.d.ts +29 -0
- package/lib/directions/directions-buttons/index.d.ts +1 -0
- package/lib/directions/directions-inputs/directions-inputs.component.d.ts +45 -0
- package/lib/directions/directions-inputs/index.d.ts +1 -0
- package/lib/directions/directions-results/directions-results.component.d.ts +30 -0
- package/lib/directions/directions-results/index.d.ts +1 -0
- package/lib/directions/directions-sources/directions-source.d.ts +2 -2
- package/lib/directions/directions-sources/osrm-directions-source.d.ts +2 -2
- package/lib/directions/directions.component.d.ts +55 -0
- package/lib/directions/directions.module.d.ts +19 -16
- package/lib/directions/index.d.ts +4 -1
- package/lib/directions/shared/directions.enum.d.ts +16 -2
- package/lib/directions/shared/directions.interface.d.ts +53 -3
- package/lib/directions/shared/directions.service.d.ts +3 -3
- package/lib/directions/shared/directions.utils.d.ts +42 -0
- package/lib/directions/shared/index.d.ts +2 -0
- package/lib/directions/shared/store.d.ts +18 -0
- package/lib/draw/draw/draw-popup.component.d.ts +6 -2
- package/lib/feature/shared/strategies/selection.d.ts +1 -0
- package/lib/filter/filter.module.d.ts +1 -1
- package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +6 -1
- package/lib/filter/shared/ogc-filter.interface.d.ts +1 -0
- package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +7 -2
- package/lib/import-export/import-export/import-export.component.d.ts +2 -0
- package/lib/import-export/shared/export.interface.d.ts +2 -1
- package/lib/layer/layer-legend/layer-legend.component.d.ts +0 -1
- package/lib/layer/layer.module.d.ts +1 -1
- package/lib/layer/shared/layer.service.d.ts +1 -1
- package/lib/layer/shared/layers/layer.d.ts +1 -0
- package/lib/layer/shared/layers/tile-layer.d.ts +10 -1
- package/lib/layer/shared/layers/vector-layer.interface.d.ts +1 -0
- package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +1 -0
- package/lib/layer/shared/style.service.d.ts +4 -1
- package/lib/layer/shared/vector-style.interface.d.ts +9 -5
- package/lib/layer/utils/index.d.ts +1 -0
- package/lib/layer/utils/layer.utils.d.ts +2 -0
- package/lib/map/index.d.ts +1 -0
- package/lib/map/map.module.d.ts +8 -7
- package/lib/map/menu-button/index.d.ts +1 -0
- package/lib/map/menu-button/menu-button.component.d.ts +17 -0
- package/lib/map/shared/hover-feature.directive.d.ts +14 -5
- package/lib/map/shared/map.d.ts +2 -1
- package/lib/map/shared/map.interface.d.ts +1 -0
- package/lib/map/shared/map.utils.d.ts +1 -1
- package/lib/measure/measurer/measurer.component.d.ts +10 -0
- package/lib/measure/measurer/measurer.module.d.ts +4 -3
- package/lib/query/shared/query.interfaces.d.ts +2 -0
- package/lib/query/shared/query.service.d.ts +9 -1
- package/lib/query/shared/query.utils.d.ts +12 -0
- package/lib/search/shared/search-pointer-summary.directive.d.ts +6 -0
- package/lib/search/shared/search.interfaces.d.ts +1 -0
- package/ngcc.config.js +3 -3
- package/package.json +14 -13
- package/esm2015/lib/directions/directions-form/directions-form-binding.directive.js +0 -99
- package/esm2015/lib/directions/directions-form/directions-form.component.js +0 -1537
- package/esm2015/lib/directions/directions-form/directions-form.service.js +0 -26
- package/esm2015/lib/directions/directions-form/index.js +0 -4
- package/lib/directions/directions-form/directions-form-binding.directive.d.ts +0 -18
- package/lib/directions/directions-form/directions-form.component.d.ts +0 -137
- package/lib/directions/directions-form/directions-form.service.d.ts +0 -11
- package/lib/directions/directions-form/index.d.ts +0 -3
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { debounceTime } from 'rxjs/operators';
|
|
3
|
+
import { formatDistance, formatDuration, formatInstruction } from '../shared/directions.utils';
|
|
4
|
+
import olFeature from 'ol/Feature';
|
|
5
|
+
import OlGeoJSON from 'ol/format/GeoJSON';
|
|
6
|
+
import * as olGeom from 'ol/geom';
|
|
7
|
+
import { FEATURE } from '../../feature/shared/feature.enums';
|
|
8
|
+
import { DirectionType } from '../shared/directions.enum';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@igo2/core";
|
|
11
|
+
import * as i2 from "@angular/common";
|
|
12
|
+
import * as i3 from "@angular/material/list";
|
|
13
|
+
import * as i4 from "@angular/material/divider";
|
|
14
|
+
import * as i5 from "@angular/material/form-field";
|
|
15
|
+
import * as i6 from "@angular/material/select";
|
|
16
|
+
import * as i7 from "@angular/forms";
|
|
17
|
+
import * as i8 from "@angular/material/core";
|
|
18
|
+
import * as i9 from "@angular/material/icon";
|
|
19
|
+
import * as i10 from "@ngx-translate/core";
|
|
20
|
+
function DirectionsResultsComponent_div_0_mat_form_field_1_mat_option_3_Template(rf, ctx) { if (rf & 1) {
|
|
21
|
+
i0.ɵɵelementStart(0, "mat-option", 9);
|
|
22
|
+
i0.ɵɵtext(1);
|
|
23
|
+
i0.ɵɵelementEnd();
|
|
24
|
+
} if (rf & 2) {
|
|
25
|
+
const direction_r5 = ctx.$implicit;
|
|
26
|
+
const cnt_r6 = ctx.index;
|
|
27
|
+
const ctx_r4 = i0.ɵɵnextContext(3);
|
|
28
|
+
i0.ɵɵproperty("value", direction_r5);
|
|
29
|
+
i0.ɵɵadvance(1);
|
|
30
|
+
i0.ɵɵtextInterpolate3(" Option ", cnt_r6 + 1, " : ", ctx_r4.formatDistance(direction_r5.distance), " (", ctx_r4.formatDuration(direction_r5.duration), ") ");
|
|
31
|
+
} }
|
|
32
|
+
function DirectionsResultsComponent_div_0_mat_form_field_1_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
34
|
+
i0.ɵɵelementStart(0, "mat-form-field");
|
|
35
|
+
i0.ɵɵelementStart(1, "mat-select", 7);
|
|
36
|
+
i0.ɵɵlistener("selectionChange", function DirectionsResultsComponent_div_0_mat_form_field_1_Template_mat_select_selectionChange_1_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(2); return ctx_r7.changeRoute(); })("ngModelChange", function DirectionsResultsComponent_div_0_mat_form_field_1_Template_mat_select_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r9 = i0.ɵɵnextContext(2); return ctx_r9.activeDirection = $event; });
|
|
37
|
+
i0.ɵɵpipe(2, "translate");
|
|
38
|
+
i0.ɵɵtemplate(3, DirectionsResultsComponent_div_0_mat_form_field_1_mat_option_3_Template, 2, 4, "mat-option", 8);
|
|
39
|
+
i0.ɵɵelementEnd();
|
|
40
|
+
i0.ɵɵelementEnd();
|
|
41
|
+
} if (rf & 2) {
|
|
42
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
43
|
+
i0.ɵɵadvance(1);
|
|
44
|
+
i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(2, 3, "igo.geo.directionsForm.drivingOptions"));
|
|
45
|
+
i0.ɵɵproperty("ngModel", ctx_r1.activeDirection);
|
|
46
|
+
i0.ɵɵadvance(2);
|
|
47
|
+
i0.ɵɵproperty("ngForOf", ctx_r1.directions);
|
|
48
|
+
} }
|
|
49
|
+
function DirectionsResultsComponent_div_0_mat_divider_2_Template(rf, ctx) { if (rf & 1) {
|
|
50
|
+
i0.ɵɵelement(0, "mat-divider");
|
|
51
|
+
} }
|
|
52
|
+
function DirectionsResultsComponent_div_0_mat_list_item_8_Template(rf, ctx) { if (rf & 1) {
|
|
53
|
+
const _r13 = i0.ɵɵgetCurrentView();
|
|
54
|
+
i0.ɵɵelementStart(0, "mat-list-item", 10);
|
|
55
|
+
i0.ɵɵlistener("mouseenter", function DirectionsResultsComponent_div_0_mat_list_item_8_Template_mat_list_item_mouseenter_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r13); const step_r10 = restoredCtx.$implicit; const ctx_r12 = i0.ɵɵnextContext(2); return ctx_r12.showSegment(step_r10); })("click", function DirectionsResultsComponent_div_0_mat_list_item_8_Template_mat_list_item_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r13); const step_r10 = restoredCtx.$implicit; const ctx_r14 = i0.ɵɵnextContext(2); return ctx_r14.showSegment(step_r10, true); });
|
|
56
|
+
i0.ɵɵelement(1, "mat-icon", 11);
|
|
57
|
+
i0.ɵɵelementStart(2, "h4", 12);
|
|
58
|
+
i0.ɵɵtext(3);
|
|
59
|
+
i0.ɵɵelementEnd();
|
|
60
|
+
i0.ɵɵelementStart(4, "h4", 13);
|
|
61
|
+
i0.ɵɵtext(5);
|
|
62
|
+
i0.ɵɵelementEnd();
|
|
63
|
+
i0.ɵɵelementEnd();
|
|
64
|
+
} if (rf & 2) {
|
|
65
|
+
const step_r10 = ctx.$implicit;
|
|
66
|
+
const cnt_r11 = ctx.index;
|
|
67
|
+
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
68
|
+
i0.ɵɵadvance(1);
|
|
69
|
+
i0.ɵɵpropertyInterpolate("svgIcon", ctx_r3.formatStep(step_r10, cnt_r11).image);
|
|
70
|
+
i0.ɵɵproperty("ngClass", ctx_r3.formatStep(step_r10, cnt_r11).cssClass);
|
|
71
|
+
i0.ɵɵadvance(2);
|
|
72
|
+
i0.ɵɵtextInterpolate2("", cnt_r11 + 1, ". ", ctx_r3.formatStep(step_r10, cnt_r11).instruction, "");
|
|
73
|
+
i0.ɵɵadvance(2);
|
|
74
|
+
i0.ɵɵtextInterpolate(ctx_r3.formatDistance(step_r10.distance));
|
|
75
|
+
} }
|
|
76
|
+
function DirectionsResultsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
77
|
+
const _r16 = i0.ɵɵgetCurrentView();
|
|
78
|
+
i0.ɵɵelementStart(0, "div", 1);
|
|
79
|
+
i0.ɵɵtemplate(1, DirectionsResultsComponent_div_0_mat_form_field_1_Template, 4, 5, "mat-form-field", 2);
|
|
80
|
+
i0.ɵɵtemplate(2, DirectionsResultsComponent_div_0_mat_divider_2_Template, 1, 0, "mat-divider", 2);
|
|
81
|
+
i0.ɵɵelementStart(3, "mat-list", 3);
|
|
82
|
+
i0.ɵɵlistener("mouseleave", function DirectionsResultsComponent_div_0_Template_mat_list_mouseleave_3_listener() { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(); return ctx_r15.onStepsListBlur(); });
|
|
83
|
+
i0.ɵɵelementStart(4, "h2", 4);
|
|
84
|
+
i0.ɵɵtext(5);
|
|
85
|
+
i0.ɵɵelementEnd();
|
|
86
|
+
i0.ɵɵelementStart(6, "h2", 5);
|
|
87
|
+
i0.ɵɵtext(7);
|
|
88
|
+
i0.ɵɵelementEnd();
|
|
89
|
+
i0.ɵɵtemplate(8, DirectionsResultsComponent_div_0_mat_list_item_8_Template, 6, 5, "mat-list-item", 6);
|
|
90
|
+
i0.ɵɵelement(9, "mat-divider");
|
|
91
|
+
i0.ɵɵelementEnd();
|
|
92
|
+
i0.ɵɵelementEnd();
|
|
93
|
+
} if (rf & 2) {
|
|
94
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
95
|
+
i0.ɵɵadvance(1);
|
|
96
|
+
i0.ɵɵproperty("ngIf", ctx_r0.directions && ctx_r0.directions.length > 1);
|
|
97
|
+
i0.ɵɵadvance(1);
|
|
98
|
+
i0.ɵɵproperty("ngIf", ctx_r0.directions && ctx_r0.directions.length === 0);
|
|
99
|
+
i0.ɵɵadvance(3);
|
|
100
|
+
i0.ɵɵtextInterpolate(ctx_r0.activeDirection.title);
|
|
101
|
+
i0.ɵɵadvance(2);
|
|
102
|
+
i0.ɵɵtextInterpolate2("", ctx_r0.formatDistance(ctx_r0.activeDirection.distance), ", ", ctx_r0.formatDuration(ctx_r0.activeDirection.duration), "");
|
|
103
|
+
i0.ɵɵadvance(1);
|
|
104
|
+
i0.ɵɵproperty("ngForOf", ctx_r0.activeDirection.steps);
|
|
105
|
+
} }
|
|
106
|
+
export class DirectionsResultsComponent {
|
|
107
|
+
constructor(languageService, cdRef) {
|
|
108
|
+
this.languageService = languageService;
|
|
109
|
+
this.cdRef = cdRef;
|
|
110
|
+
}
|
|
111
|
+
ngOnInit() {
|
|
112
|
+
this.entities$$ = this.routesFeatureStore.entities$
|
|
113
|
+
.pipe(debounceTime(200))
|
|
114
|
+
.subscribe(entities => {
|
|
115
|
+
const activeFeatureWithDirection = entities.find(entity => entity.properties.active);
|
|
116
|
+
this.directions = entities.map(entity => entity.properties.direction);
|
|
117
|
+
if (activeFeatureWithDirection) {
|
|
118
|
+
this.activeDirection = activeFeatureWithDirection.properties.direction;
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
this.activeDirection = undefined;
|
|
122
|
+
}
|
|
123
|
+
this.cdRef.detectChanges();
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
ngOnDestroy() {
|
|
127
|
+
this.entities$$.unsubscribe();
|
|
128
|
+
}
|
|
129
|
+
changeRoute() {
|
|
130
|
+
this.routesFeatureStore.entities$.value.map(entity => entity.properties.active = !entity.properties.active);
|
|
131
|
+
this.routesFeatureStore.layer.ol.getSource().getFeatures().map(feature => feature.set('active', !feature.get('active')));
|
|
132
|
+
}
|
|
133
|
+
formatDistance(distance) {
|
|
134
|
+
return formatDistance(distance);
|
|
135
|
+
}
|
|
136
|
+
formatDuration(duration) {
|
|
137
|
+
return formatDuration(duration);
|
|
138
|
+
}
|
|
139
|
+
formatStep(step, cnt) {
|
|
140
|
+
return formatInstruction(step.maneuver.type, step.maneuver.modifier, step.name, step.maneuver.bearing_after, cnt, step.maneuver.exit, this.languageService, cnt === this.activeDirection.steps.length - 1);
|
|
141
|
+
}
|
|
142
|
+
onStepsListBlur() {
|
|
143
|
+
this.stepFeatureStore.clear();
|
|
144
|
+
}
|
|
145
|
+
showSegment(step, zoomToExtent = false) {
|
|
146
|
+
this.showRouteSegmentGeometry(step, zoomToExtent);
|
|
147
|
+
}
|
|
148
|
+
showRouteSegmentGeometry(step, zoomToExtent = false) {
|
|
149
|
+
const coordinates = step.geometry.coordinates;
|
|
150
|
+
const vertexId = 'vertex';
|
|
151
|
+
const geometry4326 = new olGeom.LineString(coordinates);
|
|
152
|
+
const geometryMapProjection = geometry4326.transform('EPSG:4326', this.stepFeatureStore.layer.map.projection);
|
|
153
|
+
const routeSegmentCoordinates = geometryMapProjection.getCoordinates();
|
|
154
|
+
const lastPoint = routeSegmentCoordinates[0];
|
|
155
|
+
const geometry = new olGeom.Point(lastPoint);
|
|
156
|
+
const feature = new olFeature({ geometry });
|
|
157
|
+
const geojsonGeom = new OlGeoJSON().writeGeometryObject(geometry, {
|
|
158
|
+
featureProjection: this.stepFeatureStore.layer.map.projection,
|
|
159
|
+
dataProjection: this.stepFeatureStore.layer.map.projection
|
|
160
|
+
});
|
|
161
|
+
const previousVertex = this.stepFeatureStore.get(vertexId);
|
|
162
|
+
const previousVertexRevision = previousVertex
|
|
163
|
+
? previousVertex.meta.revision
|
|
164
|
+
: 0;
|
|
165
|
+
const stepFeature = {
|
|
166
|
+
type: FEATURE,
|
|
167
|
+
geometry: geojsonGeom,
|
|
168
|
+
projection: this.stepFeatureStore.layer.map.projection,
|
|
169
|
+
properties: {
|
|
170
|
+
id: vertexId,
|
|
171
|
+
step,
|
|
172
|
+
type: DirectionType.Vertex
|
|
173
|
+
},
|
|
174
|
+
meta: {
|
|
175
|
+
id: vertexId,
|
|
176
|
+
revision: previousVertexRevision + 1
|
|
177
|
+
},
|
|
178
|
+
ol: feature
|
|
179
|
+
};
|
|
180
|
+
this.stepFeatureStore.update(stepFeature);
|
|
181
|
+
if (zoomToExtent) {
|
|
182
|
+
this.stepFeatureStore.layer.map.viewController.zoomToExtent(feature.getGeometry().getExtent());
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
DirectionsResultsComponent.ɵfac = function DirectionsResultsComponent_Factory(t) { return new (t || DirectionsResultsComponent)(i0.ɵɵdirectiveInject(i1.LanguageService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
187
|
+
DirectionsResultsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DirectionsResultsComponent, selectors: [["igo-directions-results"]], inputs: { routesFeatureStore: "routesFeatureStore", stepFeatureStore: "stepFeatureStore" }, decls: 1, vars: 1, consts: [["class", "igo-input-container", 4, "ngIf"], [1, "igo-input-container"], [4, "ngIf"], [3, "mouseleave"], ["mat-header", "", 1, "igo-route-title", "mat-typography"], ["mat-subheader", ""], ["class", "igo-steps", "igoListItem", "", 3, "mouseenter", "click", 4, "ngFor", "ngForOf"], [3, "placeholder", "ngModel", "selectionChange", "ngModelChange"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"], ["igoListItem", "", 1, "igo-steps", 3, "mouseenter", "click"], ["mat-list-icon", "", 3, "ngClass", "svgIcon"], ["mat-line", ""], ["mat-line", "", 1, "right"]], template: function DirectionsResultsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
188
|
+
i0.ɵɵtemplate(0, DirectionsResultsComponent_div_0_Template, 10, 6, "div", 0);
|
|
189
|
+
} if (rf & 2) {
|
|
190
|
+
i0.ɵɵproperty("ngIf", ctx.directions && ctx.activeDirection);
|
|
191
|
+
} }, directives: [i2.NgIf, i3.MatList, i3.MatListSubheaderCssMatStyler, i2.NgForOf, i4.MatDivider, i5.MatFormField, i6.MatSelect, i7.NgControlStatus, i7.NgModel, i8.MatOption, i3.MatListItem, i9.MatIcon, i3.MatListIconCssMatStyler, i2.NgClass, i8.MatLine], pipes: [i10.TranslatePipe], styles: [".igo-input-container[_ngcontent-%COMP%]{width:100%;padding:20px 10px}.igo-input-container[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{width:70%}.igo-route-title[_ngcontent-%COMP%]{font-weight:bold}.igo-steps[_ngcontent-%COMP%]{cursor:pointer}.mat-line[_ngcontent-%COMP%]{word-wrap:break-word!important;white-space:pre-wrap!important}.mat-line.right[_ngcontent-%COMP%]{text-align:right}.rotate-90[_ngcontent-%COMP%]{transform:rotate(90deg)}.rotate-45[_ngcontent-%COMP%]{transform:rotate(45deg)}.rotate-270[_ngcontent-%COMP%]{transform:rotate(270deg)}.rotate-250[_ngcontent-%COMP%]{transform:rotate(250deg)}.rotate-290[_ngcontent-%COMP%]{transform:rotate(290deg)}.icon-flipped[_ngcontent-%COMP%]{transform:scaleY(-1)}"] });
|
|
192
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DirectionsResultsComponent, [{
|
|
193
|
+
type: Component,
|
|
194
|
+
args: [{
|
|
195
|
+
selector: 'igo-directions-results',
|
|
196
|
+
templateUrl: './directions-results.component.html',
|
|
197
|
+
styleUrls: ['./directions-results.component.scss']
|
|
198
|
+
}]
|
|
199
|
+
}], function () { return [{ type: i1.LanguageService }, { type: i0.ChangeDetectorRef }]; }, { routesFeatureStore: [{
|
|
200
|
+
type: Input
|
|
201
|
+
}], stepFeatureStore: [{
|
|
202
|
+
type: Input
|
|
203
|
+
}] }); })();
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1yZXN1bHRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RpcmVjdGlvbnMvZGlyZWN0aW9ucy1yZXN1bHRzL2RpcmVjdGlvbnMtcmVzdWx0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtcmVzdWx0cy9kaXJlY3Rpb25zLXJlc3VsdHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUd2RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUcvRixPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDbkMsT0FBTyxTQUFTLE1BQU0sbUJBQW1CLENBQUM7QUFDMUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFHbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ1g5QyxxQ0FBdUY7SUFDbkYsWUFFSjtJQUFBLGlCQUFhOzs7OztJQUhzRCxvQ0FBbUI7SUFDbEYsZUFFSjtJQUZJLDRKQUVKOzs7O0lBTlIsc0NBQTREO0lBQ3hELHFDQUNvRTtJQUFoRSx5T0FBaUMseU9BQUE7O0lBQ2pDLGdIQUdhO0lBQ2pCLGlCQUFhO0lBQ2pCLGlCQUFpQjs7O0lBUEQsZUFBcUU7SUFBckUsc0dBQXFFO0lBQzNDLGdEQUE2QjtJQUM3QixlQUFlO0lBQWYsMkNBQWU7OztJQU96RCw4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QUFDLFNBQVMsRUFBc0MsQ0FBQyxDQUFDO1NBQ3BJO0lBQ0gsQ0FBQzs7b0dBcEhVLDBCQUEwQjs2RUFBMUIsMEJBQTBCO1FDdEJ2Qyw0RUErQk07O1FBL0I0Qiw0REFBbUM7O3VGRHNCeEQsMEJBQTBCO2NBTHRDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxXQUFXLEVBQUUscUNBQXFDO2dCQUNsRCxTQUFTLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQzthQUNuRDtrR0FRVSxrQkFBa0I7a0JBQTFCLEtBQUs7WUFDRyxnQkFBZ0I7a0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IERpcmVjdGlvbiwgRmVhdHVyZVdpdGhTdGVwLCBJZ29TdGVwIH0gZnJvbSAnLi4vc2hhcmVkL2RpcmVjdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IGZvcm1hdERpc3RhbmNlLCBmb3JtYXREdXJhdGlvbiwgZm9ybWF0SW5zdHJ1Y3Rpb24gfSBmcm9tICcuLi9zaGFyZWQvZGlyZWN0aW9ucy51dGlscyc7XG5pbXBvcnQgeyBSb3V0ZXNGZWF0dXJlU3RvcmUsIFN0ZXBGZWF0dXJlU3RvcmUgfSBmcm9tICcuLi9zaGFyZWQvc3RvcmUnO1xuXG5pbXBvcnQgb2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xuaW1wb3J0IE9sR2VvSlNPTiBmcm9tICdvbC9mb3JtYXQvR2VvSlNPTic7XG5pbXBvcnQgKiBhcyBvbEdlb20gZnJvbSAnb2wvZ2VvbSc7XG5cbmltcG9ydCB7IEZlYXR1cmVHZW9tZXRyeSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBGRUFUVVJFIH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5lbnVtcyc7XG5pbXBvcnQgeyBEaXJlY3Rpb25UeXBlIH0gZnJvbSAnLi4vc2hhcmVkL2RpcmVjdGlvbnMuZW51bSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1kaXJlY3Rpb25zLXJlc3VsdHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGlyZWN0aW9ucy1yZXN1bHRzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGlyZWN0aW9ucy1yZXN1bHRzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRGlyZWN0aW9uc1Jlc3VsdHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIGFjdGl2ZURpcmVjdGlvbjogRGlyZWN0aW9uO1xuICBwdWJsaWMgZGlyZWN0aW9uczogRGlyZWN0aW9uW107XG5cbiAgcHJpdmF0ZSBlbnRpdGllcyQkOiBTdWJzY3JpcHRpb247XG5cbiAgQElucHV0KCkgcm91dGVzRmVhdHVyZVN0b3JlOiBSb3V0ZXNGZWF0dXJlU3RvcmU7XG4gIEBJbnB1dCgpIHN0ZXBGZWF0dXJlU3RvcmU6IFN0ZXBGZWF0dXJlU3RvcmU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZW50aXRpZXMkJCA9IHRoaXMucm91dGVzRmVhdHVyZVN0b3JlLmVudGl0aWVzJFxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDIwMCkpXG4gICAgICAuc3Vic2NyaWJlKGVudGl0aWVzID0+IHtcbiAgICAgICAgY29uc3QgYWN0aXZlRmVhdHVyZVdpdGhEaXJlY3Rpb24gPSBlbnRpdGllcy5maW5kKGVudGl0eSA9PiBlbnRpdHkucHJvcGVydGllcy5hY3RpdmUpO1xuICAgICAgICB0aGlzLmRpcmVjdGlvbnMgPSBlbnRpdGllcy5tYXAoZW50aXR5ID0+IGVudGl0eS5wcm9wZXJ0aWVzLmRpcmVjdGlvbik7XG4gICAgICAgIGlmIChhY3RpdmVGZWF0dXJlV2l0aERpcmVjdGlvbikge1xuICAgICAgICAgIHRoaXMuYWN0aXZlRGlyZWN0aW9uID0gYWN0aXZlRmVhdHVyZVdpdGhEaXJlY3Rpb24ucHJvcGVydGllcy5kaXJlY3Rpb247XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hY3RpdmVEaXJlY3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZW50aXRpZXMkJC51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgY2hhbmdlUm91dGUoKSB7XG4gICAgdGhpcy5yb3V0ZXNGZWF0dXJlU3RvcmUuZW50aXRpZXMkLnZhbHVlLm1hcChlbnRpdHkgPT5cbiAgICAgIGVudGl0eS5wcm9wZXJ0aWVzLmFjdGl2ZSA9ICFlbnRpdHkucHJvcGVydGllcy5hY3RpdmVcbiAgICApO1xuICAgIHRoaXMucm91dGVzRmVhdHVyZVN0b3JlLmxheWVyLm9sLmdldFNvdXJjZSgpLmdldEZlYXR1cmVzKCkubWFwKGZlYXR1cmUgPT5cbiAgICAgIGZlYXR1cmUuc2V0KCdhY3RpdmUnLCAhZmVhdHVyZS5nZXQoJ2FjdGl2ZScpKVxuICAgICk7XG4gIH1cblxuICBmb3JtYXREaXN0YW5jZShkaXN0YW5jZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZm9ybWF0RGlzdGFuY2UoZGlzdGFuY2UpO1xuICB9XG5cbiAgZm9ybWF0RHVyYXRpb24oZHVyYXRpb246IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGZvcm1hdER1cmF0aW9uKGR1cmF0aW9uKTtcbiAgfVxuXG4gIGZvcm1hdFN0ZXAoc3RlcCwgY250KSB7XG4gICAgcmV0dXJuIGZvcm1hdEluc3RydWN0aW9uKFxuICAgICAgc3RlcC5tYW5ldXZlci50eXBlLFxuICAgICAgc3RlcC5tYW5ldXZlci5tb2RpZmllcixcbiAgICAgIHN0ZXAubmFtZSxcbiAgICAgIHN0ZXAubWFuZXV2ZXIuYmVhcmluZ19hZnRlcixcbiAgICAgIGNudCxcbiAgICAgIHN0ZXAubWFuZXV2ZXIuZXhpdCxcbiAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLFxuICAgICAgY250ID09PSB0aGlzLmFjdGl2ZURpcmVjdGlvbi5zdGVwcy5sZW5ndGggLSAxXG4gICAgKTtcbiAgfVxuXG4gIG9uU3RlcHNMaXN0Qmx1cigpIHtcbiAgICB0aGlzLnN0ZXBGZWF0dXJlU3RvcmUuY2xlYXIoKTtcbiAgfVxuXG4gIHNob3dTZWdtZW50KHN0ZXA6IElnb1N0ZXAsIHpvb21Ub0V4dGVudCA9IGZhbHNlKSB7XG4gICAgdGhpcy5zaG93Um91dGVTZWdtZW50R2VvbWV0cnkoc3RlcCwgem9vbVRvRXh0ZW50KTtcbiAgfVxuXG4gIHNob3dSb3V0ZVNlZ21lbnRHZW9tZXRyeShzdGVwOiBJZ29TdGVwLCB6b29tVG9FeHRlbnQgPSBmYWxzZSkge1xuXG4gICAgY29uc3QgY29vcmRpbmF0ZXMgPSBzdGVwLmdlb21ldHJ5LmNvb3JkaW5hdGVzO1xuICAgIGNvbnN0IHZlcnRleElkID0gJ3ZlcnRleCc7XG4gICAgY29uc3QgZ2VvbWV0cnk0MzI2ID0gbmV3IG9sR2VvbS5MaW5lU3RyaW5nKGNvb3JkaW5hdGVzKTtcbiAgICBjb25zdCBnZW9tZXRyeU1hcFByb2plY3Rpb24gPSBnZW9tZXRyeTQzMjYudHJhbnNmb3JtKFxuICAgICAgJ0VQU0c6NDMyNicsXG4gICAgICB0aGlzLnN0ZXBGZWF0dXJlU3RvcmUubGF5ZXIubWFwLnByb2plY3Rpb25cbiAgICApO1xuICAgIGNvbnN0IHJvdXRlU2VnbWVudENvb3JkaW5hdGVzID0gKGdlb21ldHJ5TWFwUHJvamVjdGlvbiBhcyBhbnkpLmdldENvb3JkaW5hdGVzKCk7XG4gICAgY29uc3QgbGFzdFBvaW50ID0gcm91dGVTZWdtZW50Q29vcmRpbmF0ZXNbMF07XG5cbiAgICBjb25zdCBnZW9tZXRyeSA9IG5ldyBvbEdlb20uUG9pbnQobGFzdFBvaW50KTtcbiAgICBjb25zdCBmZWF0dXJlID0gbmV3IG9sRmVhdHVyZSh7IGdlb21ldHJ5IH0pO1xuXG4gICAgY29uc3QgZ2VvanNvbkdlb20gPSBuZXcgT2xHZW9KU09OKCkud3JpdGVHZW9tZXRyeU9iamVjdChnZW9tZXRyeSwge1xuICAgICAgZmVhdHVyZVByb2plY3Rpb246IHRoaXMuc3RlcEZlYXR1cmVTdG9yZS5sYXllci5tYXAucHJvamVjdGlvbixcbiAgICAgIGRhdGFQcm9qZWN0aW9uOiB0aGlzLnN0ZXBGZWF0dXJlU3RvcmUubGF5ZXIubWFwLnByb2plY3Rpb25cbiAgICB9KSBhcyBGZWF0dXJlR2VvbWV0cnk7XG5cbiAgICBjb25zdCBwcmV2aW91c1ZlcnRleCA9IHRoaXMuc3RlcEZlYXR1cmVTdG9yZS5nZXQodmVydGV4SWQpO1xuICAgIGNvbnN0IHByZXZpb3VzVmVydGV4UmV2aXNpb24gPSBwcmV2aW91c1ZlcnRleFxuICAgICAgPyBwcmV2aW91c1ZlcnRleC5tZXRhLnJldmlzaW9uXG4gICAgICA6IDA7XG5cbiAgICBjb25zdCBzdGVwRmVhdHVyZTogRmVhdHVyZVdpdGhTdGVwID0ge1xuICAgICAgdHlwZTogRkVBVFVSRSxcbiAgICAgIGdlb21ldHJ5OiBnZW9qc29uR2VvbSxcbiAgICAgIHByb2plY3Rpb246IHRoaXMuc3RlcEZlYXR1cmVTdG9yZS5sYXllci5tYXAucHJvamVjdGlvbixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgaWQ6IHZlcnRleElkLFxuICAgICAgICBzdGVwLFxuICAgICAgICB0eXBlOiBEaXJlY3Rpb25UeXBlLlZlcnRleFxuICAgICAgfSxcbiAgICAgIG1ldGE6IHtcbiAgICAgICAgaWQ6IHZlcnRleElkLFxuICAgICAgICByZXZpc2lvbjogcHJldmlvdXNWZXJ0ZXhSZXZpc2lvbiArIDFcbiAgICAgIH0sXG4gICAgICBvbDogZmVhdHVyZVxuICAgIH07XG4gICAgdGhpcy5zdGVwRmVhdHVyZVN0b3JlLnVwZGF0ZShzdGVwRmVhdHVyZSk7XG4gICAgaWYgKHpvb21Ub0V4dGVudCkge1xuICAgICAgdGhpcy5zdGVwRmVhdHVyZVN0b3JlLmxheWVyLm1hcC52aWV3Q29udHJvbGxlci56b29tVG9FeHRlbnQoZmVhdHVyZS5nZXRHZW9tZXRyeSgpLmdldEV4dGVudCgpIGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdKTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImlnby1pbnB1dC1jb250YWluZXJcIiAqbmdJZj1cImRpcmVjdGlvbnMgJiYgYWN0aXZlRGlyZWN0aW9uXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiZGlyZWN0aW9ucyAmJiBkaXJlY3Rpb25zLmxlbmd0aCA+IDFcIj5cbiAgICAgICAgPG1hdC1zZWxlY3QgcGxhY2Vob2xkZXI9XCJ7eydpZ28uZ2VvLmRpcmVjdGlvbnNGb3JtLmRyaXZpbmdPcHRpb25zJyB8IHRyYW5zbGF0ZX19XCJcbiAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwiY2hhbmdlUm91dGUoKVwiIFsobmdNb2RlbCldPVwiYWN0aXZlRGlyZWN0aW9uXCI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgZGlyZWN0aW9uIG9mIGRpcmVjdGlvbnM7IGxldCBjbnQgPSBpbmRleDtcIiBbdmFsdWVdPVwiZGlyZWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgT3B0aW9uIHt7Y250ICsgMX19IDoge3tmb3JtYXREaXN0YW5jZShkaXJlY3Rpb24uZGlzdGFuY2UpfX1cbiAgICAgICAgICAgICAgICAoe3tmb3JtYXREdXJhdGlvbihkaXJlY3Rpb24uZHVyYXRpb24pfX0pXG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwiZGlyZWN0aW9ucyAmJiBkaXJlY3Rpb25zLmxlbmd0aCA9PT0gMFwiPjwvbWF0LWRpdmlkZXI+XG5cbiAgICA8bWF0LWxpc3QgKG1vdXNlbGVhdmUpPVwib25TdGVwc0xpc3RCbHVyKClcIj5cbiAgICAgICAgPGgyIG1hdC1oZWFkZXIgY2xhc3M9XCJpZ28tcm91dGUtdGl0bGUgbWF0LXR5cG9ncmFwaHlcIj57e2FjdGl2ZURpcmVjdGlvbi50aXRsZX19PC9oMj5cbiAgICAgICAgPGgyIG1hdC1zdWJoZWFkZXI+e3tmb3JtYXREaXN0YW5jZShhY3RpdmVEaXJlY3Rpb24uZGlzdGFuY2UpfX0sIHt7Zm9ybWF0RHVyYXRpb24oYWN0aXZlRGlyZWN0aW9uLmR1cmF0aW9uKX19PC9oMj5cbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gY2xhc3M9XCJpZ28tc3RlcHNcIiBcbiAgICAgICAgICAgIChtb3VzZWVudGVyKT1cInNob3dTZWdtZW50KHN0ZXApXCIgXG4gICAgICAgICAgICAoY2xpY2spPVwic2hvd1NlZ21lbnQoc3RlcCx0cnVlKVwiIFxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHN0ZXAgb2YgYWN0aXZlRGlyZWN0aW9uLnN0ZXBzOyBsZXQgY250ID0gaW5kZXg7XCIgaWdvTGlzdEl0ZW0+XG4gICAgICAgICAgICA8bWF0LWljb24gW25nQ2xhc3NdPVwiZm9ybWF0U3RlcChzdGVwLGNudCkuY3NzQ2xhc3NcIiBtYXQtbGlzdC1pY29uIHN2Z0ljb249XCJ7e2Zvcm1hdFN0ZXAoc3RlcCxjbnQpLmltYWdlfX1cIj5cbiAgICAgICAgICAgIDwvbWF0LWljb24+XG5cbiAgICAgICAgICAgIDxoNCBtYXQtbGluZT57e2NudCArMX19LiB7e2Zvcm1hdFN0ZXAoc3RlcCxjbnQpLmluc3RydWN0aW9ufX08L2g0PlxuICAgICAgICAgICAgPGg0IG1hdC1saW5lIGNsYXNzPVwicmlnaHRcIj57e2Zvcm1hdERpc3RhbmNlKHN0ZXAuZGlzdGFuY2UpfX08L2g0PlxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG5cbiAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG5cbiAgICA8L21hdC1saXN0PlxuXG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './directions-results.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtcmVzdWx0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLXJlc3VsdHMuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1zb3VyY2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGlyZWN0aW9ucy9kaXJlY3Rpb25zLXNvdXJjZXMvZGlyZWN0aW9ucy1zb3VyY2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIERpcmVjdGlvbnNTb3VyY2VPcHRpb25zIHtcbiAgdXJsPzogc3RyaW5nO1xuICByZXZlcnNlVXJsPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGRpc3RhbmNlPzogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBEaXJlY3Rpb25zU291cmNlc09wdGlvbnMge1xuICBvc3JtPzogRGlyZWN0aW9uc1NvdXJjZU9wdGlvbnM7XG59XG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export class DirectionsSource {
|
|
2
2
|
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtc291cmNlcy9kaXJlY3Rpb25zLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQWdCLGdCQUFnQjtDQUlyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuXG5pbXBvcnQgeyBEaXJlY3Rpb24sIERpcmVjdGlvbk9wdGlvbnMgfSBmcm9tICcuLi9zaGFyZWQvZGlyZWN0aW9ucy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGlyZWN0aW9uc1NvdXJjZSB7XG4gIGFic3RyYWN0IGVuYWJsZWQ6IGJvb2xlYW47XG4gIGFic3RyYWN0IGdldE5hbWUoKTogc3RyaW5nO1xuICBhYnN0cmFjdCByb3V0ZShjb29yZGluYXRlczogW251bWJlciwgbnVtYmVyXVtdLCBkaXJlY3Rpb25zT3B0aW9uczogRGlyZWN0aW9uT3B0aW9ucyk6IE9ic2VydmFibGU8RGlyZWN0aW9uW10+O1xufVxuIl19
|
|
@@ -13,4 +13,4 @@ export function provideOsrmDirectionsSource() {
|
|
|
13
13
|
deps: [HttpClient, ConfigService]
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1zb3VyY2UucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtc291cmNlcy9kaXJlY3Rpb25zLXNvdXJjZS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRSxNQUFNLFVBQVUsNEJBQTRCLENBQzFDLElBQWdCLEVBQ2hCLE1BQXFCO0lBRXJCLE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUVELE1BQU0sVUFBVSwyQkFBMkI7SUFDekMsT0FBTztRQUNMLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsVUFBVSxFQUFFLDRCQUE0QjtRQUN4QyxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUM7S0FDbEMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5cbmltcG9ydCB7IERpcmVjdGlvbnNTb3VyY2UgfSBmcm9tICcuL2RpcmVjdGlvbnMtc291cmNlJztcbmltcG9ydCB7IE9zcm1EaXJlY3Rpb25zU291cmNlIH0gZnJvbSAnLi9vc3JtLWRpcmVjdGlvbnMtc291cmNlJztcblxuZXhwb3J0IGZ1bmN0aW9uIG9zcm1EaXJlY3Rpb25zU291cmNlc0ZhY3RvcnkoXG4gIGh0dHA6IEh0dHBDbGllbnQsXG4gIGNvbmZpZzogQ29uZmlnU2VydmljZVxuKSB7XG4gIHJldHVybiBuZXcgT3NybURpcmVjdGlvbnNTb3VyY2UoaHR0cCwgY29uZmlnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVPc3JtRGlyZWN0aW9uc1NvdXJjZSgpIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBEaXJlY3Rpb25zU291cmNlLFxuICAgIHVzZUZhY3Rvcnk6IG9zcm1EaXJlY3Rpb25zU291cmNlc0ZhY3RvcnksXG4gICAgbXVsdGk6IHRydWUsXG4gICAgZGVwczogW0h0dHBDbGllbnQsIENvbmZpZ1NlcnZpY2VdXG4gIH07XG59XG4iXX0=
|
|
@@ -2,4 +2,4 @@ export * from './directions-source';
|
|
|
2
2
|
export * from './directions-source.interface';
|
|
3
3
|
export * from './osrm-directions-source';
|
|
4
4
|
export * from './directions-source.provider';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kaXJlY3Rpb25zL2RpcmVjdGlvbnMtc291cmNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLXNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGlvbnMtc291cmNlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL29zcm0tZGlyZWN0aW9ucy1zb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb25zLXNvdXJjZS5wcm92aWRlcic7XG4iXX0=
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
1
2
|
import { Injectable } from '@angular/core';
|
|
2
3
|
import { HttpParams } from '@angular/common/http';
|
|
3
4
|
import { map } from 'rxjs/operators';
|
|
5
|
+
import { Cacheable } from 'ts-cacheable';
|
|
4
6
|
import { uuid } from '@igo2/utils';
|
|
5
7
|
import { DirectionsFormat, SourceDirectionsType } from '../shared/directions.enum';
|
|
6
8
|
import { DirectionsSource } from './directions-source';
|
|
@@ -45,12 +47,14 @@ export class OsrmDirectionsSource extends DirectionsSource {
|
|
|
45
47
|
directionsOptions.steps = directionsOptions.steps !== undefined ? directionsOptions.steps : true;
|
|
46
48
|
directionsOptions.geometries = directionsOptions.geometries !== undefined ? directionsOptions.geometries : 'geojson';
|
|
47
49
|
directionsOptions.overview = directionsOptions.overview !== undefined ? directionsOptions.overview : false;
|
|
50
|
+
directionsOptions.continue_straight = directionsOptions.continue_straight !== undefined ? directionsOptions.continue_straight : false;
|
|
48
51
|
return new HttpParams({
|
|
49
52
|
fromObject: {
|
|
50
53
|
alternatives: directionsOptions.alternatives ? 'true' : 'false',
|
|
51
54
|
overview: directionsOptions.overview ? 'simplified' : 'full',
|
|
52
55
|
steps: directionsOptions.steps ? 'true' : 'false',
|
|
53
56
|
geometries: directionsOptions.geometries ? directionsOptions.geometries : 'geojson',
|
|
57
|
+
continue_straight: directionsOptions.continue_straight ? 'true' : 'false',
|
|
54
58
|
}
|
|
55
59
|
});
|
|
56
60
|
}
|
|
@@ -84,7 +88,12 @@ export class OsrmDirectionsSource extends DirectionsSource {
|
|
|
84
88
|
OsrmDirectionsSource._name = 'OSRM Québec';
|
|
85
89
|
OsrmDirectionsSource.ɵfac = function OsrmDirectionsSource_Factory(t) { return new (t || OsrmDirectionsSource)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigService)); };
|
|
86
90
|
OsrmDirectionsSource.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: OsrmDirectionsSource, factory: OsrmDirectionsSource.ɵfac });
|
|
91
|
+
__decorate([
|
|
92
|
+
Cacheable({
|
|
93
|
+
maxCacheCount: 20
|
|
94
|
+
})
|
|
95
|
+
], OsrmDirectionsSource.prototype, "route", null);
|
|
87
96
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OsrmDirectionsSource, [{
|
|
88
97
|
type: Injectable
|
|
89
|
-
}], function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; },
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3NybS1kaXJlY3Rpb25zLXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RpcmVjdGlvbnMvZGlyZWN0aW9ucy1zb3VyY2VzL29zcm0tZGlyZWN0aW9ucy1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJbkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFJdkQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUFnQjtJQVl4RCxZQUFvQixJQUFnQixFQUFVLE1BQXFCO1FBQ2pFLEtBQUssRUFBRSxDQUFDO1FBRFUsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQWU7UUFKM0Qsa0JBQWEsR0FDbkIscUVBQXFFLENBQUM7UUFLdEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUQsQ0FBQztJQWZELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxL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TztZQUNMLEVBQUUsRUFBRSxJQUFJLEVBQUU7WUFDVixLQUFLLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87WUFDdkMsTUFBTSxFQUFFLG9CQUFvQixDQUFDLEtBQUs7WUFDbEMsVUFBVSxFQUFFLG9CQUFvQixDQUFDLEtBQUs7WUFDdEMsS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNLEVBQUUsZ0JBQWdCLENBQUMsT0FBTztZQUNoQyxJQUFJLEVBQUUsWUFBWTtZQUNsQixVQUFVLEVBQUUsV0FBVztZQUN2QixTQUFTO1lBQ1QsUUFBUSxFQUFFLGdCQUFnQixDQUFDLFFBQVE7WUFDbkMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLFFBQVE7WUFDbkMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLFFBQVE7WUFDbkMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLElBQUk7WUFDM0IsS0FBSyxFQUFFLE9BQU87WUFDZCxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsTUFBTTtZQUMvQixXQUFXLEVBQUUsZ0JBQWdCLENBQUMsV0FBVztTQUMxQyxDQUFDO0lBQ0osQ0FBQzs7QUExRU0sMEJBQUssR0FBRyxhQUFhLENBQUM7d0ZBUGxCLG9CQUFvQjswRUFBcEIsb0JBQW9CLFdBQXBCLG9CQUFvQjt1RkFBcEIsb0JBQW9CO2NBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgTWVzc2FnZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRGlyZWN0aW9ucywgRGlyZWN0aW9uc09wdGlvbnMgfSBmcm9tICcuLi9zaGFyZWQvZGlyZWN0aW9ucy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb25zRm9ybWF0LCBTb3VyY2VEaXJlY3Rpb25zVHlwZSB9IGZyb20gJy4uL3NoYXJlZC9kaXJlY3Rpb25zLmVudW0nO1xyXG5cclxuaW1wb3J0IHsgRGlyZWN0aW9uc1NvdXJjZSB9IGZyb20gJy4vZGlyZWN0aW9ucy1zb3VyY2UnO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb25zU291cmNlT3B0aW9ucyB9IGZyb20gJy4vZGlyZWN0aW9ucy1zb3VyY2UuaW50ZXJmYWNlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE9zcm1EaXJlY3Rpb25zU291cmNlIGV4dGVuZHMgRGlyZWN0aW9uc1NvdXJjZSB7XHJcbiAgZ2V0IGVuYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmVuYWJsZWQgIT09IGZhbHNlO1xyXG4gIH1cclxuICBzZXQgZW5hYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5vcHRpb25zLmVuYWJsZWQgPSB2YWx1ZTtcclxuICB9XHJcbiAgc3RhdGljIF9uYW1lID0gJ09TUk0gUXXDqWJlYyc7XHJcbiAgcHJpdmF0ZSBkaXJlY3Rpb25zVXJsID1cclxuICAgICdodHRwczovL2dlb2VnbC5tc3AuZ291di5xYy5jYS9zZXJ2aWNlcy9pdGluZXJhaXJlL3JvdXRlL3YxL2RyaXZpbmcvJztcclxuICBwcml2YXRlIG9wdGlvbnM6IERpcmVjdGlvbnNTb3VyY2VPcHRpb25zO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5jb25maWcuZ2V0Q29uZmlnKCdkaXJlY3Rpb25zU291cmNlcy5vc3JtJykgfHwge307XHJcbiAgICB0aGlzLmRpcmVjdGlvbnNVcmwgPSB0aGlzLm9wdGlvbnMudXJsIHx8IHRoaXMuZGlyZWN0aW9uc1VybDtcclxuICB9XHJcblxyXG4gIGdldE5hbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBPc3JtRGlyZWN0aW9uc1NvdXJjZS5fbmFtZTtcclxuICB9XHJcblxyXG4gIHJvdXRlKGNvb3JkaW5hdGVzOiBbbnVtYmVyLCBudW1iZXJdW10sIGRpcmVjdGlvbnNPcHRpb25zOiBEaXJlY3Rpb25zT3B0aW9ucyA9IHt9KTogT2JzZXJ2YWJsZTxEaXJlY3Rpb25zW10+IHtcclxuICAgIGNvbnN0IGRpcmVjdGlvbnNQYXJhbXMgPSB0aGlzLmdldFJvdXRlUGFyYW1zKGRpcmVjdGlvbnNPcHRpb25zKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldDxKU09OW10+KHRoaXMuZGlyZWN0aW9uc1VybCArIGNvb3JkaW5hdGVzLmpvaW4oJzsnKSwge1xyXG4gICAgICAgIHBhcmFtczogZGlyZWN0aW9uc1BhcmFtc1xyXG4gICAgICB9KVxyXG4gICAgICAucGlwZShtYXAocmVzID0+IHRoaXMuZXh0cmFjdFJvdXRlc0RhdGEocmVzKSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBleHRyYWN0Um91dGVzRGF0YShyZXNwb25zZSk6IERpcmVjdGlvbnNbXSB7XHJcbiAgICBjb25zdCByb3V0ZVJlc3BvbnNlID0gW107XHJcbiAgICByZXNwb25zZS5yb3V0ZXMuZm9yRWFjaChyb3V0ZSA9PiB7XHJcbiAgICAgIHJvdXRlUmVzcG9uc2UucHVzaCh0aGlzLmZvcm1hdFJvdXRlKHJvdXRlLCByZXNwb25zZS53YXlwb2ludHMpKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHJvdXRlUmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFJvdXRlUGFyYW1zKGRpcmVjdGlvbnNPcHRpb25zOiBEaXJlY3Rpb25zT3B0aW9ucyA9IHt9KTogSHR0cFBhcmFtcyB7XHJcblxyXG4gICAgZGlyZWN0aW9uc09wdGlvbnMuYWx0ZXJuYXRpdmVzID0gZGlyZWN0aW9uc09wdGlvbnMuYWx0ZXJuYXRpdmVzICE9PSB1bmRlZmluZWQgPyBkaXJlY3Rpb25zT3B0aW9ucy5hbHRlcm5hdGl2ZXMgOiB0cnVlO1xyXG4gICAgZGlyZWN0aW9uc09wdGlvbnMuc3RlcHMgPSBkaXJlY3Rpb25zT3B0aW9ucy5zdGVwcyAhPT0gdW5kZWZpbmVkICA/IGRpcmVjdGlvbnNPcHRpb25zLnN0ZXBzIDogdHJ1ZTtcclxuICAgIGRpcmVjdGlvbnNPcHRpb25zLmdlb21ldHJpZXMgPSBkaXJlY3Rpb25zT3B0aW9ucy5nZW9tZXRyaWVzICE9PSB1bmRlZmluZWQgID8gZGlyZWN0aW9uc09wdGlvbnMuZ2VvbWV0cmllcyA6ICdnZW9qc29uJztcclxuICAgIGRpcmVjdGlvbnNPcHRpb25zLm92ZXJ2aWV3ID0gZGlyZWN0aW9uc09wdGlvbnMub3ZlcnZpZXcgIT09IHVuZGVmaW5lZCAgPyBkaXJlY3Rpb25zT3B0aW9ucy5vdmVydmlldyA6IGZhbHNlO1xyXG5cclxuICAgIHJldHVybiBuZXcgSHR0cFBhcmFtcyh7XHJcbiAgICAgIGZyb21PYmplY3Q6IHtcclxuICAgICAgICBhbHRlcm5hdGl2ZXM6IGRpcmVjdGlvbnNPcHRpb25zLmFsdGVybmF0aXZlcyA/ICd0cnVlJyA6ICdmYWxzZScsXHJcbiAgICAgICAgb3ZlcnZpZXc6IGRpcmVjdGlvbnNPcHRpb25zLm92ZXJ2aWV3ID8gJ3NpbXBsaWZpZWQnIDogJ2Z1bGwnLFxyXG4gICAgICAgIHN0ZXBzOiBkaXJlY3Rpb25zT3B0aW9ucy5zdGVwcyA/ICd0cnVlJyA6ICdmYWxzZScsXHJcbiAgICAgICAgZ2VvbWV0cmllczogZGlyZWN0aW9uc09wdGlvbnMuZ2VvbWV0cmllcyA/IGRpcmVjdGlvbnNPcHRpb25zLmdlb21ldHJpZXMgOiAnZ2VvanNvbicsXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb3JtYXRSb3V0ZShyb2FkTmV0d29ya1JvdXRlOiBhbnksIHdheXBvaW50czogYW55KTogRGlyZWN0aW9ucyB7XHJcbiAgICBjb25zdCBzdGVwc1VJID0gW107XHJcbiAgICByb2FkTmV0d29ya1JvdXRlLmxlZ3MuZm9yRWFjaChsZWcgPT4ge1xyXG4gICAgICBsZWcuc3RlcHMuZm9yRWFjaChzdGVwID0+IHtcclxuICAgICAgICBzdGVwc1VJLnB1c2goc3RlcCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBpZDogdXVpZCgpLFxyXG4gICAgICB0aXRsZTogcm9hZE5ldHdvcmtSb3V0ZS5sZWdzWzBdLnN1bW1hcnksXHJcbiAgICAgIHNvdXJjZTogT3NybURpcmVjdGlvbnNTb3VyY2UuX25hbWUsXHJcbiAgICAgIHNvdXJjZVR5cGU6IFNvdXJjZURpcmVjdGlvbnNUeXBlLlJvdXRlLFxyXG4gICAgICBvcmRlcjogMSxcclxuICAgICAgZm9ybWF0OiBEaXJlY3Rpb25zRm9ybWF0Lkdlb0pTT04sXHJcbiAgICAgIGljb246ICdkaXJlY3Rpb25zJyxcclxuICAgICAgcHJvamVjdGlvbjogJ0VQU0c6NDMyNicsXHJcbiAgICAgIHdheXBvaW50cyxcclxuICAgICAgZGlzdGFuY2U6IHJvYWROZXR3b3JrUm91dGUuZGlzdGFuY2UsXHJcbiAgICAgIGR1cmF0aW9uOiByb2FkTmV0d29ya1JvdXRlLmR1cmF0aW9uLFxyXG4gICAgICBnZW9tZXRyeTogcm9hZE5ldHdvcmtSb3V0ZS5nZW9tZXRyeSxcclxuICAgICAgbGVnczogcm9hZE5ldHdvcmtSb3V0ZS5sZWdzLFxyXG4gICAgICBzdGVwczogc3RlcHNVSSxcclxuICAgICAgd2VpZ2h0OiByb2FkTmV0d29ya1JvdXRlLndlaWdodCxcclxuICAgICAgd2VpZ2h0X25hbWU6IHJvYWROZXR3b3JrUm91dGUud2VpZ2h0X25hbWVcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
98
|
+
}], function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; }, { route: [] }); })();
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3NybS1kaXJlY3Rpb25zLXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RpcmVjdGlvbnMvZGlyZWN0aW9ucy1zb3VyY2VzL29zcm0tZGlyZWN0aW9ucy1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJbkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFJdkQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUFnQjtJQVl4RCxZQUFvQixJQUFnQixFQUFVLE1BQXFCO1FBQ2pFLEtBQUssRUFBRSxDQUFDO1FBRFUsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQWU7UUFKM0Qsa0JBQWEsR0FDbkIscUVBQXFFLENBQUM7UUFLdEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUQsQ0FBQztJQWZELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUss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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDYWNoZWFibGUgfSBmcm9tICd0cy1jYWNoZWFibGUnO1xuXG5pbXBvcnQgeyB1dWlkIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuXG5pbXBvcnQgeyBEaXJlY3Rpb24sIERpcmVjdGlvbk9wdGlvbnMgfSBmcm9tICcuLi9zaGFyZWQvZGlyZWN0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGlyZWN0aW9uc0Zvcm1hdCwgU291cmNlRGlyZWN0aW9uc1R5cGUgfSBmcm9tICcuLi9zaGFyZWQvZGlyZWN0aW9ucy5lbnVtJztcblxuaW1wb3J0IHsgRGlyZWN0aW9uc1NvdXJjZSB9IGZyb20gJy4vZGlyZWN0aW9ucy1zb3VyY2UnO1xuaW1wb3J0IHsgRGlyZWN0aW9uc1NvdXJjZU9wdGlvbnMgfSBmcm9tICcuL2RpcmVjdGlvbnMtc291cmNlLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPc3JtRGlyZWN0aW9uc1NvdXJjZSBleHRlbmRzIERpcmVjdGlvbnNTb3VyY2Uge1xuICBnZXQgZW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmVuYWJsZWQgIT09IGZhbHNlO1xuICB9XG4gIHNldCBlbmFibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5vcHRpb25zLmVuYWJsZWQgPSB2YWx1ZTtcbiAgfVxuICBzdGF0aWMgX25hbWUgPSAnT1NSTSBRdcOpYmVjJztcbiAgcHJpdmF0ZSBkaXJlY3Rpb25zVXJsID1cbiAgICAnaHR0cHM6Ly9nZW9lZ2wubXNwLmdvdXYucWMuY2Evc2VydmljZXMvaXRpbmVyYWlyZS9yb3V0ZS92MS9kcml2aW5nLyc7XG4gIHByaXZhdGUgb3B0aW9uczogRGlyZWN0aW9uc1NvdXJjZU9wdGlvbnM7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5jb25maWcuZ2V0Q29uZmlnKCdkaXJlY3Rpb25zU291cmNlcy5vc3JtJykgfHwge307XG4gICAgdGhpcy5kaXJlY3Rpb25zVXJsID0gdGhpcy5vcHRpb25zLnVybCB8fCB0aGlzLmRpcmVjdGlvbnNVcmw7XG4gIH1cblxuICBnZXROYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE9zcm1EaXJlY3Rpb25zU291cmNlLl9uYW1lO1xuICB9XG5cbiAgQENhY2hlYWJsZSh7XG4gICAgbWF4Q2FjaGVDb3VudDogMjBcbiAgfSlcbiAgcm91dGUoY29vcmRpbmF0ZXM6IFtudW1iZXIsIG51bWJlcl1bXSwgZGlyZWN0aW9uc09wdGlvbnM6IERpcmVjdGlvbk9wdGlvbnMgPSB7fSk6IE9ic2VydmFibGU8RGlyZWN0aW9uW10+IHtcbiAgICBjb25zdCBkaXJlY3Rpb25zUGFyYW1zID0gdGhpcy5nZXRSb3V0ZVBhcmFtcyhkaXJlY3Rpb25zT3B0aW9ucyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxKU09OW10+KHRoaXMuZGlyZWN0aW9uc1VybCArIGNvb3JkaW5hdGVzLmpvaW4oJzsnKSwge1xuICAgICAgICBwYXJhbXM6IGRpcmVjdGlvbnNQYXJhbXNcbiAgICAgIH0pXG4gICAgICAucGlwZShtYXAocmVzID0+IHRoaXMuZXh0cmFjdFJvdXRlc0RhdGEocmVzKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0Um91dGVzRGF0YShyZXNwb25zZSk6IERpcmVjdGlvbltdIHtcbiAgICBjb25zdCByb3V0ZVJlc3BvbnNlID0gW107XG4gICAgcmVzcG9uc2Uucm91dGVzLmZvckVhY2gocm91dGUgPT4ge1xuICAgICAgcm91dGVSZXNwb25zZS5wdXNoKHRoaXMuZm9ybWF0Um91dGUocm91dGUsIHJlc3BvbnNlLndheXBvaW50cykpO1xuICAgIH0pO1xuICAgIHJldHVybiByb3V0ZVJlc3BvbnNlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSb3V0ZVBhcmFtcyhkaXJlY3Rpb25zT3B0aW9uczogRGlyZWN0aW9uT3B0aW9ucyA9IHt9KTogSHR0cFBhcmFtcyB7XG5cbiAgICBkaXJlY3Rpb25zT3B0aW9ucy5hbHRlcm5hdGl2ZXMgPSBkaXJlY3Rpb25zT3B0aW9ucy5hbHRlcm5hdGl2ZXMgIT09IHVuZGVmaW5lZCA/IGRpcmVjdGlvbnNPcHRpb25zLmFsdGVybmF0aXZlcyA6IHRydWU7XG4gICAgZGlyZWN0aW9uc09wdGlvbnMuc3RlcHMgPSBkaXJlY3Rpb25zT3B0aW9ucy5zdGVwcyAhPT0gdW5kZWZpbmVkID8gZGlyZWN0aW9uc09wdGlvbnMuc3RlcHMgOiB0cnVlO1xuICAgIGRpcmVjdGlvbnNPcHRpb25zLmdlb21ldHJpZXMgPSBkaXJlY3Rpb25zT3B0aW9ucy5nZW9tZXRyaWVzICE9PSB1bmRlZmluZWQgPyBkaXJlY3Rpb25zT3B0aW9ucy5nZW9tZXRyaWVzIDogJ2dlb2pzb24nO1xuICAgIGRpcmVjdGlvbnNPcHRpb25zLm92ZXJ2aWV3ID0gZGlyZWN0aW9uc09wdGlvbnMub3ZlcnZpZXcgIT09IHVuZGVmaW5lZCA/IGRpcmVjdGlvbnNPcHRpb25zLm92ZXJ2aWV3IDogZmFsc2U7XG4gICAgZGlyZWN0aW9uc09wdGlvbnMuY29udGludWVfc3RyYWlnaHQgPSBkaXJlY3Rpb25zT3B0aW9ucy5jb250aW51ZV9zdHJhaWdodCAhPT0gdW5kZWZpbmVkID8gZGlyZWN0aW9uc09wdGlvbnMuY29udGludWVfc3RyYWlnaHQgOiBmYWxzZTtcblxuICAgIHJldHVybiBuZXcgSHR0cFBhcmFtcyh7XG4gICAgICBmcm9tT2JqZWN0OiB7XG4gICAgICAgIGFsdGVybmF0aXZlczogZGlyZWN0aW9uc09wdGlvbnMuYWx0ZXJuYXRpdmVzID8gJ3RydWUnIDogJ2ZhbHNlJyxcbiAgICAgICAgb3ZlcnZpZXc6IGRpcmVjdGlvbnNPcHRpb25zLm92ZXJ2aWV3ID8gJ3NpbXBsaWZpZWQnIDogJ2Z1bGwnLFxuICAgICAgICBzdGVwczogZGlyZWN0aW9uc09wdGlvbnMuc3RlcHMgPyAndHJ1ZScgOiAnZmFsc2UnLFxuICAgICAgICBnZW9tZXRyaWVzOiBkaXJlY3Rpb25zT3B0aW9ucy5nZW9tZXRyaWVzID8gZGlyZWN0aW9uc09wdGlvbnMuZ2VvbWV0cmllcyA6ICdnZW9qc29uJyxcbiAgICAgICAgY29udGludWVfc3RyYWlnaHQ6IGRpcmVjdGlvbnNPcHRpb25zLmNvbnRpbnVlX3N0cmFpZ2h0ID8gJ3RydWUnIDogJ2ZhbHNlJyxcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0Um91dGUocm9hZE5ldHdvcmtSb3V0ZTogYW55LCB3YXlwb2ludHM6IGFueSk6IERpcmVjdGlvbiB7XG4gICAgY29uc3Qgc3RlcHNVSSA9IFtdO1xuICAgIHJvYWROZXR3b3JrUm91dGUubGVncy5mb3JFYWNoKGxlZyA9PiB7XG4gICAgICBsZWcuc3RlcHMuZm9yRWFjaChzdGVwID0+IHtcbiAgICAgICAgc3RlcHNVSS5wdXNoKHN0ZXApO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB1dWlkKCksXG4gICAgICB0aXRsZTogcm9hZE5ldHdvcmtSb3V0ZS5sZWdzWzBdLnN1bW1hcnksXG4gICAgICBzb3VyY2U6IE9zcm1EaXJlY3Rpb25zU291cmNlLl9uYW1lLFxuICAgICAgc291cmNlVHlwZTogU291cmNlRGlyZWN0aW9uc1R5cGUuUm91dGUsXG4gICAgICBvcmRlcjogMSxcbiAgICAgIGZvcm1hdDogRGlyZWN0aW9uc0Zvcm1hdC5HZW9KU09OLFxuICAgICAgaWNvbjogJ2RpcmVjdGlvbnMnLFxuICAgICAgcHJvamVjdGlvbjogJ0VQU0c6NDMyNicsXG4gICAgICB3YXlwb2ludHMsXG4gICAgICBkaXN0YW5jZTogcm9hZE5ldHdvcmtSb3V0ZS5kaXN0YW5jZSxcbiAgICAgIGR1cmF0aW9uOiByb2FkTmV0d29ya1JvdXRlLmR1cmF0aW9uLFxuICAgICAgZ2VvbWV0cnk6IHJvYWROZXR3b3JrUm91dGUuZ2VvbWV0cnksXG4gICAgICBsZWdzOiByb2FkTmV0d29ya1JvdXRlLmxlZ3MsXG4gICAgICBzdGVwczogc3RlcHNVSSxcbiAgICAgIHdlaWdodDogcm9hZE5ldHdvcmtSb3V0ZS53ZWlnaHQsXG4gICAgICB3ZWlnaHRfbmFtZTogcm9hZE5ldHdvcmtSb3V0ZS53ZWlnaHRfbmFtZVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|