@itwin/map-layers 5.4.4 → 5.6.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 +18 -2
- package/README.md +7 -7
- package/lib/cjs/BrowserStorage.d.ts.map +1 -1
- package/lib/cjs/BrowserStorage.js +23 -13
- 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 +6 -3
- 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 +17 -17
- 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 -4
- package/lib/cjs/ui/FeatureInfoUiItemsProvider.d.ts.map +1 -1
- package/lib/cjs/ui/FeatureInfoUiItemsProvider.js +48 -18
- 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 +42 -27
- 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 +34 -15
- 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 +158 -84
- 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 +104 -81
- 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 +36 -16
- 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.map +1 -1
- package/lib/esm/BrowserStorage.js +23 -13
- 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 +6 -3
- 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 +17 -17
- 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 -4
- package/lib/esm/ui/FeatureInfoUiItemsProvider.d.ts.map +1 -1
- package/lib/esm/ui/FeatureInfoUiItemsProvider.js +48 -18
- 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 +17 -25
- 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 +10 -14
- 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 +134 -83
- 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 +79 -79
- 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 +11 -14
- 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,11 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
6
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
26
|
exports.MapLayersWidget = void 0;
|
|
8
|
-
const
|
|
27
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
28
|
+
/*---------------------------------------------------------------------------------------------
|
|
29
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
30
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
31
|
+
*--------------------------------------------------------------------------------------------*/
|
|
32
|
+
const React = __importStar(require("react"));
|
|
9
33
|
const appui_react_1 = require("@itwin/appui-react");
|
|
10
34
|
const core_react_1 = require("@itwin/core-react");
|
|
11
35
|
const MapLayerManager_1 = require("./MapLayerManager");
|
|
@@ -22,13 +46,12 @@ function MapLayersWidget(props) {
|
|
|
22
46
|
updateIsGeoLocated();
|
|
23
47
|
return activeViewport?.iModel.onEcefLocationChanged.addListener(updateIsGeoLocated);
|
|
24
48
|
}, [activeViewport?.iModel]);
|
|
25
|
-
if (activeViewport && isGeoLocated && activeViewport.view.isSpatialView())
|
|
26
|
-
return (
|
|
27
|
-
React.createElement(MapLayerManager_1.MapLayerManager, { activeViewport: activeViewport, mapLayerOptions: props.mapLayerOptions, getContainerForClone: () => {
|
|
49
|
+
if (activeViewport && isGeoLocated && activeViewport.view.isSpatialView()) {
|
|
50
|
+
return ((0, jsx_runtime_1.jsx)("div", { ref: ref, className: "map-manager-layer-host", children: (0, jsx_runtime_1.jsx)(MapLayerManager_1.MapLayerManager, { activeViewport: activeViewport, mapLayerOptions: props.mapLayerOptions, getContainerForClone: () => {
|
|
28
51
|
return ref.current ? ref.current : document.body;
|
|
29
|
-
} })));
|
|
30
|
-
|
|
31
|
-
|
|
52
|
+
} }) }));
|
|
53
|
+
}
|
|
54
|
+
return ((0, jsx_runtime_1.jsx)(core_react_1.FillCentered, { children: (0, jsx_runtime_1.jsx)("div", { className: "map-manager-not-geo-located-text", children: notGeoLocatedMsg }) }));
|
|
32
55
|
}
|
|
33
56
|
exports.MapLayersWidget = MapLayersWidget;
|
|
34
57
|
//# sourceMappingURL=MapLayersWidget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapLayersWidget.js","sourceRoot":"","sources":["../../../../src/ui/widget/MapLayersWidget.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MapLayersWidget.js","sourceRoot":"","sources":["../../../../src/ui/widget/MapLayersWidget.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;gGAGgG;AAEhG,6CAA+B;AAC/B,oDAAuD;AACvD,kDAAiD;AAEjD,uDAAoD;AACpD,+CAA8C;AAS9C,gEAAgE;AAChE,SAAgB,eAAe,CAAC,KAA2B;IACzD,MAAM,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,uBAAW,CAAC,YAAY,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAC1H,MAAM,cAAc,GAAG,IAAA,+BAAiB,GAAE,CAAC;IAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IAE9F,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QACxF,iHAAiH;QACjH,kBAAkB,EAAE,CAAC;QACrB,OAAO,cAAc,EAAE,MAAM,CAAC,qBAAqB,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACtF,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAE7B,IAAI,cAAc,IAAI,YAAY,IAAI,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE;QACzE,OAAO,CACL,gCAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAC,wBAAwB,YAC/C,uBAAC,iCAAe,IACd,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,oBAAoB,EAAE,GAAG,EAAE;oBACzB,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACnD,CAAC,GACD,GACE,CACP,CAAC;KACH;IAED,OAAO,CACL,uBAAC,yBAAY,cACX,gCAAK,SAAS,EAAC,kCAAkC,YAAE,gBAAgB,GAAO,GAC7D,CAChB,CAAC;AACJ,CAAC;AAhCD,0CAgCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as React from \"react\";\nimport { useActiveViewport } from \"@itwin/appui-react\";\nimport { FillCentered } from \"@itwin/core-react\";\nimport type { MapLayerOptions } from \"../Interfaces\";\nimport { MapLayerManager } from \"./MapLayerManager\";\nimport { MapLayersUI } from \"../../mapLayers\";\n\n/**\n * Widget to Manage Map Layers\n * @beta\n */\ninterface MapLayersWidgetProps {\n mapLayerOptions?: MapLayerOptions;\n}\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function MapLayersWidget(props: MapLayersWidgetProps) {\n const [notGeoLocatedMsg] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Messages.NotSupported\"));\n const activeViewport = useActiveViewport();\n const ref = React.useRef<HTMLDivElement>(null);\n const [isGeoLocated, setIsGeoLocated] = React.useState(!!activeViewport?.iModel.isGeoLocated);\n\n React.useEffect(() => {\n const updateIsGeoLocated = () => setIsGeoLocated(!!activeViewport?.iModel.isGeoLocated);\n // call immediately in case the activeViewport changes after its iModel.onEcefLocationChanged has already emitted\n updateIsGeoLocated();\n return activeViewport?.iModel.onEcefLocationChanged.addListener(updateIsGeoLocated);\n }, [activeViewport?.iModel]);\n\n if (activeViewport && isGeoLocated && activeViewport.view.isSpatialView()) {\n return (\n <div ref={ref} className=\"map-manager-layer-host\">\n <MapLayerManager\n activeViewport={activeViewport}\n mapLayerOptions={props.mapLayerOptions}\n getContainerForClone={() => {\n return ref.current ? ref.current : document.body;\n }}\n />\n </div>\n );\n }\n\n return (\n <FillCentered>\n <div className=\"map-manager-not-geo-located-text\">{notGeoLocatedMsg}</div>\n </FillCentered>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapManagerMapLayersHeader.d.ts","sourceRoot":"","sources":["../../../../src/ui/widget/MapManagerMapLayersHeader.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"MapManagerMapLayersHeader.d.ts","sourceRoot":"","sources":["../../../../src/ui/widget/MapManagerMapLayersHeader.tsx"],"names":[],"mappings":";AAMA,OAAO,wBAAwB,CAAC;AAEhC,UAAU,2BAA2B;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,eASxE"}
|
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MapManagerLayersHeader = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
5
|
/*---------------------------------------------------------------------------------------------
|
|
5
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
6
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
7
|
-
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
7
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
8
|
+
*--------------------------------------------------------------------------------------------*/
|
|
8
9
|
const itwinui_react_1 = require("@itwin/itwinui-react");
|
|
9
|
-
const React = require("react");
|
|
10
10
|
const AttachLayerPopupButton_1 = require("./AttachLayerPopupButton");
|
|
11
11
|
require("./MapLayerManager.scss");
|
|
12
12
|
function MapManagerLayersHeader(props) {
|
|
13
|
-
return (
|
|
14
|
-
React.createElement("span", { className: "map-manager-layers-label" }, props.label),
|
|
15
|
-
React.createElement(itwinui_react_1.ButtonGroup, null,
|
|
16
|
-
React.createElement(AttachLayerPopupButton_1.AttachLayerPopupButton, { disabled: props.disabled, isOverlay: props.isOverlay }))));
|
|
13
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "map-manager-layers", children: [(0, jsx_runtime_1.jsx)("span", { className: "map-manager-layers-label", children: props.label }), (0, jsx_runtime_1.jsx)(itwinui_react_1.ButtonGroup, { children: (0, jsx_runtime_1.jsx)(AttachLayerPopupButton_1.AttachLayerPopupButton, { disabled: props.disabled, isOverlay: props.isOverlay }) })] }));
|
|
17
14
|
}
|
|
18
15
|
exports.MapManagerLayersHeader = MapManagerLayersHeader;
|
|
19
16
|
//# sourceMappingURL=MapManagerMapLayersHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapManagerMapLayersHeader.js","sourceRoot":"","sources":["../../../../src/ui/widget/MapManagerMapLayersHeader.tsx"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"MapManagerMapLayersHeader.js","sourceRoot":"","sources":["../../../../src/ui/widget/MapManagerMapLayersHeader.tsx"],"names":[],"mappings":";;;;AAAA;;;gGAGgG;AAChG,wDAAmD;AACnD,qEAAkE;AAClE,kCAAgC;AAQhC,SAAgB,sBAAsB,CAAC,KAAkC;IACvE,OAAO,CACL,iCAAK,SAAS,EAAC,oBAAoB,aACjC,iCAAM,SAAS,EAAC,0BAA0B,YAAE,KAAK,CAAC,KAAK,GAAQ,EAC/D,uBAAC,2BAAW,cACV,uBAAC,+CAAsB,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,GAAI,GACpE,IACV,CACP,CAAC;AACJ,CAAC;AATD,wDASC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\nimport { ButtonGroup } from \"@itwin/itwinui-react\";\nimport { AttachLayerPopupButton } from \"./AttachLayerPopupButton\";\nimport \"./MapLayerManager.scss\";\n\ninterface MapManagerLayersHeaderProps {\n label: string;\n isOverlay: boolean;\n disabled?: boolean;\n}\n\nexport function MapManagerLayersHeader(props: MapManagerLayersHeaderProps) {\n return (\n <div className=\"map-manager-layers\">\n <span className=\"map-manager-layers-label\">{props.label}</span>\n <ButtonGroup>\n <AttachLayerPopupButton disabled={props.disabled} isOverlay={props.isOverlay} />\n </ButtonGroup>\n </div>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapManagerSettings.d.ts","sourceRoot":"","sources":["../../../../src/ui/widget/MapManagerSettings.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"MapManagerSettings.d.ts","sourceRoot":"","sources":["../../../../src/ui/widget/MapManagerSettings.tsx"],"names":[],"mappings":";AAaA,OAAO,2BAA2B,CAAC;AA4CnC,wBAAgB,kBAAkB,gBA6RjC"}
|
|
@@ -1,12 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
7
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
26
|
exports.MapManagerSettings = void 0;
|
|
9
|
-
const
|
|
27
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
28
|
+
/*---------------------------------------------------------------------------------------------
|
|
29
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
30
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
31
|
+
*--------------------------------------------------------------------------------------------*/
|
|
32
|
+
// cSpell:ignore droppable Sublayer Basemap
|
|
33
|
+
const React = __importStar(require("react"));
|
|
10
34
|
const core_react_1 = require("@itwin/core-react");
|
|
11
35
|
const core_frontend_1 = require("@itwin/core-frontend");
|
|
12
36
|
const core_common_1 = require("@itwin/core-common");
|
|
@@ -31,26 +55,28 @@ function getMapMaskingFromBackgroundMapSetting(backgroundMapSettings) {
|
|
|
31
55
|
return MapMaskingOption.None;
|
|
32
56
|
}
|
|
33
57
|
function getHeightOriginModeKey(mode) {
|
|
34
|
-
if (core_common_1.TerrainHeightOriginMode.Geodetic === mode)
|
|
58
|
+
if (core_common_1.TerrainHeightOriginMode.Geodetic === mode) {
|
|
35
59
|
return "geodetic";
|
|
36
|
-
|
|
60
|
+
}
|
|
61
|
+
if (core_common_1.TerrainHeightOriginMode.Geoid === mode) {
|
|
37
62
|
return "geoid";
|
|
63
|
+
}
|
|
38
64
|
return "ground";
|
|
39
65
|
}
|
|
40
66
|
function getHeightOriginModeFromKey(mode) {
|
|
41
|
-
if ("geodetic" === mode)
|
|
67
|
+
if ("geodetic" === mode) {
|
|
42
68
|
return core_common_1.TerrainHeightOriginMode.Geodetic;
|
|
43
|
-
|
|
69
|
+
}
|
|
70
|
+
if ("geoid" === mode) {
|
|
44
71
|
return core_common_1.TerrainHeightOriginMode.Geoid;
|
|
72
|
+
}
|
|
45
73
|
return core_common_1.TerrainHeightOriginMode.Ground;
|
|
46
74
|
}
|
|
47
75
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
48
76
|
function MapManagerSettings() {
|
|
49
77
|
const { activeViewport } = (0, MapLayerManager_1.useSourceMapContext)();
|
|
50
78
|
const backgroundMapSettings = activeViewport.view.getDisplayStyle3d().settings.backgroundMap;
|
|
51
|
-
const [transparency, setTransparency] = React.useState(() => typeof backgroundMapSettings.transparency === "boolean"
|
|
52
|
-
? 0
|
|
53
|
-
: Math.round((backgroundMapSettings.transparency) * 100) / 100);
|
|
79
|
+
const [transparency, setTransparency] = React.useState(() => typeof backgroundMapSettings.transparency === "boolean" ? 0 : Math.round(backgroundMapSettings.transparency * 100) / 100);
|
|
54
80
|
const terrainSettings = backgroundMapSettings.terrainSettings;
|
|
55
81
|
const [groundBias, setGroundBias] = React.useState(() => backgroundMapSettings.groundBias);
|
|
56
82
|
const terrainHeightOptions = React.useRef([
|
|
@@ -72,13 +98,15 @@ function MapManagerSettings() {
|
|
|
72
98
|
setHeightOriginMode(newValue);
|
|
73
99
|
}
|
|
74
100
|
}, [updateTerrainSettings]);
|
|
75
|
-
const [maskTransparency, setMaskTransparency] = React.useState(() => backgroundMapSettings.planarClipMask.transparency === undefined
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
101
|
+
const [maskTransparency, setMaskTransparency] = React.useState(() => backgroundMapSettings.planarClipMask.transparency === undefined ? undefined : Math.round(backgroundMapSettings.planarClipMask.transparency * 100) / 100);
|
|
102
|
+
const getNormalizedMaskTransparency = React.useCallback(() => {
|
|
103
|
+
return maskTransparency === undefined ? 0 : maskTransparency;
|
|
104
|
+
}, [maskTransparency]);
|
|
79
105
|
const updateMaskingSettings = React.useCallback((option) => {
|
|
80
106
|
if (option === MapMaskingOption.AllModels) {
|
|
81
|
-
activeViewport.changeBackgroundMapProps({
|
|
107
|
+
activeViewport.changeBackgroundMapProps({
|
|
108
|
+
planarClipMask: { mode: core_common_1.PlanarClipMaskMode.Priority, priority: core_common_1.PlanarClipMaskPriority.BackgroundMap, transparency: maskTransparency },
|
|
109
|
+
});
|
|
82
110
|
}
|
|
83
111
|
if (option === MapMaskingOption.None) {
|
|
84
112
|
activeViewport.changeBackgroundMapProps({ planarClipMask: { mode: core_common_1.PlanarClipMaskMode.None } });
|
|
@@ -95,7 +123,9 @@ function MapManagerSettings() {
|
|
|
95
123
|
const onOverrideMaskTransparencyToggle = React.useCallback((e) => {
|
|
96
124
|
const checked = e.target.checked;
|
|
97
125
|
const trans = checked ? getNormalizedMaskTransparency() : undefined;
|
|
98
|
-
activeViewport.changeBackgroundMapProps({
|
|
126
|
+
activeViewport.changeBackgroundMapProps({
|
|
127
|
+
planarClipMask: { mode: core_common_1.PlanarClipMaskMode.Priority, priority: core_common_1.PlanarClipMaskPriority.BackgroundMap, transparency: trans },
|
|
128
|
+
});
|
|
99
129
|
setOverrideMaskTransparency(checked);
|
|
100
130
|
}, [activeViewport, getNormalizedMaskTransparency]);
|
|
101
131
|
const handleElevationChange = React.useCallback((value) => {
|
|
@@ -111,7 +141,9 @@ function MapManagerSettings() {
|
|
|
111
141
|
}, [activeViewport]);
|
|
112
142
|
const handleMaskTransparencyChange = React.useCallback((values) => {
|
|
113
143
|
const newTransparency = values[0] / 100;
|
|
114
|
-
activeViewport.changeBackgroundMapProps({
|
|
144
|
+
activeViewport.changeBackgroundMapProps({
|
|
145
|
+
planarClipMask: { mode: core_common_1.PlanarClipMaskMode.Priority, priority: core_common_1.PlanarClipMaskPriority.BackgroundMap, transparency: newTransparency },
|
|
146
|
+
});
|
|
115
147
|
setMaskTransparency(newTransparency);
|
|
116
148
|
}, [activeViewport]);
|
|
117
149
|
const [applyTerrain, setApplyTerrain] = React.useState(() => backgroundMapSettings.applyTerrain);
|
|
@@ -142,8 +174,9 @@ function MapManagerSettings() {
|
|
|
142
174
|
}, [updateBackgroundMap]);
|
|
143
175
|
/** Disable commas and letters */
|
|
144
176
|
const onKeyDown = React.useCallback((event) => {
|
|
145
|
-
if (event.keyCode === 188 || (event.keyCode >= 65 && event.keyCode <= 90))
|
|
177
|
+
if (event.keyCode === 188 || (event.keyCode >= 65 && event.keyCode <= 90)) {
|
|
146
178
|
event.preventDefault();
|
|
179
|
+
}
|
|
147
180
|
}, []);
|
|
148
181
|
const [isLocatable, setIsLocatable] = React.useState(() => backgroundMapSettings.locatable);
|
|
149
182
|
const onLocatableToggle = React.useCallback((e) => {
|
|
@@ -164,41 +197,7 @@ function MapManagerSettings() {
|
|
|
164
197
|
const [overrideMaskTransparencyLabel] = React.useState(mapLayers_1.MapLayersUI.localization.getLocalizedString("mapLayers:Settings.OverrideMaskTransparency"));
|
|
165
198
|
const [maskTransparencyLabel] = React.useState(mapLayers_1.MapLayersUI.localization.getLocalizedString("mapLayers:Settings.MaskTransparency"));
|
|
166
199
|
const [tabIndex, setTabIndex] = React.useState(0);
|
|
167
|
-
return (
|
|
168
|
-
React.createElement(itwinui_react_1.Tab, { key: "general", label: 'General' }),
|
|
169
|
-
React.createElement(itwinui_react_1.Tab, { key: "advanced", label: 'Advanced' }),
|
|
170
|
-
], onTabSelected: setTabIndex },
|
|
171
|
-
tabIndex === 0 && React.createElement(React.Fragment, null,
|
|
172
|
-
React.createElement("div", { className: "maplayers-settings-container" },
|
|
173
|
-
React.createElement("span", { className: "map-manager-settings-label" }, transparencyLabel),
|
|
174
|
-
React.createElement(itwinui_react_1.Slider, { min: 0, max: 100, values: [transparency * 100], onChange: handleAlphaChange, step: 1 }),
|
|
175
|
-
React.createElement("span", { className: "map-manager-settings-label" }, locatableLabel),
|
|
176
|
-
React.createElement(itwinui_react_1.ToggleSwitch, { onChange: onLocatableToggle, checked: isLocatable }),
|
|
177
|
-
React.createElement("span", { className: "map-manager-settings-label" }, maskingLabel),
|
|
178
|
-
React.createElement(itwinui_react_1.ToggleSwitch, { onChange: onMaskingToggle, checked: masking !== MapMaskingOption.None }),
|
|
179
|
-
React.createElement("span", { className: "map-manager-settings-label" }, overrideMaskTransparencyLabel),
|
|
180
|
-
React.createElement(itwinui_react_1.ToggleSwitch, { disabled: masking === MapMaskingOption.None, onChange: onOverrideMaskTransparencyToggle, checked: overrideMaskTransparency }),
|
|
181
|
-
React.createElement("span", { className: "map-manager-settings-label" }, maskTransparencyLabel),
|
|
182
|
-
React.createElement(itwinui_react_1.Slider, { disabled: masking === MapMaskingOption.None || !overrideMaskTransparency, min: 0, max: 100, values: [getNormalizedMaskTransparency() * 100], onChange: handleMaskTransparencyChange, step: 1 }),
|
|
183
|
-
React.createElement(React.Fragment, null,
|
|
184
|
-
React.createElement("span", { className: "map-manager-settings-label" }, elevationOffsetLabel),
|
|
185
|
-
React.createElement(imodel_components_react_1.QuantityNumberInput, { disabled: applyTerrain, persistenceValue: groundBias, step: 1, snap: true, quantityType: core_frontend_1.QuantityType.LengthEngineering, onChange: handleElevationChange, onKeyDown: onKeyDown }),
|
|
186
|
-
React.createElement("span", { className: "map-manager-settings-label" }, useDepthBufferLabel),
|
|
187
|
-
React.createElement(itwinui_react_1.ToggleSwitch, { disabled: applyTerrain, onChange: onToggleUseDepthBuffer, checked: useDepthBuffer }))),
|
|
188
|
-
React.createElement("div", { className: "map-manager-settings-group" },
|
|
189
|
-
React.createElement("fieldset", null,
|
|
190
|
-
React.createElement("legend", null, terrainLabel),
|
|
191
|
-
React.createElement("div", { className: "maplayers-settings-container" },
|
|
192
|
-
React.createElement("span", { className: "map-manager-settings-label" }, enableLabel),
|
|
193
|
-
React.createElement(itwinui_react_1.ToggleSwitch, { onChange: onToggleTerrain, checked: applyTerrain }),
|
|
194
|
-
React.createElement("span", { className: "map-manager-settings-label" }, modelHeightLabel),
|
|
195
|
-
React.createElement(imodel_components_react_1.QuantityNumberInput, { disabled: !applyTerrain, persistenceValue: terrainOrigin, snap: true, quantityType: core_frontend_1.QuantityType.LengthEngineering, onChange: handleHeightOriginChange, onKeyDown: onKeyDown }),
|
|
196
|
-
React.createElement("span", { className: "map-manager-settings-label" }, heightOriginLabel),
|
|
197
|
-
React.createElement(itwinui_react_1.Select, { popoverProps: { appendTo: "parent" }, options: terrainHeightOptions.current, disabled: !applyTerrain, value: heightOriginMode, onChange: handleElevationTypeSelected, size: "small" }),
|
|
198
|
-
React.createElement("span", { className: "map-manager-settings-label" }, exaggerationLabel),
|
|
199
|
-
React.createElement(core_react_1.NumberInput, { value: exaggeration, disabled: !applyTerrain, onChange: handleExaggerationChange, onKeyDown: onKeyDown }))))),
|
|
200
|
-
tabIndex === 1 &&
|
|
201
|
-
React.createElement(CustomParamsSettings_1.CustomParamsSettingsPanel, null)));
|
|
200
|
+
return ((0, jsx_runtime_1.jsxs)(itwinui_react_1.Tabs, { labels: [(0, jsx_runtime_1.jsx)(itwinui_react_1.Tab, { label: "General" }, "general"), (0, jsx_runtime_1.jsx)(itwinui_react_1.Tab, { label: "Advanced" }, "advanced")], onTabSelected: setTabIndex, children: [tabIndex === 0 && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: "maplayers-settings-container", children: [(0, jsx_runtime_1.jsx)("span", { className: "map-manager-settings-label", children: transparencyLabel }), (0, jsx_runtime_1.jsx)(itwinui_react_1.Slider, { min: 0, max: 100, values: [transparency * 100], onChange: handleAlphaChange, step: 1 }), (0, jsx_runtime_1.jsx)("span", { className: "map-manager-settings-label", children: locatableLabel }), (0, jsx_runtime_1.jsx)(itwinui_react_1.ToggleSwitch, { onChange: onLocatableToggle, checked: isLocatable }), (0, jsx_runtime_1.jsx)("span", { className: "map-manager-settings-label", children: maskingLabel }), (0, jsx_runtime_1.jsx)(itwinui_react_1.ToggleSwitch, { onChange: onMaskingToggle, checked: masking !== MapMaskingOption.None }), (0, jsx_runtime_1.jsx)("span", { className: "map-manager-settings-label", children: overrideMaskTransparencyLabel }), (0, jsx_runtime_1.jsx)(itwinui_react_1.ToggleSwitch, { disabled: masking === MapMaskingOption.None, onChange: onOverrideMaskTransparencyToggle, checked: overrideMaskTransparency }), (0, jsx_runtime_1.jsx)("span", { className: "map-manager-settings-label", children: maskTransparencyLabel }), (0, jsx_runtime_1.jsx)(itwinui_react_1.Slider, { disabled: masking === MapMaskingOption.None || !overrideMaskTransparency, min: 0, max: 100, values: [getNormalizedMaskTransparency() * 100], onChange: handleMaskTransparencyChange, step: 1 }), (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { className: "map-manager-settings-label", children: elevationOffsetLabel }), (0, jsx_runtime_1.jsx)(imodel_components_react_1.QuantityNumberInput, { disabled: applyTerrain, persistenceValue: groundBias, step: 1, snap: true, quantityType: core_frontend_1.QuantityType.LengthEngineering, onChange: handleElevationChange, onKeyDown: onKeyDown }), (0, jsx_runtime_1.jsx)("span", { className: "map-manager-settings-label", children: useDepthBufferLabel }), (0, jsx_runtime_1.jsx)(itwinui_react_1.ToggleSwitch, { disabled: applyTerrain, onChange: onToggleUseDepthBuffer, checked: useDepthBuffer })] })] }), (0, jsx_runtime_1.jsx)("div", { className: "map-manager-settings-group", children: (0, jsx_runtime_1.jsxs)("fieldset", { children: [(0, jsx_runtime_1.jsx)("legend", { children: terrainLabel }), (0, jsx_runtime_1.jsxs)("div", { className: "maplayers-settings-container", children: [(0, jsx_runtime_1.jsx)("span", { className: "map-manager-settings-label", children: enableLabel }), (0, jsx_runtime_1.jsx)(itwinui_react_1.ToggleSwitch, { onChange: onToggleTerrain, checked: applyTerrain }), (0, jsx_runtime_1.jsx)("span", { className: "map-manager-settings-label", children: modelHeightLabel }), (0, jsx_runtime_1.jsx)(imodel_components_react_1.QuantityNumberInput, { disabled: !applyTerrain, persistenceValue: terrainOrigin, snap: true, quantityType: core_frontend_1.QuantityType.LengthEngineering, onChange: handleHeightOriginChange, onKeyDown: onKeyDown }), (0, jsx_runtime_1.jsx)("span", { className: "map-manager-settings-label", children: heightOriginLabel }), (0, jsx_runtime_1.jsx)(itwinui_react_1.Select, { popoverProps: { appendTo: "parent" }, options: terrainHeightOptions.current, disabled: !applyTerrain, value: heightOriginMode, onChange: handleElevationTypeSelected, size: "small" }), (0, jsx_runtime_1.jsx)("span", { className: "map-manager-settings-label", children: exaggerationLabel }), (0, jsx_runtime_1.jsx)(core_react_1.NumberInput, { value: exaggeration, disabled: !applyTerrain, onChange: handleExaggerationChange, onKeyDown: onKeyDown })] })] }) })] })), tabIndex === 1 && (0, jsx_runtime_1.jsx)(CustomParamsSettings_1.CustomParamsSettingsPanel, {})] }));
|
|
202
201
|
}
|
|
203
202
|
exports.MapManagerSettings = MapManagerSettings;
|
|
204
203
|
//# sourceMappingURL=MapManagerSettings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapManagerSettings.js","sourceRoot":"","sources":["../../../../src/ui/widget/MapManagerSettings.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n// cSpell:ignore droppable Sublayer Basemap\n\nimport * as React from \"react\";\nimport { NumberInput } from \"@itwin/core-react\";\nimport { QuantityType, ViewState3d } from \"@itwin/core-frontend\";\nimport { BackgroundMapProps, BackgroundMapSettings, PlanarClipMaskMode, PlanarClipMaskPriority, TerrainHeightOriginMode, TerrainProps } from \"@itwin/core-common\";\nimport { useSourceMapContext } from \"./MapLayerManager\";\nimport \"./MapManagerSettings.scss\";\nimport { Select, SelectOption, Slider, Tab, Tabs, ToggleSwitch } from \"@itwin/itwinui-react\";\nimport { QuantityNumberInput } from \"@itwin/imodel-components-react\";\nimport { MapLayersUI } from \"../../mapLayers\";\nimport { CustomParamsSettingsPanel } from \"./CustomParamsSettings\";\n\n/* eslint-disable deprecation/deprecation */\n\nenum MapMaskingOption {\n None,\n AllModels\n}\n\nfunction getMapMaskingFromBackgroundMapSetting(backgroundMapSettings: BackgroundMapSettings): MapMaskingOption {\n if (backgroundMapSettings.planarClipMask.mode === PlanarClipMaskMode.Priority && backgroundMapSettings.planarClipMask.priority) {\n if (backgroundMapSettings.planarClipMask.priority >= PlanarClipMaskPriority.BackgroundMap) {\n return MapMaskingOption.AllModels;\n }\n\n }\n return MapMaskingOption.None;\n}\n\nfunction getHeightOriginModeKey(mode: TerrainHeightOriginMode): string {\n if (TerrainHeightOriginMode.Geodetic === mode)\n return \"geodetic\";\n if (TerrainHeightOriginMode.Geoid === mode)\n return \"geoid\";\n return \"ground\";\n}\n\nfunction getHeightOriginModeFromKey(mode: string): TerrainHeightOriginMode {\n if (\"geodetic\" === mode)\n return TerrainHeightOriginMode.Geodetic;\n if (\"geoid\" === mode)\n return TerrainHeightOriginMode.Geoid;\n return TerrainHeightOriginMode.Ground;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function MapManagerSettings() {\n const { activeViewport } = useSourceMapContext();\n const backgroundMapSettings = (activeViewport!.view as ViewState3d).getDisplayStyle3d().settings.backgroundMap;\n\n const [transparency, setTransparency] = React.useState(() =>\n typeof backgroundMapSettings.transparency === \"boolean\"\n ? 0\n : Math.round((backgroundMapSettings.transparency) * 100) / 100);\n\n const terrainSettings = backgroundMapSettings.terrainSettings;\n const [groundBias, setGroundBias] = React.useState(() => backgroundMapSettings.groundBias);\n\n const terrainHeightOptions = React.useRef<SelectOption<string>[]>([\n { value: \"geodetic\", label: MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.ElevationTypeGeodetic\") },\n { value: \"geoid\", label: MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.ElevationTypeGeoid\") },\n { value: \"ground\", label: MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.ElevationTypeGround\") },\n ]);\n\n const updateTerrainSettings = React.useCallback((props: TerrainProps) => {\n activeViewport!.changeBackgroundMapProps({ terrainSettings: props });\n }, [activeViewport]);\n\n const updateBackgroundMap = React.useCallback((props: BackgroundMapProps) => {\n activeViewport!.changeBackgroundMapProps(props);\n }, [activeViewport]);\n\n const [heightOriginMode, setHeightOriginMode] = React.useState(() => getHeightOriginModeKey(terrainSettings.heightOriginMode));\n const handleElevationTypeSelected = React.useCallback((newValue: string): void => {\n if (newValue) {\n const newHeightOriginMode = getHeightOriginModeFromKey(newValue);\n updateTerrainSettings({ heightOriginMode: newHeightOriginMode });\n setHeightOriginMode(newValue);\n }\n }, [updateTerrainSettings]);\n\n const [maskTransparency, setMaskTransparency] = React.useState(() =>\n backgroundMapSettings.planarClipMask.transparency === undefined\n ? undefined\n : Math.round((backgroundMapSettings.planarClipMask.transparency) * 100) / 100);\n\n const getNormalizedMaskTransparency = React.useCallback(() => { return (maskTransparency === undefined ? 0 : maskTransparency); }, [maskTransparency]);\n\n const updateMaskingSettings = React.useCallback((option: MapMaskingOption) => {\n if (option === MapMaskingOption.AllModels) {\n activeViewport!.changeBackgroundMapProps({ planarClipMask: { mode: PlanarClipMaskMode.Priority, priority: PlanarClipMaskPriority.BackgroundMap, transparency: maskTransparency } });\n }\n if (option === MapMaskingOption.None) {\n activeViewport!.changeBackgroundMapProps({ planarClipMask: { mode: PlanarClipMaskMode.None } });\n }\n }, [activeViewport, maskTransparency]);\n\n const [masking, setMasking] = React.useState(() => getMapMaskingFromBackgroundMapSetting(backgroundMapSettings));\n\n const onMaskingToggle = React.useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.checked;\n const maskingOption = checked ? MapMaskingOption.AllModels : MapMaskingOption.None;\n updateMaskingSettings(maskingOption);\n setMasking(maskingOption);\n }, [updateMaskingSettings]);\n\n const [overrideMaskTransparency, setOverrideMaskTransparency] = React.useState(() => backgroundMapSettings.planarClipMask.transparency !== undefined);\n\n const onOverrideMaskTransparencyToggle = React.useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.checked;\n const trans = checked ? getNormalizedMaskTransparency() : undefined;\n activeViewport!.changeBackgroundMapProps({ planarClipMask: { mode: PlanarClipMaskMode.Priority, priority: PlanarClipMaskPriority.BackgroundMap, transparency: trans } });\n\n setOverrideMaskTransparency(checked);\n }, [activeViewport, getNormalizedMaskTransparency]);\n\n const handleElevationChange = React.useCallback((value: number) => {\n if (value !== undefined) {\n updateBackgroundMap({ groundBias: value });\n setGroundBias(value);\n }\n }, [updateBackgroundMap]);\n\n const handleAlphaChange = React.useCallback((values: readonly number[]) => {\n const newTransparency = values[0] / 100;\n activeViewport!.changeBackgroundMapProps({ transparency: newTransparency });\n setTransparency(newTransparency);\n }, [activeViewport]);\n\n const handleMaskTransparencyChange = React.useCallback((values: readonly number[]) => {\n const newTransparency = values[0] / 100;\n activeViewport!.changeBackgroundMapProps({ planarClipMask: { mode: PlanarClipMaskMode.Priority, priority: PlanarClipMaskPriority.BackgroundMap, transparency: newTransparency } });\n setMaskTransparency(newTransparency);\n }, [activeViewport]);\n\n const [applyTerrain, setApplyTerrain] = React.useState(() => backgroundMapSettings.applyTerrain);\n\n const onToggleTerrain = React.useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.checked;\n updateBackgroundMap({ applyTerrain: checked });\n setApplyTerrain(checked);\n }, [updateBackgroundMap]);\n\n const [exaggeration, setExaggeration] = React.useState(() => terrainSettings.exaggeration);\n\n const handleExaggerationChange = React.useCallback((value: number | undefined, _stringValue: string) => {\n if (undefined !== value) {\n updateTerrainSettings({ exaggeration: value });\n setExaggeration(value);\n }\n }, [updateTerrainSettings]);\n\n const [terrainOrigin, setTerrainOrigin] = React.useState(() => terrainSettings.heightOrigin);\n\n const handleHeightOriginChange = React.useCallback((value: number) => {\n if (undefined !== value) {\n updateTerrainSettings({ heightOrigin: value });\n setTerrainOrigin(value);\n }\n }, [updateTerrainSettings]);\n\n const [useDepthBuffer, setUseDepthBuffer] = React.useState(() => backgroundMapSettings.useDepthBuffer);\n const onToggleUseDepthBuffer = React.useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.checked;\n updateBackgroundMap({ useDepthBuffer: checked });\n setUseDepthBuffer(checked);\n }, [updateBackgroundMap]);\n\n /** Disable commas and letters */\n const onKeyDown = React.useCallback((event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.keyCode === 188 || (event.keyCode >= 65 && event.keyCode <= 90))\n event.preventDefault();\n }, []);\n\n const [isLocatable, setIsLocatable] = React.useState(() => backgroundMapSettings.locatable);\n const onLocatableToggle = React.useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.checked;\n updateBackgroundMap({ nonLocatable: !checked });\n setIsLocatable(checked);\n }, [updateBackgroundMap]);\n\n const [transparencyLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.Transparency\"));\n const [terrainLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.Terrain\"));\n const [enableLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.Enable\"));\n const [elevationOffsetLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.ElevationOffset\"));\n const [useDepthBufferLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.UseDepthBuffer\"));\n const [modelHeightLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.ModelHeight\"));\n const [heightOriginLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.HeightOrigin\"));\n const [exaggerationLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.Exaggeration\"));\n const [locatableLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.Locatable\"));\n const [maskingLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.Mask\"));\n const [overrideMaskTransparencyLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.OverrideMaskTransparency\"));\n const [maskTransparencyLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.MaskTransparency\"));\n\n const [tabIndex, setTabIndex] = React.useState(0);\n\n return (\n <Tabs\n labels={[\n <Tab key={\"general\"} label='General' />,\n <Tab key={\"advanced\"} label='Advanced' />,\n ]}\n onTabSelected={setTabIndex}>\n {tabIndex === 0 && <>\n <div className=\"maplayers-settings-container\">\n\n <span className=\"map-manager-settings-label\">{transparencyLabel}</span>\n <Slider min={0} max={100} values={[transparency * 100]} onChange={handleAlphaChange} step={1} />\n\n <span className=\"map-manager-settings-label\">{locatableLabel}</span>\n {/* eslint-disable-next-line deprecation/deprecation */}\n <ToggleSwitch onChange={onLocatableToggle} checked={isLocatable} />\n\n <span className=\"map-manager-settings-label\">{maskingLabel}</span>\n {/* eslint-disable-next-line deprecation/deprecation */}\n <ToggleSwitch onChange={onMaskingToggle} checked={masking !== MapMaskingOption.None} />\n\n <span className=\"map-manager-settings-label\">{overrideMaskTransparencyLabel}</span>\n <ToggleSwitch disabled={masking === MapMaskingOption.None} onChange={onOverrideMaskTransparencyToggle} checked={overrideMaskTransparency} />\n\n <span className=\"map-manager-settings-label\">{maskTransparencyLabel}</span>\n <Slider disabled={masking === MapMaskingOption.None || !overrideMaskTransparency} min={0} max={100} values={[getNormalizedMaskTransparency() * 100]} onChange={handleMaskTransparencyChange} step={1} />\n\n <>\n <span className=\"map-manager-settings-label\">{elevationOffsetLabel}</span>\n <QuantityNumberInput disabled={applyTerrain} persistenceValue={groundBias} step={1} snap quantityType={QuantityType.LengthEngineering} onChange={handleElevationChange} onKeyDown={onKeyDown} />\n\n <span className=\"map-manager-settings-label\">{useDepthBufferLabel}</span>\n {/* eslint-disable-next-line deprecation/deprecation */}\n <ToggleSwitch disabled={applyTerrain} onChange={onToggleUseDepthBuffer} checked={useDepthBuffer} />\n </>\n\n </div>\n <div className=\"map-manager-settings-group\">\n <fieldset>\n <legend>{terrainLabel}</legend>\n\n <div className=\"maplayers-settings-container\">\n\n <span className=\"map-manager-settings-label\">{enableLabel}</span>\n {/* eslint-disable-next-line deprecation/deprecation */}\n <ToggleSwitch onChange={onToggleTerrain} checked={applyTerrain} />\n\n <span className=\"map-manager-settings-label\">{modelHeightLabel}</span>\n <QuantityNumberInput disabled={!applyTerrain} persistenceValue={terrainOrigin} snap quantityType={QuantityType.LengthEngineering} onChange={handleHeightOriginChange} onKeyDown={onKeyDown} />\n\n <span className=\"map-manager-settings-label\">{heightOriginLabel}</span>\n {/* elevation correction component: 'popoverProps' is needed here otherwise selecting an option closes the menu popup.*/}\n <Select popoverProps={{ appendTo: \"parent\" }} options={terrainHeightOptions.current} disabled={!applyTerrain} value={heightOriginMode} onChange={handleElevationTypeSelected} size=\"small\" />\n\n <span className=\"map-manager-settings-label\">{exaggerationLabel}</span>\n <NumberInput value={exaggeration} disabled={!applyTerrain} onChange={handleExaggerationChange} onKeyDown={onKeyDown} />\n </div>\n\n </fieldset>\n </div>\n\n </>\n }\n {tabIndex === 1 &&\n <CustomParamsSettingsPanel></CustomParamsSettingsPanel>\n }\n </Tabs>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"MapManagerSettings.js","sourceRoot":"","sources":["../../../../src/ui/widget/MapManagerSettings.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n// cSpell:ignore droppable Sublayer Basemap\n\nimport * as React from \"react\";\nimport { NumberInput } from \"@itwin/core-react\";\nimport type { ViewState3d } from \"@itwin/core-frontend\";\nimport { QuantityType } from \"@itwin/core-frontend\";\nimport type { BackgroundMapProps, BackgroundMapSettings, TerrainProps } from \"@itwin/core-common\";\nimport { PlanarClipMaskMode, PlanarClipMaskPriority, TerrainHeightOriginMode } from \"@itwin/core-common\";\nimport { useSourceMapContext } from \"./MapLayerManager\";\nimport \"./MapManagerSettings.scss\";\nimport type { SelectOption } from \"@itwin/itwinui-react\";\nimport { Select, Slider, Tab, Tabs, ToggleSwitch } from \"@itwin/itwinui-react\";\nimport { QuantityNumberInput } from \"@itwin/imodel-components-react\";\nimport { MapLayersUI } from \"../../mapLayers\";\nimport { CustomParamsSettingsPanel } from \"./CustomParamsSettings\";\n\n/* eslint-disable deprecation/deprecation */\n\nenum MapMaskingOption {\n None,\n AllModels,\n}\n\nfunction getMapMaskingFromBackgroundMapSetting(backgroundMapSettings: BackgroundMapSettings): MapMaskingOption {\n if (backgroundMapSettings.planarClipMask.mode === PlanarClipMaskMode.Priority && backgroundMapSettings.planarClipMask.priority) {\n if (backgroundMapSettings.planarClipMask.priority >= PlanarClipMaskPriority.BackgroundMap) {\n return MapMaskingOption.AllModels;\n }\n }\n return MapMaskingOption.None;\n}\n\nfunction getHeightOriginModeKey(mode: TerrainHeightOriginMode): string {\n if (TerrainHeightOriginMode.Geodetic === mode) {\n return \"geodetic\";\n }\n if (TerrainHeightOriginMode.Geoid === mode) {\n return \"geoid\";\n }\n return \"ground\";\n}\n\nfunction getHeightOriginModeFromKey(mode: string): TerrainHeightOriginMode {\n if (\"geodetic\" === mode) {\n return TerrainHeightOriginMode.Geodetic;\n }\n if (\"geoid\" === mode) {\n return TerrainHeightOriginMode.Geoid;\n }\n return TerrainHeightOriginMode.Ground;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function MapManagerSettings() {\n const { activeViewport } = useSourceMapContext();\n const backgroundMapSettings = (activeViewport!.view as ViewState3d).getDisplayStyle3d().settings.backgroundMap;\n\n const [transparency, setTransparency] = React.useState(() =>\n typeof backgroundMapSettings.transparency === \"boolean\" ? 0 : Math.round(backgroundMapSettings.transparency * 100) / 100,\n );\n\n const terrainSettings = backgroundMapSettings.terrainSettings;\n const [groundBias, setGroundBias] = React.useState(() => backgroundMapSettings.groundBias);\n\n const terrainHeightOptions = React.useRef<SelectOption<string>[]>([\n { value: \"geodetic\", label: MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.ElevationTypeGeodetic\") },\n { value: \"geoid\", label: MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.ElevationTypeGeoid\") },\n { value: \"ground\", label: MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.ElevationTypeGround\") },\n ]);\n\n const updateTerrainSettings = React.useCallback(\n (props: TerrainProps) => {\n activeViewport!.changeBackgroundMapProps({ terrainSettings: props });\n },\n [activeViewport],\n );\n\n const updateBackgroundMap = React.useCallback(\n (props: BackgroundMapProps) => {\n activeViewport!.changeBackgroundMapProps(props);\n },\n [activeViewport],\n );\n\n const [heightOriginMode, setHeightOriginMode] = React.useState(() => getHeightOriginModeKey(terrainSettings.heightOriginMode));\n const handleElevationTypeSelected = React.useCallback(\n (newValue: string): void => {\n if (newValue) {\n const newHeightOriginMode = getHeightOriginModeFromKey(newValue);\n updateTerrainSettings({ heightOriginMode: newHeightOriginMode });\n setHeightOriginMode(newValue);\n }\n },\n [updateTerrainSettings],\n );\n\n const [maskTransparency, setMaskTransparency] = React.useState(() =>\n backgroundMapSettings.planarClipMask.transparency === undefined ? undefined : Math.round(backgroundMapSettings.planarClipMask.transparency * 100) / 100,\n );\n\n const getNormalizedMaskTransparency = React.useCallback(() => {\n return maskTransparency === undefined ? 0 : maskTransparency;\n }, [maskTransparency]);\n\n const updateMaskingSettings = React.useCallback(\n (option: MapMaskingOption) => {\n if (option === MapMaskingOption.AllModels) {\n activeViewport!.changeBackgroundMapProps({\n planarClipMask: { mode: PlanarClipMaskMode.Priority, priority: PlanarClipMaskPriority.BackgroundMap, transparency: maskTransparency },\n });\n }\n if (option === MapMaskingOption.None) {\n activeViewport!.changeBackgroundMapProps({ planarClipMask: { mode: PlanarClipMaskMode.None } });\n }\n },\n [activeViewport, maskTransparency],\n );\n\n const [masking, setMasking] = React.useState(() => getMapMaskingFromBackgroundMapSetting(backgroundMapSettings));\n\n const onMaskingToggle = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.checked;\n const maskingOption = checked ? MapMaskingOption.AllModels : MapMaskingOption.None;\n updateMaskingSettings(maskingOption);\n setMasking(maskingOption);\n },\n [updateMaskingSettings],\n );\n\n const [overrideMaskTransparency, setOverrideMaskTransparency] = React.useState(() => backgroundMapSettings.planarClipMask.transparency !== undefined);\n\n const onOverrideMaskTransparencyToggle = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.checked;\n const trans = checked ? getNormalizedMaskTransparency() : undefined;\n activeViewport!.changeBackgroundMapProps({\n planarClipMask: { mode: PlanarClipMaskMode.Priority, priority: PlanarClipMaskPriority.BackgroundMap, transparency: trans },\n });\n\n setOverrideMaskTransparency(checked);\n },\n [activeViewport, getNormalizedMaskTransparency],\n );\n\n const handleElevationChange = React.useCallback(\n (value: number) => {\n if (value !== undefined) {\n updateBackgroundMap({ groundBias: value });\n setGroundBias(value);\n }\n },\n [updateBackgroundMap],\n );\n\n const handleAlphaChange = React.useCallback(\n (values: readonly number[]) => {\n const newTransparency = values[0] / 100;\n activeViewport!.changeBackgroundMapProps({ transparency: newTransparency });\n setTransparency(newTransparency);\n },\n [activeViewport],\n );\n\n const handleMaskTransparencyChange = React.useCallback(\n (values: readonly number[]) => {\n const newTransparency = values[0] / 100;\n activeViewport!.changeBackgroundMapProps({\n planarClipMask: { mode: PlanarClipMaskMode.Priority, priority: PlanarClipMaskPriority.BackgroundMap, transparency: newTransparency },\n });\n setMaskTransparency(newTransparency);\n },\n [activeViewport],\n );\n\n const [applyTerrain, setApplyTerrain] = React.useState(() => backgroundMapSettings.applyTerrain);\n\n const onToggleTerrain = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.checked;\n updateBackgroundMap({ applyTerrain: checked });\n setApplyTerrain(checked);\n },\n [updateBackgroundMap],\n );\n\n const [exaggeration, setExaggeration] = React.useState(() => terrainSettings.exaggeration);\n\n const handleExaggerationChange = React.useCallback(\n (value: number | undefined, _stringValue: string) => {\n if (undefined !== value) {\n updateTerrainSettings({ exaggeration: value });\n setExaggeration(value);\n }\n },\n [updateTerrainSettings],\n );\n\n const [terrainOrigin, setTerrainOrigin] = React.useState(() => terrainSettings.heightOrigin);\n\n const handleHeightOriginChange = React.useCallback(\n (value: number) => {\n if (undefined !== value) {\n updateTerrainSettings({ heightOrigin: value });\n setTerrainOrigin(value);\n }\n },\n [updateTerrainSettings],\n );\n\n const [useDepthBuffer, setUseDepthBuffer] = React.useState(() => backgroundMapSettings.useDepthBuffer);\n const onToggleUseDepthBuffer = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.checked;\n updateBackgroundMap({ useDepthBuffer: checked });\n setUseDepthBuffer(checked);\n },\n [updateBackgroundMap],\n );\n\n /** Disable commas and letters */\n const onKeyDown = React.useCallback((event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.keyCode === 188 || (event.keyCode >= 65 && event.keyCode <= 90)) {\n event.preventDefault();\n }\n }, []);\n\n const [isLocatable, setIsLocatable] = React.useState(() => backgroundMapSettings.locatable);\n const onLocatableToggle = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.checked;\n updateBackgroundMap({ nonLocatable: !checked });\n setIsLocatable(checked);\n },\n [updateBackgroundMap],\n );\n\n const [transparencyLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.Transparency\"));\n const [terrainLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.Terrain\"));\n const [enableLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.Enable\"));\n const [elevationOffsetLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.ElevationOffset\"));\n const [useDepthBufferLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.UseDepthBuffer\"));\n const [modelHeightLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.ModelHeight\"));\n const [heightOriginLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.HeightOrigin\"));\n const [exaggerationLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.Exaggeration\"));\n const [locatableLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.Locatable\"));\n const [maskingLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.Mask\"));\n const [overrideMaskTransparencyLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.OverrideMaskTransparency\"));\n const [maskTransparencyLabel] = React.useState(MapLayersUI.localization.getLocalizedString(\"mapLayers:Settings.MaskTransparency\"));\n\n const [tabIndex, setTabIndex] = React.useState(0);\n\n return (\n <Tabs labels={[<Tab key={\"general\"} label=\"General\" />, <Tab key={\"advanced\"} label=\"Advanced\" />]} onTabSelected={setTabIndex}>\n {tabIndex === 0 && (\n <>\n <div className=\"maplayers-settings-container\">\n <span className=\"map-manager-settings-label\">{transparencyLabel}</span>\n <Slider min={0} max={100} values={[transparency * 100]} onChange={handleAlphaChange} step={1} />\n\n <span className=\"map-manager-settings-label\">{locatableLabel}</span>\n {/* eslint-disable-next-line deprecation/deprecation */}\n <ToggleSwitch onChange={onLocatableToggle} checked={isLocatable} />\n\n <span className=\"map-manager-settings-label\">{maskingLabel}</span>\n {/* eslint-disable-next-line deprecation/deprecation */}\n <ToggleSwitch onChange={onMaskingToggle} checked={masking !== MapMaskingOption.None} />\n\n <span className=\"map-manager-settings-label\">{overrideMaskTransparencyLabel}</span>\n <ToggleSwitch disabled={masking === MapMaskingOption.None} onChange={onOverrideMaskTransparencyToggle} checked={overrideMaskTransparency} />\n\n <span className=\"map-manager-settings-label\">{maskTransparencyLabel}</span>\n <Slider\n disabled={masking === MapMaskingOption.None || !overrideMaskTransparency}\n min={0}\n max={100}\n values={[getNormalizedMaskTransparency() * 100]}\n onChange={handleMaskTransparencyChange}\n step={1}\n />\n\n <>\n <span className=\"map-manager-settings-label\">{elevationOffsetLabel}</span>\n <QuantityNumberInput\n disabled={applyTerrain}\n persistenceValue={groundBias}\n step={1}\n snap\n quantityType={QuantityType.LengthEngineering}\n onChange={handleElevationChange}\n onKeyDown={onKeyDown}\n />\n\n <span className=\"map-manager-settings-label\">{useDepthBufferLabel}</span>\n {/* eslint-disable-next-line deprecation/deprecation */}\n <ToggleSwitch disabled={applyTerrain} onChange={onToggleUseDepthBuffer} checked={useDepthBuffer} />\n </>\n </div>\n <div className=\"map-manager-settings-group\">\n <fieldset>\n <legend>{terrainLabel}</legend>\n\n <div className=\"maplayers-settings-container\">\n <span className=\"map-manager-settings-label\">{enableLabel}</span>\n {/* eslint-disable-next-line deprecation/deprecation */}\n <ToggleSwitch onChange={onToggleTerrain} checked={applyTerrain} />\n\n <span className=\"map-manager-settings-label\">{modelHeightLabel}</span>\n <QuantityNumberInput\n disabled={!applyTerrain}\n persistenceValue={terrainOrigin}\n snap\n quantityType={QuantityType.LengthEngineering}\n onChange={handleHeightOriginChange}\n onKeyDown={onKeyDown}\n />\n\n <span className=\"map-manager-settings-label\">{heightOriginLabel}</span>\n {/* elevation correction component: 'popoverProps' is needed here otherwise selecting an option closes the menu popup.*/}\n <Select\n popoverProps={{ appendTo: \"parent\" }}\n options={terrainHeightOptions.current}\n disabled={!applyTerrain}\n value={heightOriginMode}\n onChange={handleElevationTypeSelected}\n size=\"small\"\n />\n\n <span className=\"map-manager-settings-label\">{exaggerationLabel}</span>\n <NumberInput value={exaggeration} disabled={!applyTerrain} onChange={handleExaggerationChange} onKeyDown={onKeyDown} />\n </div>\n </fieldset>\n </div>\n </>\n )}\n {tabIndex === 1 && <CustomParamsSettingsPanel></CustomParamsSettingsPanel>}\n </Tabs>\n );\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import "./MapSelectFeaturesDialog.scss";
|
|
3
|
-
import { MapLayerSource } from "@itwin/core-frontend";
|
|
4
|
-
import { MapSubLayerProps } from "@itwin/core-common";
|
|
3
|
+
import type { MapLayerSource } from "@itwin/core-frontend";
|
|
4
|
+
import type { MapSubLayerProps } from "@itwin/core-common";
|
|
5
5
|
export interface MapSelectFeaturesProps {
|
|
6
6
|
source: MapLayerSource;
|
|
7
7
|
subLayers: MapSubLayerProps[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapSelectFeaturesDialog.d.ts","sourceRoot":"","sources":["../../../../src/ui/widget/MapSelectFeaturesDialog.tsx"],"names":[],"mappings":";AAQA,OAAO,gCAAgC,CAAC;AAGxC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"MapSelectFeaturesDialog.d.ts","sourceRoot":"","sources":["../../../../src/ui/widget/MapSelectFeaturesDialog.tsx"],"names":[],"mappings":";AAQA,OAAO,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAK3D,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,QAAQ,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,IAAI,CAAC;IAClD,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AAKD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,sBAAsB,eAiFpE"}
|
|
@@ -1,13 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
7
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
26
|
exports.MapSelectFeaturesDialog = void 0;
|
|
27
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
28
|
+
/*---------------------------------------------------------------------------------------------
|
|
29
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
30
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
31
|
+
*--------------------------------------------------------------------------------------------*/
|
|
32
|
+
// cSpell:ignore Modeless WMTS
|
|
9
33
|
const core_react_1 = require("@itwin/core-react");
|
|
10
|
-
const React = require("react");
|
|
34
|
+
const React = __importStar(require("react"));
|
|
11
35
|
require("./MapSelectFeaturesDialog.scss");
|
|
12
36
|
const mapLayers_1 = require("../../mapLayers");
|
|
13
37
|
const SubLayersTree_1 = require("./SubLayersTree");
|
|
@@ -37,21 +61,12 @@ function MapSelectFeaturesDialog(props) {
|
|
|
37
61
|
else if (hasTooManyVisibleLayers()) {
|
|
38
62
|
warningMessage = mapLayers_1.MapLayersUI.translate("CustomAttach.TooManyLayersSelected", { layerCount: subLayers.filter((entry) => entry.visible).length });
|
|
39
63
|
}
|
|
40
|
-
return (
|
|
41
|
-
React.createElement(itwinui_react_1.Icon, { size: "small" },
|
|
42
|
-
React.createElement(itwinui_icons_color_react_1.SvgStatusWarning, null)),
|
|
43
|
-
React.createElement("span", { className: "map-layer-source-warnMessage-label" }, warningMessage))));
|
|
64
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: "map-layer-source-warnMessage", children: warningMessage !== undefined && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(itwinui_react_1.Icon, { size: "small", children: (0, jsx_runtime_1.jsx)(itwinui_icons_color_react_1.SvgStatusWarning, {}) }), (0, jsx_runtime_1.jsx)("span", { className: "map-layer-source-warnMessage-label", children: warningMessage })] })) }));
|
|
44
65
|
}
|
|
45
66
|
function getFooter() {
|
|
46
|
-
return (
|
|
47
|
-
React.createElement("div", { className: "map-layer-features-footer-warnMessage" }, renderWarningMessage()),
|
|
48
|
-
React.createElement("div", { className: "map-layer-features-footer-buttons" },
|
|
49
|
-
React.createElement(itwinui_react_1.Button, { className: "map-layer-features-footer-button", styleType: 'high-visibility', onClick: handleOk, disabled: !readyToSave() }, mapLayers_1.MapLayersUI.translate("Dialog.Add")),
|
|
50
|
-
React.createElement(itwinui_react_1.Button, { className: "map-layer-features-footer-button", styleType: 'default', onClick: handleCancel }, mapLayers_1.MapLayersUI.translate("Dialog.Cancel")))));
|
|
67
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "map-layer-features-footer", children: [(0, jsx_runtime_1.jsx)("div", { className: "map-layer-features-footer-warnMessage", children: renderWarningMessage() }), (0, jsx_runtime_1.jsxs)("div", { className: "map-layer-features-footer-buttons", children: [(0, jsx_runtime_1.jsx)(itwinui_react_1.Button, { className: "map-layer-features-footer-button", styleType: "high-visibility", onClick: handleOk, disabled: !readyToSave(), children: mapLayers_1.MapLayersUI.translate("Dialog.Add") }), (0, jsx_runtime_1.jsx)(itwinui_react_1.Button, { className: "map-layer-features-footer-button", styleType: "default", onClick: handleCancel, children: mapLayers_1.MapLayersUI.translate("Dialog.Cancel") })] })] }));
|
|
51
68
|
}
|
|
52
|
-
return (
|
|
53
|
-
React.createElement(core_react_1.Dialog, { className: "map-layer-select-features-dialog", title: mapLayers_1.MapLayersUI.translate("CustomAttach.SelectLayersToCreate"), opened: true, resizable: true, movable: true, modal: true, footer: getFooter(), onClose: handleCancel, onEscape: handleCancel, minHeight: minHeight, maxWidth: 600, titleStyle: { paddingLeft: "10px" }, footerStyle: { paddingBottom: "10px", paddingRight: "10px" }, trapFocus: false },
|
|
54
|
-
React.createElement(SubLayersTree_1.SubLayersTree, { expandMode: "full", checkboxStyle: "standard", subLayers: subLayers, onSubLayerStateChange: () => setSubLayers([...subLayers]) }))));
|
|
69
|
+
return ((0, jsx_runtime_1.jsx)("div", { ref: dialogContainer, children: (0, jsx_runtime_1.jsx)(core_react_1.Dialog, { className: "map-layer-select-features-dialog", title: mapLayers_1.MapLayersUI.translate("CustomAttach.SelectLayersToCreate"), opened: true, resizable: true, movable: true, modal: true, footer: getFooter(), onClose: handleCancel, onEscape: handleCancel, minHeight: minHeight, maxWidth: 600, titleStyle: { paddingLeft: "10px" }, footerStyle: { paddingBottom: "10px", paddingRight: "10px" }, trapFocus: false, children: (0, jsx_runtime_1.jsx)(SubLayersTree_1.SubLayersTree, { expandMode: "full", checkboxStyle: "standard", subLayers: subLayers, onSubLayerStateChange: () => setSubLayers([...subLayers]) }) }) }));
|
|
55
70
|
}
|
|
56
71
|
exports.MapSelectFeaturesDialog = MapSelectFeaturesDialog;
|
|
57
72
|
//# sourceMappingURL=MapSelectFeaturesDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapSelectFeaturesDialog.js","sourceRoot":"","sources":["../../../../src/ui/widget/MapSelectFeaturesDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MapSelectFeaturesDialog.js","sourceRoot":"","sources":["../../../../src/ui/widget/MapSelectFeaturesDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n// cSpell:ignore Modeless WMTS\n\nimport { Dialog } from \"@itwin/core-react\";\nimport * as React from \"react\";\nimport \"./MapSelectFeaturesDialog.scss\";\n\nimport { MapLayersUI } from \"../../mapLayers\";\nimport type { MapLayerSource } from \"@itwin/core-frontend\";\nimport type { MapSubLayerProps } from \"@itwin/core-common\";\nimport { SubLayersTree } from \"./SubLayersTree\";\nimport { Button, Icon } from \"@itwin/itwinui-react\";\nimport { SvgStatusWarning } from \"@itwin/itwinui-icons-color-react\";\n\nexport interface MapSelectFeaturesProps {\n source: MapLayerSource;\n subLayers: MapSubLayerProps[];\n handleOk: (subLayers: MapSubLayerProps[]) => void;\n handleCancel: () => void;\n}\nconst minHeight = 250;\nconst maxSubLayers = 30;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function MapSelectFeaturesDialog(props: MapSelectFeaturesProps) {\n const [subLayers, setSubLayers] = React.useState(props.subLayers);\n\n const dialogContainer = React.useRef<HTMLDivElement>(null);\n\n const handleOk = React.useCallback(() => {\n props.handleOk(subLayers);\n }, [props, subLayers]);\n\n const handleCancel = React.useCallback(() => {\n props.handleCancel();\n }, [props]);\n\n const hasVisibleLayers = () => subLayers.some((entry) => entry.visible);\n const hasTooManyVisibleLayers = () => subLayers.filter((entry) => entry.visible).length > maxSubLayers;\n const readyToSave = () => hasVisibleLayers();\n\n function renderWarningMessage(): React.ReactNode {\n let warningMessage: string | undefined;\n\n // Get the proper warning message\n if (!hasVisibleLayers()) {\n warningMessage = MapLayersUI.translate(\"CustomAttach.NoLayersSelected\");\n } else if (hasTooManyVisibleLayers()) {\n warningMessage = MapLayersUI.translate(\"CustomAttach.TooManyLayersSelected\", { layerCount: subLayers.filter((entry) => entry.visible).length });\n }\n\n return (\n <div className=\"map-layer-source-warnMessage\">\n {warningMessage !== undefined && (\n <>\n <Icon size=\"small\">\n <SvgStatusWarning></SvgStatusWarning>\n </Icon>\n <span className=\"map-layer-source-warnMessage-label\">{warningMessage}</span>\n </>\n )}\n </div>\n );\n }\n\n function getFooter() {\n return (\n <div className=\"map-layer-features-footer\">\n <div className=\"map-layer-features-footer-warnMessage\">{renderWarningMessage()}</div>\n\n <div className=\"map-layer-features-footer-buttons\">\n <Button className=\"map-layer-features-footer-button\" styleType=\"high-visibility\" onClick={handleOk} disabled={!readyToSave()}>\n {MapLayersUI.translate(\"Dialog.Add\")}\n </Button>\n <Button className=\"map-layer-features-footer-button\" styleType=\"default\" onClick={handleCancel}>\n {MapLayersUI.translate(\"Dialog.Cancel\")}\n </Button>\n </div>\n </div>\n );\n }\n\n return (\n <div ref={dialogContainer}>\n <Dialog\n className=\"map-layer-select-features-dialog\"\n title={MapLayersUI.translate(\"CustomAttach.SelectLayersToCreate\")}\n opened={true}\n resizable={true}\n movable={true}\n modal={true}\n footer={getFooter()}\n onClose={handleCancel}\n onEscape={handleCancel}\n minHeight={minHeight}\n maxWidth={600}\n titleStyle={{ paddingLeft: \"10px\" }}\n footerStyle={{ paddingBottom: \"10px\", paddingRight: \"10px\" }}\n trapFocus={false}\n >\n {/* 'onSubLayerStateChange' is used to trigger hook state change only, no need to update subLayer objects */}\n <SubLayersTree expandMode=\"full\" checkboxStyle=\"standard\" subLayers={subLayers} onSubLayerStateChange={() => setSubLayers([...subLayers])} />\n </Dialog>\n </div>\n );\n}\n"]}
|
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
5
|
|
|
6
6
|
.map-layer-select-features-dialog {
|
|
7
|
-
z-
|
|
8
|
-
|
|
7
|
+
z-index: 21000;
|
|
9
8
|
}
|
|
10
9
|
|
|
11
10
|
.map-layer-select-features-dialog.core-dialog .core-dialog-container .core-dialog-area > .core-dialog-content {
|
|
@@ -14,4 +13,3 @@
|
|
|
14
13
|
.map-layer-select-features-dialog .map-manager-sublayer-tree-content {
|
|
15
14
|
min-height: 200px;
|
|
16
15
|
}
|
|
17
|
-
|