@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
|
@@ -50,6 +50,7 @@ export declare abstract class Layer {
|
|
|
50
50
|
constructor(options: LayerOptions, messageService?: MessageService, authInterceptor?: AuthInterceptor);
|
|
51
51
|
protected abstract createOlLayer(): olLayer<olSource>;
|
|
52
52
|
setMap(igoMap: IgoMap | undefined): void;
|
|
53
|
+
private showMessage;
|
|
53
54
|
private observeResolution;
|
|
54
55
|
private unobserveResolution;
|
|
55
56
|
private updateInResolutionsRange;
|
|
@@ -10,13 +10,22 @@ import { TileDebugDataSource } from '../../../datasource/shared/datasources/tile
|
|
|
10
10
|
import { Layer } from './layer';
|
|
11
11
|
import { TileLayerOptions } from './tile-layer.interface';
|
|
12
12
|
import { MessageService } from '@igo2/core';
|
|
13
|
+
import { AuthInterceptor } from '@igo2/auth';
|
|
13
14
|
export declare class TileLayer extends Layer {
|
|
14
15
|
messageService?: MessageService;
|
|
16
|
+
authInterceptor?: AuthInterceptor;
|
|
15
17
|
dataSource: OSMDataSource | WMTSDataSource | XYZDataSource | TileDebugDataSource | CartoDataSource | TileArcGISRestDataSource;
|
|
16
18
|
options: TileLayerOptions;
|
|
17
19
|
ol: olLayerTile<olSourceTile>;
|
|
18
20
|
private watcher;
|
|
19
|
-
constructor(options: TileLayerOptions, messageService?: MessageService);
|
|
21
|
+
constructor(options: TileLayerOptions, messageService?: MessageService, authInterceptor?: AuthInterceptor);
|
|
20
22
|
protected createOlLayer(): olLayerTile<olSourceTile>;
|
|
23
|
+
/**
|
|
24
|
+
* Custom loader for tile layer.
|
|
25
|
+
* @internal
|
|
26
|
+
* @param tile the current tile
|
|
27
|
+
* @param url the url string or function to retrieve the data
|
|
28
|
+
*/
|
|
29
|
+
customLoader(tile: any, url: string, interceptor: AuthInterceptor): void;
|
|
21
30
|
setMap(map: IgoMap | undefined): void;
|
|
22
31
|
}
|
|
@@ -27,6 +27,7 @@ export interface VectorLayerOptions extends LayerOptions {
|
|
|
27
27
|
ol?: olLayerVector<olSourceVector<OlGeometry>>;
|
|
28
28
|
animation?: VectorAnimation;
|
|
29
29
|
styleByAttribute?: StyleByAttribute;
|
|
30
|
+
hoverStyle?: StyleByAttribute;
|
|
30
31
|
clusterBaseStyle?: {
|
|
31
32
|
[key: string]: any;
|
|
32
33
|
} | olStyle | olStyle[];
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import type { default as OlGeometry } from 'ol/geom/Geometry';
|
|
1
2
|
import * as olstyle from 'ol/style';
|
|
3
|
+
import OlFeature from 'ol/Feature';
|
|
2
4
|
import { StyleByAttribute } from './vector-style.interface';
|
|
3
5
|
import { ClusterParam } from './clusterParam';
|
|
6
|
+
import RenderFeature from 'ol/render/Feature';
|
|
4
7
|
import * as i0 from "@angular/core";
|
|
5
8
|
export declare class StyleService {
|
|
6
9
|
style: olstyle.Style;
|
|
@@ -10,7 +13,7 @@ export declare class StyleService {
|
|
|
10
13
|
private parseStyle;
|
|
11
14
|
private getOlKey;
|
|
12
15
|
private getOlCls;
|
|
13
|
-
createStyleByAttribute(feature:
|
|
16
|
+
createStyleByAttribute(feature: RenderFeature | OlFeature<OlGeometry>, styleByAttribute: StyleByAttribute): any;
|
|
14
17
|
createClusterStyle(feature: any, clusterParam: ClusterParam, layerStyle: any): any;
|
|
15
18
|
getLabel(feature: any, labelMatch: any): string;
|
|
16
19
|
private guessTypeFeature;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import olStyle from 'ol/style/Style';
|
|
2
1
|
export interface StyleByAttribute {
|
|
2
|
+
anchor?: Array<[number, number]>;
|
|
3
3
|
type?: string;
|
|
4
4
|
attribute?: string;
|
|
5
5
|
data?: Array<any>;
|
|
@@ -9,14 +9,18 @@ export interface StyleByAttribute {
|
|
|
9
9
|
radius?: Array<number>;
|
|
10
10
|
icon?: Array<string>;
|
|
11
11
|
scale?: Array<number>;
|
|
12
|
-
label?:
|
|
13
|
-
[key: string]: any;
|
|
14
|
-
} | olStyle | olStyle[];
|
|
12
|
+
label?: IgoLabel;
|
|
15
13
|
baseStyle?: {
|
|
16
14
|
[key: string]: any;
|
|
17
|
-
}
|
|
15
|
+
};
|
|
18
16
|
hoverStyle?: StyleByAttribute;
|
|
19
17
|
}
|
|
18
|
+
export interface IgoLabel {
|
|
19
|
+
attribute: string;
|
|
20
|
+
style?: {
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
20
24
|
export interface MapboxStyle {
|
|
21
25
|
url: string;
|
|
22
26
|
source: string;
|
package/lib/map/index.d.ts
CHANGED
package/lib/map/map.module.d.ts
CHANGED
|
@@ -11,14 +11,15 @@ import * as i9 from "./shared/map-pointer-position.directive";
|
|
|
11
11
|
import * as i10 from "./shared/hover-feature.directive";
|
|
12
12
|
import * as i11 from "./swipe-control/swipe-control.component";
|
|
13
13
|
import * as i12 from "./map-center/map-center.component";
|
|
14
|
-
import * as i13 from "
|
|
15
|
-
import * as i14 from "@
|
|
16
|
-
import * as i15 from "@igo2/
|
|
17
|
-
import * as i16 from "@
|
|
18
|
-
import * as i17 from "@angular/material/
|
|
19
|
-
import * as i18 from "@angular/material/
|
|
14
|
+
import * as i13 from "./menu-button/menu-button.component";
|
|
15
|
+
import * as i14 from "@angular/common";
|
|
16
|
+
import * as i15 from "@igo2/core";
|
|
17
|
+
import * as i16 from "@igo2/common";
|
|
18
|
+
import * as i17 from "@angular/material/icon";
|
|
19
|
+
import * as i18 from "@angular/material/button";
|
|
20
|
+
import * as i19 from "@angular/material/tooltip";
|
|
20
21
|
export declare class IgoMapModule {
|
|
21
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<IgoMapModule, never>;
|
|
22
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<IgoMapModule, [typeof i1.MapBrowserComponent, typeof i2.ZoomButtonComponent, typeof i3.GeolocateButtonComponent, typeof i4.RotationButtonComponent, typeof i5.BaseLayersSwitcherComponent, typeof i6.MiniBaseMapComponent, typeof i7.MapOfflineDirective, typeof i8.OfflineButtonComponent, typeof i9.PointerPositionDirective, typeof i10.HoverFeatureDirective, typeof i11.SwipeControlComponent, typeof i12.MapCenterComponent], [typeof
|
|
23
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<IgoMapModule, [typeof i1.MapBrowserComponent, typeof i2.ZoomButtonComponent, typeof i3.GeolocateButtonComponent, typeof i4.RotationButtonComponent, typeof i5.BaseLayersSwitcherComponent, typeof i6.MiniBaseMapComponent, typeof i7.MapOfflineDirective, typeof i8.OfflineButtonComponent, typeof i9.PointerPositionDirective, typeof i10.HoverFeatureDirective, typeof i11.SwipeControlComponent, typeof i12.MapCenterComponent, typeof i13.MenuButtonComponent], [typeof i14.CommonModule, typeof i15.IgoLanguageModule, typeof i16.IgoConfirmDialogModule, typeof i17.MatIconModule, typeof i18.MatButtonModule, typeof i19.MatTooltipModule], [typeof i1.MapBrowserComponent, typeof i2.ZoomButtonComponent, typeof i3.GeolocateButtonComponent, typeof i4.RotationButtonComponent, typeof i5.BaseLayersSwitcherComponent, typeof i6.MiniBaseMapComponent, typeof i7.MapOfflineDirective, typeof i8.OfflineButtonComponent, typeof i9.PointerPositionDirective, typeof i10.HoverFeatureDirective, typeof i11.SwipeControlComponent, typeof i12.MapCenterComponent, typeof i13.MenuButtonComponent]>;
|
|
23
24
|
static ɵinj: i0.ɵɵInjectorDeclaration<IgoMapModule>;
|
|
24
25
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './menu-button.component';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { ConfigService } from '@igo2/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class MenuButtonComponent {
|
|
5
|
+
configService: ConfigService;
|
|
6
|
+
get sidenavOpened(): boolean;
|
|
7
|
+
set sidenavOpened(value: boolean);
|
|
8
|
+
private _sidenavOpenend;
|
|
9
|
+
openSidenav: EventEmitter<any>;
|
|
10
|
+
menuButtonReverseColor: boolean;
|
|
11
|
+
menuButtonClass: any;
|
|
12
|
+
constructor(configService: ConfigService);
|
|
13
|
+
getClassMenuButton(): void;
|
|
14
|
+
onToggleSidenavClick(): void;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MenuButtonComponent, never>;
|
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MenuButtonComponent, "igo-menu-button", never, { "sidenavOpened": "sidenavOpened"; }, { "openSidenav": "openSidenav"; }, never, never>;
|
|
17
|
+
}
|
|
@@ -2,12 +2,16 @@ import { OnDestroy, OnInit } from '@angular/core';
|
|
|
2
2
|
import { IgoMap } from '../../map/shared/map';
|
|
3
3
|
import { MapBrowserComponent } from '../../map/map-browser/map-browser.component';
|
|
4
4
|
import { Feature } from '../../feature/shared/feature.interfaces';
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import * as
|
|
5
|
+
import type { default as OlGeometry } from 'ol/geom/Geometry';
|
|
6
|
+
import OlFeature from 'ol/Feature';
|
|
7
|
+
import * as OlStyle from 'ol/style';
|
|
8
|
+
import * as OlGeom from 'ol/geom';
|
|
9
|
+
import { VectorLayer, VectorTileLayer } from '../../layer/shared/layers';
|
|
8
10
|
import { FeatureStore } from '../../feature/shared/store';
|
|
9
11
|
import { MediaService } from '@igo2/core';
|
|
10
12
|
import { StyleService } from '../../layer/shared/style.service';
|
|
13
|
+
import RenderFeature from 'ol/render/Feature';
|
|
14
|
+
import { StyleByAttribute } from '../../layer/shared/vector-style.interface';
|
|
11
15
|
import * as i0 from "@angular/core";
|
|
12
16
|
/**
|
|
13
17
|
* This directive makes the mouse coordinate trigger a reverse search on available search sources.
|
|
@@ -24,6 +28,9 @@ export declare class HoverFeatureDirective implements OnInit, OnDestroy {
|
|
|
24
28
|
private lastTimeoutRequest;
|
|
25
29
|
private store$$;
|
|
26
30
|
private layers$$;
|
|
31
|
+
private selectionLayer;
|
|
32
|
+
private selectionMVT;
|
|
33
|
+
private mvtStyleOptions;
|
|
27
34
|
/**
|
|
28
35
|
* Listener to the pointer move event
|
|
29
36
|
*/
|
|
@@ -56,6 +63,7 @@ export declare class HoverFeatureDirective implements OnInit, OnDestroy {
|
|
|
56
63
|
* @internal
|
|
57
64
|
*/
|
|
58
65
|
private initStore;
|
|
66
|
+
createHoverStyle(feature: RenderFeature | OlFeature<OlGeometry>, hoverStyle: StyleByAttribute): any;
|
|
59
67
|
/**
|
|
60
68
|
* Stop listening to pointermove and reverse search results.
|
|
61
69
|
* @internal
|
|
@@ -104,6 +112,8 @@ export declare class HoverFeatureDirective implements OnInit, OnDestroy {
|
|
|
104
112
|
* @param event OL map browser pointer event
|
|
105
113
|
*/
|
|
106
114
|
private onMapEvent;
|
|
115
|
+
canProcessHover(igoLayer: VectorLayer | VectorTileLayer): boolean;
|
|
116
|
+
handleRenderFeature(feature: RenderFeature | OlFeature<OlGeometry>): OlFeature<OlGeometry>;
|
|
107
117
|
/**
|
|
108
118
|
* Add a feature to the pointer store
|
|
109
119
|
* @param text string
|
|
@@ -112,7 +122,6 @@ export declare class HoverFeatureDirective implements OnInit, OnDestroy {
|
|
|
112
122
|
private setLayerStyleFromOptions;
|
|
113
123
|
private getHoverSummary;
|
|
114
124
|
private getGeometry;
|
|
115
|
-
private getSameFeatureNeighbour;
|
|
116
125
|
/**
|
|
117
126
|
* Clear the pointer store features
|
|
118
127
|
*/
|
|
@@ -125,4 +134,4 @@ export declare class HoverFeatureDirective implements OnInit, OnDestroy {
|
|
|
125
134
|
* @param feature OlFeature
|
|
126
135
|
* @returns OL style function
|
|
127
136
|
*/
|
|
128
|
-
export declare function hoverFeatureMarker(feature:
|
|
137
|
+
export declare function hoverFeatureMarker(feature: OlFeature<OlGeom.Geometry>, resolution: number): OlStyle.Style[];
|
package/lib/map/shared/map.d.ts
CHANGED
|
@@ -19,7 +19,8 @@ export declare class IgoMap {
|
|
|
19
19
|
alwaysTracking: boolean;
|
|
20
20
|
positionFollower: boolean;
|
|
21
21
|
geolocation$: BehaviorSubject<olGeolocation>;
|
|
22
|
-
|
|
22
|
+
geolocationPositionFeature: olFeature<OlGeometry>;
|
|
23
|
+
geolocationAccuracyFeature: olFeature<OlGeometry>;
|
|
23
24
|
bufferGeom: olCircle;
|
|
24
25
|
bufferFeature: olFeature<OlGeometry>;
|
|
25
26
|
buffer: Overlay;
|
|
@@ -59,7 +59,7 @@ export declare function getScaleFromResolution(resolution: number, unit?: string
|
|
|
59
59
|
* @returns Whether the CTRL key is pushed
|
|
60
60
|
*/
|
|
61
61
|
export declare function ctrlKeyDown(event: MapBrowserPointerEvent<any>): boolean;
|
|
62
|
-
export declare function roundCoordTo(coord: [number, number], decimal?: number):
|
|
62
|
+
export declare function roundCoordTo(coord: [number, number], decimal?: number): [number, number];
|
|
63
63
|
/**
|
|
64
64
|
* Returns an array of converted coordinates.
|
|
65
65
|
* Conversion is done for every configured projections
|
|
@@ -57,6 +57,11 @@ export declare class MeasurerComponent implements OnInit, OnDestroy {
|
|
|
57
57
|
* @internal
|
|
58
58
|
*/
|
|
59
59
|
displayAreas: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Observable of line boolean
|
|
62
|
+
* @internal
|
|
63
|
+
*/
|
|
64
|
+
hasLine$: BehaviorSubject<boolean>;
|
|
60
65
|
/**
|
|
61
66
|
* Observable of area boolean
|
|
62
67
|
* @internal
|
|
@@ -77,6 +82,11 @@ export declare class MeasurerComponent implements OnInit, OnDestroy {
|
|
|
77
82
|
* @internal
|
|
78
83
|
*/
|
|
79
84
|
showTooltips: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Whether draw control toggle is disabled or not
|
|
87
|
+
* @internal
|
|
88
|
+
*/
|
|
89
|
+
drawControlIsDisabled: boolean;
|
|
80
90
|
/**
|
|
81
91
|
* Draw line control
|
|
82
92
|
*/
|
|
@@ -12,13 +12,14 @@ import * as i10 from "@angular/material/form-field";
|
|
|
12
12
|
import * as i11 from "@angular/material/input";
|
|
13
13
|
import * as i12 from "@angular/material/select";
|
|
14
14
|
import * as i13 from "@angular/material/slide-toggle";
|
|
15
|
-
import * as i14 from "@
|
|
16
|
-
import * as i15 from "@igo2/
|
|
15
|
+
import * as i14 from "@angular/material/divider";
|
|
16
|
+
import * as i15 from "@igo2/core";
|
|
17
|
+
import * as i16 from "@igo2/common";
|
|
17
18
|
/**
|
|
18
19
|
* @ignore
|
|
19
20
|
*/
|
|
20
21
|
export declare class IgoMeasurerModule {
|
|
21
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<IgoMeasurerModule, never>;
|
|
22
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<IgoMeasurerModule, [typeof i1.MeasureFormatPipe, typeof i2.MeasurerItemComponent, typeof i3.MeasurerComponent, typeof i4.MeasurerDialogComponent], [typeof i5.CommonModule, typeof i6.MatButtonModule, typeof i7.MatButtonToggleModule, typeof i8.MatIconModule, typeof i9.MatTooltipModule, typeof i10.MatFormFieldModule, typeof i11.MatInputModule, typeof i12.MatSelectModule, typeof i13.MatSlideToggleModule, typeof i14.
|
|
23
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<IgoMeasurerModule, [typeof i1.MeasureFormatPipe, typeof i2.MeasurerItemComponent, typeof i3.MeasurerComponent, typeof i4.MeasurerDialogComponent], [typeof i5.CommonModule, typeof i6.MatButtonModule, typeof i7.MatButtonToggleModule, typeof i8.MatIconModule, typeof i9.MatTooltipModule, typeof i10.MatFormFieldModule, typeof i11.MatInputModule, typeof i12.MatSelectModule, typeof i13.MatSlideToggleModule, typeof i14.MatDividerModule, typeof i15.IgoLanguageModule, typeof i16.IgoEntityTableModule], [typeof i1.MeasureFormatPipe, typeof i3.MeasurerComponent]>;
|
|
23
24
|
static ɵinj: i0.ɵɵInjectorDeclaration<IgoMeasurerModule>;
|
|
24
25
|
}
|
|
@@ -13,6 +13,8 @@ export interface QueryableDataSourceOptions extends DataSourceOptions {
|
|
|
13
13
|
queryable?: boolean;
|
|
14
14
|
queryFormat?: QueryFormat;
|
|
15
15
|
queryTitle?: string;
|
|
16
|
+
queryUrl?: string;
|
|
17
|
+
queryLayerFeatures?: boolean;
|
|
16
18
|
mapLabel?: string;
|
|
17
19
|
queryHtmlTarget?: QueryHtmlTarget;
|
|
18
20
|
ol?: olSourceVector<OlGeometry> | olSource;
|
|
@@ -4,7 +4,8 @@ import olFeature from 'ol/Feature';
|
|
|
4
4
|
import * as olgeom from 'ol/geom';
|
|
5
5
|
import { Feature } from '../../feature/shared/feature.interfaces';
|
|
6
6
|
import { Layer } from '../../layer/shared/layers/layer';
|
|
7
|
-
import { QueryOptions } from './query.interfaces';
|
|
7
|
+
import { QueryOptions, QueryableDataSource } from './query.interfaces';
|
|
8
|
+
import { MapExtent } from '../../map/shared/map.interface';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
export declare class QueryService {
|
|
10
11
|
private http;
|
|
@@ -35,6 +36,13 @@ export declare class QueryService {
|
|
|
35
36
|
getAllowedFieldsAndAlias(layer: any): any;
|
|
36
37
|
getQueryTitle(feature: Feature, layer: Layer): string;
|
|
37
38
|
getLabelMatch(feature: Feature, labelMatch: any): string;
|
|
39
|
+
/**
|
|
40
|
+
* @param datasource QueryableDataSource
|
|
41
|
+
* @param options QueryOptions
|
|
42
|
+
* @mapExtent extent of the map when click event
|
|
43
|
+
*
|
|
44
|
+
*/
|
|
45
|
+
getCustomQueryUrl(datasource: QueryableDataSource, options: QueryOptions, mapExtent?: MapExtent): string;
|
|
38
46
|
static ɵfac: i0.ɵɵFactoryDeclaration<QueryService, never>;
|
|
39
47
|
static ɵprov: i0.ɵɵInjectableDeclaration<QueryService>;
|
|
40
48
|
}
|
|
@@ -13,3 +13,15 @@ export declare function layerIsQueryable(layer: AnyLayer): boolean;
|
|
|
13
13
|
* @returns True if the ol layer is queryable
|
|
14
14
|
*/
|
|
15
15
|
export declare function olLayerIsQueryable(olLayer: OlLayer<OlSource>): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Whether a layer's feature is queryable
|
|
18
|
+
* @param layer Layer
|
|
19
|
+
* @returns True if the layer's feature is queryable
|
|
20
|
+
*/
|
|
21
|
+
export declare function layerFeatureIsQueryable(layer: AnyLayer): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Whether an OL Vector layer is queryable
|
|
24
|
+
* @param layer Layer
|
|
25
|
+
* @returns True if the ol vector layer is queryable
|
|
26
|
+
*/
|
|
27
|
+
export declare function olLayerFeatureIsQueryable(olLayer: OlLayer<OlSource>): boolean;
|
|
@@ -105,6 +105,12 @@ export declare class SearchPointerSummaryDirective implements OnInit, OnDestroy,
|
|
|
105
105
|
* @param event OL map browser pointer event
|
|
106
106
|
*/
|
|
107
107
|
private onMapEvent;
|
|
108
|
+
/**
|
|
109
|
+
* Sort the results by display order.
|
|
110
|
+
* @param r1 First result
|
|
111
|
+
* @param r2 Second result
|
|
112
|
+
*/
|
|
113
|
+
private sortByOrder;
|
|
108
114
|
private onSearchCoordinate;
|
|
109
115
|
private onSearch;
|
|
110
116
|
/**
|
package/ngcc.config.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
ignorableDeepImportMatchers: [/ol\//, /ol-mapbox-style\//]
|
|
3
|
-
};
|
|
1
|
+
module.exports = {
|
|
2
|
+
ignorableDeepImportMatchers: [/ol\//, /ol-mapbox-style\//]
|
|
3
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@igo2/geo",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.0",
|
|
4
4
|
"description": "IGO Library",
|
|
5
5
|
"author": "MSP",
|
|
6
6
|
"keywords": [
|
|
@@ -18,21 +18,21 @@
|
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"ts-cacheable": "^1.0.5",
|
|
20
20
|
"ts-md5": "^1.2.4",
|
|
21
|
-
"@turf/helpers": "^6.
|
|
22
|
-
"@turf/line-intersect": "^6.0
|
|
23
|
-
"@turf/point-on-feature": "^5.
|
|
21
|
+
"@turf/helpers": "^6.5.0",
|
|
22
|
+
"@turf/line-intersect": "^6.5.0",
|
|
23
|
+
"@turf/point-on-feature": "^6.5.0",
|
|
24
24
|
"tslib": "^2.0.0"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
27
|
-
"@angular/animations": "
|
|
28
|
-
"@angular/common": "^12.
|
|
29
|
-
"@angular/core": "^12.
|
|
30
|
-
"@angular/forms": "^12.
|
|
31
|
-
"@angular/material": "
|
|
32
|
-
"@igo2/common": "^1.
|
|
33
|
-
"@igo2/core": "^1.
|
|
34
|
-
"@igo2/utils": "^1.
|
|
35
|
-
"ol": "^6.
|
|
27
|
+
"@angular/animations": "^12.2.9",
|
|
28
|
+
"@angular/common": "^12.2.9",
|
|
29
|
+
"@angular/core": "^12.2.9",
|
|
30
|
+
"@angular/forms": "^12.2.9",
|
|
31
|
+
"@angular/material": "^12.2.9",
|
|
32
|
+
"@igo2/common": "^1.10.0",
|
|
33
|
+
"@igo2/core": "^1.10.0",
|
|
34
|
+
"@igo2/utils": "^1.10.0",
|
|
35
|
+
"ol": "^6.8.1",
|
|
36
36
|
"proj4": "^2.7.5",
|
|
37
37
|
"rxjs": "^6.6.7",
|
|
38
38
|
"ol-mapbox-style": "^6.4.1",
|
|
@@ -54,5 +54,6 @@
|
|
|
54
54
|
"typings": "igo2-geo.d.ts",
|
|
55
55
|
"sideEffects": false,
|
|
56
56
|
"scripts": {
|
|
57
|
+
|
|
57
58
|
}
|
|
58
59
|
}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { Directive, Self, Optional } from '@angular/core';
|
|
2
|
-
import { delay } from 'rxjs/operators';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./directions-form.component";
|
|
5
|
-
import * as i2 from "./directions-form.service";
|
|
6
|
-
import * as i3 from "../shared/directions.service";
|
|
7
|
-
import * as i4 from "@igo2/core";
|
|
8
|
-
export class DirectionsFormBindingDirective {
|
|
9
|
-
constructor(component, directionsFormService, directionsService, changeDetectorRefs, route) {
|
|
10
|
-
this.component = component;
|
|
11
|
-
this.directionsFormService = directionsFormService;
|
|
12
|
-
this.directionsService = directionsService;
|
|
13
|
-
this.changeDetectorRefs = changeDetectorRefs;
|
|
14
|
-
this.route = route;
|
|
15
|
-
}
|
|
16
|
-
ngAfterViewInit() {
|
|
17
|
-
const storedStops = this.directionsFormService.getStops();
|
|
18
|
-
if (!storedStops && this.route && this.route.options.directionsCoordKey) {
|
|
19
|
-
this.route.queryParams.subscribe((params) => {
|
|
20
|
-
const directionsParams = params[this.route.options.directionsCoordKey];
|
|
21
|
-
const stopsCoordinatesFromURL = [];
|
|
22
|
-
if (directionsParams) {
|
|
23
|
-
const directionsCoordUrl = directionsParams.split(';');
|
|
24
|
-
if (directionsCoordUrl.length >= 2) {
|
|
25
|
-
let cnt = 0;
|
|
26
|
-
directionsCoordUrl.forEach((coord) => {
|
|
27
|
-
if (cnt !== 0 && cnt !== directionsCoordUrl.length - 1) {
|
|
28
|
-
this.component.stops.insert(cnt, this.component.createStop());
|
|
29
|
-
}
|
|
30
|
-
const stopCoordinatesFromURL = JSON.parse('[' + coord + ']');
|
|
31
|
-
this.component.stops
|
|
32
|
-
.at(cnt)
|
|
33
|
-
.patchValue({ stopCoordinates: stopCoordinatesFromURL });
|
|
34
|
-
this.component.stops
|
|
35
|
-
.at(cnt)
|
|
36
|
-
.patchValue({ stopPoint: stopCoordinatesFromURL });
|
|
37
|
-
this.component.handleLocationProposals(stopCoordinatesFromURL, cnt);
|
|
38
|
-
stopsCoordinatesFromURL.push(stopCoordinatesFromURL);
|
|
39
|
-
this.component.addStopOverlay(stopCoordinatesFromURL, cnt);
|
|
40
|
-
cnt++;
|
|
41
|
-
});
|
|
42
|
-
this.component.activeRoute$
|
|
43
|
-
.pipe(delay(250))
|
|
44
|
-
.subscribe((activeRoute) => {
|
|
45
|
-
this.getRoutes(activeRoute);
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
else if (storedStops) {
|
|
52
|
-
for (let i = 0; i < storedStops.length; i++) {
|
|
53
|
-
if (i !== 0 && i !== storedStops.length - 1) {
|
|
54
|
-
this.component.stops.insert(i, this.component.createStop());
|
|
55
|
-
}
|
|
56
|
-
if (storedStops[i].stopCoordinates instanceof Array) {
|
|
57
|
-
this.component.addStopOverlay(storedStops[i].stopCoordinates, i);
|
|
58
|
-
this.component.stops.at(i).patchValue(storedStops[i]);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
this.component.getRoutes();
|
|
62
|
-
}
|
|
63
|
-
this.component.writeStopsToFormService();
|
|
64
|
-
}
|
|
65
|
-
getRoutes(activeRoute) {
|
|
66
|
-
this.component.deleteStoreFeatureByID(this.component.routeStore, 'vertex');
|
|
67
|
-
this.component.writeStopsToFormService();
|
|
68
|
-
const coords = this.directionsFormService.getStopsCoordinates();
|
|
69
|
-
if (coords.length < 2) {
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
const routeResponse = this.directionsService.route(coords, {});
|
|
73
|
-
if (routeResponse) {
|
|
74
|
-
routeResponse.map((res) => this.component.routesQueries$$.push(res.subscribe((route) => {
|
|
75
|
-
this.component.routesResults = route;
|
|
76
|
-
if (!activeRoute) {
|
|
77
|
-
this.component.activeRoute = route[0];
|
|
78
|
-
this.component.showRouteGeometry(true);
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
this.component.showRouteGeometry(true);
|
|
82
|
-
this.changeDetectorRefs.detectChanges();
|
|
83
|
-
})));
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
DirectionsFormBindingDirective.ɵfac = function DirectionsFormBindingDirective_Factory(t) { return new (t || DirectionsFormBindingDirective)(i0.ɵɵdirectiveInject(i1.DirectionsFormComponent, 2), i0.ɵɵdirectiveInject(i2.DirectionsFormService), i0.ɵɵdirectiveInject(i3.DirectionsService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i4.RouteService, 8)); };
|
|
88
|
-
DirectionsFormBindingDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: DirectionsFormBindingDirective, selectors: [["", "igoDirectionsFormBinding", ""]] });
|
|
89
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DirectionsFormBindingDirective, [{
|
|
90
|
-
type: Directive,
|
|
91
|
-
args: [{
|
|
92
|
-
selector: '[igoDirectionsFormBinding]'
|
|
93
|
-
}]
|
|
94
|
-
}], function () { return [{ type: i1.DirectionsFormComponent, decorators: [{
|
|
95
|
-
type: Self
|
|
96
|
-
}] }, { type: i2.DirectionsFormService }, { type: i3.DirectionsService }, { type: i0.ChangeDetectorRef }, { type: i4.RouteService, decorators: [{
|
|
97
|
-
type: Optional
|
|
98
|
-
}] }]; }, null); })();
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9ucy1mb3JtLWJpbmRpbmcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGlyZWN0aW9ucy9kaXJlY3Rpb25zLWZvcm0vZGlyZWN0aW9ucy1mb3JtLWJpbmRpbmcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsSUFBSSxFQUVKLFFBQVEsRUFFVCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQVV2QyxNQUFNLE9BQU8sOEJBQThCO0lBQ3pDLFlBQ2tCLFNBQWtDLEVBQzFDLHFCQUE0QyxFQUM1QyxpQkFBb0MsRUFDcEMsa0JBQXFDLEVBQ3pCLEtBQW1CO1FBSnZCLGNBQVMsR0FBVCxTQUFTLENBQXlCO1FBQzFDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3pCLFVBQUssR0FBTCxLQUFLLENBQWM7SUFDdEMsQ0FBQztJQUVKLGVBQWU7UUFDYixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUQsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFO1lBQ3ZFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUMxQyxNQUFNLGdCQUFnQixHQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsa0JBQTRCLENBQUMsQ0FBQztnQkFDMUQsTUFBTSx1QkFBdUIsR0FB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QkFHSSxJQUFJOztzQkFJSixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBTZWxmLFxuICBBZnRlclZpZXdJbml0LFxuICBPcHRpb25hbCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJvdXRlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgZGVsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEaXJlY3Rpb25zIH0gZnJvbSAnLi4vc2hhcmVkL2RpcmVjdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IERpcmVjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2RpcmVjdGlvbnMuc2VydmljZSc7XG5cbmltcG9ydCB7IERpcmVjdGlvbnNGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9kaXJlY3Rpb25zLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IERpcmVjdGlvbnNGb3JtU2VydmljZSB9IGZyb20gJy4vZGlyZWN0aW9ucy1mb3JtLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbaWdvRGlyZWN0aW9uc0Zvcm1CaW5kaW5nXSdcbn0pXG5leHBvcnQgY2xhc3MgRGlyZWN0aW9uc0Zvcm1CaW5kaW5nRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBTZWxmKCkgcHJpdmF0ZSBjb21wb25lbnQ6IERpcmVjdGlvbnNGb3JtQ29tcG9uZW50LFxuICAgIHByaXZhdGUgZGlyZWN0aW9uc0Zvcm1TZXJ2aWNlOiBEaXJlY3Rpb25zRm9ybVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkaXJlY3Rpb25zU2VydmljZTogRGlyZWN0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZnM6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcm91dGU6IFJvdXRlU2VydmljZVxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHN0b3JlZFN0b3BzID0gdGhpcy5kaXJlY3Rpb25zRm9ybVNlcnZpY2UuZ2V0U3RvcHMoKTtcbiAgICBpZiAoIXN0b3JlZFN0b3BzICYmIHRoaXMucm91dGUgJiYgdGhpcy5yb3V0ZS5vcHRpb25zLmRpcmVjdGlvbnNDb29yZEtleSkge1xuICAgICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xuICAgICAgICBjb25zdCBkaXJlY3Rpb25zUGFyYW1zID1cbiAgICAgICAgICBwYXJhbXNbdGhpcy5yb3V0ZS5vcHRpb25zLmRpcmVjdGlvbnNDb29yZEtleSBhcyBzdHJpbmddO1xuICAgICAgICBjb25zdCBzdG9wc0Nvb3JkaW5hdGVzRnJvbVVSTCA9IFtdO1xuICAgICAgICBpZiAoZGlyZWN0aW9uc1BhcmFtcykge1xuICAgICAgICAgIGNvbnN0IGRpcmVjdGlvbnNDb29yZFVybCA9IGRpcmVjdGlvbnNQYXJhbXMuc3BsaXQoJzsnKTtcbiAgICAgICAgICBpZiAoZGlyZWN0aW9uc0Nvb3JkVXJsLmxlbmd0aCA+PSAyKSB7XG4gICAgICAgICAgICBsZXQgY250ID0gMDtcbiAgICAgICAgICAgIGRpcmVjdGlvbnNDb29yZFVybC5mb3JFYWNoKChjb29yZCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoY250ICE9PSAwICYmIGNudCAhPT0gZGlyZWN0aW9uc0Nvb3JkVXJsLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudC5zdG9wcy5pbnNlcnQoY250LCB0aGlzLmNvbXBvbmVudC5jcmVhdGVTdG9wKCkpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY29uc3Qgc3RvcENvb3JkaW5hdGVzRnJvbVVSTCA9IEpTT04ucGFyc2UoJ1snICsgY29vcmQgKyAnXScpO1xuICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudC5zdG9wc1xuICAgICAgICAgICAgICAgIC5hdChjbnQpXG4gICAgICAgICAgICAgICAgLnBhdGNoVmFsdWUoeyBzdG9wQ29vcmRpbmF0ZXM6IHN0b3BDb29yZGluYXRlc0Zyb21VUkwgfSk7XG4gICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50LnN0b3BzXG4gICAgICAgICAgICAgICAgLmF0KGNudClcbiAgICAgICAgICAgICAgICAucGF0Y2hWYWx1ZSh7IHN0b3BQb2ludDogc3RvcENvb3JkaW5hdGVzRnJvbVVSTCB9KTtcbiAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnQuaGFuZGxlTG9jYXRpb25Qcm9wb3NhbHMoXG4gICAgICAgICAgICAgICAgc3RvcENvb3JkaW5hdGVzRnJvbVVSTCxcbiAgICAgICAgICAgICAgICBjbnRcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICBzdG9wc0Nvb3JkaW5hdGVzRnJvbVVSTC5wdXNoKHN0b3BDb29yZGluYXRlc0Zyb21VUkwpO1xuICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudC5hZGRTdG9wT3ZlcmxheShzdG9wQ29vcmRpbmF0ZXNGcm9tVVJMLCBjbnQpO1xuICAgICAgICAgICAgICBjbnQrKztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnQuYWN0aXZlUm91dGUkXG4gICAgICAgICAgICAgIC5waXBlKGRlbGF5KDI1MCkpXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGFjdGl2ZVJvdXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRSb3V0ZXMoYWN0aXZlUm91dGUpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoc3RvcmVkU3RvcHMpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RvcmVkU3RvcHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGkgIT09IDAgJiYgaSAhPT0gc3RvcmVkU3RvcHMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgIHRoaXMuY29tcG9uZW50LnN0b3BzLmluc2VydChpLCB0aGlzLmNvbXBvbmVudC5jcmVhdGVTdG9wKCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdG9yZWRTdG9wc1tpXS5zdG9wQ29vcmRpbmF0ZXMgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICAgIHRoaXMuY29tcG9uZW50LmFkZFN0b3BPdmVybGF5KHN0b3JlZFN0b3BzW2ldLnN0b3BDb29yZGluYXRlcywgaSk7XG4gICAgICAgICAgdGhpcy5jb21wb25lbnQuc3RvcHMuYXQoaSkucGF0Y2hWYWx1ZShzdG9yZWRTdG9wc1tpXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuY29tcG9uZW50LmdldFJvdXRlcygpO1xuICAgIH1cbiAgICB0aGlzLmNvbXBvbmVudC53cml0ZVN0b3BzVG9Gb3JtU2VydmljZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSb3V0ZXMoYWN0aXZlUm91dGUpIHtcbiAgICB0aGlzLmNvbXBvbmVudC5kZWxldGVTdG9yZUZlYXR1cmVCeUlEKHRoaXMuY29tcG9uZW50LnJvdXRlU3RvcmUsICd2ZXJ0ZXgnKTtcbiAgICB0aGlzLmNvbXBvbmVudC53cml0ZVN0b3BzVG9Gb3JtU2VydmljZSgpO1xuICAgIGNvbnN0IGNvb3JkcyA9IHRoaXMuZGlyZWN0aW9uc0Zvcm1TZXJ2aWNlLmdldFN0b3BzQ29vcmRpbmF0ZXMoKTtcbiAgICBpZiAoY29vcmRzLmxlbmd0aCA8IDIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgcm91dGVSZXNwb25zZSA9IHRoaXMuZGlyZWN0aW9uc1NlcnZpY2Uucm91dGUoY29vcmRzLCB7fSk7XG4gICAgaWYgKHJvdXRlUmVzcG9uc2UpIHtcbiAgICAgIHJvdXRlUmVzcG9uc2UubWFwKChyZXMpID0+XG4gICAgICAgIHRoaXMuY29tcG9uZW50LnJvdXRlc1F1ZXJpZXMkJC5wdXNoKFxuICAgICAgICAgIHJlcy5zdWJzY3JpYmUoKHJvdXRlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudC5yb3V0ZXNSZXN1bHRzID0gcm91dGU7XG4gICAgICAgICAgICBpZiAoIWFjdGl2ZVJvdXRlKSB7XG4gICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50LmFjdGl2ZVJvdXRlID0gcm91dGVbMF0gYXMgRGlyZWN0aW9ucztcbiAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnQuc2hvd1JvdXRlR2VvbWV0cnkodHJ1ZSk7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50LnNob3dSb3V0ZUdlb21ldHJ5KHRydWUpO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZnMuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
|