@itwin/map-layers 5.4.3 → 5.5.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/CHANGELOG.md +19 -2
- package/README.md +7 -7
- package/lib/cjs/BrowserStorage.d.ts +1 -1
- package/lib/cjs/BrowserStorage.d.ts.map +1 -1
- package/lib/cjs/BrowserStorage.js +24 -14
- package/lib/cjs/BrowserStorage.js.map +1 -1
- package/lib/cjs/CustomParamUtils.d.ts +1 -1
- package/lib/cjs/CustomParamUtils.d.ts.map +1 -1
- package/lib/cjs/CustomParamUtils.js +18 -7
- package/lib/cjs/CustomParamUtils.js.map +1 -1
- package/lib/cjs/CustomParamsMappingStorage.d.ts +1 -1
- package/lib/cjs/CustomParamsMappingStorage.d.ts.map +1 -1
- package/lib/cjs/CustomParamsMappingStorage.js +3 -3
- package/lib/cjs/CustomParamsMappingStorage.js.map +1 -1
- package/lib/cjs/CustomParamsStorage.d.ts +1 -1
- package/lib/cjs/CustomParamsStorage.d.ts.map +1 -1
- package/lib/cjs/CustomParamsStorage.js +3 -3
- package/lib/cjs/CustomParamsStorage.js.map +1 -1
- package/lib/cjs/MapLayerPreferences.d.ts +2 -1
- package/lib/cjs/MapLayerPreferences.d.ts.map +1 -1
- package/lib/cjs/MapLayerPreferences.js +50 -25
- package/lib/cjs/MapLayerPreferences.js.map +1 -1
- package/lib/cjs/MapLayersActionIds.d.ts +5 -0
- package/lib/cjs/MapLayersActionIds.d.ts.map +1 -0
- package/lib/cjs/MapLayersActionIds.js +10 -0
- package/lib/cjs/MapLayersActionIds.js.map +1 -0
- package/lib/cjs/MapLayersPrefBrowserStorage.d.ts.map +1 -1
- package/lib/cjs/MapLayersPrefBrowserStorage.js +4 -5
- package/lib/cjs/MapLayersPrefBrowserStorage.js.map +1 -1
- package/lib/cjs/PreferencesBrowserStorage.d.ts +18 -18
- package/lib/cjs/PreferencesBrowserStorage.d.ts.map +1 -1
- package/lib/cjs/PreferencesBrowserStorage.js +14 -14
- package/lib/cjs/PreferencesBrowserStorage.js.map +1 -1
- package/lib/cjs/map-layers.d.ts +1 -0
- package/lib/cjs/map-layers.d.ts.map +1 -1
- package/lib/cjs/map-layers.js +4 -3
- package/lib/cjs/map-layers.js.map +1 -1
- package/lib/cjs/mapLayers.d.ts +2 -2
- package/lib/cjs/mapLayers.d.ts.map +1 -1
- package/lib/cjs/mapLayers.js.map +1 -1
- package/lib/cjs/public/locales/en/mapLayers.json +179 -184
- package/lib/cjs/ui/FeatureInfoUiItemsProvider.d.ts +3 -2
- package/lib/cjs/ui/FeatureInfoUiItemsProvider.d.ts.map +1 -1
- package/lib/cjs/ui/FeatureInfoUiItemsProvider.js +48 -16
- package/lib/cjs/ui/FeatureInfoUiItemsProvider.js.map +1 -1
- package/lib/cjs/ui/Interfaces.d.ts +3 -3
- package/lib/cjs/ui/Interfaces.d.ts.map +1 -1
- package/lib/cjs/ui/Interfaces.js.map +1 -1
- package/lib/cjs/ui/MapLayersUiItemsProvider.d.ts +3 -2
- package/lib/cjs/ui/MapLayersUiItemsProvider.d.ts.map +1 -1
- package/lib/cjs/ui/MapLayersUiItemsProvider.js +2 -6
- package/lib/cjs/ui/MapLayersUiItemsProvider.js.map +1 -1
- package/lib/cjs/ui/widget/AttachLayerPopupButton.d.ts.map +1 -1
- package/lib/cjs/ui/widget/AttachLayerPopupButton.js +81 -46
- package/lib/cjs/ui/widget/AttachLayerPopupButton.js.map +1 -1
- package/lib/cjs/ui/widget/BasemapPanel.d.ts.map +1 -1
- package/lib/cjs/ui/widget/BasemapPanel.js +44 -25
- package/lib/cjs/ui/widget/BasemapPanel.js.map +1 -1
- package/lib/cjs/ui/widget/BasemapPanel.scss +2 -4
- package/lib/cjs/ui/widget/ConfirmMessageDialog.d.ts +1 -1
- package/lib/cjs/ui/widget/ConfirmMessageDialog.d.ts.map +1 -1
- package/lib/cjs/ui/widget/ConfirmMessageDialog.js +31 -8
- package/lib/cjs/ui/widget/ConfirmMessageDialog.js.map +1 -1
- package/lib/cjs/ui/widget/CustomParamEditDialog.d.ts +1 -1
- package/lib/cjs/ui/widget/CustomParamEditDialog.d.ts.map +1 -1
- package/lib/cjs/ui/widget/CustomParamEditDialog.js +34 -20
- package/lib/cjs/ui/widget/CustomParamEditDialog.js.map +1 -1
- package/lib/cjs/ui/widget/CustomParamEditDialog.scss +1 -2
- package/lib/cjs/ui/widget/CustomParamsSettings.d.ts.map +1 -1
- package/lib/cjs/ui/widget/CustomParamsSettings.js +43 -28
- package/lib/cjs/ui/widget/CustomParamsSettings.js.map +1 -1
- package/lib/cjs/ui/widget/CustomParamsSettings.scss +7 -9
- package/lib/cjs/ui/widget/FeatureInfoDataProvider.d.ts +3 -2
- package/lib/cjs/ui/widget/FeatureInfoDataProvider.d.ts.map +1 -1
- package/lib/cjs/ui/widget/FeatureInfoDataProvider.js +4 -2
- package/lib/cjs/ui/widget/FeatureInfoDataProvider.js.map +1 -1
- package/lib/cjs/ui/widget/FeatureInfoWidget.d.ts +1 -1
- package/lib/cjs/ui/widget/FeatureInfoWidget.d.ts.map +1 -1
- package/lib/cjs/ui/widget/FeatureInfoWidget.js +36 -6
- package/lib/cjs/ui/widget/FeatureInfoWidget.js.map +1 -1
- package/lib/cjs/ui/widget/MapLayerActionButtons.d.ts +1 -1
- package/lib/cjs/ui/widget/MapLayerActionButtons.d.ts.map +1 -1
- package/lib/cjs/ui/widget/MapLayerActionButtons.js +30 -17
- package/lib/cjs/ui/widget/MapLayerActionButtons.js.map +1 -1
- package/lib/cjs/ui/widget/MapLayerDroppable.d.ts +2 -2
- package/lib/cjs/ui/widget/MapLayerDroppable.d.ts.map +1 -1
- package/lib/cjs/ui/widget/MapLayerDroppable.js +64 -50
- package/lib/cjs/ui/widget/MapLayerDroppable.js.map +1 -1
- package/lib/cjs/ui/widget/MapLayerManager.d.ts +2 -2
- package/lib/cjs/ui/widget/MapLayerManager.d.ts.map +1 -1
- package/lib/cjs/ui/widget/MapLayerManager.js +160 -86
- package/lib/cjs/ui/widget/MapLayerManager.js.map +1 -1
- package/lib/cjs/ui/widget/MapLayerManager.scss +3 -6
- package/lib/cjs/ui/widget/MapLayerSettingsMenu.d.ts +2 -2
- package/lib/cjs/ui/widget/MapLayerSettingsMenu.d.ts.map +1 -1
- package/lib/cjs/ui/widget/MapLayerSettingsMenu.js +33 -13
- package/lib/cjs/ui/widget/MapLayerSettingsMenu.js.map +1 -1
- package/lib/cjs/ui/widget/MapLayerSettingsPopupButton.d.ts.map +1 -1
- package/lib/cjs/ui/widget/MapLayerSettingsPopupButton.js +36 -14
- package/lib/cjs/ui/widget/MapLayerSettingsPopupButton.js.map +1 -1
- package/lib/cjs/ui/widget/MapLayerSettingsPopupButton.scss +5 -5
- package/lib/cjs/ui/widget/MapLayersWidget.d.ts +1 -1
- package/lib/cjs/ui/widget/MapLayersWidget.d.ts.map +1 -1
- package/lib/cjs/ui/widget/MapLayersWidget.js +34 -11
- package/lib/cjs/ui/widget/MapLayersWidget.js.map +1 -1
- package/lib/cjs/ui/widget/MapManagerMapLayersHeader.d.ts.map +1 -1
- package/lib/cjs/ui/widget/MapManagerMapLayersHeader.js +5 -8
- package/lib/cjs/ui/widget/MapManagerMapLayersHeader.js.map +1 -1
- package/lib/cjs/ui/widget/MapManagerSettings.d.ts.map +1 -1
- package/lib/cjs/ui/widget/MapManagerSettings.js +55 -56
- package/lib/cjs/ui/widget/MapManagerSettings.js.map +1 -1
- package/lib/cjs/ui/widget/MapManagerSettings.scss +1 -1
- package/lib/cjs/ui/widget/MapSelectFeaturesDialog.d.ts +2 -2
- package/lib/cjs/ui/widget/MapSelectFeaturesDialog.d.ts.map +1 -1
- package/lib/cjs/ui/widget/MapSelectFeaturesDialog.js +33 -18
- package/lib/cjs/ui/widget/MapSelectFeaturesDialog.js.map +1 -1
- package/lib/cjs/ui/widget/MapSelectFeaturesDialog.scss +1 -3
- package/lib/cjs/ui/widget/MapUrlDialog.d.ts +4 -3
- package/lib/cjs/ui/widget/MapUrlDialog.d.ts.map +1 -1
- package/lib/cjs/ui/widget/MapUrlDialog.js +125 -96
- package/lib/cjs/ui/widget/MapUrlDialog.js.map +1 -1
- package/lib/cjs/ui/widget/MapUrlDialog.scss +6 -7
- package/lib/cjs/ui/widget/SelectApiKey.d.ts.map +1 -1
- package/lib/cjs/ui/widget/SelectApiKey.js +38 -10
- package/lib/cjs/ui/widget/SelectApiKey.js.map +1 -1
- package/lib/cjs/ui/widget/SelectCustomParam.d.ts.map +1 -1
- package/lib/cjs/ui/widget/SelectCustomParam.js +40 -11
- package/lib/cjs/ui/widget/SelectCustomParam.js.map +1 -1
- package/lib/cjs/ui/widget/SelectMapFormat.d.ts +3 -3
- package/lib/cjs/ui/widget/SelectMapFormat.d.ts.map +1 -1
- package/lib/cjs/ui/widget/SelectMapFormat.js +35 -13
- package/lib/cjs/ui/widget/SelectMapFormat.js.map +1 -1
- package/lib/cjs/ui/widget/SubLayersDataProvider.d.ts +2 -2
- package/lib/cjs/ui/widget/SubLayersDataProvider.d.ts.map +1 -1
- package/lib/cjs/ui/widget/SubLayersDataProvider.js +13 -9
- package/lib/cjs/ui/widget/SubLayersDataProvider.js.map +1 -1
- package/lib/cjs/ui/widget/SubLayersPopupButton.d.ts +1 -1
- package/lib/cjs/ui/widget/SubLayersPopupButton.d.ts.map +1 -1
- package/lib/cjs/ui/widget/SubLayersPopupButton.js +30 -12
- package/lib/cjs/ui/widget/SubLayersPopupButton.js.map +1 -1
- package/lib/cjs/ui/widget/SubLayersTree.d.ts +2 -2
- package/lib/cjs/ui/widget/SubLayersTree.d.ts.map +1 -1
- package/lib/cjs/ui/widget/SubLayersTree.js +83 -45
- package/lib/cjs/ui/widget/SubLayersTree.js.map +1 -1
- package/lib/cjs/ui/widget/SubLayersTree.scss +4 -7
- package/lib/cjs/ui/widget/TransparencyPopupButton.d.ts.map +1 -1
- package/lib/cjs/ui/widget/TransparencyPopupButton.js +33 -16
- package/lib/cjs/ui/widget/TransparencyPopupButton.js.map +1 -1
- package/lib/cjs/ui/widget/TransparencyPopupButton.scss +1 -2
- package/lib/cjs/ui/widget/UserPreferencesStorageOptions.d.ts +1 -1
- package/lib/cjs/ui/widget/UserPreferencesStorageOptions.d.ts.map +1 -1
- package/lib/cjs/ui/widget/UserPreferencesStorageOptions.js +2 -8
- package/lib/cjs/ui/widget/UserPreferencesStorageOptions.js.map +1 -1
- package/lib/esm/BrowserStorage.d.ts +1 -1
- package/lib/esm/BrowserStorage.d.ts.map +1 -1
- package/lib/esm/BrowserStorage.js +24 -14
- package/lib/esm/BrowserStorage.js.map +1 -1
- package/lib/esm/CustomParamUtils.d.ts +1 -1
- package/lib/esm/CustomParamUtils.d.ts.map +1 -1
- package/lib/esm/CustomParamUtils.js +18 -7
- package/lib/esm/CustomParamUtils.js.map +1 -1
- package/lib/esm/CustomParamsMappingStorage.d.ts +1 -1
- package/lib/esm/CustomParamsMappingStorage.d.ts.map +1 -1
- package/lib/esm/CustomParamsMappingStorage.js +3 -3
- package/lib/esm/CustomParamsMappingStorage.js.map +1 -1
- package/lib/esm/CustomParamsStorage.d.ts +1 -1
- package/lib/esm/CustomParamsStorage.d.ts.map +1 -1
- package/lib/esm/CustomParamsStorage.js +3 -3
- package/lib/esm/CustomParamsStorage.js.map +1 -1
- package/lib/esm/MapLayerPreferences.d.ts +2 -1
- package/lib/esm/MapLayerPreferences.d.ts.map +1 -1
- package/lib/esm/MapLayerPreferences.js +50 -25
- package/lib/esm/MapLayerPreferences.js.map +1 -1
- package/lib/esm/MapLayersActionIds.d.ts +5 -0
- package/lib/esm/MapLayersActionIds.d.ts.map +1 -0
- package/lib/esm/MapLayersActionIds.js +7 -0
- package/lib/esm/MapLayersActionIds.js.map +1 -0
- package/lib/esm/MapLayersPrefBrowserStorage.d.ts.map +1 -1
- package/lib/esm/MapLayersPrefBrowserStorage.js +4 -5
- package/lib/esm/MapLayersPrefBrowserStorage.js.map +1 -1
- package/lib/esm/PreferencesBrowserStorage.d.ts +18 -18
- package/lib/esm/PreferencesBrowserStorage.d.ts.map +1 -1
- package/lib/esm/PreferencesBrowserStorage.js +14 -14
- package/lib/esm/PreferencesBrowserStorage.js.map +1 -1
- package/lib/esm/map-layers.d.ts +1 -0
- package/lib/esm/map-layers.d.ts.map +1 -1
- package/lib/esm/map-layers.js +4 -3
- package/lib/esm/map-layers.js.map +1 -1
- package/lib/esm/mapLayers.d.ts +2 -2
- package/lib/esm/mapLayers.d.ts.map +1 -1
- package/lib/esm/mapLayers.js.map +1 -1
- package/lib/esm/public/locales/en/mapLayers.json +179 -184
- package/lib/esm/ui/FeatureInfoUiItemsProvider.d.ts +3 -2
- package/lib/esm/ui/FeatureInfoUiItemsProvider.d.ts.map +1 -1
- package/lib/esm/ui/FeatureInfoUiItemsProvider.js +48 -16
- package/lib/esm/ui/FeatureInfoUiItemsProvider.js.map +1 -1
- package/lib/esm/ui/Interfaces.d.ts +3 -3
- package/lib/esm/ui/Interfaces.d.ts.map +1 -1
- package/lib/esm/ui/Interfaces.js.map +1 -1
- package/lib/esm/ui/MapLayersUiItemsProvider.d.ts +3 -2
- package/lib/esm/ui/MapLayersUiItemsProvider.d.ts.map +1 -1
- package/lib/esm/ui/MapLayersUiItemsProvider.js +2 -6
- package/lib/esm/ui/MapLayersUiItemsProvider.js.map +1 -1
- package/lib/esm/ui/widget/AttachLayerPopupButton.d.ts.map +1 -1
- package/lib/esm/ui/widget/AttachLayerPopupButton.js +57 -45
- package/lib/esm/ui/widget/AttachLayerPopupButton.js.map +1 -1
- package/lib/esm/ui/widget/BasemapPanel.d.ts.map +1 -1
- package/lib/esm/ui/widget/BasemapPanel.js +19 -23
- package/lib/esm/ui/widget/BasemapPanel.js.map +1 -1
- package/lib/esm/ui/widget/BasemapPanel.scss +2 -4
- package/lib/esm/ui/widget/ConfirmMessageDialog.d.ts +1 -1
- package/lib/esm/ui/widget/ConfirmMessageDialog.d.ts.map +1 -1
- package/lib/esm/ui/widget/ConfirmMessageDialog.js +5 -5
- package/lib/esm/ui/widget/ConfirmMessageDialog.js.map +1 -1
- package/lib/esm/ui/widget/CustomParamEditDialog.d.ts +1 -1
- package/lib/esm/ui/widget/CustomParamEditDialog.d.ts.map +1 -1
- package/lib/esm/ui/widget/CustomParamEditDialog.js +9 -18
- package/lib/esm/ui/widget/CustomParamEditDialog.js.map +1 -1
- package/lib/esm/ui/widget/CustomParamEditDialog.scss +1 -2
- package/lib/esm/ui/widget/CustomParamsSettings.d.ts.map +1 -1
- package/lib/esm/ui/widget/CustomParamsSettings.js +18 -26
- package/lib/esm/ui/widget/CustomParamsSettings.js.map +1 -1
- package/lib/esm/ui/widget/CustomParamsSettings.scss +7 -9
- package/lib/esm/ui/widget/FeatureInfoDataProvider.d.ts +3 -2
- package/lib/esm/ui/widget/FeatureInfoDataProvider.d.ts.map +1 -1
- package/lib/esm/ui/widget/FeatureInfoDataProvider.js +4 -2
- package/lib/esm/ui/widget/FeatureInfoDataProvider.js.map +1 -1
- package/lib/esm/ui/widget/FeatureInfoWidget.d.ts +1 -1
- package/lib/esm/ui/widget/FeatureInfoWidget.d.ts.map +1 -1
- package/lib/esm/ui/widget/FeatureInfoWidget.js +12 -5
- package/lib/esm/ui/widget/FeatureInfoWidget.js.map +1 -1
- package/lib/esm/ui/widget/MapLayerActionButtons.d.ts +1 -1
- package/lib/esm/ui/widget/MapLayerActionButtons.d.ts.map +1 -1
- package/lib/esm/ui/widget/MapLayerActionButtons.js +6 -16
- package/lib/esm/ui/widget/MapLayerActionButtons.js.map +1 -1
- package/lib/esm/ui/widget/MapLayerDroppable.d.ts +2 -2
- package/lib/esm/ui/widget/MapLayerDroppable.d.ts.map +1 -1
- package/lib/esm/ui/widget/MapLayerDroppable.js +38 -47
- package/lib/esm/ui/widget/MapLayerDroppable.js.map +1 -1
- package/lib/esm/ui/widget/MapLayerManager.d.ts +2 -2
- package/lib/esm/ui/widget/MapLayerManager.d.ts.map +1 -1
- package/lib/esm/ui/widget/MapLayerManager.js +136 -85
- package/lib/esm/ui/widget/MapLayerManager.js.map +1 -1
- package/lib/esm/ui/widget/MapLayerManager.scss +3 -6
- package/lib/esm/ui/widget/MapLayerSettingsMenu.d.ts +2 -2
- package/lib/esm/ui/widget/MapLayerSettingsMenu.d.ts.map +1 -1
- package/lib/esm/ui/widget/MapLayerSettingsMenu.js +9 -12
- package/lib/esm/ui/widget/MapLayerSettingsMenu.js.map +1 -1
- package/lib/esm/ui/widget/MapLayerSettingsPopupButton.d.ts.map +1 -1
- package/lib/esm/ui/widget/MapLayerSettingsPopupButton.js +11 -12
- package/lib/esm/ui/widget/MapLayerSettingsPopupButton.js.map +1 -1
- package/lib/esm/ui/widget/MapLayerSettingsPopupButton.scss +5 -5
- package/lib/esm/ui/widget/MapLayersWidget.d.ts +1 -1
- package/lib/esm/ui/widget/MapLayersWidget.d.ts.map +1 -1
- package/lib/esm/ui/widget/MapLayersWidget.js +9 -9
- package/lib/esm/ui/widget/MapLayersWidget.js.map +1 -1
- package/lib/esm/ui/widget/MapManagerMapLayersHeader.d.ts.map +1 -1
- package/lib/esm/ui/widget/MapManagerMapLayersHeader.js +5 -8
- package/lib/esm/ui/widget/MapManagerMapLayersHeader.js.map +1 -1
- package/lib/esm/ui/widget/MapManagerSettings.d.ts.map +1 -1
- package/lib/esm/ui/widget/MapManagerSettings.js +29 -53
- package/lib/esm/ui/widget/MapManagerSettings.js.map +1 -1
- package/lib/esm/ui/widget/MapManagerSettings.scss +1 -1
- package/lib/esm/ui/widget/MapSelectFeaturesDialog.d.ts +2 -2
- package/lib/esm/ui/widget/MapSelectFeaturesDialog.d.ts.map +1 -1
- package/lib/esm/ui/widget/MapSelectFeaturesDialog.js +7 -15
- package/lib/esm/ui/widget/MapSelectFeaturesDialog.js.map +1 -1
- package/lib/esm/ui/widget/MapSelectFeaturesDialog.scss +1 -3
- package/lib/esm/ui/widget/MapUrlDialog.d.ts +4 -3
- package/lib/esm/ui/widget/MapUrlDialog.d.ts.map +1 -1
- package/lib/esm/ui/widget/MapUrlDialog.js +100 -94
- package/lib/esm/ui/widget/MapUrlDialog.js.map +1 -1
- package/lib/esm/ui/widget/MapUrlDialog.scss +6 -7
- package/lib/esm/ui/widget/SelectApiKey.d.ts.map +1 -1
- package/lib/esm/ui/widget/SelectApiKey.js +12 -7
- package/lib/esm/ui/widget/SelectApiKey.js.map +1 -1
- package/lib/esm/ui/widget/SelectCustomParam.d.ts.map +1 -1
- package/lib/esm/ui/widget/SelectCustomParam.js +14 -8
- package/lib/esm/ui/widget/SelectCustomParam.js.map +1 -1
- package/lib/esm/ui/widget/SelectMapFormat.d.ts +3 -3
- package/lib/esm/ui/widget/SelectMapFormat.d.ts.map +1 -1
- package/lib/esm/ui/widget/SelectMapFormat.js +9 -10
- package/lib/esm/ui/widget/SelectMapFormat.js.map +1 -1
- package/lib/esm/ui/widget/SubLayersDataProvider.d.ts +2 -2
- package/lib/esm/ui/widget/SubLayersDataProvider.d.ts.map +1 -1
- package/lib/esm/ui/widget/SubLayersDataProvider.js +13 -9
- package/lib/esm/ui/widget/SubLayersDataProvider.js.map +1 -1
- package/lib/esm/ui/widget/SubLayersPopupButton.d.ts +1 -1
- package/lib/esm/ui/widget/SubLayersPopupButton.d.ts.map +1 -1
- package/lib/esm/ui/widget/SubLayersPopupButton.js +6 -11
- package/lib/esm/ui/widget/SubLayersPopupButton.js.map +1 -1
- package/lib/esm/ui/widget/SubLayersTree.d.ts +2 -2
- package/lib/esm/ui/widget/SubLayersTree.d.ts.map +1 -1
- package/lib/esm/ui/widget/SubLayersTree.js +59 -44
- package/lib/esm/ui/widget/SubLayersTree.js.map +1 -1
- package/lib/esm/ui/widget/SubLayersTree.scss +4 -7
- package/lib/esm/ui/widget/TransparencyPopupButton.d.ts.map +1 -1
- package/lib/esm/ui/widget/TransparencyPopupButton.js +8 -14
- package/lib/esm/ui/widget/TransparencyPopupButton.js.map +1 -1
- package/lib/esm/ui/widget/TransparencyPopupButton.scss +1 -2
- package/lib/esm/ui/widget/UserPreferencesStorageOptions.d.ts +1 -1
- package/lib/esm/ui/widget/UserPreferencesStorageOptions.d.ts.map +1 -1
- package/lib/esm/ui/widget/UserPreferencesStorageOptions.js +2 -8
- package/lib/esm/ui/widget/UserPreferencesStorageOptions.js.map +1 -1
- package/lib/public/locales/en/mapLayers.json +179 -184
- package/package.json +9 -21
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
2
|
/*---------------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
6
|
// cSpell:ignore droppable Sublayer Basemap
|
|
6
7
|
// the following quiet warning caused by react-beautiful-dnd package
|
|
7
8
|
/* eslint-disable @typescript-eslint/unbound-method */
|
|
@@ -9,8 +10,8 @@ import "./MapLayerManager.scss";
|
|
|
9
10
|
import * as React from "react";
|
|
10
11
|
import { DragDropContext } from "react-beautiful-dnd";
|
|
11
12
|
import { BentleyError, compareStrings } from "@itwin/core-bentley";
|
|
12
|
-
import { BackgroundMapProvider, BackgroundMapType, BaseMapLayerSettings, ImageMapLayerSettings
|
|
13
|
-
import { ImageryMapTileTree, IModelApp, MapLayerSources, NotifyMessageDetails, OutputMessagePriority
|
|
13
|
+
import { BackgroundMapProvider, BackgroundMapType, BaseMapLayerSettings, ImageMapLayerSettings } from "@itwin/core-common";
|
|
14
|
+
import { ImageryMapTileTree, IModelApp, MapLayerSources, NotifyMessageDetails, OutputMessagePriority } from "@itwin/core-frontend";
|
|
14
15
|
import { ToggleSwitch } from "@itwin/itwinui-react";
|
|
15
16
|
import { CustomParamsMappingStorage } from "../../CustomParamsMappingStorage";
|
|
16
17
|
import { CustomParamUtils } from "../../CustomParamUtils";
|
|
@@ -21,6 +22,7 @@ import { MapLayerActionButtons } from "./MapLayerActionButtons";
|
|
|
21
22
|
import { MapLayerDroppable } from "./MapLayerDroppable";
|
|
22
23
|
import { MapLayerSettingsPopupButton } from "./MapLayerSettingsPopupButton";
|
|
23
24
|
import { MapManagerLayersHeader } from "./MapManagerMapLayersHeader";
|
|
25
|
+
import { MapLayersSyncUiEventId } from "../../MapLayersActionIds";
|
|
24
26
|
/** @internal */
|
|
25
27
|
export const defaultBaseMapLayers = [
|
|
26
28
|
BaseMapLayerSettings.fromProvider(BackgroundMapProvider.fromJSON({ name: "BingProvider", type: BackgroundMapType.Aerial })),
|
|
@@ -29,6 +31,7 @@ export const defaultBaseMapLayers = [
|
|
|
29
31
|
];
|
|
30
32
|
/** @internal */
|
|
31
33
|
export const SourceMapContext = React.createContext({
|
|
34
|
+
// eslint-disable-line @typescript-eslint/naming-convention
|
|
32
35
|
sources: [],
|
|
33
36
|
loadingSources: false,
|
|
34
37
|
bases: [],
|
|
@@ -43,16 +46,17 @@ function getSubLayerProps(subLayerSettings) {
|
|
|
43
46
|
}
|
|
44
47
|
function getMapLayerSettingsFromViewport(viewport, getBackgroundMap, populateSubLayers = true) {
|
|
45
48
|
const displayStyle = viewport.displayStyle;
|
|
46
|
-
if (!displayStyle)
|
|
49
|
+
if (!displayStyle) {
|
|
47
50
|
return undefined;
|
|
51
|
+
}
|
|
48
52
|
const layers = new Array();
|
|
49
|
-
const displayStyleLayers =
|
|
53
|
+
const displayStyleLayers = getBackgroundMap ? displayStyle.settings.mapImagery.backgroundLayers : displayStyle.settings.mapImagery.overlayLayers;
|
|
50
54
|
for (let layerIndex = 0; layerIndex < displayStyleLayers.length; layerIndex++) {
|
|
51
55
|
const layerSettings = displayStyleLayers[layerIndex];
|
|
52
56
|
const isOverlay = !getBackgroundMap;
|
|
53
57
|
const layerProvider = viewport.getMapLayerImageryProvider({ index: layerIndex, isOverlay });
|
|
54
58
|
const treeVisibility = viewport.getMapLayerScaleRangeVisibility({ index: layerIndex, isOverlay });
|
|
55
|
-
const popSubLayers = populateSubLayers &&
|
|
59
|
+
const popSubLayers = populateSubLayers && layerSettings instanceof ImageMapLayerSettings;
|
|
56
60
|
layers.push({
|
|
57
61
|
visible: layerSettings.visible,
|
|
58
62
|
treeVisibility,
|
|
@@ -122,14 +126,17 @@ export function MapLayerManager(props) {
|
|
|
122
126
|
React.useEffect(() => {
|
|
123
127
|
const handleScaleRangeVisibilityChanged = (layerIndexes) => {
|
|
124
128
|
const updateLayers = (array) => {
|
|
125
|
-
if (array === undefined)
|
|
129
|
+
if (array === undefined) {
|
|
126
130
|
return undefined;
|
|
131
|
+
}
|
|
127
132
|
return array.map((curStyledLayer) => {
|
|
128
133
|
const foundScaleRangeVisibility = layerIndexes.find((layerIdx) => layerIdx.index === curStyledLayer.layerIndex && layerIdx.isOverlay === curStyledLayer.isOverlay);
|
|
129
|
-
if (undefined === foundScaleRangeVisibility)
|
|
134
|
+
if (undefined === foundScaleRangeVisibility) {
|
|
130
135
|
return curStyledLayer;
|
|
131
|
-
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
132
138
|
return { ...curStyledLayer, treeVisibility: foundScaleRangeVisibility.visibility };
|
|
139
|
+
}
|
|
133
140
|
});
|
|
134
141
|
};
|
|
135
142
|
setBackgroundMapLayers(updateLayers(backgroundMapLayers));
|
|
@@ -140,10 +147,11 @@ export function MapLayerManager(props) {
|
|
|
140
147
|
// Setup onMapImageryChanged events listening.
|
|
141
148
|
React.useEffect(() => {
|
|
142
149
|
const handleMapImageryChanged = (args) => {
|
|
143
|
-
if (args.backgroundLayers.length !== (backgroundMapLayers ? backgroundMapLayers.length : 0)
|
|
144
|
-
|
|
150
|
+
if (args.backgroundLayers.length !== (backgroundMapLayers ? backgroundMapLayers.length : 0) ||
|
|
151
|
+
args.overlayLayers.length !== (overlayMapLayers ? overlayMapLayers.length : 0)) {
|
|
145
152
|
loadMapLayerSettingsFromViewport(activeViewport);
|
|
146
153
|
}
|
|
154
|
+
IModelApp.toolAdmin.dispatchUiSyncEvent(MapLayersSyncUiEventId.MapImageryChanged);
|
|
147
155
|
};
|
|
148
156
|
return activeViewport?.displayStyle.settings.onMapImageryChanged.addListener(handleMapImageryChanged);
|
|
149
157
|
}, [activeViewport, backgroundMapLayers, loadMapLayerSettingsFromViewport, overlayMapLayers]);
|
|
@@ -152,11 +160,19 @@ export function MapLayerManager(props) {
|
|
|
152
160
|
}, [loadMapLayerSettingsFromViewport, activeViewport]);
|
|
153
161
|
// Triggered whenever a provider status change
|
|
154
162
|
React.useEffect(() => {
|
|
155
|
-
backgroundMapLayers?.forEach((layer) => {
|
|
156
|
-
|
|
163
|
+
backgroundMapLayers?.forEach((layer) => {
|
|
164
|
+
layer.provider?.onStatusChanged.addListener(handleProviderStatusChanged);
|
|
165
|
+
});
|
|
166
|
+
overlayMapLayers?.forEach((layer) => {
|
|
167
|
+
layer.provider?.onStatusChanged.addListener(handleProviderStatusChanged);
|
|
168
|
+
});
|
|
157
169
|
return () => {
|
|
158
|
-
backgroundMapLayers?.forEach((layer) => {
|
|
159
|
-
|
|
170
|
+
backgroundMapLayers?.forEach((layer) => {
|
|
171
|
+
layer.provider?.onStatusChanged.removeListener(handleProviderStatusChanged);
|
|
172
|
+
});
|
|
173
|
+
overlayMapLayers?.forEach((layer) => {
|
|
174
|
+
layer.provider?.onStatusChanged.removeListener(handleProviderStatusChanged);
|
|
175
|
+
});
|
|
160
176
|
};
|
|
161
177
|
}, [backgroundMapLayers, overlayMapLayers, activeViewport, loadMapLayerSettingsFromViewport, handleProviderStatusChanged]);
|
|
162
178
|
// Monitor viewport updates, and refresh the widget accordingly.
|
|
@@ -170,7 +186,7 @@ export function MapLayerManager(props) {
|
|
|
170
186
|
React.useEffect(() => {
|
|
171
187
|
async function fetchSources() {
|
|
172
188
|
let preferenceSources = [];
|
|
173
|
-
const sourceLayers = await MapLayerSources.create(undefined,
|
|
189
|
+
const sourceLayers = await MapLayerSources.create(undefined, fetchPublicMapLayerSources && !hideExternalMapLayersSection);
|
|
174
190
|
const iModel = activeViewport.iModel;
|
|
175
191
|
try {
|
|
176
192
|
if (iModel?.iTwinId !== undefined) {
|
|
@@ -192,8 +208,8 @@ export function MapLayerManager(props) {
|
|
|
192
208
|
// Find existing entries to avoid adding duplicated sources
|
|
193
209
|
if (!sources.find((curSource) => source.name === curSource.name)) {
|
|
194
210
|
const cpMapping = cpMappingStorage.get(source.url.toLowerCase());
|
|
195
|
-
if (cpMapping && cpMapping
|
|
196
|
-
CustomParamUtils.setSourceCustomParams(source, cpMapping
|
|
211
|
+
if (cpMapping && !Array.isArray(cpMapping)) {
|
|
212
|
+
CustomParamUtils.setSourceCustomParams(source, cpMapping.customParamNames);
|
|
197
213
|
}
|
|
198
214
|
addSource(source);
|
|
199
215
|
}
|
|
@@ -202,30 +218,33 @@ export function MapLayerManager(props) {
|
|
|
202
218
|
setMapSources(sources);
|
|
203
219
|
}
|
|
204
220
|
setLoadingSources(true);
|
|
205
|
-
fetchSources()
|
|
221
|
+
fetchSources()
|
|
222
|
+
.then(() => {
|
|
206
223
|
if (isMounted.current) {
|
|
207
224
|
setLoadingSources(false);
|
|
208
225
|
}
|
|
209
|
-
})
|
|
226
|
+
})
|
|
227
|
+
.catch(() => {
|
|
210
228
|
if (isMounted.current) {
|
|
211
229
|
setLoadingSources(false);
|
|
212
230
|
}
|
|
213
231
|
});
|
|
214
232
|
}, [setMapSources, fetchPublicMapLayerSources, hideExternalMapLayersSection, activeViewport.iModel]);
|
|
215
233
|
/**
|
|
216
|
-
|
|
217
|
-
|
|
234
|
+
* Handle change events in the MapLayerPreferences
|
|
235
|
+
*/
|
|
218
236
|
React.useEffect(() => {
|
|
219
237
|
const handleLayerSourceChange = async (changeType, oldSource, newSource) => {
|
|
220
|
-
const removeSource =
|
|
221
|
-
const addSource =
|
|
222
|
-
let tmpSources =
|
|
238
|
+
const removeSource = changeType === MapLayerSourceChangeType.Replaced || changeType === MapLayerSourceChangeType.Removed;
|
|
239
|
+
const addSource = changeType === MapLayerSourceChangeType.Replaced || changeType === MapLayerSourceChangeType.Added;
|
|
240
|
+
let tmpSources = mapSources ? [...mapSources] : undefined;
|
|
223
241
|
if (removeSource) {
|
|
224
242
|
if (oldSource && tmpSources) {
|
|
225
243
|
tmpSources = tmpSources.filter((source) => source.name !== oldSource.name);
|
|
226
244
|
// We don't update state in case of replacement... it will be done when the source is re-added right after.
|
|
227
|
-
if (changeType !== MapLayerSourceChangeType.Replaced)
|
|
245
|
+
if (changeType !== MapLayerSourceChangeType.Replaced) {
|
|
228
246
|
setMapSources(tmpSources);
|
|
247
|
+
}
|
|
229
248
|
}
|
|
230
249
|
}
|
|
231
250
|
if (addSource) {
|
|
@@ -246,22 +265,27 @@ export function MapLayerManager(props) {
|
|
|
246
265
|
return activeViewport?.onDisplayStyleChanged.addListener(handleDisplayStyleChange);
|
|
247
266
|
}, [activeViewport, loadMapLayerSettingsFromViewport]);
|
|
248
267
|
const handleOnMenuItemSelection = React.useCallback((action, mapLayerSettings) => {
|
|
249
|
-
if (!activeViewport || !activeViewport.displayStyle)
|
|
268
|
+
if (!activeViewport || !activeViewport.displayStyle) {
|
|
250
269
|
return;
|
|
270
|
+
}
|
|
251
271
|
const indexInDisplayStyle = activeViewport.displayStyle.findMapLayerIndexByNameAndSource(mapLayerSettings.name, mapLayerSettings.source, mapLayerSettings.isOverlay);
|
|
252
|
-
if (indexInDisplayStyle < 0)
|
|
272
|
+
if (indexInDisplayStyle < 0) {
|
|
253
273
|
return;
|
|
274
|
+
}
|
|
254
275
|
switch (action) {
|
|
255
276
|
case "delete":
|
|
256
277
|
activeViewport.displayStyle.detachMapLayerByIndex({ index: indexInDisplayStyle, isOverlay: mapLayerSettings.isOverlay });
|
|
257
278
|
break;
|
|
258
279
|
case "zoom-to-layer":
|
|
259
|
-
activeViewport
|
|
280
|
+
activeViewport
|
|
281
|
+
.viewMapLayerRange({ index: indexInDisplayStyle, isOverlay: mapLayerSettings.isOverlay }, activeViewport)
|
|
282
|
+
.then((status) => {
|
|
260
283
|
if (!status) {
|
|
261
284
|
const msg = MapLayersUI.localization.getLocalizedString("mapLayers:Messages.NoRangeDefined");
|
|
262
285
|
IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, `${msg} [${mapLayerSettings.name}]`));
|
|
263
286
|
}
|
|
264
|
-
})
|
|
287
|
+
})
|
|
288
|
+
.catch((_error) => { });
|
|
265
289
|
break;
|
|
266
290
|
}
|
|
267
291
|
// force UI to update
|
|
@@ -285,38 +309,49 @@ export function MapLayerManager(props) {
|
|
|
285
309
|
const newState = !backgroundMapVisible;
|
|
286
310
|
activeViewport.viewFlags = activeViewport.viewFlags.with("backgroundMap", newState);
|
|
287
311
|
setBackgroundMapVisible(newState);
|
|
312
|
+
IModelApp.toolAdmin.dispatchUiSyncEvent(MapLayersSyncUiEventId.MapImageryChanged);
|
|
288
313
|
}
|
|
289
314
|
}, [backgroundMapVisible, setBackgroundMapVisible, activeViewport]);
|
|
290
315
|
const handleOnMapLayerDragEnd = React.useCallback((result /* , _provided: ResponderProvided*/) => {
|
|
291
316
|
const { destination, source } = result;
|
|
292
|
-
if (!destination)
|
|
317
|
+
if (!destination) {
|
|
318
|
+
// dropped outside of list
|
|
293
319
|
return;
|
|
320
|
+
}
|
|
294
321
|
// item was not moved
|
|
295
|
-
if (destination.droppableId === source.droppableId && destination.index === source.index)
|
|
322
|
+
if (destination.droppableId === source.droppableId && destination.index === source.index) {
|
|
296
323
|
return;
|
|
324
|
+
}
|
|
297
325
|
let fromMapLayer;
|
|
298
|
-
if (source.droppableId === "overlayMapLayers" && overlayMapLayers)
|
|
326
|
+
if (source.droppableId === "overlayMapLayers" && overlayMapLayers) {
|
|
299
327
|
fromMapLayer = overlayMapLayers[source.index];
|
|
300
|
-
|
|
328
|
+
}
|
|
329
|
+
else if (source.droppableId === "backgroundMapLayers" && backgroundMapLayers) {
|
|
301
330
|
fromMapLayer = backgroundMapLayers[source.index];
|
|
302
|
-
|
|
331
|
+
}
|
|
332
|
+
if (!fromMapLayer || !activeViewport) {
|
|
303
333
|
return;
|
|
334
|
+
}
|
|
304
335
|
const displayStyle = activeViewport.displayStyle;
|
|
305
336
|
let toMapLayer;
|
|
306
337
|
let toIndexInDisplayStyle = -1;
|
|
307
338
|
// If destination.index is undefined then the user dropped the map at the end of list of maps. To get the "actual" index in the style, look up index in style by name.
|
|
308
339
|
// We need to do this because the order of layers in UI are reversed so higher layers appear above lower layers.
|
|
309
340
|
if (undefined !== destination.index) {
|
|
310
|
-
if (destination.droppableId === "overlayMapLayers" && overlayMapLayers)
|
|
341
|
+
if (destination.droppableId === "overlayMapLayers" && overlayMapLayers) {
|
|
311
342
|
toMapLayer = overlayMapLayers[destination.index];
|
|
312
|
-
|
|
343
|
+
}
|
|
344
|
+
else if (destination.droppableId === "backgroundMapLayers" && backgroundMapLayers) {
|
|
313
345
|
toMapLayer = backgroundMapLayers[destination.index];
|
|
314
|
-
|
|
346
|
+
}
|
|
347
|
+
if (toMapLayer) {
|
|
315
348
|
toIndexInDisplayStyle = displayStyle.findMapLayerIndexByNameAndSource(toMapLayer.name, toMapLayer.source, toMapLayer.isOverlay);
|
|
349
|
+
}
|
|
316
350
|
}
|
|
317
351
|
const fromIndexInDisplayStyle = displayStyle.findMapLayerIndexByNameAndSource(fromMapLayer.name, fromMapLayer.source, fromMapLayer.isOverlay);
|
|
318
|
-
if (fromIndexInDisplayStyle < 0)
|
|
352
|
+
if (fromIndexInDisplayStyle < 0) {
|
|
319
353
|
return;
|
|
354
|
+
}
|
|
320
355
|
if (destination.droppableId !== source.droppableId) {
|
|
321
356
|
// see if we moved from "overlayMapLayers" to "backgroundMapLayers" or vice-versa
|
|
322
357
|
const settings = activeViewport.displayStyle.mapLayerAtIndex({ index: fromIndexInDisplayStyle, isOverlay: fromMapLayer.isOverlay });
|
|
@@ -338,8 +373,9 @@ export function MapLayerManager(props) {
|
|
|
338
373
|
}
|
|
339
374
|
else {
|
|
340
375
|
if (toMapLayer) {
|
|
341
|
-
if (toIndexInDisplayStyle !== -1)
|
|
376
|
+
if (toIndexInDisplayStyle !== -1) {
|
|
342
377
|
displayStyle.moveMapLayerToIndex(fromIndexInDisplayStyle, toIndexInDisplayStyle, toMapLayer.isOverlay);
|
|
378
|
+
}
|
|
343
379
|
}
|
|
344
380
|
}
|
|
345
381
|
}
|
|
@@ -349,77 +385,105 @@ export function MapLayerManager(props) {
|
|
|
349
385
|
loadMapLayerSettingsFromViewport(activeViewport);
|
|
350
386
|
}, [loadMapLayerSettingsFromViewport, activeViewport, overlayMapLayers, backgroundMapLayers]);
|
|
351
387
|
const handleRefreshFromStyle = React.useCallback(() => {
|
|
352
|
-
if (activeViewport)
|
|
388
|
+
if (activeViewport) {
|
|
353
389
|
loadMapLayerSettingsFromViewport(activeViewport);
|
|
390
|
+
}
|
|
354
391
|
}, [activeViewport, loadMapLayerSettingsFromViewport]);
|
|
355
392
|
const handleItemSelected = React.useCallback((isOverlay, _index) => {
|
|
356
393
|
if (isOverlay) {
|
|
357
|
-
if (overlayMapLayers)
|
|
394
|
+
if (overlayMapLayers) {
|
|
358
395
|
setOverlayMapLayers([...overlayMapLayers]);
|
|
396
|
+
}
|
|
359
397
|
}
|
|
360
398
|
else {
|
|
361
|
-
if (backgroundMapLayers)
|
|
399
|
+
if (backgroundMapLayers) {
|
|
362
400
|
setBackgroundMapLayers([...backgroundMapLayers]);
|
|
401
|
+
}
|
|
363
402
|
}
|
|
364
403
|
}, [backgroundMapLayers, overlayMapLayers]);
|
|
365
404
|
const hasItemSelected = React.useCallback((isOverlay) => {
|
|
366
|
-
const layerList =
|
|
367
|
-
if (!layerList)
|
|
405
|
+
const layerList = isOverlay ? overlayMapLayers : backgroundMapLayers;
|
|
406
|
+
if (!layerList) {
|
|
368
407
|
return false;
|
|
408
|
+
}
|
|
369
409
|
return undefined !== layerList?.find((value) => value.selected === true);
|
|
370
410
|
}, [backgroundMapLayers, overlayMapLayers]);
|
|
371
411
|
const changeLayerVisibility = React.useCallback((visible, index, isOverlay) => {
|
|
372
412
|
activeViewport.displayStyle.changeMapLayerProps({ visible }, { index, isOverlay });
|
|
373
413
|
}, [activeViewport]);
|
|
374
414
|
const changeAllLayerVisibility = React.useCallback(async (visible, isOverlay) => {
|
|
375
|
-
if (isOverlay === undefined || !isOverlay)
|
|
415
|
+
if (isOverlay === undefined || !isOverlay) {
|
|
376
416
|
backgroundMapLayers?.forEach((layer) => changeLayerVisibility(visible, layer.layerIndex, layer.isOverlay));
|
|
377
|
-
|
|
417
|
+
}
|
|
418
|
+
if (isOverlay === undefined || isOverlay) {
|
|
378
419
|
overlayMapLayers?.forEach((layer) => changeLayerVisibility(visible, layer.layerIndex, layer.isOverlay));
|
|
420
|
+
}
|
|
379
421
|
}, [backgroundMapLayers, overlayMapLayers, changeLayerVisibility]);
|
|
380
422
|
const invertAllLayerVisibility = React.useCallback(async (isOverlay) => {
|
|
381
|
-
if (isOverlay === undefined || !isOverlay)
|
|
423
|
+
if (isOverlay === undefined || !isOverlay) {
|
|
382
424
|
backgroundMapLayers?.forEach((layer) => changeLayerVisibility(!layer.visible, layer.layerIndex, layer.isOverlay));
|
|
383
|
-
|
|
425
|
+
}
|
|
426
|
+
if (isOverlay === undefined || isOverlay) {
|
|
384
427
|
overlayMapLayers?.forEach((layer) => changeLayerVisibility(!layer.visible, layer.layerIndex, layer.isOverlay));
|
|
428
|
+
}
|
|
385
429
|
}, [backgroundMapLayers, overlayMapLayers, changeLayerVisibility]);
|
|
386
430
|
const detachSelectedLayers = React.useCallback(async (isOverlay) => {
|
|
387
|
-
const layerList =
|
|
388
|
-
if (!layerList || layerList.length === 0)
|
|
431
|
+
const layerList = isOverlay ? overlayMapLayers : backgroundMapLayers;
|
|
432
|
+
if (!layerList || layerList.length === 0) {
|
|
389
433
|
return;
|
|
434
|
+
}
|
|
390
435
|
for (let i = 0; i < layerList.length; i++) {
|
|
391
436
|
if (layerList[i].selected) {
|
|
392
|
-
const index =
|
|
437
|
+
const index = layerList.length - 1 - i; // Layers are reverted order is display style
|
|
393
438
|
activeViewport.displayStyle.detachMapLayerByIndex({ isOverlay, index });
|
|
394
439
|
}
|
|
395
440
|
}
|
|
396
441
|
}, [activeViewport, overlayMapLayers, backgroundMapLayers]);
|
|
397
442
|
const selectAllLayers = React.useCallback(async (isOverlay) => {
|
|
398
|
-
if (!overlayMapLayers || !backgroundMapLayers)
|
|
443
|
+
if (!overlayMapLayers || !backgroundMapLayers) {
|
|
399
444
|
return;
|
|
400
|
-
|
|
445
|
+
}
|
|
446
|
+
const layerList = isOverlay ? [...overlayMapLayers] : [...backgroundMapLayers];
|
|
401
447
|
const hasCheckedLayer = undefined !== layerList?.find((value) => value.selected === true);
|
|
402
|
-
layerList.forEach((layer) => {
|
|
403
|
-
|
|
448
|
+
layerList.forEach((layer) => {
|
|
449
|
+
layer.selected = !hasCheckedLayer;
|
|
450
|
+
});
|
|
451
|
+
if (isOverlay) {
|
|
404
452
|
setOverlayMapLayers(layerList);
|
|
405
|
-
|
|
453
|
+
}
|
|
454
|
+
else {
|
|
406
455
|
setBackgroundMapLayers(layerList);
|
|
456
|
+
}
|
|
407
457
|
}, [overlayMapLayers, backgroundMapLayers]);
|
|
408
458
|
const renderMapLayersList = React.useCallback((options) => {
|
|
409
|
-
if (!overlayMapLayers || !backgroundMapLayers)
|
|
410
|
-
return
|
|
459
|
+
if (!overlayMapLayers || !backgroundMapLayers) {
|
|
460
|
+
return _jsx(_Fragment, {});
|
|
461
|
+
}
|
|
411
462
|
const { isOverlay } = options;
|
|
412
|
-
const layerList =
|
|
413
|
-
const label =
|
|
414
|
-
return (
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
463
|
+
const layerList = isOverlay ? [...overlayMapLayers] : [...backgroundMapLayers];
|
|
464
|
+
const label = isOverlay ? overlaysLabel : underlaysLabel;
|
|
465
|
+
return (_jsxs("div", { className: "map-manager-layer-wrapper", "data-testid": "map-manager-layer-section", children: [_jsx(MapManagerLayersHeader, { label: label, isOverlay: isOverlay, disabled: !backgroundMapVisible }), layerList && layerList.length > 0 && (_jsx(_Fragment, { children: _jsx(MapLayerActionButtons, { disabled: !backgroundMapVisible, disabledUnlink: !hasItemSelected(isOverlay), hideAll: async () => changeAllLayerVisibility(false, isOverlay), showAll: async () => changeAllLayerVisibility(true, isOverlay), invert: async () => invertAllLayerVisibility(isOverlay), selectAll: async () => selectAllLayers(isOverlay), unlink: async () => detachSelectedLayers(isOverlay), checked: hasItemSelected(isOverlay) }) })), _jsx(MapLayerDroppable, { disabled: !backgroundMapVisible, isOverlay: isOverlay, layersList: layerList, mapLayerOptions: props.mapLayerOptions, getContainerForClone: props.getContainerForClone, activeViewport: props.activeViewport, onMenuItemSelected: handleOnMenuItemSelection, onItemVisibilityToggleClicked: handleLayerVisibilityChange, onItemSelected: handleItemSelected, onItemEdited: handleRefreshFromStyle })] }));
|
|
466
|
+
}, [
|
|
467
|
+
backgroundMapLayers,
|
|
468
|
+
backgroundMapVisible,
|
|
469
|
+
changeAllLayerVisibility,
|
|
470
|
+
detachSelectedLayers,
|
|
471
|
+
handleItemSelected,
|
|
472
|
+
handleLayerVisibilityChange,
|
|
473
|
+
handleOnMenuItemSelection,
|
|
474
|
+
handleRefreshFromStyle,
|
|
475
|
+
hasItemSelected,
|
|
476
|
+
invertAllLayerVisibility,
|
|
477
|
+
overlayMapLayers,
|
|
478
|
+
overlaysLabel,
|
|
479
|
+
props.activeViewport,
|
|
480
|
+
props.getContainerForClone,
|
|
481
|
+
props.mapLayerOptions,
|
|
482
|
+
selectAllLayers,
|
|
483
|
+
underlaysLabel,
|
|
484
|
+
]);
|
|
421
485
|
const [baseMapPanelLabel] = React.useState(MapLayersUI.localization.getLocalizedString("mapLayers:Basemap.BaseMapPanelTitle"));
|
|
422
|
-
return (
|
|
486
|
+
return (_jsxs(SourceMapContext.Provider, { value: {
|
|
423
487
|
activeViewport,
|
|
424
488
|
loadingSources,
|
|
425
489
|
sources: mapSources ? mapSources : [],
|
|
@@ -428,19 +492,6 @@ export function MapLayerManager(props) {
|
|
|
428
492
|
backgroundLayers: backgroundMapLayers,
|
|
429
493
|
overlayLayers: overlayMapLayers,
|
|
430
494
|
mapLayerOptions,
|
|
431
|
-
} },
|
|
432
|
-
React.createElement("div", { className: "map-manager-top-header" },
|
|
433
|
-
React.createElement("span", { className: "map-manager-header-label" }, baseMapPanelLabel),
|
|
434
|
-
React.createElement("div", { className: "map-manager-header-buttons-group" },
|
|
435
|
-
React.createElement(ToggleSwitch, { className: "map-manager-toggle", checked: backgroundMapVisible, onChange: handleMapLayersToggle }),
|
|
436
|
-
React.createElement(MapLayerSettingsPopupButton, { disabled: !backgroundMapVisible }))),
|
|
437
|
-
React.createElement("div", { className: "map-manager-container" },
|
|
438
|
-
React.createElement("div", { className: "map-manager-basemap" },
|
|
439
|
-
React.createElement(BasemapPanel, { disabled: !backgroundMapVisible })),
|
|
440
|
-
!hideExternalMapLayersSection &&
|
|
441
|
-
React.createElement("div", null,
|
|
442
|
-
React.createElement(DragDropContext, { onDragEnd: handleOnMapLayerDragEnd },
|
|
443
|
-
renderMapLayersList({ isOverlay: false }),
|
|
444
|
-
renderMapLayersList({ isOverlay: true }))))));
|
|
495
|
+
}, children: [_jsxs("div", { className: "map-manager-top-header", children: [_jsx("span", { className: "map-manager-header-label", children: baseMapPanelLabel }), _jsxs("div", { className: "map-manager-header-buttons-group", children: [_jsx(ToggleSwitch, { className: "map-manager-toggle", checked: backgroundMapVisible, onChange: handleMapLayersToggle }), _jsx(MapLayerSettingsPopupButton, { disabled: !backgroundMapVisible })] })] }), _jsxs("div", { className: "map-manager-container", children: [_jsx("div", { className: "map-manager-basemap", children: _jsx(BasemapPanel, { disabled: !backgroundMapVisible }) }), !hideExternalMapLayersSection && (_jsx("div", { children: _jsxs(DragDropContext, { onDragEnd: handleOnMapLayerDragEnd, children: [renderMapLayersList({ isOverlay: false }), renderMapLayersList({ isOverlay: true })] }) }))] })] }));
|
|
445
496
|
}
|
|
446
497
|
//# sourceMappingURL=MapLayerManager.js.map
|