@itwin/appui-react 3.0.0-dev.147 → 3.0.0-dev.152
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/lib/cjs/appui-react/UiFramework.d.ts +2 -1
- package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/cjs/appui-react/UiFramework.js +2 -2
- package/lib/cjs/appui-react/UiFramework.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
- package/lib/cjs/appui-react/backstage/CommandLaunch.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/CommandLaunch.js.map +1 -1
- package/lib/cjs/appui-react/childwindow/ChildWindowManager.d.ts +1 -1
- package/lib/cjs/appui-react/childwindow/ChildWindowManager.js +1 -1
- package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentControl.d.ts +1 -1
- package/lib/cjs/appui-react/content/ContentControl.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/ContentControl.js +2 -2
- package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentLayout.d.ts +2 -2
- package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/ContentLayout.js +4 -3
- package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentViewManager.d.ts +1 -1
- package/lib/cjs/appui-react/content/ContentViewManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/ContentViewManager.js +3 -3
- package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
- package/lib/cjs/appui-react/content/split-pane/Pane.d.ts +21 -0
- package/lib/cjs/appui-react/content/split-pane/Pane.d.ts.map +1 -0
- package/lib/cjs/appui-react/content/split-pane/Pane.js +43 -0
- package/lib/cjs/appui-react/content/split-pane/Pane.js.map +1 -0
- package/lib/cjs/appui-react/content/split-pane/Resizer.d.ts +23 -0
- package/lib/cjs/appui-react/content/split-pane/Resizer.d.ts.map +1 -0
- package/lib/cjs/appui-react/content/split-pane/Resizer.js +39 -0
- package/lib/cjs/appui-react/content/split-pane/Resizer.js.map +1 -0
- package/lib/cjs/appui-react/content/split-pane/SplitPane.d.ts +70 -0
- package/lib/cjs/appui-react/content/split-pane/SplitPane.d.ts.map +1 -0
- package/lib/cjs/appui-react/content/split-pane/SplitPane.js +243 -0
- package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -0
- package/lib/cjs/appui-react/cursor/CursorInformation.d.ts +1 -2
- package/lib/cjs/appui-react/cursor/CursorInformation.d.ts.map +1 -1
- package/lib/cjs/appui-react/cursor/CursorInformation.js +1 -1
- package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
- package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +2 -2
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js +3 -3
- package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
- package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts +1 -1
- package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
- package/lib/cjs/appui-react/dialog/DialogManagerBase.js +2 -2
- package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
- package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts +2 -2
- package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
- package/lib/cjs/appui-react/feedback/ElementTooltip.js +2 -1
- package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/Frontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/Frontstage.js +2 -0
- package/lib/cjs/appui-react/frontstage/Frontstage.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
- package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +2 -1
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +1 -1
- package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
- package/lib/cjs/appui-react/messages/MessageManager.d.ts +1 -2
- package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/messages/MessageManager.js +8 -8
- package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/cjs/appui-react/messages/Pointer.d.ts +2 -2
- package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
- package/lib/cjs/appui-react/messages/Pointer.js +2 -2
- package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts +1 -1
- package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
- package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js +2 -2
- package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -1
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +2 -1
- package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
- package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +1 -1
- package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
- package/lib/cjs/appui-react/pickers/ViewSelector.js +3 -3
- package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/cjs/appui-react/popup/PopupManager.d.ts +2 -2
- package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/popup/PopupManager.js +1 -1
- package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
- package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/cjs/appui-react/syncui/BooleanListener.d.ts +2 -2
- package/lib/cjs/appui-react/syncui/BooleanListener.d.ts.map +1 -1
- package/lib/cjs/appui-react/syncui/BooleanListener.js +2 -1
- package/lib/cjs/appui-react/syncui/BooleanListener.js.map +1 -1
- package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts +6 -16
- package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
- package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +28 -101
- package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/ActionItemButton.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/GroupItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolButton.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
- package/lib/cjs/appui-react/toolbar/Toolbar.js +1 -1
- package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
- package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
- package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +1 -2
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.js +1 -2
- package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts +1 -2
- package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js +3 -2
- package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
- package/lib/cjs/appui-react.d.ts +3 -2
- package/lib/cjs/appui-react.d.ts.map +1 -1
- package/lib/cjs/appui-react.js +3 -2
- package/lib/cjs/appui-react.js.map +1 -1
- package/lib/esm/appui-react/UiFramework.d.ts +2 -1
- package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/esm/appui-react/UiFramework.js +2 -2
- package/lib/esm/appui-react/UiFramework.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
- package/lib/esm/appui-react/backstage/CommandLaunch.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/CommandLaunch.js.map +1 -1
- package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts +1 -1
- package/lib/esm/appui-react/childwindow/ChildWindowManager.js +1 -1
- package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
- package/lib/esm/appui-react/content/ContentControl.d.ts +1 -1
- package/lib/esm/appui-react/content/ContentControl.d.ts.map +1 -1
- package/lib/esm/appui-react/content/ContentControl.js +1 -1
- package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
- package/lib/esm/appui-react/content/ContentLayout.d.ts +2 -2
- package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
- package/lib/esm/appui-react/content/ContentLayout.js +3 -2
- package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/esm/appui-react/content/ContentViewManager.d.ts +1 -1
- package/lib/esm/appui-react/content/ContentViewManager.d.ts.map +1 -1
- package/lib/esm/appui-react/content/ContentViewManager.js +1 -1
- package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
- package/lib/esm/appui-react/content/split-pane/Pane.d.ts +21 -0
- package/lib/esm/appui-react/content/split-pane/Pane.d.ts.map +1 -0
- package/lib/esm/appui-react/content/split-pane/Pane.js +39 -0
- package/lib/esm/appui-react/content/split-pane/Pane.js.map +1 -0
- package/lib/esm/appui-react/content/split-pane/Resizer.d.ts +23 -0
- package/lib/esm/appui-react/content/split-pane/Resizer.d.ts.map +1 -0
- package/lib/esm/appui-react/content/split-pane/Resizer.js +35 -0
- package/lib/esm/appui-react/content/split-pane/Resizer.js.map +1 -0
- package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts +70 -0
- package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts.map +1 -0
- package/lib/esm/appui-react/content/split-pane/SplitPane.js +239 -0
- package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -0
- package/lib/esm/appui-react/cursor/CursorInformation.d.ts +1 -2
- package/lib/esm/appui-react/cursor/CursorInformation.d.ts.map +1 -1
- package/lib/esm/appui-react/cursor/CursorInformation.js +2 -2
- package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
- package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +2 -2
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js +2 -2
- package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
- package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts +1 -1
- package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
- package/lib/esm/appui-react/dialog/DialogManagerBase.js +1 -1
- package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
- package/lib/esm/appui-react/feedback/ElementTooltip.d.ts +2 -2
- package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
- package/lib/esm/appui-react/feedback/ElementTooltip.js +2 -1
- package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
- package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/Frontstage.js +2 -0
- package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
- package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +2 -1
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +2 -2
- package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
- package/lib/esm/appui-react/messages/MessageManager.d.ts +1 -2
- package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
- package/lib/esm/appui-react/messages/MessageManager.js +2 -2
- package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/esm/appui-react/messages/Pointer.d.ts +2 -2
- package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
- package/lib/esm/appui-react/messages/Pointer.js +2 -2
- package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts +1 -1
- package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
- package/lib/esm/appui-react/navigationaids/NavigationAidControl.js +1 -1
- package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -1
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +2 -1
- package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
- package/lib/esm/appui-react/pickers/ViewSelector.d.ts +1 -1
- package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
- package/lib/esm/appui-react/pickers/ViewSelector.js +1 -1
- package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/esm/appui-react/popup/PopupManager.d.ts +2 -2
- package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
- package/lib/esm/appui-react/popup/PopupManager.js +2 -2
- package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
- package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/esm/appui-react/syncui/BooleanListener.d.ts +2 -2
- package/lib/esm/appui-react/syncui/BooleanListener.d.ts.map +1 -1
- package/lib/esm/appui-react/syncui/BooleanListener.js +2 -1
- package/lib/esm/appui-react/syncui/BooleanListener.js.map +1 -1
- package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts +6 -16
- package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
- package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +27 -99
- package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/ActionItemButton.js.map +1 -1
- package/lib/esm/appui-react/toolbar/GroupItem.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolButton.js.map +1 -1
- package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
- package/lib/esm/appui-react/toolbar/Toolbar.js +1 -1
- package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
- package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
- package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
- package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts +1 -2
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.js +1 -2
- package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts +1 -2
- package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +1 -1
- package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js +2 -1
- package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
- package/lib/esm/appui-react.d.ts +3 -2
- package/lib/esm/appui-react.d.ts.map +1 -1
- package/lib/esm/appui-react.js +3 -2
- package/lib/esm/appui-react.js.map +1 -1
- package/package.json +34 -35
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/Toolbar.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Item\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { CommonProps, NoChildrenProps, Orientation, ResizableContainerObserver, Size } from \"@itwin/core-react\";\r\nimport { Direction, Toolbar as NZ_Toolbar, ToolbarPanelAlignment } from \"@itwin/appui-layout-react\";\r\nimport { ActionButtonItemDef } from \"../shared/ActionButtonItemDef\";\r\nimport { AnyItemDef } from \"../shared/AnyItemDef\";\r\nimport { CustomItemDef } from \"../shared/CustomItemDef\";\r\nimport { ItemDefBase } from \"../shared/ItemDefBase\";\r\nimport { ItemList } from \"../shared/ItemMap\";\r\nimport { SyncUiEventArgs, SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { GroupItemDef } from \"./GroupItem\";\r\n\r\n/** Properties of [[Toolbar]] component. An ancestor of this toolbar must provide the WidgetOpacityContext.\r\n * @internal\r\n */\r\nexport interface ToolbarProps extends CommonProps, NoChildrenProps {\r\n /** Items of the toolbar. */\r\n items: ItemList;\r\n /** Orientation of the toolbar. */\r\n orientation: Orientation;\r\n /** Logging and debugging Id */\r\n toolbarId?: string;\r\n /** Describes to which direction the history/panel items are expanded. Defaults to: [[Direction.Bottom]] */\r\n expandsTo?: Direction; // eslint-disable-line deprecation/deprecation\r\n /** Describes how expanded panels are aligned. Defaults to: [[ToolbarPanelAlignment.Start]] */\r\n panelAlignment?: ToolbarPanelAlignment; // eslint-disable-line deprecation/deprecation\r\n /** initial size */\r\n initialSize?: Size;\r\n}\r\n\r\n/** State of [[Toolbar]] component.\r\n * @internal\r\n */\r\ninterface ToolbarState {\r\n width: number;\r\n height: number;\r\n items: React.ReactNode;\r\n}\r\n\r\n/** Toolbar React component.\r\n * @internal\r\n */\r\nexport class Toolbar extends React.Component<ToolbarProps, ToolbarState> {\r\n private _dimension: number = 0;\r\n private _minToolbarSize = (ActionButtonItemDef.defaultButtonSize + 2);\r\n\r\n public constructor(props: ToolbarProps) {\r\n super(props);\r\n\r\n const itemList = this.props.items;\r\n\r\n // Filter on GroupItemDef\r\n itemList.forEach((item: ItemDefBase) => {\r\n if (item instanceof GroupItemDef) {\r\n // istanbul ignore else\r\n if (!item.directionExplicit && this.props.expandsTo !== undefined)\r\n item.direction = this.props.expandsTo;\r\n }\r\n });\r\n\r\n // pick a reasonable initial size, when zone layout occurs a resize event will trigger to adjust this size.\r\n let width = (ActionButtonItemDef.defaultButtonSize + 2) * 3;\r\n let height = width;\r\n\r\n // istanbul ignore next\r\n if (props.initialSize) {\r\n width = props.initialSize.width;\r\n height = props.initialSize.height;\r\n }\r\n\r\n const items = this.generateToolbarItems(this.props.items, new Size(width, height));\r\n\r\n // let's set the default size big enough to hold a single button.\r\n this.state = {\r\n width,\r\n height,\r\n items,\r\n };\r\n }\r\n\r\n private get _toolbarId(): string {\r\n return this.props.toolbarId ? this.props.toolbarId : \"unknown\";\r\n }\r\n\r\n public override componentDidMount() {\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this._handleSyncUiEvent);\r\n }\r\n\r\n public override componentWillUnmount() {\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(this._handleSyncUiEvent);\r\n }\r\n\r\n public override componentDidUpdate(prevProps: ToolbarProps, _prevState: ToolbarState) {\r\n if (this.props.items !== prevProps.items) {\r\n // if sync event changed number of displayable buttons layout the toolbar and re-render\r\n const items = this.generateToolbarItems(this.props.items, new Size(this.state.width, this.state.height));\r\n this.setState({ items });\r\n }\r\n }\r\n\r\n private setCurrentStateValues(item: ItemDefBase): boolean {\r\n // if a stateFunc is specified call it to get current state values\r\n // istanbul ignore else\r\n if (item.stateFunc) { // eslint-disable-line deprecation/deprecation\r\n const itemState = item.stateFunc({ // eslint-disable-line deprecation/deprecation\r\n isVisible: item.isVisible, isEnabled: item.isEnabled, isPressed: item.isPressed, isActive: item.isActive, // eslint-disable-line deprecation/deprecation\r\n });\r\n item.isVisible = !!itemState.isVisible; // eslint-disable-line deprecation/deprecation\r\n item.isEnabled = !!itemState.isEnabled; // eslint-disable-line deprecation/deprecation\r\n item.isPressed = !!itemState.isPressed;\r\n item.isActive = !!itemState.isActive;\r\n return true;\r\n }\r\n // istanbul ignore next\r\n return false;\r\n }\r\n\r\n private _processSyncUiEvent(itemList: ItemList | ItemDefBase[] | AnyItemDef[] | undefined, args: SyncUiEventArgs): boolean {\r\n // istanbul ignore next\r\n if (!itemList || 0 === itemList.length)\r\n return false;\r\n\r\n let returnValue = false;\r\n\r\n // Review all the itemDefs to see if any are monitoring sync events in SyncUiEventArgs\r\n for (const item of itemList) {\r\n if (item.stateFunc && item.stateSyncIds && item.stateSyncIds.length > 0 && // eslint-disable-line deprecation/deprecation\r\n item.stateSyncIds.some((value: string): boolean => args.eventIds.has(value.toLowerCase()))) { // eslint-disable-line deprecation/deprecation\r\n if (item instanceof GroupItemDef) {\r\n this.setCurrentStateValues(item);\r\n this._processSyncUiEvent(item.items, args);\r\n } else {\r\n this.setCurrentStateValues(item);\r\n }\r\n returnValue = true;\r\n } else {\r\n // istanbul ignore next\r\n if (item instanceof GroupItemDef) {\r\n if (this._processSyncUiEvent(item.items, args))\r\n returnValue = true;\r\n }\r\n }\r\n }\r\n return returnValue;\r\n }\r\n\r\n private _handleSyncUiEvent = (args: SyncUiEventArgs): void => {\r\n if (this._processSyncUiEvent(this.props.items, args)) {\r\n setImmediate(() => {\r\n // if sync event changed number of displayable buttons layout the toolbar and re-render\r\n const items = this.generateToolbarItems(this.props.items, new Size(this.state.width, this.state.height));\r\n this.setState({ items });\r\n });\r\n }\r\n };\r\n\r\n private layoutToolbarItems(itemList: ItemList): React.ReactNode[] {\r\n // istanbul ignore next -\r\n if (0 === itemList.length)\r\n return [];\r\n\r\n Logger.logInfo(UiFramework.loggerCategory(this), `Available space for toolbar [${this._toolbarId}] = ${this._dimension}`);\r\n\r\n const actionItems = new Array<ActionButtonItemDef>();\r\n let itemDimensions = 0;\r\n\r\n // Filter on ActionButtonItemDef\r\n itemList.forEach((item: ItemDefBase) => {\r\n // istanbul ignore else\r\n if (item.isVisible) { // eslint-disable-line deprecation/deprecation\r\n // istanbul ignore else\r\n if (item instanceof ActionButtonItemDef) {\r\n actionItems.push(item);\r\n }\r\n }\r\n });\r\n\r\n // Populate the overflow button\r\n let overflowItemDef: GroupItemDef | undefined;\r\n if (actionItems.length > 1) {\r\n // Get the item dimensions\r\n actionItems.forEach((item: ActionButtonItemDef) => {\r\n const itemSize = item.getDimension(this.props.orientation) + 1;\r\n itemDimensions += itemSize;\r\n Logger.logTrace(UiFramework.loggerCategory(this), ` Item [${item.id ? item.id : /* istanbul ignore next */ item.label}] has a size of ${itemSize} cumulative size=${itemDimensions}.`);\r\n });\r\n\r\n Logger.logInfo(UiFramework.loggerCategory(this), ` Needed toolbar size [${this._toolbarId}] = ${itemDimensions}`);\r\n\r\n // istanbul ignore next - currently unable to set size in unit test\r\n const padding = 2; // used just to insure button will fall inside tool box\r\n if (itemDimensions > (this._dimension - padding)) {\r\n const overflowItems: AnyItemDef[] = [];\r\n const lastItemIndex = actionItems.length - 1;\r\n let singleItemSize = 0;\r\n for (let index = lastItemIndex; index >= 0; index--) {\r\n // istanbul ignore next\r\n if (actionItems[index] instanceof CustomItemDef)\r\n continue;\r\n if (0 === singleItemSize)\r\n singleItemSize = actionItems[index].getDimension(this.props.orientation);\r\n\r\n const deletedItems = actionItems.splice(index, 1);\r\n // istanbul ignore else\r\n if (deletedItems.length === 1) {\r\n const item = deletedItems[0];\r\n overflowItems.unshift(item);\r\n Logger.logTrace(UiFramework.loggerCategory(this), ` * Item [${item.id ? item.id : /* istanbul ignore next */ item.label}] put into overflow items.`);\r\n\r\n let currentWidth = 0;\r\n actionItems.forEach((itemDef) => currentWidth += (itemDef.getDimension(this.props.orientation) + 1));\r\n itemDimensions = (currentWidth + singleItemSize);\r\n if (itemDimensions < (this._dimension - padding))\r\n break;\r\n }\r\n }\r\n\r\n overflowItemDef = new GroupItemDef({\r\n groupId: `overflow-group-${itemDimensions}-${actionItems.length}-${overflowItems.length}`,\r\n labelKey: \"UiFramework:general.overflow\",\r\n items: overflowItems,\r\n direction: this.props.expandsTo,\r\n });\r\n overflowItemDef.overflow = true;\r\n }\r\n }\r\n\r\n // Populate the toolbar items\r\n const toolbarItems = actionItems.map((item: ActionButtonItemDef, index: number) => {\r\n return item.toolbarReactNode(index);\r\n });\r\n\r\n // istanbul ignore next - currently unsure how to trigger sizing/resizing so overflow is never populated\r\n if (overflowItemDef)\r\n toolbarItems.push(overflowItemDef.toolbarReactNode());\r\n\r\n return toolbarItems;\r\n }\r\n\r\n private generateToolbarItems(itemList: ItemList, size: Size): React.ReactNode {\r\n this._dimension = (this.props.orientation === Orientation.Horizontal ? size.width : size.height);\r\n // istanbul ignore next - since sizing is not working in unit test size and dimension always set to default of 42\r\n if (this._dimension < this._minToolbarSize)\r\n this._dimension = this._minToolbarSize;\r\n\r\n return this.layoutToolbarItems(itemList);\r\n }\r\n\r\n // istanbul ignore next - currently unable to replicate resizing in unit test\r\n private _onResize = (width: number | undefined, height: number | undefined) => {\r\n width = width ?? this._minToolbarSize;\r\n height = height ?? this._minToolbarSize;\r\n // do allow toolbar to go to a size that doesn't show at least one button;\r\n if (width < this._minToolbarSize) width = this._minToolbarSize;\r\n if (height < this._minToolbarSize) height = this._minToolbarSize;\r\n if (this.state.width !== width || this.state.height !== height) {\r\n const items = this.generateToolbarItems(this.props.items, new Size(width, height));\r\n this.setState({ width, height, items });\r\n }\r\n };\r\n\r\n private hasVisibleItems(items: ItemList) {\r\n for (const item of items) {\r\n // istanbul ignore else\r\n if (item && item.isVisible) // eslint-disable-line deprecation/deprecation\r\n return true;\r\n }\r\n // istanbul ignore next\r\n return false;\r\n }\r\n\r\n public override render() {\r\n // istanbul ignore next\r\n if (0 === this.props.items.length || !this.hasVisibleItems(this.props.items)) {\r\n Logger.logTrace(UiFramework.loggerCategory(this), `---> nothing to render for ${this._toolbarId} `);\r\n return null;\r\n }\r\n\r\n Logger.logTrace(UiFramework.loggerCategory(this), `---> render ${this._toolbarId} `);\r\n return (\r\n <ResizableContainerObserver onResize={this._onResize}>\r\n <NZ_Toolbar // eslint-disable-line deprecation/deprecation\r\n style={this.props.style}\r\n className={this.props.className}\r\n expandsTo={this.props.expandsTo}\r\n panelAlignment={this.props.panelAlignment}\r\n items={\r\n <>\r\n {this.state.items}\r\n </>\r\n }\r\n />\r\n </ResizableContainerObserver>\r\n );\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/Toolbar.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Item\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, NoChildrenProps, Orientation, ResizableContainerObserver, Size } from \"@itwin/core-react\";\r\nimport { Direction, Toolbar as NZ_Toolbar, ToolbarPanelAlignment } from \"@itwin/appui-layout-react\";\r\nimport { ActionButtonItemDef } from \"../shared/ActionButtonItemDef\";\r\nimport { AnyItemDef } from \"../shared/AnyItemDef\";\r\nimport { CustomItemDef } from \"../shared/CustomItemDef\";\r\nimport { ItemDefBase } from \"../shared/ItemDefBase\";\r\nimport { ItemList } from \"../shared/ItemMap\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { GroupItemDef } from \"./GroupItem\";\r\n\r\n/** Properties of [[Toolbar]] component. An ancestor of this toolbar must provide the WidgetOpacityContext.\r\n * @internal\r\n */\r\nexport interface ToolbarProps extends CommonProps, NoChildrenProps {\r\n /** Items of the toolbar. */\r\n items: ItemList;\r\n /** Orientation of the toolbar. */\r\n orientation: Orientation;\r\n /** Logging and debugging Id */\r\n toolbarId?: string;\r\n /** Describes to which direction the history/panel items are expanded. Defaults to: [[Direction.Bottom]] */\r\n expandsTo?: Direction; // eslint-disable-line deprecation/deprecation\r\n /** Describes how expanded panels are aligned. Defaults to: [[ToolbarPanelAlignment.Start]] */\r\n panelAlignment?: ToolbarPanelAlignment; // eslint-disable-line deprecation/deprecation\r\n /** initial size */\r\n initialSize?: Size;\r\n}\r\n\r\n/** State of [[Toolbar]] component.\r\n * @internal\r\n */\r\ninterface ToolbarState {\r\n width: number;\r\n height: number;\r\n items: React.ReactNode;\r\n}\r\n\r\n/** Toolbar React component.\r\n * @internal\r\n */\r\nexport class Toolbar extends React.Component<ToolbarProps, ToolbarState> {\r\n private _dimension: number = 0;\r\n private _minToolbarSize = (ActionButtonItemDef.defaultButtonSize + 2);\r\n\r\n public constructor(props: ToolbarProps) {\r\n super(props);\r\n\r\n const itemList = this.props.items;\r\n\r\n // Filter on GroupItemDef\r\n itemList.forEach((item: ItemDefBase) => {\r\n if (item instanceof GroupItemDef) {\r\n // istanbul ignore else\r\n if (!item.directionExplicit && this.props.expandsTo !== undefined)\r\n item.direction = this.props.expandsTo;\r\n }\r\n });\r\n\r\n // pick a reasonable initial size, when zone layout occurs a resize event will trigger to adjust this size.\r\n let width = (ActionButtonItemDef.defaultButtonSize + 2) * 3;\r\n let height = width;\r\n\r\n // istanbul ignore next\r\n if (props.initialSize) {\r\n width = props.initialSize.width;\r\n height = props.initialSize.height;\r\n }\r\n\r\n const items = this.generateToolbarItems(this.props.items, new Size(width, height));\r\n\r\n // let's set the default size big enough to hold a single button.\r\n this.state = {\r\n width,\r\n height,\r\n items,\r\n };\r\n }\r\n\r\n private get _toolbarId(): string {\r\n return this.props.toolbarId ? this.props.toolbarId : \"unknown\";\r\n }\r\n\r\n public override componentDidMount() {\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this._handleSyncUiEvent);\r\n }\r\n\r\n public override componentWillUnmount() {\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(this._handleSyncUiEvent);\r\n }\r\n\r\n public override componentDidUpdate(prevProps: ToolbarProps, _prevState: ToolbarState) {\r\n if (this.props.items !== prevProps.items) {\r\n // if sync event changed number of displayable buttons layout the toolbar and re-render\r\n const items = this.generateToolbarItems(this.props.items, new Size(this.state.width, this.state.height));\r\n this.setState({ items });\r\n }\r\n }\r\n\r\n private setCurrentStateValues(item: ItemDefBase): boolean {\r\n // if a stateFunc is specified call it to get current state values\r\n // istanbul ignore else\r\n if (item.stateFunc) { // eslint-disable-line deprecation/deprecation\r\n const itemState = item.stateFunc({ // eslint-disable-line deprecation/deprecation\r\n isVisible: item.isVisible, isEnabled: item.isEnabled, isPressed: item.isPressed, isActive: item.isActive, // eslint-disable-line deprecation/deprecation\r\n });\r\n item.isVisible = !!itemState.isVisible; // eslint-disable-line deprecation/deprecation\r\n item.isEnabled = !!itemState.isEnabled; // eslint-disable-line deprecation/deprecation\r\n item.isPressed = !!itemState.isPressed;\r\n item.isActive = !!itemState.isActive;\r\n return true;\r\n }\r\n // istanbul ignore next\r\n return false;\r\n }\r\n\r\n private _processSyncUiEvent(itemList: ItemList | ItemDefBase[] | AnyItemDef[] | undefined, args: UiSyncEventArgs): boolean {\r\n // istanbul ignore next\r\n if (!itemList || 0 === itemList.length)\r\n return false;\r\n\r\n let returnValue = false;\r\n\r\n // Review all the itemDefs to see if any are monitoring sync events in UiSyncEventArgs\r\n for (const item of itemList) {\r\n if (item.stateFunc && item.stateSyncIds && item.stateSyncIds.length > 0 && // eslint-disable-line deprecation/deprecation\r\n item.stateSyncIds.some((value: string): boolean => args.eventIds.has(value.toLowerCase()))) { // eslint-disable-line deprecation/deprecation\r\n if (item instanceof GroupItemDef) {\r\n this.setCurrentStateValues(item);\r\n this._processSyncUiEvent(item.items, args);\r\n } else {\r\n this.setCurrentStateValues(item);\r\n }\r\n returnValue = true;\r\n } else {\r\n // istanbul ignore next\r\n if (item instanceof GroupItemDef) {\r\n if (this._processSyncUiEvent(item.items, args))\r\n returnValue = true;\r\n }\r\n }\r\n }\r\n return returnValue;\r\n }\r\n\r\n private _handleSyncUiEvent = (args: UiSyncEventArgs): void => {\r\n if (this._processSyncUiEvent(this.props.items, args)) {\r\n setImmediate(() => {\r\n // if sync event changed number of displayable buttons layout the toolbar and re-render\r\n const items = this.generateToolbarItems(this.props.items, new Size(this.state.width, this.state.height));\r\n this.setState({ items });\r\n });\r\n }\r\n };\r\n\r\n private layoutToolbarItems(itemList: ItemList): React.ReactNode[] {\r\n // istanbul ignore next -\r\n if (0 === itemList.length)\r\n return [];\r\n\r\n Logger.logInfo(UiFramework.loggerCategory(this), `Available space for toolbar [${this._toolbarId}] = ${this._dimension}`);\r\n\r\n const actionItems = new Array<ActionButtonItemDef>();\r\n let itemDimensions = 0;\r\n\r\n // Filter on ActionButtonItemDef\r\n itemList.forEach((item: ItemDefBase) => {\r\n // istanbul ignore else\r\n if (item.isVisible) { // eslint-disable-line deprecation/deprecation\r\n // istanbul ignore else\r\n if (item instanceof ActionButtonItemDef) {\r\n actionItems.push(item);\r\n }\r\n }\r\n });\r\n\r\n // Populate the overflow button\r\n let overflowItemDef: GroupItemDef | undefined;\r\n if (actionItems.length > 1) {\r\n // Get the item dimensions\r\n actionItems.forEach((item: ActionButtonItemDef) => {\r\n const itemSize = item.getDimension(this.props.orientation) + 1;\r\n itemDimensions += itemSize;\r\n Logger.logTrace(UiFramework.loggerCategory(this), ` Item [${item.id ? item.id : /* istanbul ignore next */ item.label}] has a size of ${itemSize} cumulative size=${itemDimensions}.`);\r\n });\r\n\r\n Logger.logInfo(UiFramework.loggerCategory(this), ` Needed toolbar size [${this._toolbarId}] = ${itemDimensions}`);\r\n\r\n // istanbul ignore next - currently unable to set size in unit test\r\n const padding = 2; // used just to insure button will fall inside tool box\r\n if (itemDimensions > (this._dimension - padding)) {\r\n const overflowItems: AnyItemDef[] = [];\r\n const lastItemIndex = actionItems.length - 1;\r\n let singleItemSize = 0;\r\n for (let index = lastItemIndex; index >= 0; index--) {\r\n // istanbul ignore next\r\n if (actionItems[index] instanceof CustomItemDef)\r\n continue;\r\n if (0 === singleItemSize)\r\n singleItemSize = actionItems[index].getDimension(this.props.orientation);\r\n\r\n const deletedItems = actionItems.splice(index, 1);\r\n // istanbul ignore else\r\n if (deletedItems.length === 1) {\r\n const item = deletedItems[0];\r\n overflowItems.unshift(item);\r\n Logger.logTrace(UiFramework.loggerCategory(this), ` * Item [${item.id ? item.id : /* istanbul ignore next */ item.label}] put into overflow items.`);\r\n\r\n let currentWidth = 0;\r\n actionItems.forEach((itemDef) => currentWidth += (itemDef.getDimension(this.props.orientation) + 1));\r\n itemDimensions = (currentWidth + singleItemSize);\r\n if (itemDimensions < (this._dimension - padding))\r\n break;\r\n }\r\n }\r\n\r\n overflowItemDef = new GroupItemDef({\r\n groupId: `overflow-group-${itemDimensions}-${actionItems.length}-${overflowItems.length}`,\r\n labelKey: \"UiFramework:general.overflow\",\r\n items: overflowItems,\r\n direction: this.props.expandsTo,\r\n });\r\n overflowItemDef.overflow = true;\r\n }\r\n }\r\n\r\n // Populate the toolbar items\r\n const toolbarItems = actionItems.map((item: ActionButtonItemDef, index: number) => {\r\n return item.toolbarReactNode(index);\r\n });\r\n\r\n // istanbul ignore next - currently unsure how to trigger sizing/resizing so overflow is never populated\r\n if (overflowItemDef)\r\n toolbarItems.push(overflowItemDef.toolbarReactNode());\r\n\r\n return toolbarItems;\r\n }\r\n\r\n private generateToolbarItems(itemList: ItemList, size: Size): React.ReactNode {\r\n this._dimension = (this.props.orientation === Orientation.Horizontal ? size.width : size.height);\r\n // istanbul ignore next - since sizing is not working in unit test size and dimension always set to default of 42\r\n if (this._dimension < this._minToolbarSize)\r\n this._dimension = this._minToolbarSize;\r\n\r\n return this.layoutToolbarItems(itemList);\r\n }\r\n\r\n // istanbul ignore next - currently unable to replicate resizing in unit test\r\n private _onResize = (width: number | undefined, height: number | undefined) => {\r\n width = width ?? this._minToolbarSize;\r\n height = height ?? this._minToolbarSize;\r\n // do allow toolbar to go to a size that doesn't show at least one button;\r\n if (width < this._minToolbarSize) width = this._minToolbarSize;\r\n if (height < this._minToolbarSize) height = this._minToolbarSize;\r\n if (this.state.width !== width || this.state.height !== height) {\r\n const items = this.generateToolbarItems(this.props.items, new Size(width, height));\r\n this.setState({ width, height, items });\r\n }\r\n };\r\n\r\n private hasVisibleItems(items: ItemList) {\r\n for (const item of items) {\r\n // istanbul ignore else\r\n if (item && item.isVisible) // eslint-disable-line deprecation/deprecation\r\n return true;\r\n }\r\n // istanbul ignore next\r\n return false;\r\n }\r\n\r\n public override render() {\r\n // istanbul ignore next\r\n if (0 === this.props.items.length || !this.hasVisibleItems(this.props.items)) {\r\n Logger.logTrace(UiFramework.loggerCategory(this), `---> nothing to render for ${this._toolbarId} `);\r\n return null;\r\n }\r\n\r\n Logger.logTrace(UiFramework.loggerCategory(this), `---> render ${this._toolbarId} `);\r\n return (\r\n <ResizableContainerObserver onResize={this._onResize}>\r\n <NZ_Toolbar // eslint-disable-line deprecation/deprecation\r\n style={this.props.style}\r\n className={this.props.className}\r\n expandsTo={this.props.expandsTo}\r\n panelAlignment={this.props.panelAlignment}\r\n items={\r\n <>\r\n {this.state.items}\r\n </>\r\n }\r\n />\r\n </ResizableContainerObserver>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarComposer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Toolbar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport {\r\n ActionButton, CommonToolbarItem, ConditionalBooleanValue, GroupButton, ToolbarItemsManager, ToolbarItemUtilities, ToolbarOrientation, ToolbarUsage,\r\n} from \"@itwin/appui-abstract\";\r\nimport { Orientation } from \"@itwin/core-react\";\r\nimport { ToolbarItem, ToolbarOpacitySetting, ToolbarWithOverflow } from \"@itwin/components-react\";\r\nimport { Direction, Toolbar, ToolbarPanelAlignment } from \"@itwin/appui-layout-react\";\r\nimport { FrontstageManager, ToolActivatedEventArgs } from \"../frontstage/FrontstageManager\";\r\nimport { useFrameworkVersion } from \"../hooks/useFrameworkVersion\";\r\nimport { SyncUiEventArgs, SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { UiShowHideManager } from \"../utils/UiShowHideManager\";\r\nimport { ToolbarDragInteractionContext } from \"./DragInteraction\";\r\nimport { ToolbarHelper } from \"./ToolbarHelper\";\r\nimport { useDefaultToolbarItems } from \"./useDefaultToolbarItems\";\r\nimport { useUiItemsProviderToolbarItems } from \"./useUiItemsProviderToolbarItems\";\r\n\r\n/** Private function to set up sync event monitoring of toolbar items */\r\nfunction useToolbarItemSyncEffect(uiDataProvider: ToolbarItemsManager, syncIdsOfInterest: string[]) {\r\n React.useEffect(() => {\r\n const handleSyncUiEvent = (args: SyncUiEventArgs) => {\r\n if (0 === syncIdsOfInterest.length)\r\n return;\r\n\r\n // istanbul ignore else\r\n if (syncIdsOfInterest.some((value: string): boolean => args.eventIds.has(value.toLowerCase()))) {\r\n // process each item that has interest\r\n uiDataProvider.refreshAffectedItems(args.eventIds);\r\n }\r\n };\r\n\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(handleSyncUiEvent);\r\n return () => {\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(handleSyncUiEvent);\r\n };\r\n }, [uiDataProvider, syncIdsOfInterest, uiDataProvider.items]);\r\n\r\n React.useEffect(() => {\r\n const handleToolActivatedEvent = ({ toolId }: ToolActivatedEventArgs) => {\r\n uiDataProvider.setActiveToolId(toolId);\r\n };\r\n\r\n FrontstageManager.onToolActivatedEvent.addListener(handleToolActivatedEvent);\r\n\r\n return () => {\r\n FrontstageManager.onToolActivatedEvent.removeListener(handleToolActivatedEvent);\r\n };\r\n }, [uiDataProvider, uiDataProvider.items]);\r\n}\r\n\r\nfunction nestedAddItemToSpecifiedParentGroup(items: ReadonlyArray<ActionButton | GroupButton>, groupChildren: Array<ActionButton | GroupButton>): Array<ActionButton | GroupButton> {\r\n const outItems: Array<ActionButton | GroupButton> = [];\r\n for (const toolbarItem of items) {\r\n if (!ToolbarItemUtilities.isGroupButton(toolbarItem)) {\r\n outItems.push(toolbarItem);\r\n continue;\r\n }\r\n\r\n const newChildren: Array<ActionButton | GroupButton> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\r\n const foundIndices: number[] = [];\r\n\r\n groupChildren.forEach((entry, index) => {\r\n if (entry.parentToolGroupId === toolbarItem.id) {\r\n foundIndices.push(index);\r\n }\r\n });\r\n\r\n // istanbul ignore else\r\n if (foundIndices.length) {\r\n // process in reverse order so groupChildren can be reduced as we find matches\r\n foundIndices.sort(\r\n // istanbul ignore next\r\n (a, b) => a - b,\r\n ).reverse().forEach((foundIndex) => {\r\n newChildren.push(groupChildren[foundIndex]);\r\n groupChildren.splice(foundIndex);\r\n });\r\n }\r\n\r\n outItems.push({ ...toolbarItem, items: newChildren });\r\n }\r\n return outItems;\r\n}\r\n\r\nfunction addItemToSpecifiedParentGroup(items: readonly CommonToolbarItem[], groupChildren: Array<ActionButton | GroupButton>): CommonToolbarItem[] {\r\n const outItems: CommonToolbarItem[] = [];\r\n for (const toolbarItem of items) {\r\n if (!ToolbarItemUtilities.isGroupButton(toolbarItem)) {\r\n outItems.push(toolbarItem);\r\n continue;\r\n }\r\n\r\n const newChildren: Array<ActionButton | GroupButton> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\r\n const foundIndices: number[] = [];\r\n\r\n groupChildren.forEach((entry, index) => {\r\n if (entry.parentToolGroupId === toolbarItem.id) {\r\n foundIndices.push(index);\r\n }\r\n });\r\n\r\n // istanbul ignore else\r\n if (foundIndices.length) {\r\n // process in reverse order so groupChildren can be reduced as we find matches\r\n foundIndices.sort(\r\n // istanbul ignore next\r\n (a, b) => a - b,\r\n ).reverse().forEach((foundIndex) => {\r\n newChildren.push(groupChildren[foundIndex]);\r\n groupChildren.splice(foundIndex);\r\n });\r\n }\r\n\r\n outItems.push({ ...toolbarItem, items: newChildren });\r\n }\r\n return outItems;\r\n}\r\n\r\nfunction cloneGroup(inGroup: GroupButton): GroupButton {\r\n const childItems: Array<ActionButton | GroupButton> = [];\r\n inGroup.items.forEach((item) => {\r\n if (ToolbarItemUtilities.isGroupButton(item))\r\n childItems.push(cloneGroup(item));\r\n else\r\n childItems.push(item);\r\n });\r\n\r\n const clonedGroup = { ...inGroup, items: childItems };\r\n return clonedGroup;\r\n}\r\n\r\nfunction getItemSortValue(item: ToolbarItem) {\r\n const groupValue = undefined === item.groupPriority ? 0 : /* istanbul ignore next */ item.groupPriority;\r\n return groupValue * 10000 + item.itemPriority;\r\n}\r\n\r\nfunction getSortedChildren(group: GroupButton): ReadonlyArray<ActionButton | GroupButton> {\r\n const sortedChildren = group.items\r\n .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))\r\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\r\n .map((i) => {\r\n if (ToolbarItemUtilities.isGroupButton(i)) {\r\n return { ...i, items: getSortedChildren(i) };\r\n }\r\n return i;\r\n });\r\n return sortedChildren;\r\n}\r\n\r\n/** local function to combine items from Stage and from Extensions */\r\nfunction combineItems(defaultItems: ReadonlyArray<CommonToolbarItem>, addonItems: ReadonlyArray<CommonToolbarItem>) {\r\n let items: CommonToolbarItem[] = [];\r\n const groupChildren: Array<ActionButton | GroupButton> = [];\r\n\r\n // istanbul ignore else\r\n if (defaultItems.length) {\r\n defaultItems.forEach((srcItem: CommonToolbarItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\r\n const toolbarItem = ToolbarItemUtilities.isGroupButton(srcItem) ? cloneGroup(srcItem) : srcItem;\r\n if (toolbarItem.parentToolGroupId && (ToolbarItemUtilities.isGroupButton(toolbarItem) || ToolbarItemUtilities.isActionButton(toolbarItem)))\r\n groupChildren.push(toolbarItem);\r\n else\r\n items.push(toolbarItem);\r\n }\r\n });\r\n }\r\n // istanbul ignore else\r\n if (addonItems.length) {\r\n addonItems.forEach((srcItem: CommonToolbarItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\r\n const toolbarItem = ToolbarItemUtilities.isGroupButton(srcItem) ? cloneGroup(srcItem) : srcItem;\r\n if (toolbarItem.parentToolGroupId && (ToolbarItemUtilities.isGroupButton(toolbarItem) || ToolbarItemUtilities.isActionButton(toolbarItem)))\r\n groupChildren.push(toolbarItem);\r\n else\r\n items.push(toolbarItem);\r\n }\r\n });\r\n }\r\n\r\n // if an item from an addon has specified a parent group then try to find it and insert it. If no parent is found, add item at root level.\r\n if (groupChildren.length) {\r\n items = addItemToSpecifiedParentGroup(items, groupChildren);\r\n\r\n if (groupChildren.length) {\r\n groupChildren.forEach((toolbarItem: ActionButton | GroupButton) => {\r\n Logger.logWarning(\"ToolbarComposer\", `Requested Parent Group [${toolbarItem.parentToolGroupId!}] not found, so item [${toolbarItem.id}] is added directly to toolbar.`);\r\n items.push(toolbarItem);\r\n });\r\n }\r\n }\r\n\r\n const availableItems = items\r\n .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))\r\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\r\n .map((i) => {\r\n if (ToolbarItemUtilities.isGroupButton(i)) {\r\n return { ...i, items: getSortedChildren(i) };\r\n }\r\n return i;\r\n });\r\n\r\n return availableItems;\r\n}\r\n\r\nconst useProximityOpacitySetting = () => {\r\n const [proximityOpacity, setProximityOpacity] = React.useState(UiShowHideManager.useProximityOpacity);\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const handleUiVisibilityChanged = () => {\r\n setProximityOpacity(UiShowHideManager.useProximityOpacity);\r\n };\r\n UiFramework.onUiVisibilityChanged.addListener(handleUiVisibilityChanged);\r\n return () => {\r\n UiFramework.onUiVisibilityChanged.removeListener(handleUiVisibilityChanged);\r\n };\r\n }, []);\r\n return proximityOpacity;\r\n};\r\n\r\n/** Properties for the [[ToolbarComposer]] React components\r\n * @public\r\n */\r\nexport interface ExtensibleToolbarProps {\r\n items: CommonToolbarItem[];\r\n usage: ToolbarUsage;\r\n /** Toolbar orientation. */\r\n orientation: ToolbarOrientation;\r\n}\r\n\r\n/**\r\n * Toolbar that is populated and maintained by item managers.\r\n * @public\r\n */\r\nexport function ToolbarComposer(props: ExtensibleToolbarProps) {\r\n const { usage, orientation } = props;\r\n\r\n const [defaultItemsManager, setDefaultItemsManager] = React.useState(() => new ToolbarItemsManager(props.items));\r\n React.useEffect(() => {\r\n setDefaultItemsManager(new ToolbarItemsManager(props.items));\r\n }, [props.items]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n // process default items\r\n const defaultItems = useDefaultToolbarItems(defaultItemsManager);\r\n const syncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(defaultItems), [defaultItems]);\r\n useToolbarItemSyncEffect(defaultItemsManager, syncIdsOfInterest);\r\n\r\n // process items from addon UI providers\r\n const [addonItemsManager] = React.useState(() => new ToolbarItemsManager());\r\n const addonItems = useUiItemsProviderToolbarItems(addonItemsManager, usage, orientation);\r\n const addonSyncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);\r\n useToolbarItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);\r\n\r\n const toolbarItems = React.useMemo(() => combineItems(defaultItems, addonItems), [defaultItems, addonItems]);\r\n\r\n const toolbarOrientation = orientation === ToolbarOrientation.Horizontal ? Orientation.Horizontal : Orientation.Vertical;\r\n // eslint-disable-next-line deprecation/deprecation\r\n const expandsTo = toolbarOrientation === Orientation.Horizontal ? Direction.Bottom : usage === ToolbarUsage.ViewNavigation ? Direction.Left : Direction.Right;\r\n // eslint-disable-next-line deprecation/deprecation\r\n const panelAlignment = (toolbarOrientation === Orientation.Horizontal && usage === ToolbarUsage.ViewNavigation) ? ToolbarPanelAlignment.End : ToolbarPanelAlignment.Start;\r\n const version = useFrameworkVersion();\r\n const isDragEnabled = React.useContext(ToolbarDragInteractionContext);\r\n const useProximityOpacity = useProximityOpacitySetting();\r\n\r\n if (\"1\" === version) {\r\n return (\r\n <ToolbarUi1\r\n items={toolbarItems}\r\n expandsTo={expandsTo}\r\n panelAlignment={panelAlignment}\r\n />\r\n );\r\n }\r\n\r\n return <ToolbarWithOverflow\r\n expandsTo={expandsTo}\r\n panelAlignment={panelAlignment}\r\n items={toolbarItems}\r\n useDragInteraction={isDragEnabled}\r\n toolbarOpacitySetting={useProximityOpacity && !UiFramework.isMobile() ? ToolbarOpacitySetting.Proximity : /* istanbul ignore next */ ToolbarOpacitySetting.Defaults}\r\n />;\r\n}\r\n\r\ninterface ToolbarUi1Props {\r\n items: CommonToolbarItem[];\r\n expandsTo: Direction; // eslint-disable-line deprecation/deprecation\r\n panelAlignment: ToolbarPanelAlignment; // eslint-disable-line deprecation/deprecation\r\n}\r\n\r\n/** Toolbar rendered in 1.0 mode.\r\n * @internal\r\n */\r\nconst ToolbarUi1 = React.memo<ToolbarUi1Props>(function ToolbarUi1({\r\n items,\r\n expandsTo,\r\n panelAlignment,\r\n}) {\r\n const createReactNodes = (): React.ReactNode => {\r\n if (0 === items.length)\r\n return null;\r\n\r\n const createdNodes = items.map((item: CommonToolbarItem) => {\r\n return ToolbarHelper.createNodeForToolbarItem(item);\r\n });\r\n return createdNodes;\r\n };\r\n\r\n return <Toolbar // eslint-disable-line deprecation/deprecation\r\n expandsTo={expandsTo}\r\n panelAlignment={panelAlignment}\r\n items={\r\n <>\r\n {createReactNodes()}\r\n </>\r\n }\r\n />;\r\n});\r\n"]}
|
|
1
|
+
{"version":3,"file":"ToolbarComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarComposer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Toolbar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport {\r\n ActionButton, CommonToolbarItem, ConditionalBooleanValue, GroupButton, ToolbarItemsManager, ToolbarItemUtilities, ToolbarOrientation, ToolbarUsage, UiSyncEventArgs,\r\n} from \"@itwin/appui-abstract\";\r\nimport { Orientation } from \"@itwin/core-react\";\r\nimport { ToolbarItem, ToolbarOpacitySetting, ToolbarWithOverflow } from \"@itwin/components-react\";\r\nimport { Direction, Toolbar, ToolbarPanelAlignment } from \"@itwin/appui-layout-react\";\r\nimport { FrontstageManager, ToolActivatedEventArgs } from \"../frontstage/FrontstageManager\";\r\nimport { useFrameworkVersion } from \"../hooks/useFrameworkVersion\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { UiShowHideManager } from \"../utils/UiShowHideManager\";\r\nimport { ToolbarDragInteractionContext } from \"./DragInteraction\";\r\nimport { ToolbarHelper } from \"./ToolbarHelper\";\r\nimport { useDefaultToolbarItems } from \"./useDefaultToolbarItems\";\r\nimport { useUiItemsProviderToolbarItems } from \"./useUiItemsProviderToolbarItems\";\r\n\r\n/** Private function to set up sync event monitoring of toolbar items */\r\nfunction useToolbarItemSyncEffect(uiDataProvider: ToolbarItemsManager, syncIdsOfInterest: string[]) {\r\n React.useEffect(() => {\r\n const handleSyncUiEvent = (args: UiSyncEventArgs) => {\r\n if (0 === syncIdsOfInterest.length)\r\n return;\r\n\r\n // istanbul ignore else\r\n if (syncIdsOfInterest.some((value: string): boolean => args.eventIds.has(value.toLowerCase()))) {\r\n // process each item that has interest\r\n uiDataProvider.refreshAffectedItems(args.eventIds);\r\n }\r\n };\r\n\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(handleSyncUiEvent);\r\n return () => {\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(handleSyncUiEvent);\r\n };\r\n }, [uiDataProvider, syncIdsOfInterest, uiDataProvider.items]);\r\n\r\n React.useEffect(() => {\r\n const handleToolActivatedEvent = ({ toolId }: ToolActivatedEventArgs) => {\r\n uiDataProvider.setActiveToolId(toolId);\r\n };\r\n\r\n FrontstageManager.onToolActivatedEvent.addListener(handleToolActivatedEvent);\r\n\r\n return () => {\r\n FrontstageManager.onToolActivatedEvent.removeListener(handleToolActivatedEvent);\r\n };\r\n }, [uiDataProvider, uiDataProvider.items]);\r\n}\r\n\r\nfunction nestedAddItemToSpecifiedParentGroup(items: ReadonlyArray<ActionButton | GroupButton>, groupChildren: Array<ActionButton | GroupButton>): Array<ActionButton | GroupButton> {\r\n const outItems: Array<ActionButton | GroupButton> = [];\r\n for (const toolbarItem of items) {\r\n if (!ToolbarItemUtilities.isGroupButton(toolbarItem)) {\r\n outItems.push(toolbarItem);\r\n continue;\r\n }\r\n\r\n const newChildren: Array<ActionButton | GroupButton> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\r\n const foundIndices: number[] = [];\r\n\r\n groupChildren.forEach((entry, index) => {\r\n if (entry.parentToolGroupId === toolbarItem.id) {\r\n foundIndices.push(index);\r\n }\r\n });\r\n\r\n // istanbul ignore else\r\n if (foundIndices.length) {\r\n // process in reverse order so groupChildren can be reduced as we find matches\r\n foundIndices.sort(\r\n // istanbul ignore next\r\n (a, b) => a - b,\r\n ).reverse().forEach((foundIndex) => {\r\n newChildren.push(groupChildren[foundIndex]);\r\n groupChildren.splice(foundIndex);\r\n });\r\n }\r\n\r\n outItems.push({ ...toolbarItem, items: newChildren });\r\n }\r\n return outItems;\r\n}\r\n\r\nfunction addItemToSpecifiedParentGroup(items: readonly CommonToolbarItem[], groupChildren: Array<ActionButton | GroupButton>): CommonToolbarItem[] {\r\n const outItems: CommonToolbarItem[] = [];\r\n for (const toolbarItem of items) {\r\n if (!ToolbarItemUtilities.isGroupButton(toolbarItem)) {\r\n outItems.push(toolbarItem);\r\n continue;\r\n }\r\n\r\n const newChildren: Array<ActionButton | GroupButton> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\r\n const foundIndices: number[] = [];\r\n\r\n groupChildren.forEach((entry, index) => {\r\n if (entry.parentToolGroupId === toolbarItem.id) {\r\n foundIndices.push(index);\r\n }\r\n });\r\n\r\n // istanbul ignore else\r\n if (foundIndices.length) {\r\n // process in reverse order so groupChildren can be reduced as we find matches\r\n foundIndices.sort(\r\n // istanbul ignore next\r\n (a, b) => a - b,\r\n ).reverse().forEach((foundIndex) => {\r\n newChildren.push(groupChildren[foundIndex]);\r\n groupChildren.splice(foundIndex);\r\n });\r\n }\r\n\r\n outItems.push({ ...toolbarItem, items: newChildren });\r\n }\r\n return outItems;\r\n}\r\n\r\nfunction cloneGroup(inGroup: GroupButton): GroupButton {\r\n const childItems: Array<ActionButton | GroupButton> = [];\r\n inGroup.items.forEach((item) => {\r\n if (ToolbarItemUtilities.isGroupButton(item))\r\n childItems.push(cloneGroup(item));\r\n else\r\n childItems.push(item);\r\n });\r\n\r\n const clonedGroup = { ...inGroup, items: childItems };\r\n return clonedGroup;\r\n}\r\n\r\nfunction getItemSortValue(item: ToolbarItem) {\r\n const groupValue = undefined === item.groupPriority ? 0 : /* istanbul ignore next */ item.groupPriority;\r\n return groupValue * 10000 + item.itemPriority;\r\n}\r\n\r\nfunction getSortedChildren(group: GroupButton): ReadonlyArray<ActionButton | GroupButton> {\r\n const sortedChildren = group.items\r\n .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))\r\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\r\n .map((i) => {\r\n if (ToolbarItemUtilities.isGroupButton(i)) {\r\n return { ...i, items: getSortedChildren(i) };\r\n }\r\n return i;\r\n });\r\n return sortedChildren;\r\n}\r\n\r\n/** local function to combine items from Stage and from Extensions */\r\nfunction combineItems(defaultItems: ReadonlyArray<CommonToolbarItem>, addonItems: ReadonlyArray<CommonToolbarItem>) {\r\n let items: CommonToolbarItem[] = [];\r\n const groupChildren: Array<ActionButton | GroupButton> = [];\r\n\r\n // istanbul ignore else\r\n if (defaultItems.length) {\r\n defaultItems.forEach((srcItem: CommonToolbarItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\r\n const toolbarItem = ToolbarItemUtilities.isGroupButton(srcItem) ? cloneGroup(srcItem) : srcItem;\r\n if (toolbarItem.parentToolGroupId && (ToolbarItemUtilities.isGroupButton(toolbarItem) || ToolbarItemUtilities.isActionButton(toolbarItem)))\r\n groupChildren.push(toolbarItem);\r\n else\r\n items.push(toolbarItem);\r\n }\r\n });\r\n }\r\n // istanbul ignore else\r\n if (addonItems.length) {\r\n addonItems.forEach((srcItem: CommonToolbarItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\r\n const toolbarItem = ToolbarItemUtilities.isGroupButton(srcItem) ? cloneGroup(srcItem) : srcItem;\r\n if (toolbarItem.parentToolGroupId && (ToolbarItemUtilities.isGroupButton(toolbarItem) || ToolbarItemUtilities.isActionButton(toolbarItem)))\r\n groupChildren.push(toolbarItem);\r\n else\r\n items.push(toolbarItem);\r\n }\r\n });\r\n }\r\n\r\n // if an item from an addon has specified a parent group then try to find it and insert it. If no parent is found, add item at root level.\r\n if (groupChildren.length) {\r\n items = addItemToSpecifiedParentGroup(items, groupChildren);\r\n\r\n if (groupChildren.length) {\r\n groupChildren.forEach((toolbarItem: ActionButton | GroupButton) => {\r\n Logger.logWarning(\"ToolbarComposer\", `Requested Parent Group [${toolbarItem.parentToolGroupId!}] not found, so item [${toolbarItem.id}] is added directly to toolbar.`);\r\n items.push(toolbarItem);\r\n });\r\n }\r\n }\r\n\r\n const availableItems = items\r\n .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))\r\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\r\n .map((i) => {\r\n if (ToolbarItemUtilities.isGroupButton(i)) {\r\n return { ...i, items: getSortedChildren(i) };\r\n }\r\n return i;\r\n });\r\n\r\n return availableItems;\r\n}\r\n\r\nconst useProximityOpacitySetting = () => {\r\n const [proximityOpacity, setProximityOpacity] = React.useState(UiShowHideManager.useProximityOpacity);\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const handleUiVisibilityChanged = () => {\r\n setProximityOpacity(UiShowHideManager.useProximityOpacity);\r\n };\r\n UiFramework.onUiVisibilityChanged.addListener(handleUiVisibilityChanged);\r\n return () => {\r\n UiFramework.onUiVisibilityChanged.removeListener(handleUiVisibilityChanged);\r\n };\r\n }, []);\r\n return proximityOpacity;\r\n};\r\n\r\n/** Properties for the [[ToolbarComposer]] React components\r\n * @public\r\n */\r\nexport interface ExtensibleToolbarProps {\r\n items: CommonToolbarItem[];\r\n usage: ToolbarUsage;\r\n /** Toolbar orientation. */\r\n orientation: ToolbarOrientation;\r\n}\r\n\r\n/**\r\n * Toolbar that is populated and maintained by item managers.\r\n * @public\r\n */\r\nexport function ToolbarComposer(props: ExtensibleToolbarProps) {\r\n const { usage, orientation } = props;\r\n\r\n const [defaultItemsManager, setDefaultItemsManager] = React.useState(() => new ToolbarItemsManager(props.items));\r\n React.useEffect(() => {\r\n setDefaultItemsManager(new ToolbarItemsManager(props.items));\r\n }, [props.items]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n // process default items\r\n const defaultItems = useDefaultToolbarItems(defaultItemsManager);\r\n const syncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(defaultItems), [defaultItems]);\r\n useToolbarItemSyncEffect(defaultItemsManager, syncIdsOfInterest);\r\n\r\n // process items from addon UI providers\r\n const [addonItemsManager] = React.useState(() => new ToolbarItemsManager());\r\n const addonItems = useUiItemsProviderToolbarItems(addonItemsManager, usage, orientation);\r\n const addonSyncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);\r\n useToolbarItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);\r\n\r\n const toolbarItems = React.useMemo(() => combineItems(defaultItems, addonItems), [defaultItems, addonItems]);\r\n\r\n const toolbarOrientation = orientation === ToolbarOrientation.Horizontal ? Orientation.Horizontal : Orientation.Vertical;\r\n // eslint-disable-next-line deprecation/deprecation\r\n const expandsTo = toolbarOrientation === Orientation.Horizontal ? Direction.Bottom : usage === ToolbarUsage.ViewNavigation ? Direction.Left : Direction.Right;\r\n // eslint-disable-next-line deprecation/deprecation\r\n const panelAlignment = (toolbarOrientation === Orientation.Horizontal && usage === ToolbarUsage.ViewNavigation) ? ToolbarPanelAlignment.End : ToolbarPanelAlignment.Start;\r\n const version = useFrameworkVersion();\r\n const isDragEnabled = React.useContext(ToolbarDragInteractionContext);\r\n const useProximityOpacity = useProximityOpacitySetting();\r\n\r\n if (\"1\" === version) {\r\n return (\r\n <ToolbarUi1\r\n items={toolbarItems}\r\n expandsTo={expandsTo}\r\n panelAlignment={panelAlignment}\r\n />\r\n );\r\n }\r\n\r\n return <ToolbarWithOverflow\r\n expandsTo={expandsTo}\r\n panelAlignment={panelAlignment}\r\n items={toolbarItems}\r\n useDragInteraction={isDragEnabled}\r\n toolbarOpacitySetting={useProximityOpacity && !UiFramework.isMobile() ? ToolbarOpacitySetting.Proximity : /* istanbul ignore next */ ToolbarOpacitySetting.Defaults}\r\n />;\r\n}\r\n\r\ninterface ToolbarUi1Props {\r\n items: CommonToolbarItem[];\r\n expandsTo: Direction; // eslint-disable-line deprecation/deprecation\r\n panelAlignment: ToolbarPanelAlignment; // eslint-disable-line deprecation/deprecation\r\n}\r\n\r\n/** Toolbar rendered in 1.0 mode.\r\n * @internal\r\n */\r\nconst ToolbarUi1 = React.memo<ToolbarUi1Props>(function ToolbarUi1({\r\n items,\r\n expandsTo,\r\n panelAlignment,\r\n}) {\r\n const createReactNodes = (): React.ReactNode => {\r\n if (0 === items.length)\r\n return null;\r\n\r\n const createdNodes = items.map((item: CommonToolbarItem) => {\r\n return ToolbarHelper.createNodeForToolbarItem(item);\r\n });\r\n return createdNodes;\r\n };\r\n\r\n return <Toolbar // eslint-disable-line deprecation/deprecation\r\n expandsTo={expandsTo}\r\n panelAlignment={panelAlignment}\r\n items={\r\n <>\r\n {createReactNodes()}\r\n </>\r\n }\r\n />;\r\n});\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppUiSettings.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/uistate/AppUiSettings.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"AppUiSettings.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/uistate/AppUiSettings.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGjE,OAAO,EAAE,kBAAkB,EAAe,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAIvF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,aAAc,YAAW,oBAAoB;IACxD,SAAgB,UAAU,2BAA2B;IAErD,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAmB;IACnD,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,sBAAsB,CAAS;IAEhC,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACjC,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACvC,gBAAgB,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;IACnD,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAE3C,OAAO,CAAC,aAAa,CAInB;gBAEU,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAuBnD,OAAO,CAAC,iBAAiB,CAkBvB;IAEW,KAAK,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7C,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAGtE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppUiSettings.js","sourceRoot":"","sources":["../../../../src/appui-react/uistate/AppUiSettings.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,kDAAiE;
|
|
1
|
+
{"version":3,"file":"AppUiSettings.js","sourceRoot":"","sources":["../../../../src/appui-react/uistate/AppUiSettings.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Settings\r\n */\r\n\r\nimport { UiStateEntry, UiStateStorage } from \"@itwin/core-react\";\r\nimport { UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { FrameworkVersionId, UiFramework, UserSettingsProvider } from \"../UiFramework\";\r\n\r\n// cSpell:ignore configurableui\r\n\r\n/** Default values that may be specified for [[AppUiSettings]].\r\n * @public\r\n */\r\nexport interface InitialAppUiSettings {\r\n colorTheme: string;\r\n dragInteraction: boolean;\r\n frameworkVersion: FrameworkVersionId;\r\n widgetOpacity: number;\r\n}\r\n\r\n/** These are the UI settings that are stored in the Redux store. They control the color theme, the UI version,\r\n * how toolbar group buttons work, and the opacity of widgets in 1.0 and floating widget in 2.0 when the cursor\r\n * is not inside them. It is expect that an IModelApp using App UI components will create and register AppUiSettings with\r\n * defaults specific to their application. This would be done by calling the following.\r\n *\r\n * ```ts\r\n * UiFramework.registerUserSettingsProvider(new AppUiSettings(defaults));\r\n * ```\r\n *\r\n * @public\r\n */\r\nexport class AppUiSettings implements UserSettingsProvider {\r\n public readonly providerId = \"AppUiSettingsProvider\";\r\n\r\n private static _settingNamespace = \"AppUiSettings\";\r\n private _settings: Array<UiStateEntry<any>> = [];\r\n private _applyingLocalSettings = false;\r\n\r\n public colorTheme: UiStateEntry<string>;\r\n public dragInteraction: UiStateEntry<boolean>;\r\n public frameworkVersion: UiStateEntry<FrameworkVersionId>;\r\n public widgetOpacity: UiStateEntry<number>;\r\n\r\n private setColorTheme = (theme: string) => {\r\n UiFramework.setColorTheme(theme);\r\n // always store to local storage to avoid flicker during startup if user is not yet logged-in\r\n window.localStorage.setItem(\"uifw:defaultTheme\", theme);\r\n };\r\n\r\n constructor(defaults: Partial<InitialAppUiSettings>) {\r\n this._settings = [];\r\n\r\n this.colorTheme = new UiStateEntry<string>(AppUiSettings._settingNamespace, \"ColorTheme\", UiFramework.getColorTheme, this.setColorTheme, defaults.colorTheme);\r\n this._settings.push(this.colorTheme);\r\n\r\n this.dragInteraction = new UiStateEntry<boolean>(AppUiSettings._settingNamespace, \"DragInteraction\",\r\n () => UiFramework.useDragInteraction,\r\n (value: boolean) => UiFramework.setUseDragInteraction(value), defaults.dragInteraction);\r\n this._settings.push(this.dragInteraction);\r\n\r\n this.frameworkVersion = new UiStateEntry<FrameworkVersionId>(AppUiSettings._settingNamespace, \"FrameworkVersion\",\r\n () => UiFramework.uiVersion,\r\n (value: FrameworkVersionId) => UiFramework.setUiVersion(value), defaults.frameworkVersion);\r\n this._settings.push(this.frameworkVersion);\r\n\r\n this.widgetOpacity = new UiStateEntry<number>(AppUiSettings._settingNamespace, \"WidgetOpacity\",\r\n () => UiFramework.getWidgetOpacity(), (value: number) => UiFramework.setWidgetOpacity(value), defaults.widgetOpacity);\r\n this._settings.push(this.widgetOpacity);\r\n\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this.handleSyncUiEvent);\r\n }\r\n\r\n private handleSyncUiEvent = async (args: UiSyncEventArgs) => {\r\n if (this._applyingLocalSettings)\r\n return;\r\n\r\n if (args.eventIds.has(\"configurableui:set_theme\")) {\r\n await this.colorTheme.saveSetting(UiFramework.getUiStateStorage());\r\n // always store as default theme in local storage to avoid flicker during startup if user is not yet logged-in\r\n window.localStorage.setItem(\"uifw:defaultTheme\", UiFramework.getColorTheme());\r\n }\r\n\r\n if (args.eventIds.has(\"configurableui:set-drag-interaction\"))\r\n await this.dragInteraction.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set-framework-version\"))\r\n await this.frameworkVersion.saveSetting(UiFramework.getUiStateStorage());\r\n\r\n if (args.eventIds.has(\"configurableui:set_widget_opacity\"))\r\n await this.widgetOpacity.saveSetting(UiFramework.getUiStateStorage());\r\n };\r\n\r\n public async apply(storage: UiStateStorage): Promise<void> {\r\n this._applyingLocalSettings = true;\r\n for await (const setting of this._settings) {\r\n await setting.getSettingAndApplyValue(storage);\r\n }\r\n this._applyingLocalSettings = false;\r\n }\r\n\r\n public async loadUserSettings(storage: UiStateStorage): Promise<void> {\r\n await this.apply(storage);\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUiStateStorage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/uistate/useUiStateStorage.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useUiStateStorage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/uistate/useUiStateStorage.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAqB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAItE,cAAc;AACd,wBAAgB,wBAAwB,IAAI,cAAc,CAEzD;AAED,gBAAgB;AAChB,eAAO,MAAM,qBAAqB,+BAA+D,CAAC;AAGlG;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,uBAAuB,eAkBnE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUiStateStorage.js","sourceRoot":"","sources":["../../../../src/appui-react/uistate/useUiStateStorage.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;
|
|
1
|
+
{"version":3,"file":"useUiStateStorage.js","sourceRoot":"","sources":["../../../../src/appui-react/uistate/useUiStateStorage.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAE/B,kDAAsE;AACtE,gDAA6C;AAC7C,2EAAuF;AAEvF,cAAc;AACd,SAAgB,wBAAwB;IACtC,OAAO,KAAK,CAAC,UAAU,CAAC,6BAAqB,CAAC,CAAC;AACjD,CAAC;AAFD,4DAEC;AAED,gBAAgB;AACH,QAAA,qBAAqB,GAAG,KAAK,CAAC,aAAa,CAAiB,IAAI,8BAAiB,EAAE,CAAC,CAAC,CAAC,2DAA2D;AAC9J,6BAAqB,CAAC,WAAW,GAAG,4BAA4B,CAAC;AASjE;;GAEG;AACH,SAAgB,qBAAqB,CAAC,KAA8B;IAClE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,yBAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAExF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,iBAAiB,GAAG,CAAC,IAAqB,EAAQ,EAAE;YACxD,IAAI,6CAAqB,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,qCAAa,CAAC,qBAAqB,CAAC,CAAC;gBAChG,eAAe,CAAC,yBAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC;QAEF,OAAO,6CAAqB,CAAC,aAAa,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,oBAAC,6BAAqB,CAAC,QAAQ,IAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,KAAK,EAAE,YAAY,GACnB,CACH,CAAC;AACJ,CAAC;AAlBD,sDAkBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module UiStateStorage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { LocalStateStorage, UiStateStorage } from \"@itwin/core-react\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { SyncUiEventDispatcher, SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\r\n\r\n/** @public */\r\nexport function useUiStateStorageHandler(): UiStateStorage {\r\n return React.useContext(UiStateStorageContext);\r\n}\r\n\r\n/** @internal */\r\nexport const UiStateStorageContext = React.createContext<UiStateStorage>(new LocalStateStorage()); // eslint-disable-line @typescript-eslint/naming-convention\r\nUiStateStorageContext.displayName = \"uifw:UiStateStorageContext\";\r\n\r\n/** Properties for the [[UiStateStorageHandler]] component.\r\n * @public\r\n */\r\nexport interface UiSettingsProviderProps {\r\n children?: React.ReactNode;\r\n}\r\n\r\n/** Allows to provide a custom [[UiStateStorage]] implementation to persist UI settings.\r\n * @public\r\n */\r\nexport function UiStateStorageHandler(props: UiSettingsProviderProps) {\r\n const [stateStorage, setStateStorage] = React.useState(UiFramework.getUiStateStorage());\r\n\r\n React.useEffect(() => {\r\n const handleSyncUiEvent = (args: UiSyncEventArgs): void => {\r\n if (SyncUiEventDispatcher.hasEventOfInterest(args.eventIds, [SyncUiEventId.UiStateStorageChanged]))\r\n setStateStorage(UiFramework.getUiStateStorage());\r\n };\r\n\r\n return SyncUiEventDispatcher.onSyncUiEvent.addListener(handleSyncUiEvent);\r\n });\r\n\r\n return (\r\n <UiStateStorageContext.Provider\r\n children={props.children} // eslint-disable-line react/no-children-prop\r\n value={stateStorage}\r\n />\r\n );\r\n}\r\n"]}
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
* @module Widget
|
|
3
3
|
*/
|
|
4
4
|
import * as React from "react";
|
|
5
|
-
import { AbstractWidgetProps, BadgeType, ConditionalStringValue, PointProps, StringGetter, WidgetState } from "@itwin/appui-abstract";
|
|
6
|
-
import { UiEvent } from "@itwin/core-react";
|
|
5
|
+
import { AbstractWidgetProps, BadgeType, ConditionalStringValue, PointProps, StringGetter, UiEvent, WidgetState } from "@itwin/appui-abstract";
|
|
7
6
|
import { Direction, PanelSide } from "@itwin/appui-layout-react";
|
|
8
7
|
import { ConfigurableUiControlConstructor, ConfigurableUiControlType } from "../configurableui/ConfigurableUiControl";
|
|
9
8
|
import { CommandItemDef } from "../shared/CommandItemDef";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetDef.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetDef.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,sBAAsB,EAAE,UAAU,EAAE,YAAY,EAAW,
|
|
1
|
+
{"version":3,"file":"WidgetDef.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetDef.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.WidgetDef = exports.WidgetType = exports.WidgetStateChangedEvent = void 0;
|
|
11
11
|
const appui_abstract_1 = require("@itwin/appui-abstract");
|
|
12
|
-
const core_react_1 = require("@itwin/core-react");
|
|
13
12
|
const ConfigurableUiControl_1 = require("../configurableui/ConfigurableUiControl");
|
|
14
13
|
const ConfigurableUiManager_1 = require("../configurableui/ConfigurableUiManager");
|
|
15
14
|
const FrontstageManager_1 = require("../frontstage/FrontstageManager");
|
|
@@ -27,7 +26,7 @@ const widgetStateNameMap = new Map([
|
|
|
27
26
|
/** Widget State Changed Event class.
|
|
28
27
|
* @public
|
|
29
28
|
*/
|
|
30
|
-
class WidgetStateChangedEvent extends
|
|
29
|
+
class WidgetStateChangedEvent extends appui_abstract_1.UiEvent {
|
|
31
30
|
}
|
|
32
31
|
exports.WidgetStateChangedEvent = WidgetStateChangedEvent;
|
|
33
32
|
/** Widget type enum.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetDef.js","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetDef.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,0DAA+I;AAC/I,kDAA4C;AAE5C,mFAA8I;AAC9I,mFAAgF;AAChF,uEAAoE;AAGpE,2EAAyF;AACzF,gDAA6C;AAC7C,sDAAmD;AAGnD,qFAAkF;AAElF,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAsB;IACtD,CAAC,4BAAW,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC9B,CAAC,4BAAW,CAAC,QAAQ,EAAE,UAAU,CAAC;IAClC,CAAC,4BAAW,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC9B,CAAC,4BAAW,CAAC,IAAI,EAAE,MAAM,CAAC;IAC1B,CAAC,4BAAW,CAAC,QAAQ,EAAE,UAAU,CAAC;CACnC,CAAC,CAAC;AAUH;;GAEG;AACH,MAAa,uBAAwB,SAAQ,oBAAoC;CAAI;AAArF,0DAAqF;AAYrF;;GAEG;AACH,IAAY,UAOX;AAPD,WAAY,UAAU;IACpB,2CAAI,CAAA;IACJ,uDAAU,CAAA;IACV,mDAAQ,CAAA;IACR,yDAAW,CAAA;IACX,2DAAY,CAAA;IACZ,qDAAS,CAAA;AACX,CAAC,EAPW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAOrB;AA6CD,gFAAgF;AAEhF;;GAEG;AACH,MAAa,SAAS;IAmFpB,YAAY,WAAwB;QAjF5B,WAAM,GAAmD,EAAE,CAAC;QAC5D,aAAQ,GAAmD,EAAE,CAAC;QAG9D,kBAAa,GAAgB,4BAAW,CAAC,QAAQ,CAAC;QAClD,WAAM,GAAgB,4BAAW,CAAC,QAAQ,CAAC;QAE3C,aAAQ,GAA0D,SAAS,CAAC;QAC5E,cAAS,GAAW,CAAC,CAAC;QACtB,gBAAW,GAAY,KAAK,CAAC;QAC7B,8BAAyB,GAAY,KAAK,CAAC;QAC3C,oCAA+B,GAAY,IAAI,CAAC;QAChD,oBAAe,GAAY,KAAK,CAAC;QACjC,iBAAY,GAAY,KAAK,CAAC;QAC9B,kBAAa,GAAY,KAAK,CAAC;QAC/B,cAAS,GAAY,KAAK,CAAC;QAC3B,kBAAa,GAAa,EAAE,CAAC;QAE7B,gBAAW,GAAe,UAAU,CAAC,WAAW,CAAC;QAYjD,iBAAY,GAAgB;YAClC,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,CAAC;SACf,CAAC;QA2IM,uBAAkB,GAAG,CAAC,IAAqB,EAAQ,EAAE;YAC3D,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAa,EAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE;gBAChI,uBAAuB;gBACvB,IAAI,IAAI,CAAC,SAAS,EAAE;oBAClB,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;oBAC1B,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBACpC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;iBAC/B;aACF;QACH,CAAC,CAAC;QArGA,IAAI,WAAW,CAAC,EAAE,KAAK,SAAS;YAC9B,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,EAAE,CAAC;aACvB;YACH,SAAS,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,GAAG,UAAU,SAAS,CAAC,IAAI,EAAE,CAAC;SACvC;QAED,SAAS,CAAC,yBAAyB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IArDD,IAAW,KAAK;QACd,IAAI,GAAG,KAAK,yBAAW,CAAC,SAAS;YAC/B,OAAO,IAAI,CAAC,MAAM,CAAC;QAErB,MAAM,aAAa,GAAG,qCAAiB,CAAC,mBAAmB,CAAC;QAC5D,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACzC,MAAM,YAAY,GAAG,aAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC/D,IAAI,SAAS,KAAK,YAAY;gBAC5B,OAAO,YAAY,CAAC;SACvB;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAW,EAAE,KAAa,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,IAAW,OAAO,KAA4D,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrG,IAAW,QAAQ,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,IAAW,UAAU,KAAc,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7D,IAAW,wBAAwB,KAAc,OAAO,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACzF,IAAW,8BAA8B,KAAc,OAAO,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;IACrG,IAAW,cAAc,KAAc,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IACrE,IAAW,WAAW,KAAc,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/D,IAAW,YAAY,KAAc,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACjE,IAAW,QAAQ,KAAc,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACzD,IAAW,YAAY,KAAe,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAClE,IAAW,SAAS,KAAkC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/E,IAAW,eAAe,KAAsB,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC/E,IAAW,UAAU,KAAc,OAAO,IAAI,CAAC,KAAK,KAAK,4BAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChF,IAAW,QAAQ,KAAwD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACnG,IAAW,SAAS,KAA4B,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAEzE,IAAW,UAAU,KAAiB,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAChE,IAAW,UAAU,CAAC,IAAgB,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;IAEpE,gBAAgB;IAChB,IAAW,WAAW,KAAK,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACtD,IAAW,WAAW,CAAC,WAAwB,IAAI,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC;IAErF,gBAAgB;IAChB,IAAW,uBAAuB,KAAK,OAAO,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC9E,IAAW,uBAAuB,CAAC,QAAgC,IAAI,IAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC,CAAC,CAAC;IAElH,gBAAgB;IAChB,IAAW,YAAY,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAajD,MAAM,CAAC,yBAAyB,CAAC,WAAwB,EAAE,EAAa;QAC7E,IAAI,WAAW,CAAC,KAAK;YACnB,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aAC5B,IAAI,WAAW,CAAC,QAAQ;YAC3B,EAAE,CAAC,MAAM,GAAG,yBAAW,CAAC,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEhF,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACvC,EAAE,CAAC,sBAAsB,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QAC3D,EAAE,CAAC,uBAAuB,GAAG,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC,WAAW,CAAC,uBAAqC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEjI,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS;YACpC,EAAE,CAAC,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC;QAEtC,IAAI,WAAW,CAAC,OAAO;YACrB,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;aAChC,IAAI,WAAW,CAAC,UAAU;YAC7B,EAAE,CAAC,QAAQ,GAAG,yBAAW,CAAC,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEpF,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS;YACnC,EAAE,CAAC,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC;aAC/B,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS;YACxC,EAAE,CAAC,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC;QAEpC,IAAI,WAAW,CAAC,YAAY,KAAK,SAAS,EAAE;YAC1C,EAAE,CAAC,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC;YAC5C,IAAI,GAAG,KAAK,yBAAW,CAAC,SAAS;gBAC/B,EAAE,CAAC,MAAM,GAAG,WAAW,CAAC,YAAY,KAAK,4BAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,4BAAW,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;SAC/G;QAED,IAAI,WAAW,CAAC,UAAU,KAAK,SAAS,EAAE;YACxC,EAAE,CAAC,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC;YACxC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;SAC/E;QAED,IAAI,WAAW,CAAC,wBAAwB,KAAK,SAAS;YACpD,EAAE,CAAC,yBAAyB,GAAG,WAAW,CAAC,wBAAwB,CAAC;QACtE,IAAI,WAAW,CAAC,8BAA8B,KAAK,SAAS;YAC1D,EAAE,CAAC,+BAA+B,GAAG,WAAW,CAAC,8BAA8B,CAAC;QAClF,IAAI,WAAW,CAAC,cAAc,KAAK,SAAS;YAC1C,EAAE,CAAC,eAAe,GAAG,WAAW,CAAC,cAAc,CAAC;QAClD,IAAI,WAAW,CAAC,WAAW,KAAK,SAAS;YACvC,EAAE,CAAC,YAAY,GAAG,WAAW,CAAC,WAAW,CAAC;QAC5C,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS;YACpC,EAAE,CAAC,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC;QAEtC,IAAI,WAAW,CAAC,eAAe,KAAK,SAAS;YAC3C,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,eAAe,CAAC;QAEpD,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS;YACnC,EAAE,CAAC,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC;QAE5C,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS;YACpC,EAAE,CAAC,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC;QACtC,qBAAqB;QACrB,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS;YAChC,EAAE,CAAC,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC;QAElC,IAAI,WAAW,CAAC,SAAS,KAAK,SAAS;YACrC,EAAE,CAAC,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC;QAExC,EAAE,CAAC,mBAAmB,GAAG,WAAW,CAAC,kBAAkB,CAAC;QACxD,EAAE,CAAC,qBAAqB,GAAG,WAAW,CAAC,oBAAoB,CAAC;QAC5D,EAAE,CAAC,mBAAmB,GAAG,WAAW,CAAC,kBAAkB,CAAC;QACxD,EAAE,CAAC,sBAAsB,GAAG,WAAW,CAAC,qBAAqB,CAAC;QAE9D,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAEM,MAAM,CAAC,kCAAkC,CAAC,mBAAwC;QACvF,MAAM,WAAW,GAAgB,mBAAmB,CAAC;QACrD,WAAW,CAAC,OAAO,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,CAAC;QAC7D,OAAO,WAAW,CAAC;IACrB,CAAC;IAEM,gBAAgB,CAAC,KAAkB;QACxC,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1E,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;YAClC,6CAAqB,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAC1E;IACH,CAAC;IAaD,aAAa;IACb,IAAW,kBAAkB;QAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,2BAA2B;IAC3B,IAAW,KAAK;QACd,OAAO,yBAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACI,QAAQ,CAAC,CAAiD;QAC/D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YACnB,OAAO;QACT,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,qCAAiB,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,6BAA6B;IAC7B,IAAW,OAAO;QAChB,OAAO,yBAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,CAAiD;QACjE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEM,gBAAgB,CAAC,IAA+B;QACrD,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,EAAE;YACxC,IAAI,WAAW,GAAW,EAAE,CAAC;YAE7B,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;gBACpC,uBAAuB;gBACvB,IAAI,IAAI,CAAC,OAAO;oBACd,IAAI,CAAC,cAAc,GAAG,6CAAqB,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAkB,CAAC;gBAC1H,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;aAC5B;iBAAM;gBACL,MAAM,IAAI,GAAG,IAAI,8CAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC7E,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAChC,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAkB,CAAC;aACrF;YAED,uBAAuB;YACvB,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;oBAC1C,MAAM,IAAI,wBAAO,CAAC,yBAAW,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,sBAAsB,WAAW,cAAc,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;iBACtJ;gBAED,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC;gBACrC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;aAClC;SACF;QAED,8HAA8H;QAC9H,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,EAAE;YAC5C,MAAM,IAAI,GAAG,IAAI,8CAAsB,CAAC,gCAAgC,EAAE,+DAA8B,CAAC,SAAS,EAAE,+DAA8B,CAAC,SAAS,CAAC,CAAC;YAC9J,IAAI,CAAC,cAAc,GAAG,IAAI,+DAA8B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC1E,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;SAClC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,IAAW,SAAS;QAClB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,iDAAyB,CAAC,MAAM,CAAC,CAAC;YAE9E,uBAAuB;YACvB,IAAI,aAAa,IAAI,aAAa,CAAC,SAAS;gBAC1C,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC,SAAS,CAAC;SACnD;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,IAAW,SAAS,CAAC,IAAqB;QACxC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAEM,cAAc,CAAC,QAAqB;QACzC,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ;YACzB,OAAO;QACT,IAAI,GAAG,KAAK,yBAAW,CAAC,SAAS;YAC/B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,qCAAiB,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAEM,YAAY,CAAC,KAA0B;QAC5C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAEM,sBAAsB,CAAC,KAAyB;QACrD,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACpC,CAAC;IAED,IAAW,mBAAmB;QAC5B,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACrC,CAAC;IAEM,OAAO;QACZ,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,4BAAW,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC;IAC3C,CAAC;IAED,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,4BAAW,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC;IAC/C,CAAC;IAEM,oBAAoB;QACzB,mEAAmE;QACnE,IAAI,CAAC,aAAa,IAAI,yBAAW,CAAC,aAAa,CAAC,UAAU,IAAI,CAAC,aAAa,CAAC,OAAO,iBAAiB,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,sCAAsC,CAAC,CAAC;QACnL,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;QAChE,uBAAuB;QACvB,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC7D,CAAC;IAED,kEAAkE;IAC3D,kBAAkB;QACvB,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC;QAC9D,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,qBAAqB;QAC1B,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,sBAAsB,EAAE;YACrD,IAAI,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,CAAC;YACrC,IAAI,IAAI,CAAC,aAAa;gBACpB,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YACvD,IAAI,IAAI,CAAC,sBAAsB;gBAC7B,OAAO,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC1C,MAAM,GAAG,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC;SAChC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,IAAI;QACT,qCAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACI,MAAM;QACX,qCAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;;AAzWH,8BA0WC;AAzWgB,cAAI,GAAG,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Widget\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { AbstractWidgetProps, BadgeType, ConditionalStringValue, PointProps, StringGetter, UiError, WidgetState } from \"@itwin/appui-abstract\";\r\nimport { UiEvent } from \"@itwin/core-react\";\r\nimport { Direction, PanelSide } from \"@itwin/appui-layout-react\";\r\nimport { ConfigurableCreateInfo, ConfigurableUiControlConstructor, ConfigurableUiControlType } from \"../configurableui/ConfigurableUiControl\";\r\nimport { ConfigurableUiManager } from \"../configurableui/ConfigurableUiManager\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\r\nimport { ItemList } from \"../shared/ItemMap\";\r\nimport { SyncUiEventArgs, SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { PropsHelper } from \"../utils/PropsHelper\";\r\nimport { WidgetControl } from \"./WidgetControl\";\r\nimport { WidgetProps } from \"./WidgetProps\";\r\nimport { StatusBarWidgetComposerControl } from \"./StatusBarWidgetComposerControl\";\r\n\r\nconst widgetStateNameMap = new Map<WidgetState, string>([\r\n [WidgetState.Closed, \"Closed\"],\r\n [WidgetState.Floating, \"Floating\"],\r\n [WidgetState.Hidden, \"Hidden\"],\r\n [WidgetState.Open, \"Open\"],\r\n [WidgetState.Unloaded, \"Unloaded\"],\r\n]);\r\n\r\n/** Widget State Changed Event Args interface.\r\n * @public\r\n */\r\nexport interface WidgetStateChangedEventArgs {\r\n widgetDef: WidgetDef;\r\n widgetState: WidgetState;\r\n}\r\n\r\n/** Widget State Changed Event class.\r\n * @public\r\n */\r\nexport class WidgetStateChangedEvent extends UiEvent<WidgetStateChangedEventArgs> { }\r\n\r\n/** @internal */\r\nexport interface WidgetChangedEventArgs {\r\n widgetDef: WidgetDef;\r\n}\r\n\r\n/** @internal */\r\nexport interface WidgetEventArgs {\r\n widgetDef: WidgetDef;\r\n}\r\n\r\n/** Widget type enum.\r\n * @public\r\n */\r\nexport enum WidgetType {\r\n Tool,\r\n Navigation,\r\n FreeFrom,\r\n Rectangular,\r\n ToolSettings,\r\n StatusBar,\r\n}\r\n\r\n/** Properties for a Toolbar Widget.\r\n * @public\r\n */\r\nexport interface ToolbarWidgetProps extends WidgetProps {\r\n horizontalDirection?: Direction; // eslint-disable-line deprecation/deprecation\r\n verticalDirection?: Direction; // eslint-disable-line deprecation/deprecation\r\n\r\n horizontalItems?: ItemList;\r\n verticalItems?: ItemList;\r\n}\r\n\r\n/** Properties for a Tool Widget.\r\n * @public\r\n */\r\nexport interface ToolWidgetProps extends ToolbarWidgetProps {\r\n appButton?: CommandItemDef;\r\n}\r\n\r\n/** Properties for a Navigation Widget.\r\n * @public\r\n */\r\nexport interface NavigationWidgetProps extends ToolbarWidgetProps {\r\n navigationAidId?: string;\r\n}\r\n\r\n/** Union of all Widget properties.\r\n * @public\r\n */\r\nexport type AnyWidgetProps = WidgetProps | ToolWidgetProps | NavigationWidgetProps;\r\n\r\n/** Prototype for WidgetDef StateFunc (UI 1.0 only deprecate ???)\r\n * @public\r\n */\r\nexport type WidgetStateFunc = (state: Readonly<WidgetState>) => WidgetState;\r\n\r\n/** @internal */\r\nexport interface TabLocation {\r\n widgetId: string;\r\n widgetIndex: number;\r\n side: PanelSide;\r\n tabIndex: number;\r\n}\r\n\r\n// -----------------------------------------------------------------------------\r\n\r\n/** A Widget Definition in the 9-Zone Layout system.\r\n * @public\r\n */\r\nexport class WidgetDef {\r\n private static _sId = 0;\r\n private _label: string | ConditionalStringValue | StringGetter = \"\";\r\n private _tooltip: string | ConditionalStringValue | StringGetter = \"\";\r\n private _widgetReactNode: React.ReactNode;\r\n private _widgetControl!: WidgetControl;\r\n private _defaultState: WidgetState = WidgetState.Unloaded;\r\n private _state: WidgetState = WidgetState.Unloaded;\r\n private _id: string;\r\n private _classId: string | ConfigurableUiControlConstructor | undefined = undefined;\r\n private _priority: number = 0;\r\n private _isFreeform: boolean = false;\r\n private _isFloatingStateSupported: boolean = false;\r\n private _isFloatingStateWindowResizable: boolean = true;\r\n private _isToolSettings: boolean = false;\r\n private _isStatusBar: boolean = false;\r\n private _stateChanged: boolean = false;\r\n private _fillZone: boolean = false;\r\n private _syncEventIds: string[] = [];\r\n private _stateFunc?: WidgetStateFunc;\r\n private _widgetType: WidgetType = WidgetType.Rectangular;\r\n private _applicationData?: any;\r\n private _iconSpec?: string | ConditionalStringValue | React.ReactNode;\r\n private _badgeType?: BadgeType;\r\n private _onWidgetStateChanged?: () => void;\r\n private _saveTransientState?: () => void;\r\n private _restoreTransientState?: () => boolean;\r\n private _preferredPanelSize: \"fit-content\" | undefined;\r\n private _canPopout?: boolean;\r\n private _floatingContainerId?: string;\r\n private _defaultFloatingPosition: PointProps | undefined;\r\n\r\n private _tabLocation: TabLocation = {\r\n side: \"left\",\r\n tabIndex: 0,\r\n widgetId: \"\",\r\n widgetIndex: 0,\r\n };\r\n\r\n public get state(): WidgetState {\r\n if (\"1\" === UiFramework.uiVersion)\r\n return this._state;\r\n\r\n const frontstageDef = FrontstageManager.activeFrontstageDef;\r\n if (frontstageDef?.findWidgetDef(this.id)) {\r\n const currentState = frontstageDef.getWidgetCurrentState(this);\r\n if (undefined !== currentState)\r\n return currentState;\r\n }\r\n return this.defaultState;\r\n }\r\n\r\n public get id(): string { return this._id; }\r\n public get classId(): string | ConfigurableUiControlConstructor | undefined { return this._classId; }\r\n public get priority(): number { return this._priority; }\r\n public get isFreeform(): boolean { return this._isFreeform; }\r\n public get isFloatingStateSupported(): boolean { return this._isFloatingStateSupported; }\r\n public get isFloatingStateWindowResizable(): boolean { return this._isFloatingStateWindowResizable; }\r\n public get isToolSettings(): boolean { return this._isToolSettings; }\r\n public get isStatusBar(): boolean { return this._isStatusBar; }\r\n public get stateChanged(): boolean { return this._stateChanged; }\r\n public get fillZone(): boolean { return this._fillZone; }\r\n public get syncEventIds(): string[] { return this._syncEventIds; }\r\n public get stateFunc(): WidgetStateFunc | undefined { return this._stateFunc; }\r\n public get applicationData(): any | undefined { return this._applicationData; }\r\n public get isFloating(): boolean { return this.state === WidgetState.Floating; }\r\n public get iconSpec(): string | ConditionalStringValue | React.ReactNode { return this._iconSpec; }\r\n public get badgeType(): BadgeType | undefined { return this._badgeType; }\r\n\r\n public get widgetType(): WidgetType { return this._widgetType; }\r\n public set widgetType(type: WidgetType) { this._widgetType = type; }\r\n\r\n /** @internal */\r\n public get tabLocation() { return this._tabLocation; }\r\n public set tabLocation(tabLocation: TabLocation) { this._tabLocation = tabLocation; }\r\n\r\n /** @internal */\r\n public get defaultFloatingPosition() { return this._defaultFloatingPosition; }\r\n public set defaultFloatingPosition(position: PointProps | undefined) { this._defaultFloatingPosition = position; }\r\n\r\n /** @internal */\r\n public get defaultState() { return this._defaultState; }\r\n\r\n constructor(widgetProps: WidgetProps) {\r\n if (widgetProps.id !== undefined)\r\n this._id = widgetProps.id;\r\n else {\r\n WidgetDef._sId++;\r\n this._id = `Widget-${WidgetDef._sId}`;\r\n }\r\n\r\n WidgetDef.initializeFromWidgetProps(widgetProps, this);\r\n }\r\n\r\n public static initializeFromWidgetProps(widgetProps: WidgetProps, me: WidgetDef) {\r\n if (widgetProps.label)\r\n me.setLabel(widgetProps.label);\r\n else if (widgetProps.labelKey)\r\n me._label = UiFramework.localization.getLocalizedString(widgetProps.labelKey);\r\n\r\n me.setCanPopout(widgetProps.canPopout);\r\n me.setFloatingContainerId(widgetProps.floatingContainerId);\r\n me.defaultFloatingPosition = widgetProps.defaultFloatingPosition ? widgetProps.defaultFloatingPosition as PointProps : undefined;\r\n\r\n if (widgetProps.priority !== undefined)\r\n me._priority = widgetProps.priority;\r\n\r\n if (widgetProps.tooltip)\r\n me.setTooltip(widgetProps.tooltip);\r\n else if (widgetProps.tooltipKey)\r\n me._tooltip = UiFramework.localization.getLocalizedString(widgetProps.tooltipKey);\r\n\r\n if (widgetProps.control !== undefined)\r\n me._classId = widgetProps.control;\r\n else if (widgetProps.classId !== undefined)\r\n me._classId = widgetProps.classId;\r\n\r\n if (widgetProps.defaultState !== undefined) {\r\n me._defaultState = widgetProps.defaultState;\r\n if (\"1\" === UiFramework.uiVersion)\r\n me._state = widgetProps.defaultState === WidgetState.Floating ? WidgetState.Open : widgetProps.defaultState;\r\n }\r\n\r\n if (widgetProps.isFreeform !== undefined) {\r\n me._isFreeform = widgetProps.isFreeform;\r\n me._widgetType = me.isFreeform ? WidgetType.FreeFrom : WidgetType.Rectangular;\r\n }\r\n\r\n if (widgetProps.isFloatingStateSupported !== undefined)\r\n me._isFloatingStateSupported = widgetProps.isFloatingStateSupported;\r\n if (widgetProps.isFloatingStateWindowResizable !== undefined)\r\n me._isFloatingStateWindowResizable = widgetProps.isFloatingStateWindowResizable;\r\n if (widgetProps.isToolSettings !== undefined)\r\n me._isToolSettings = widgetProps.isToolSettings;\r\n if (widgetProps.isStatusBar !== undefined)\r\n me._isStatusBar = widgetProps.isStatusBar;\r\n if (widgetProps.fillZone !== undefined)\r\n me._fillZone = widgetProps.fillZone;\r\n\r\n if (widgetProps.applicationData !== undefined)\r\n me._applicationData = widgetProps.applicationData;\r\n\r\n if (widgetProps.element !== undefined)\r\n me._widgetReactNode = widgetProps.element;\r\n\r\n if (widgetProps.iconSpec !== undefined)\r\n me._iconSpec = widgetProps.iconSpec;\r\n // istanbul ignore if\r\n if (widgetProps.icon !== undefined)\r\n me._iconSpec = widgetProps.icon;\r\n\r\n if (widgetProps.badgeType !== undefined)\r\n me._badgeType = widgetProps.badgeType;\r\n\r\n me._preferredPanelSize = widgetProps.preferredPanelSize;\r\n me._onWidgetStateChanged = widgetProps.onWidgetStateChanged;\r\n me._saveTransientState = widgetProps.saveTransientState;\r\n me._restoreTransientState = widgetProps.restoreTransientState;\r\n\r\n me.setUpSyncSupport(widgetProps);\r\n }\r\n\r\n public static createWidgetPropsFromAbstractProps(abstractWidgetProps: AbstractWidgetProps): WidgetProps {\r\n const widgetProps: WidgetProps = abstractWidgetProps;\r\n widgetProps.element = abstractWidgetProps.getWidgetContent();\r\n return widgetProps;\r\n }\r\n\r\n public setUpSyncSupport(props: WidgetProps) {\r\n if (props.stateFunc && props.syncEventIds && props.syncEventIds.length > 0) {\r\n this._syncEventIds = props.syncEventIds;\r\n this._stateFunc = props.stateFunc;\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this._handleSyncUiEvent);\r\n }\r\n }\r\n\r\n private _handleSyncUiEvent = (args: SyncUiEventArgs): void => {\r\n if ((this.syncEventIds.length > 0) && this.syncEventIds.some((value: string): boolean => args.eventIds.has(value.toLowerCase()))) {\r\n // istanbul ignore else\r\n if (this.stateFunc) {\r\n let newState = this.state;\r\n newState = this.stateFunc(newState);\r\n this.setWidgetState(newState);\r\n }\r\n }\r\n };\r\n\r\n /** @alpha */\r\n public get preferredPanelSize() {\r\n return this._preferredPanelSize;\r\n }\r\n\r\n /** Get the label string */\r\n public get label(): string {\r\n return PropsHelper.getStringFromSpec(this._label);\r\n }\r\n\r\n /** Set the label.\r\n * @param v A string or a function to get the string.\r\n */\r\n public setLabel(v: string | ConditionalStringValue | StringGetter) {\r\n if (this._label === v)\r\n return;\r\n this._label = v;\r\n FrontstageManager.onWidgetLabelChangedEvent.emit({ widgetDef: this });\r\n }\r\n\r\n /** Get the tooltip string */\r\n public get tooltip(): string {\r\n return PropsHelper.getStringFromSpec(this._tooltip);\r\n }\r\n\r\n /** Set the tooltip.\r\n * @param v A string or a function to get the string.\r\n */\r\n public setTooltip(v: string | ConditionalStringValue | StringGetter) {\r\n this._tooltip = v;\r\n }\r\n\r\n public get widgetControl(): WidgetControl | undefined {\r\n return this._widgetControl;\r\n }\r\n\r\n public getWidgetControl(type: ConfigurableUiControlType): WidgetControl | undefined {\r\n if (!this._widgetControl && this.classId) {\r\n let usedClassId: string = \"\";\r\n\r\n if (typeof this.classId === \"string\") {\r\n // istanbul ignore else\r\n if (this.classId)\r\n this._widgetControl = ConfigurableUiManager.createControl(this.classId, this.id, this.applicationData) as WidgetControl;\r\n usedClassId = this.classId;\r\n } else {\r\n const info = new ConfigurableCreateInfo(this.classId.name, this.id, this.id);\r\n usedClassId = this.classId.name;\r\n this._widgetControl = new this.classId(info, this.applicationData) as WidgetControl;\r\n }\r\n\r\n // istanbul ignore else\r\n if (this._widgetControl) {\r\n if (this._widgetControl.getType() !== type) {\r\n throw new UiError(UiFramework.loggerCategory(this), `getWidgetControl: '${usedClassId}' is NOT a ${type}; it is a ${this._widgetControl.getType()}`);\r\n }\r\n\r\n this._widgetControl.widgetDef = this;\r\n this._widgetControl.initialize();\r\n }\r\n }\r\n\r\n // istanbul ignore next - To avoid breaking API changes, if a WidgetControl is not specified for a status bar use Default one.\r\n if (!this._widgetControl && this.isStatusBar) {\r\n const info = new ConfigurableCreateInfo(\"StatusBarWidgetComposerControl\", StatusBarWidgetComposerControl.controlId, StatusBarWidgetComposerControl.controlId);\r\n this._widgetControl = new StatusBarWidgetComposerControl(info, undefined);\r\n this._widgetControl.widgetDef = this;\r\n this._widgetControl.initialize();\r\n }\r\n\r\n return this._widgetControl;\r\n }\r\n\r\n public get reactNode(): React.ReactNode {\r\n if (!this._widgetReactNode) {\r\n const widgetControl = this.getWidgetControl(ConfigurableUiControlType.Widget);\r\n\r\n // istanbul ignore else\r\n if (widgetControl && widgetControl.reactNode)\r\n this._widgetReactNode = widgetControl.reactNode;\r\n }\r\n\r\n return this._widgetReactNode;\r\n }\r\n\r\n public set reactNode(node: React.ReactNode) {\r\n this._widgetReactNode = node;\r\n }\r\n\r\n public setWidgetState(newState: WidgetState): void {\r\n if (this.state === newState)\r\n return;\r\n if (\"1\" === UiFramework.uiVersion)\r\n this._state = newState;\r\n this._stateChanged = true;\r\n FrontstageManager.onWidgetStateChangedEvent.emit({ widgetDef: this, widgetState: newState });\r\n this.onWidgetStateChanged();\r\n }\r\n\r\n public setCanPopout(value: boolean | undefined) {\r\n this._canPopout = value;\r\n }\r\n\r\n public get canPopout(): boolean | undefined {\r\n return (this._canPopout);\r\n }\r\n\r\n public setFloatingContainerId(value: string | undefined) {\r\n this._floatingContainerId = value;\r\n }\r\n\r\n public get floatingContainerId(): string | undefined {\r\n return (this._floatingContainerId);\r\n }\r\n\r\n public canOpen(): boolean {\r\n return (this.isFloating || this.isActive);\r\n }\r\n\r\n public get isVisible(): boolean {\r\n return WidgetState.Hidden !== this.state;\r\n }\r\n\r\n public get activeState(): WidgetState {\r\n return this.state;\r\n }\r\n\r\n public get isActive(): boolean {\r\n return WidgetState.Open === this.activeState;\r\n }\r\n\r\n public onWidgetStateChanged(): void {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.widgetControl && UiFramework.postTelemetry(`Widget ${this.widgetControl.classId} state set to ${widgetStateNameMap.get(this.state)}`, \"35402486-9839-441E-A5C7-46D546142D11\");\r\n this.widgetControl && this.widgetControl.onWidgetStateChanged();\r\n // istanbul ignore next\r\n this._onWidgetStateChanged && this._onWidgetStateChanged();\r\n }\r\n\r\n /** Overwrite to save transient DOM state (i.e. scroll offset). */\r\n public saveTransientState(): void {\r\n this.widgetControl && this.widgetControl.saveTransientState();\r\n this._saveTransientState && this._saveTransientState();\r\n }\r\n\r\n /** Overwrite to restore transient DOM state.\r\n * @note Return true if the state is restored or the Widget will remount.\r\n */\r\n public restoreTransientState(): boolean {\r\n let result = true;\r\n if (this.widgetControl || this._restoreTransientState) {\r\n let result1 = false, result2 = false;\r\n if (this.widgetControl)\r\n result1 = this.widgetControl.restoreTransientState();\r\n if (this._restoreTransientState)\r\n result2 = this._restoreTransientState();\r\n result = !(result1 || result2);\r\n }\r\n return result;\r\n }\r\n\r\n /** Opens the widget and makes it visible to the user.\r\n * I.e. opens the stage panel or brings the floating widget to front of the screen.\r\n * @alpha\r\n */\r\n public show() {\r\n FrontstageManager.onWidgetShowEvent.emit({ widgetDef: this });\r\n }\r\n\r\n /** Opens the widget and expands it to fill full size of the stage panel.\r\n * @alpha\r\n */\r\n public expand() {\r\n FrontstageManager.onWidgetExpandEvent.emit({ widgetDef: this });\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"WidgetDef.js","sourceRoot":"","sources":["../../../../src/appui-react/widgets/WidgetDef.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Widget\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { AbstractWidgetProps, BadgeType, ConditionalStringValue, PointProps, StringGetter, UiError, UiEvent, UiSyncEventArgs, WidgetState } from \"@itwin/appui-abstract\";\r\nimport { Direction, PanelSide } from \"@itwin/appui-layout-react\";\r\nimport { ConfigurableCreateInfo, ConfigurableUiControlConstructor, ConfigurableUiControlType } from \"../configurableui/ConfigurableUiControl\";\r\nimport { ConfigurableUiManager } from \"../configurableui/ConfigurableUiManager\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\r\nimport { ItemList } from \"../shared/ItemMap\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { PropsHelper } from \"../utils/PropsHelper\";\r\nimport { WidgetControl } from \"./WidgetControl\";\r\nimport { WidgetProps } from \"./WidgetProps\";\r\nimport { StatusBarWidgetComposerControl } from \"./StatusBarWidgetComposerControl\";\r\n\r\nconst widgetStateNameMap = new Map<WidgetState, string>([\r\n [WidgetState.Closed, \"Closed\"],\r\n [WidgetState.Floating, \"Floating\"],\r\n [WidgetState.Hidden, \"Hidden\"],\r\n [WidgetState.Open, \"Open\"],\r\n [WidgetState.Unloaded, \"Unloaded\"],\r\n]);\r\n\r\n/** Widget State Changed Event Args interface.\r\n * @public\r\n */\r\nexport interface WidgetStateChangedEventArgs {\r\n widgetDef: WidgetDef;\r\n widgetState: WidgetState;\r\n}\r\n\r\n/** Widget State Changed Event class.\r\n * @public\r\n */\r\nexport class WidgetStateChangedEvent extends UiEvent<WidgetStateChangedEventArgs> { }\r\n\r\n/** @internal */\r\nexport interface WidgetChangedEventArgs {\r\n widgetDef: WidgetDef;\r\n}\r\n\r\n/** @internal */\r\nexport interface WidgetEventArgs {\r\n widgetDef: WidgetDef;\r\n}\r\n\r\n/** Widget type enum.\r\n * @public\r\n */\r\nexport enum WidgetType {\r\n Tool,\r\n Navigation,\r\n FreeFrom,\r\n Rectangular,\r\n ToolSettings,\r\n StatusBar,\r\n}\r\n\r\n/** Properties for a Toolbar Widget.\r\n * @public\r\n */\r\nexport interface ToolbarWidgetProps extends WidgetProps {\r\n horizontalDirection?: Direction; // eslint-disable-line deprecation/deprecation\r\n verticalDirection?: Direction; // eslint-disable-line deprecation/deprecation\r\n\r\n horizontalItems?: ItemList;\r\n verticalItems?: ItemList;\r\n}\r\n\r\n/** Properties for a Tool Widget.\r\n * @public\r\n */\r\nexport interface ToolWidgetProps extends ToolbarWidgetProps {\r\n appButton?: CommandItemDef;\r\n}\r\n\r\n/** Properties for a Navigation Widget.\r\n * @public\r\n */\r\nexport interface NavigationWidgetProps extends ToolbarWidgetProps {\r\n navigationAidId?: string;\r\n}\r\n\r\n/** Union of all Widget properties.\r\n * @public\r\n */\r\nexport type AnyWidgetProps = WidgetProps | ToolWidgetProps | NavigationWidgetProps;\r\n\r\n/** Prototype for WidgetDef StateFunc (UI 1.0 only deprecate ???)\r\n * @public\r\n */\r\nexport type WidgetStateFunc = (state: Readonly<WidgetState>) => WidgetState;\r\n\r\n/** @internal */\r\nexport interface TabLocation {\r\n widgetId: string;\r\n widgetIndex: number;\r\n side: PanelSide;\r\n tabIndex: number;\r\n}\r\n\r\n// -----------------------------------------------------------------------------\r\n\r\n/** A Widget Definition in the 9-Zone Layout system.\r\n * @public\r\n */\r\nexport class WidgetDef {\r\n private static _sId = 0;\r\n private _label: string | ConditionalStringValue | StringGetter = \"\";\r\n private _tooltip: string | ConditionalStringValue | StringGetter = \"\";\r\n private _widgetReactNode: React.ReactNode;\r\n private _widgetControl!: WidgetControl;\r\n private _defaultState: WidgetState = WidgetState.Unloaded;\r\n private _state: WidgetState = WidgetState.Unloaded;\r\n private _id: string;\r\n private _classId: string | ConfigurableUiControlConstructor | undefined = undefined;\r\n private _priority: number = 0;\r\n private _isFreeform: boolean = false;\r\n private _isFloatingStateSupported: boolean = false;\r\n private _isFloatingStateWindowResizable: boolean = true;\r\n private _isToolSettings: boolean = false;\r\n private _isStatusBar: boolean = false;\r\n private _stateChanged: boolean = false;\r\n private _fillZone: boolean = false;\r\n private _syncEventIds: string[] = [];\r\n private _stateFunc?: WidgetStateFunc;\r\n private _widgetType: WidgetType = WidgetType.Rectangular;\r\n private _applicationData?: any;\r\n private _iconSpec?: string | ConditionalStringValue | React.ReactNode;\r\n private _badgeType?: BadgeType;\r\n private _onWidgetStateChanged?: () => void;\r\n private _saveTransientState?: () => void;\r\n private _restoreTransientState?: () => boolean;\r\n private _preferredPanelSize: \"fit-content\" | undefined;\r\n private _canPopout?: boolean;\r\n private _floatingContainerId?: string;\r\n private _defaultFloatingPosition: PointProps | undefined;\r\n\r\n private _tabLocation: TabLocation = {\r\n side: \"left\",\r\n tabIndex: 0,\r\n widgetId: \"\",\r\n widgetIndex: 0,\r\n };\r\n\r\n public get state(): WidgetState {\r\n if (\"1\" === UiFramework.uiVersion)\r\n return this._state;\r\n\r\n const frontstageDef = FrontstageManager.activeFrontstageDef;\r\n if (frontstageDef?.findWidgetDef(this.id)) {\r\n const currentState = frontstageDef.getWidgetCurrentState(this);\r\n if (undefined !== currentState)\r\n return currentState;\r\n }\r\n return this.defaultState;\r\n }\r\n\r\n public get id(): string { return this._id; }\r\n public get classId(): string | ConfigurableUiControlConstructor | undefined { return this._classId; }\r\n public get priority(): number { return this._priority; }\r\n public get isFreeform(): boolean { return this._isFreeform; }\r\n public get isFloatingStateSupported(): boolean { return this._isFloatingStateSupported; }\r\n public get isFloatingStateWindowResizable(): boolean { return this._isFloatingStateWindowResizable; }\r\n public get isToolSettings(): boolean { return this._isToolSettings; }\r\n public get isStatusBar(): boolean { return this._isStatusBar; }\r\n public get stateChanged(): boolean { return this._stateChanged; }\r\n public get fillZone(): boolean { return this._fillZone; }\r\n public get syncEventIds(): string[] { return this._syncEventIds; }\r\n public get stateFunc(): WidgetStateFunc | undefined { return this._stateFunc; }\r\n public get applicationData(): any | undefined { return this._applicationData; }\r\n public get isFloating(): boolean { return this.state === WidgetState.Floating; }\r\n public get iconSpec(): string | ConditionalStringValue | React.ReactNode { return this._iconSpec; }\r\n public get badgeType(): BadgeType | undefined { return this._badgeType; }\r\n\r\n public get widgetType(): WidgetType { return this._widgetType; }\r\n public set widgetType(type: WidgetType) { this._widgetType = type; }\r\n\r\n /** @internal */\r\n public get tabLocation() { return this._tabLocation; }\r\n public set tabLocation(tabLocation: TabLocation) { this._tabLocation = tabLocation; }\r\n\r\n /** @internal */\r\n public get defaultFloatingPosition() { return this._defaultFloatingPosition; }\r\n public set defaultFloatingPosition(position: PointProps | undefined) { this._defaultFloatingPosition = position; }\r\n\r\n /** @internal */\r\n public get defaultState() { return this._defaultState; }\r\n\r\n constructor(widgetProps: WidgetProps) {\r\n if (widgetProps.id !== undefined)\r\n this._id = widgetProps.id;\r\n else {\r\n WidgetDef._sId++;\r\n this._id = `Widget-${WidgetDef._sId}`;\r\n }\r\n\r\n WidgetDef.initializeFromWidgetProps(widgetProps, this);\r\n }\r\n\r\n public static initializeFromWidgetProps(widgetProps: WidgetProps, me: WidgetDef) {\r\n if (widgetProps.label)\r\n me.setLabel(widgetProps.label);\r\n else if (widgetProps.labelKey)\r\n me._label = UiFramework.localization.getLocalizedString(widgetProps.labelKey);\r\n\r\n me.setCanPopout(widgetProps.canPopout);\r\n me.setFloatingContainerId(widgetProps.floatingContainerId);\r\n me.defaultFloatingPosition = widgetProps.defaultFloatingPosition ? widgetProps.defaultFloatingPosition as PointProps : undefined;\r\n\r\n if (widgetProps.priority !== undefined)\r\n me._priority = widgetProps.priority;\r\n\r\n if (widgetProps.tooltip)\r\n me.setTooltip(widgetProps.tooltip);\r\n else if (widgetProps.tooltipKey)\r\n me._tooltip = UiFramework.localization.getLocalizedString(widgetProps.tooltipKey);\r\n\r\n if (widgetProps.control !== undefined)\r\n me._classId = widgetProps.control;\r\n else if (widgetProps.classId !== undefined)\r\n me._classId = widgetProps.classId;\r\n\r\n if (widgetProps.defaultState !== undefined) {\r\n me._defaultState = widgetProps.defaultState;\r\n if (\"1\" === UiFramework.uiVersion)\r\n me._state = widgetProps.defaultState === WidgetState.Floating ? WidgetState.Open : widgetProps.defaultState;\r\n }\r\n\r\n if (widgetProps.isFreeform !== undefined) {\r\n me._isFreeform = widgetProps.isFreeform;\r\n me._widgetType = me.isFreeform ? WidgetType.FreeFrom : WidgetType.Rectangular;\r\n }\r\n\r\n if (widgetProps.isFloatingStateSupported !== undefined)\r\n me._isFloatingStateSupported = widgetProps.isFloatingStateSupported;\r\n if (widgetProps.isFloatingStateWindowResizable !== undefined)\r\n me._isFloatingStateWindowResizable = widgetProps.isFloatingStateWindowResizable;\r\n if (widgetProps.isToolSettings !== undefined)\r\n me._isToolSettings = widgetProps.isToolSettings;\r\n if (widgetProps.isStatusBar !== undefined)\r\n me._isStatusBar = widgetProps.isStatusBar;\r\n if (widgetProps.fillZone !== undefined)\r\n me._fillZone = widgetProps.fillZone;\r\n\r\n if (widgetProps.applicationData !== undefined)\r\n me._applicationData = widgetProps.applicationData;\r\n\r\n if (widgetProps.element !== undefined)\r\n me._widgetReactNode = widgetProps.element;\r\n\r\n if (widgetProps.iconSpec !== undefined)\r\n me._iconSpec = widgetProps.iconSpec;\r\n // istanbul ignore if\r\n if (widgetProps.icon !== undefined)\r\n me._iconSpec = widgetProps.icon;\r\n\r\n if (widgetProps.badgeType !== undefined)\r\n me._badgeType = widgetProps.badgeType;\r\n\r\n me._preferredPanelSize = widgetProps.preferredPanelSize;\r\n me._onWidgetStateChanged = widgetProps.onWidgetStateChanged;\r\n me._saveTransientState = widgetProps.saveTransientState;\r\n me._restoreTransientState = widgetProps.restoreTransientState;\r\n\r\n me.setUpSyncSupport(widgetProps);\r\n }\r\n\r\n public static createWidgetPropsFromAbstractProps(abstractWidgetProps: AbstractWidgetProps): WidgetProps {\r\n const widgetProps: WidgetProps = abstractWidgetProps;\r\n widgetProps.element = abstractWidgetProps.getWidgetContent();\r\n return widgetProps;\r\n }\r\n\r\n public setUpSyncSupport(props: WidgetProps) {\r\n if (props.stateFunc && props.syncEventIds && props.syncEventIds.length > 0) {\r\n this._syncEventIds = props.syncEventIds;\r\n this._stateFunc = props.stateFunc;\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this._handleSyncUiEvent);\r\n }\r\n }\r\n\r\n private _handleSyncUiEvent = (args: UiSyncEventArgs): void => {\r\n if ((this.syncEventIds.length > 0) && this.syncEventIds.some((value: string): boolean => args.eventIds.has(value.toLowerCase()))) {\r\n // istanbul ignore else\r\n if (this.stateFunc) {\r\n let newState = this.state;\r\n newState = this.stateFunc(newState);\r\n this.setWidgetState(newState);\r\n }\r\n }\r\n };\r\n\r\n /** @alpha */\r\n public get preferredPanelSize() {\r\n return this._preferredPanelSize;\r\n }\r\n\r\n /** Get the label string */\r\n public get label(): string {\r\n return PropsHelper.getStringFromSpec(this._label);\r\n }\r\n\r\n /** Set the label.\r\n * @param v A string or a function to get the string.\r\n */\r\n public setLabel(v: string | ConditionalStringValue | StringGetter) {\r\n if (this._label === v)\r\n return;\r\n this._label = v;\r\n FrontstageManager.onWidgetLabelChangedEvent.emit({ widgetDef: this });\r\n }\r\n\r\n /** Get the tooltip string */\r\n public get tooltip(): string {\r\n return PropsHelper.getStringFromSpec(this._tooltip);\r\n }\r\n\r\n /** Set the tooltip.\r\n * @param v A string or a function to get the string.\r\n */\r\n public setTooltip(v: string | ConditionalStringValue | StringGetter) {\r\n this._tooltip = v;\r\n }\r\n\r\n public get widgetControl(): WidgetControl | undefined {\r\n return this._widgetControl;\r\n }\r\n\r\n public getWidgetControl(type: ConfigurableUiControlType): WidgetControl | undefined {\r\n if (!this._widgetControl && this.classId) {\r\n let usedClassId: string = \"\";\r\n\r\n if (typeof this.classId === \"string\") {\r\n // istanbul ignore else\r\n if (this.classId)\r\n this._widgetControl = ConfigurableUiManager.createControl(this.classId, this.id, this.applicationData) as WidgetControl;\r\n usedClassId = this.classId;\r\n } else {\r\n const info = new ConfigurableCreateInfo(this.classId.name, this.id, this.id);\r\n usedClassId = this.classId.name;\r\n this._widgetControl = new this.classId(info, this.applicationData) as WidgetControl;\r\n }\r\n\r\n // istanbul ignore else\r\n if (this._widgetControl) {\r\n if (this._widgetControl.getType() !== type) {\r\n throw new UiError(UiFramework.loggerCategory(this), `getWidgetControl: '${usedClassId}' is NOT a ${type}; it is a ${this._widgetControl.getType()}`);\r\n }\r\n\r\n this._widgetControl.widgetDef = this;\r\n this._widgetControl.initialize();\r\n }\r\n }\r\n\r\n // istanbul ignore next - To avoid breaking API changes, if a WidgetControl is not specified for a status bar use Default one.\r\n if (!this._widgetControl && this.isStatusBar) {\r\n const info = new ConfigurableCreateInfo(\"StatusBarWidgetComposerControl\", StatusBarWidgetComposerControl.controlId, StatusBarWidgetComposerControl.controlId);\r\n this._widgetControl = new StatusBarWidgetComposerControl(info, undefined);\r\n this._widgetControl.widgetDef = this;\r\n this._widgetControl.initialize();\r\n }\r\n\r\n return this._widgetControl;\r\n }\r\n\r\n public get reactNode(): React.ReactNode {\r\n if (!this._widgetReactNode) {\r\n const widgetControl = this.getWidgetControl(ConfigurableUiControlType.Widget);\r\n\r\n // istanbul ignore else\r\n if (widgetControl && widgetControl.reactNode)\r\n this._widgetReactNode = widgetControl.reactNode;\r\n }\r\n\r\n return this._widgetReactNode;\r\n }\r\n\r\n public set reactNode(node: React.ReactNode) {\r\n this._widgetReactNode = node;\r\n }\r\n\r\n public setWidgetState(newState: WidgetState): void {\r\n if (this.state === newState)\r\n return;\r\n if (\"1\" === UiFramework.uiVersion)\r\n this._state = newState;\r\n this._stateChanged = true;\r\n FrontstageManager.onWidgetStateChangedEvent.emit({ widgetDef: this, widgetState: newState });\r\n this.onWidgetStateChanged();\r\n }\r\n\r\n public setCanPopout(value: boolean | undefined) {\r\n this._canPopout = value;\r\n }\r\n\r\n public get canPopout(): boolean | undefined {\r\n return (this._canPopout);\r\n }\r\n\r\n public setFloatingContainerId(value: string | undefined) {\r\n this._floatingContainerId = value;\r\n }\r\n\r\n public get floatingContainerId(): string | undefined {\r\n return (this._floatingContainerId);\r\n }\r\n\r\n public canOpen(): boolean {\r\n return (this.isFloating || this.isActive);\r\n }\r\n\r\n public get isVisible(): boolean {\r\n return WidgetState.Hidden !== this.state;\r\n }\r\n\r\n public get activeState(): WidgetState {\r\n return this.state;\r\n }\r\n\r\n public get isActive(): boolean {\r\n return WidgetState.Open === this.activeState;\r\n }\r\n\r\n public onWidgetStateChanged(): void {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.widgetControl && UiFramework.postTelemetry(`Widget ${this.widgetControl.classId} state set to ${widgetStateNameMap.get(this.state)}`, \"35402486-9839-441E-A5C7-46D546142D11\");\r\n this.widgetControl && this.widgetControl.onWidgetStateChanged();\r\n // istanbul ignore next\r\n this._onWidgetStateChanged && this._onWidgetStateChanged();\r\n }\r\n\r\n /** Overwrite to save transient DOM state (i.e. scroll offset). */\r\n public saveTransientState(): void {\r\n this.widgetControl && this.widgetControl.saveTransientState();\r\n this._saveTransientState && this._saveTransientState();\r\n }\r\n\r\n /** Overwrite to restore transient DOM state.\r\n * @note Return true if the state is restored or the Widget will remount.\r\n */\r\n public restoreTransientState(): boolean {\r\n let result = true;\r\n if (this.widgetControl || this._restoreTransientState) {\r\n let result1 = false, result2 = false;\r\n if (this.widgetControl)\r\n result1 = this.widgetControl.restoreTransientState();\r\n if (this._restoreTransientState)\r\n result2 = this._restoreTransientState();\r\n result = !(result1 || result2);\r\n }\r\n return result;\r\n }\r\n\r\n /** Opens the widget and makes it visible to the user.\r\n * I.e. opens the stage panel or brings the floating widget to front of the screen.\r\n * @alpha\r\n */\r\n public show() {\r\n FrontstageManager.onWidgetShowEvent.emit({ widgetDef: this });\r\n }\r\n\r\n /** Opens the widget and expands it to fill full size of the stage panel.\r\n * @alpha\r\n */\r\n public expand() {\r\n FrontstageManager.onWidgetExpandEvent.emit({ widgetDef: this });\r\n }\r\n}\r\n"]}
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
* @module ToolSettings
|
|
3
3
|
*/
|
|
4
4
|
import { InteractiveTool } from "@itwin/core-frontend";
|
|
5
|
-
import { DialogItem, DialogPropertySyncItem } from "@itwin/appui-abstract";
|
|
6
|
-
import { UiEvent } from "@itwin/core-react";
|
|
5
|
+
import { DialogItem, DialogPropertySyncItem, UiEvent } from "@itwin/appui-abstract";
|
|
7
6
|
/** Sync Tool Settings Properties Event Args interface.
|
|
8
7
|
* @public
|
|
9
8
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolSettingsManager.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/zones/toolsettings/ToolSettingsManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAa,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,
|
|
1
|
+
{"version":3,"file":"ToolSettingsManager.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/zones/toolsettings/ToolSettingsManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAa,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAQpF;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,sBAAsB,EAAE,CAAC;CAC1C;AAED;;GAEG;AACH,qBAAa,+BAAgC,SAAQ,OAAO,CAAC,mCAAmC,CAAC;CAAI;AAMrG;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAC,+BAA+B,CAAS;IACvD,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAc;IACnD,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAc;IAC7C,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAc;IAGnD,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAKzC,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAI3C,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAOlC,0CAA0C;WAC5B,UAAU;IASxB,6CAA6C;WAC/B,qBAAqB;IAOnC,qCAAqC;WACvB,0BAA0B,CAAC,sBAAsB,EAAE,UAAU,EAAE,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO;IAsBlK;OACG;WACW,qBAAqB,CAAC,IAAI,EAAE,eAAe;IAIzD,iGAAiG;IACjG,WAAkB,sBAAsB,IAAI,UAAU,EAAE,CASvD;IAED;;OAEG;IACH,WAAkB,8BAA8B,IAAI,OAAO,CAAgE;IAC3H,WAAkB,8BAA8B,CAAC,sBAAsB,EAAE,OAAO,EAAmF;IAEnK,8FAA8F;IAC9F,WAAkB,eAAe,IAAI,MAAM,CAAiD;IAC5F,WAAkB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAmD;IAElG,kDAAkD;IAClD,WAAkB,qBAAqB,IAAI,MAAM,CAAuD;IAExG,8CAA8C;IAC9C,gBAAuB,4BAA4B,kCAAyC;IAC5F,gBAAuB,8BAA8B,gBAAuB;IAE5E;;OAEG;IACH,WAAkB,qBAAqB,IAAI,MAAM,CAEhD;WAEa,qBAAqB,IAAI,OAAO;CAe/C"}
|
|
@@ -9,12 +9,13 @@
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.ToolSettingsManager = exports.SyncToolSettingsPropertiesEvent = void 0;
|
|
11
11
|
const core_frontend_1 = require("@itwin/core-frontend");
|
|
12
|
+
const appui_abstract_1 = require("@itwin/appui-abstract");
|
|
12
13
|
const core_react_1 = require("@itwin/core-react");
|
|
13
14
|
const SyncUiEventDispatcher_1 = require("../../syncui/SyncUiEventDispatcher");
|
|
14
15
|
/** Sync Tool Settings Properties Event class.
|
|
15
16
|
* @public
|
|
16
17
|
*/
|
|
17
|
-
class SyncToolSettingsPropertiesEvent extends
|
|
18
|
+
class SyncToolSettingsPropertiesEvent extends appui_abstract_1.UiEvent {
|
|
18
19
|
}
|
|
19
20
|
exports.SyncToolSettingsPropertiesEvent = SyncToolSettingsPropertiesEvent;
|
|
20
21
|
// -----------------------------------------------------------------------------
|
|
@@ -125,5 +126,5 @@ ToolSettingsManager._activeToolLabel = "";
|
|
|
125
126
|
ToolSettingsManager._activeToolDescription = "";
|
|
126
127
|
/** Get ToolSettings Properties sync event. */
|
|
127
128
|
ToolSettingsManager.onSyncToolSettingsProperties = new SyncToolSettingsPropertiesEvent();
|
|
128
|
-
ToolSettingsManager.onReloadToolSettingsProperties = new
|
|
129
|
+
ToolSettingsManager.onReloadToolSettingsProperties = new appui_abstract_1.UiEvent();
|
|
129
130
|
//# sourceMappingURL=ToolSettingsManager.js.map
|