@itwin/appui-react 4.4.0 → 4.5.1
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 -1
- package/lib/cjs/appui-react/UiFramework.js +4 -7
- package/lib/cjs/appui-react/UiFramework.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +1 -2
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +1 -1
- package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
- package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/TimeTracker.js +1 -2
- package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentLayout.js +9 -12
- package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/cjs/appui-react/content/DefaultViewOverlay.js +3 -4
- package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
- package/lib/cjs/appui-react/content/FloatingViewportContent.js +1 -2
- package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/cjs/appui-react/content/IModelViewport.js +3 -6
- package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +1 -2
- package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
- package/lib/cjs/appui-react/content/InternalContentViewManager.js +1 -1
- package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
- package/lib/cjs/appui-react/content/split-pane/SplitPane.js +10 -12
- package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +2 -3
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ContentDialog.js +3 -6
- package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
- package/lib/cjs/appui-react/dialog/DialogManagerBase.js +2 -3
- package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js +17 -7
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts +2 -0
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +2 -0
- package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +2 -3
- package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +1 -2
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
- package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
- package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +8 -13
- package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
- package/lib/cjs/appui-react/messages/ActivityMessage.js +5 -7
- package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
- package/lib/cjs/appui-react/pickers/ViewSelector.js +5 -6
- package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +1 -2
- package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
- package/lib/cjs/appui-react/popup/PopupManager.js +1 -2
- package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +2 -2
- package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +2 -1
- package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +5 -7
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/Indicator.js +1 -2
- package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBar.js +3 -5
- package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +1 -1
- package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/Toolbar.d.ts +1 -1
- package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts +6 -3
- package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +53 -80
- package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarWithOverflow.d.ts +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -4
- package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +10 -17
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +3 -2
- package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +12 -14
- package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +9 -10
- package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +1 -2
- package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +8 -14
- package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +1 -1
- package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
- package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +1 -1
- package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
- package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
- package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Content.js +8 -9
- package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.js +43 -45
- package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/StatusBar.js +1 -1
- package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Tab.js +1 -1
- package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/ToolSettings.js +21 -23
- package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Toolbars.js +2 -3
- package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +2 -2
- package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.js +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetHost.js +2 -3
- package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
- package/lib/esm/appui-react/UiFramework.js +4 -7
- package/lib/esm/appui-react/UiFramework.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js +1 -2
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +1 -1
- package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
- package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
- package/lib/esm/appui-react/configurableui/TimeTracker.js +1 -2
- package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
- package/lib/esm/appui-react/content/ContentLayout.js +9 -12
- package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/esm/appui-react/content/DefaultViewOverlay.js +3 -4
- package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
- package/lib/esm/appui-react/content/FloatingViewportContent.js +1 -2
- package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
- package/lib/esm/appui-react/content/IModelViewport.js +3 -6
- package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/esm/appui-react/content/InternalContentLayoutManager.js +1 -2
- package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
- package/lib/esm/appui-react/content/InternalContentViewManager.js +1 -1
- package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
- package/lib/esm/appui-react/content/split-pane/SplitPane.js +10 -12
- package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +2 -3
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/esm/appui-react/dialog/ContentDialog.js +3 -6
- package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
- package/lib/esm/appui-react/dialog/DialogManagerBase.js +2 -3
- package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.js +17 -7
- package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts +2 -0
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +2 -0
- package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +2 -3
- package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +1 -2
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
- package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
- package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
- package/lib/esm/appui-react/hooks/useSolarDataProvider.js +8 -13
- package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
- package/lib/esm/appui-react/messages/ActivityMessage.js +5 -7
- package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
- package/lib/esm/appui-react/pickers/ViewSelector.js +5 -6
- package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/esm/appui-react/popup/KeyinPalettePanel.js +1 -2
- package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
- package/lib/esm/appui-react/popup/PopupManager.js +1 -2
- package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
- package/lib/esm/appui-react/selection/SelectionContextItemDef.js +2 -2
- package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +2 -1
- package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js +5 -7
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/esm/appui-react/statusbar/Indicator.js +1 -2
- package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBar.js +3 -5
- package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +1 -1
- package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
- package/lib/esm/appui-react/toolbar/Toolbar.d.ts +1 -1
- package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts +6 -3
- package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarHelper.js +53 -80
- package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarWithOverflow.d.ts +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -4
- package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js +10 -17
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +3 -2
- package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +12 -14
- package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +9 -10
- package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +1 -2
- package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +8 -14
- package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +1 -1
- package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
- package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +1 -1
- package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
- package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
- package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Content.js +8 -9
- package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.js +43 -45
- package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/StatusBar.js +1 -1
- package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Tab.js +1 -1
- package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/ToolSettings.js +21 -23
- package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Toolbars.js +2 -3
- package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +2 -2
- package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.js +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetHost.js +2 -3
- package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
- package/package.json +10 -10
|
@@ -52,7 +52,7 @@ const widgetPanelsFrontstage = React.createElement(WidgetPanelsFrontstageCompone
|
|
|
52
52
|
/** @internal */
|
|
53
53
|
export function useLayoutStore() {
|
|
54
54
|
const [def, setDef] = React.useState(UiFramework.frontstages.activeFrontstageDef);
|
|
55
|
-
const [layout, setLayout] = React.useState(() => createLayoutStore(def
|
|
55
|
+
const [layout, setLayout] = React.useState(() => createLayoutStore(def?.nineZoneState));
|
|
56
56
|
React.useEffect(() => {
|
|
57
57
|
return UiFramework.frontstages.onFrontstageActivatedEvent.addListener((args) => {
|
|
58
58
|
unstable_batchedUpdates(() => {
|
|
@@ -103,7 +103,7 @@ export function FrameworkStateReducer(state, action, frontstageDef) {
|
|
|
103
103
|
const panel = draft.panels[panelSide];
|
|
104
104
|
const location = toStagePanelLocation(panelSide);
|
|
105
105
|
const panelDef = frontstageDef.getStagePanelDef(location);
|
|
106
|
-
if (panelDef
|
|
106
|
+
if (panelDef?.maxSizeSpec) {
|
|
107
107
|
panel.maxSize = getPanelMaxSize(panelDef.maxSizeSpec, panelSide, action.size);
|
|
108
108
|
if (panel.size) {
|
|
109
109
|
panel.size = Math.min(Math.max(panel.size, panel.minSize), panel.maxSize);
|
|
@@ -197,10 +197,9 @@ export function useLabels() {
|
|
|
197
197
|
}), []);
|
|
198
198
|
}
|
|
199
199
|
function toTabArgs(widget) {
|
|
200
|
-
var _a;
|
|
201
200
|
const label = getWidgetLabel(widget.label);
|
|
202
201
|
return {
|
|
203
|
-
allowedPanelTargets:
|
|
202
|
+
allowedPanelTargets: widget.allowedPanelTargets?.map((location) => toPanelSide(location)),
|
|
204
203
|
hideWithUiWhenFloating: !!widget.hideWithUiWhenFloating,
|
|
205
204
|
canPopout: widget.canPopout,
|
|
206
205
|
iconSpec: widget.iconSpec,
|
|
@@ -223,7 +222,7 @@ export function addWidgets(state, widgets, side, widgetId) {
|
|
|
223
222
|
const activeWidget = visibleWidgets.find((widget) => widget.isActive);
|
|
224
223
|
const minimized = false;
|
|
225
224
|
// istanbul ignore else
|
|
226
|
-
if (
|
|
225
|
+
if (activeWidget?.defaultState !== WidgetState.Floating) {
|
|
227
226
|
state = addPanelWidget(state, side, widgetId, tabs, {
|
|
228
227
|
activeTabId: activeWidget ? activeWidget.id : tabs[0],
|
|
229
228
|
minimized,
|
|
@@ -234,7 +233,6 @@ export function addWidgets(state, widgets, side, widgetId) {
|
|
|
234
233
|
/** @internal */
|
|
235
234
|
// istanbul ignore next
|
|
236
235
|
export function appendWidgets(state, widgetDefs, location, section) {
|
|
237
|
-
var _a;
|
|
238
236
|
const side = toPanelSide(location);
|
|
239
237
|
// Add missing widget tabs.
|
|
240
238
|
for (const widgetDef of widgetDefs) {
|
|
@@ -259,7 +257,7 @@ export function appendWidgets(state, widgetDefs, location, section) {
|
|
|
259
257
|
});
|
|
260
258
|
if (widgetDef.isFloatingStateSupported &&
|
|
261
259
|
widgetDef.defaultState === WidgetState.Floating) {
|
|
262
|
-
const floatingContainerId =
|
|
260
|
+
const floatingContainerId = widgetDef.floatingContainerId ?? getUniqueId();
|
|
263
261
|
const widgetContainerId = getWidgetId(location, section);
|
|
264
262
|
const home = {
|
|
265
263
|
side,
|
|
@@ -277,7 +275,7 @@ export function appendWidgets(state, widgetDefs, location, section) {
|
|
|
277
275
|
width: 300,
|
|
278
276
|
...tab.preferredFloatingWidgetSize,
|
|
279
277
|
};
|
|
280
|
-
const preferredPoint = preferredPosition
|
|
278
|
+
const preferredPoint = preferredPosition ?? {
|
|
281
279
|
x: (state.size.width - size.width) / 2,
|
|
282
280
|
y: (state.size.height - size.height) / 2,
|
|
283
281
|
};
|
|
@@ -336,16 +334,23 @@ function processPopoutWidgets(initialState, frontstageDef) {
|
|
|
336
334
|
* @internal
|
|
337
335
|
*/
|
|
338
336
|
export function addMissingWidgets(frontstageDef, initialState) {
|
|
339
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
340
337
|
let state = initialState;
|
|
341
|
-
state = appendWidgets(state, determineNewWidgets(
|
|
342
|
-
|
|
343
|
-
state = appendWidgets(state, determineNewWidgets(
|
|
344
|
-
|
|
345
|
-
state = appendWidgets(state, determineNewWidgets(
|
|
346
|
-
|
|
347
|
-
state = appendWidgets(state, determineNewWidgets(
|
|
348
|
-
|
|
338
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.leftPanel?.getPanelSectionDef(StagePanelSection.Start)
|
|
339
|
+
.widgetDefs, state), StagePanelLocation.Left, StagePanelSection.Start);
|
|
340
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.leftPanel?.getPanelSectionDef(StagePanelSection.End)
|
|
341
|
+
.widgetDefs, state), StagePanelLocation.Left, StagePanelSection.End);
|
|
342
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.rightPanel?.getPanelSectionDef(StagePanelSection.Start)
|
|
343
|
+
.widgetDefs, state), StagePanelLocation.Right, StagePanelSection.Start);
|
|
344
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.rightPanel?.getPanelSectionDef(StagePanelSection.End)
|
|
345
|
+
.widgetDefs, state), StagePanelLocation.Right, StagePanelSection.End);
|
|
346
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.topPanel?.getPanelSectionDef(StagePanelSection.Start)
|
|
347
|
+
.widgetDefs, state), StagePanelLocation.Top, StagePanelSection.Start);
|
|
348
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.topPanel?.getPanelSectionDef(StagePanelSection.End)
|
|
349
|
+
.widgetDefs, state), StagePanelLocation.Top, StagePanelSection.End);
|
|
350
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.bottomPanel?.getPanelSectionDef(StagePanelSection.Start)
|
|
351
|
+
.widgetDefs, state), StagePanelLocation.Bottom, StagePanelSection.Start);
|
|
352
|
+
state = appendWidgets(state, determineNewWidgets(frontstageDef.bottomPanel?.getPanelSectionDef(StagePanelSection.End)
|
|
353
|
+
.widgetDefs, state), StagePanelLocation.Bottom, StagePanelSection.End);
|
|
349
354
|
if (frontstageDef.toolSettings) {
|
|
350
355
|
const newToolSettingsWidgets = determineNewWidgets([frontstageDef.toolSettings], state);
|
|
351
356
|
for (const newToolSettingsWidget of newToolSettingsWidgets) {
|
|
@@ -371,8 +376,7 @@ function hideWidgets(state, frontstageDef) {
|
|
|
371
376
|
* @internal
|
|
372
377
|
*/
|
|
373
378
|
export function removeMissingWidgets(frontstageDef, state) {
|
|
374
|
-
|
|
375
|
-
const toolSettingsTabId = (_a = state.toolSettings) === null || _a === void 0 ? void 0 : _a.tabId;
|
|
379
|
+
const toolSettingsTabId = state.toolSettings?.tabId;
|
|
376
380
|
for (const [, tab] of Object.entries(state.tabs)) {
|
|
377
381
|
if (tab.id === toolSettingsTabId)
|
|
378
382
|
continue;
|
|
@@ -426,8 +430,8 @@ export function getWidgetId(location, section) {
|
|
|
426
430
|
/** @internal */
|
|
427
431
|
export function getPanelSectionWidgets(frontstageDef, location, section) {
|
|
428
432
|
const stagePanel = frontstageDef.getStagePanelDef(location);
|
|
429
|
-
const panelSection = stagePanel
|
|
430
|
-
return
|
|
433
|
+
const panelSection = stagePanel?.getPanelSectionDef(section);
|
|
434
|
+
return panelSection?.widgetDefs || [];
|
|
431
435
|
}
|
|
432
436
|
/** @internal */
|
|
433
437
|
export function addPanelWidgets(state, frontstageDef, location) {
|
|
@@ -452,15 +456,14 @@ export function initializePanel(state, frontstageDef, location) {
|
|
|
452
456
|
state = addPanelWidgets(state, frontstageDef, location);
|
|
453
457
|
const panelDef = frontstageDef.getStagePanelDef(location);
|
|
454
458
|
state = produce(state, (draft) => {
|
|
455
|
-
var _a, _b, _c;
|
|
456
459
|
const panel = draft.panels[panelSide];
|
|
457
|
-
panel.minSize =
|
|
458
|
-
panel.pinned =
|
|
459
|
-
panel.resizable =
|
|
460
|
-
if (panelDef
|
|
460
|
+
panel.minSize = panelDef?.minSize ?? panel.minSize;
|
|
461
|
+
panel.pinned = panelDef?.pinned ?? panel.pinned;
|
|
462
|
+
panel.resizable = panelDef?.resizable ?? panel.resizable;
|
|
463
|
+
if (panelDef?.maxSizeSpec) {
|
|
461
464
|
panel.maxSize = getPanelMaxSize(panelDef.maxSizeSpec, panelSide, state.size);
|
|
462
465
|
}
|
|
463
|
-
const size = panelDef
|
|
466
|
+
const size = panelDef?.size;
|
|
464
467
|
panel.size =
|
|
465
468
|
size === undefined
|
|
466
469
|
? size
|
|
@@ -496,7 +499,6 @@ export function initializeNineZoneState(frontstageDef) {
|
|
|
496
499
|
nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation.Top);
|
|
497
500
|
nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation.Bottom);
|
|
498
501
|
nineZone = produce(nineZone, (draft) => {
|
|
499
|
-
var _a, _b, _c, _d;
|
|
500
502
|
for (const [, panel] of Object.entries(draft.panels)) {
|
|
501
503
|
const expanded = panel.widgets.find((widgetId) => draft.widgets[widgetId].minimized === false);
|
|
502
504
|
const firstWidget = panel.widgets.length > 0 ? draft.widgets[panel.widgets[0]] : undefined;
|
|
@@ -505,10 +507,10 @@ export function initializeNineZoneState(frontstageDef) {
|
|
|
505
507
|
firstWidget.minimized = false;
|
|
506
508
|
}
|
|
507
509
|
}
|
|
508
|
-
draft.panels.left.collapsed = isPanelCollapsed(
|
|
509
|
-
draft.panels.right.collapsed = isPanelCollapsed(
|
|
510
|
-
draft.panels.top.collapsed = isPanelCollapsed(
|
|
511
|
-
draft.panels.bottom.collapsed = isPanelCollapsed(
|
|
510
|
+
draft.panels.left.collapsed = isPanelCollapsed(frontstageDef.leftPanel?.panelState);
|
|
511
|
+
draft.panels.right.collapsed = isPanelCollapsed(frontstageDef.rightPanel?.panelState);
|
|
512
|
+
draft.panels.top.collapsed = isPanelCollapsed(frontstageDef.topPanel?.panelState);
|
|
513
|
+
draft.panels.bottom.collapsed = isPanelCollapsed(frontstageDef.bottomPanel?.panelState);
|
|
512
514
|
});
|
|
513
515
|
nineZone = addMissingWidgets(frontstageDef, nineZone);
|
|
514
516
|
const toolSettingsWidgetDef = frontstageDef.toolSettings;
|
|
@@ -699,7 +701,6 @@ function addHiddenWidget(state, widgetDef) {
|
|
|
699
701
|
}
|
|
700
702
|
/** @internal */
|
|
701
703
|
export function setWidgetState(state, widgetDef, widgetState) {
|
|
702
|
-
var _a, _b, _c, _d, _e;
|
|
703
704
|
if (widgetState === WidgetState.Hidden) {
|
|
704
705
|
return hideWidget(state, widgetDef);
|
|
705
706
|
}
|
|
@@ -709,7 +710,7 @@ export function setWidgetState(state, widgetDef, widgetState) {
|
|
|
709
710
|
if (!state.toolSettings && !widgetDef.tabLocation) {
|
|
710
711
|
state = addDockedToolSettings(state, id);
|
|
711
712
|
}
|
|
712
|
-
if (
|
|
713
|
+
if (state.toolSettings?.type === "docked")
|
|
713
714
|
return state;
|
|
714
715
|
}
|
|
715
716
|
let location = getTabLocation(state, id);
|
|
@@ -721,7 +722,6 @@ export function setWidgetState(state, widgetDef, widgetState) {
|
|
|
721
722
|
}
|
|
722
723
|
}
|
|
723
724
|
return produce(state, (draft) => {
|
|
724
|
-
var _a;
|
|
725
725
|
assert(!!location);
|
|
726
726
|
const widget = draft.widgets[location.widgetId];
|
|
727
727
|
widget.minimized = false;
|
|
@@ -736,14 +736,14 @@ export function setWidgetState(state, widgetDef, widgetState) {
|
|
|
736
736
|
panel.collapsed = false;
|
|
737
737
|
if (undefined === panel.size || 0 === panel.size) {
|
|
738
738
|
// istanbul ignore next
|
|
739
|
-
panel.size =
|
|
739
|
+
panel.size = panel.minSize ?? 200;
|
|
740
740
|
}
|
|
741
741
|
}
|
|
742
742
|
});
|
|
743
743
|
}
|
|
744
744
|
else if (widgetState === WidgetState.Closed) {
|
|
745
745
|
const id = widgetDef.id;
|
|
746
|
-
if (widgetDef.isToolSettings &&
|
|
746
|
+
if (widgetDef.isToolSettings && state.toolSettings?.type !== "widget") {
|
|
747
747
|
return state;
|
|
748
748
|
}
|
|
749
749
|
let location = getTabLocation(state, id);
|
|
@@ -774,10 +774,10 @@ export function setWidgetState(state, widgetDef, widgetState) {
|
|
|
774
774
|
return state;
|
|
775
775
|
// Widget is not floating.
|
|
776
776
|
state = removeTabFromWidget(state, id);
|
|
777
|
-
const bounds =
|
|
777
|
+
const bounds = widgetDef.tabLocation?.floatingWidget?.bounds;
|
|
778
778
|
state = addFloatingWidget(state, getUniqueId(), [id], { bounds });
|
|
779
779
|
if (widgetDef.isToolSettings) {
|
|
780
|
-
if (
|
|
780
|
+
if (state.toolSettings?.type === "docked") {
|
|
781
781
|
state = removeToolSettings(state);
|
|
782
782
|
}
|
|
783
783
|
if (!state.toolSettings) {
|
|
@@ -789,14 +789,13 @@ export function setWidgetState(state, widgetDef, widgetState) {
|
|
|
789
789
|
}
|
|
790
790
|
/** Stores widget location and hides it in the UI. */
|
|
791
791
|
function hideWidget(state, widgetDef) {
|
|
792
|
-
|
|
793
|
-
const toolSettingsTabId = (_a = state.toolSettings) === null || _a === void 0 ? void 0 : _a.tabId;
|
|
792
|
+
const toolSettingsTabId = state.toolSettings?.tabId;
|
|
794
793
|
if (widgetDef.id === toolSettingsTabId) {
|
|
795
794
|
widgetDef.tabLocation = undefined;
|
|
796
795
|
state = produce(state, (draft) => {
|
|
797
796
|
draft.toolSettings = undefined;
|
|
798
797
|
});
|
|
799
|
-
if (
|
|
798
|
+
if (state.toolSettings?.type === "docked")
|
|
800
799
|
return state;
|
|
801
800
|
}
|
|
802
801
|
const location = getTabLocation(state, widgetDef.id);
|
|
@@ -1052,13 +1051,12 @@ export function useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel)
|
|
|
1052
1051
|
const defaultLabel = React.useMemo(() => UiFramework.translate("widget.labels.toolSettings"), []);
|
|
1053
1052
|
React.useEffect(() => {
|
|
1054
1053
|
const updateLabel = createListener(frontstageDef, () => {
|
|
1055
|
-
var _a, _b;
|
|
1056
1054
|
const toolId = UiFramework.frontstages.activeToolId;
|
|
1057
1055
|
assert(!!frontstageDef.nineZoneState);
|
|
1058
1056
|
const label = useToolAsToolSettingsLabel
|
|
1059
|
-
?
|
|
1057
|
+
? IModelApp.tools.find(toolId)?.flyover || defaultLabel
|
|
1060
1058
|
: defaultLabel;
|
|
1061
|
-
const toolSettingsTabId =
|
|
1059
|
+
const toolSettingsTabId = frontstageDef.nineZoneState.toolSettings?.tabId;
|
|
1062
1060
|
if (!toolSettingsTabId)
|
|
1063
1061
|
return;
|
|
1064
1062
|
frontstageDef.nineZoneState = setWidgetLabel(frontstageDef.nineZoneState, toolSettingsTabId, label);
|