@itwin/appui-react 3.5.0-dev.58 → 3.5.0-dev.60
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/content/ContentGroup.d.ts +8 -0
- package/lib/cjs/appui-react/content/ContentGroup.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/Frontstage.d.ts +5 -1
- package/lib/cjs/appui-react/frontstage/Frontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/Frontstage.js +1 -0
- package/lib/cjs/appui-react/frontstage/Frontstage.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageComposer.js +5 -2
- package/lib/cjs/appui-react/frontstage/FrontstageComposer.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageConfig.d.ts +40 -0
- package/lib/cjs/appui-react/frontstage/FrontstageConfig.d.ts.map +1 -0
- package/lib/cjs/appui-react/frontstage/FrontstageConfig.js +10 -0
- package/lib/cjs/appui-react/frontstage/FrontstageConfig.js.map +1 -0
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +8 -0
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js +114 -6
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts +0 -4
- package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageManager.js +1 -8
- package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageProvider.d.ts +9 -1
- package/lib/cjs/appui-react/frontstage/FrontstageProvider.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageProvider.js +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageProvider.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +14 -5
- package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/cjs/appui-react/shared/ActionButtonItemDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/shared/ActionButtonItemDef.js +1 -1
- package/lib/cjs/appui-react/shared/ActionButtonItemDef.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts +3 -0
- package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanel.js +1 -0
- package/lib/cjs/appui-react/stagepanels/StagePanel.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts +39 -0
- package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts.map +1 -0
- package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js +11 -0
- package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js.map +1 -0
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +6 -6
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +4 -7
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/StatusBar.js +5 -2
- package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Toolbars.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Toolbars.js +10 -3
- package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
- package/lib/cjs/appui-react/widgets/NavigationWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ToolWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
- package/lib/cjs/appui-react/widgets/Widget.d.ts +1 -0
- package/lib/cjs/appui-react/widgets/Widget.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/Widget.js +1 -0
- package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetConfig.d.ts +11 -0
- package/lib/cjs/appui-react/widgets/WidgetConfig.d.ts.map +1 -0
- package/lib/cjs/appui-react/widgets/WidgetConfig.js +10 -0
- package/lib/cjs/appui-react/widgets/WidgetConfig.js.map +1 -0
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +10 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.js +13 -10
- package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetProps.d.ts +1 -0
- package/lib/cjs/appui-react/widgets/WidgetProps.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetProps.js.map +1 -1
- package/lib/cjs/appui-react/zones/Zone.d.ts +5 -1
- package/lib/cjs/appui-react/zones/Zone.d.ts.map +1 -1
- package/lib/cjs/appui-react/zones/Zone.js +1 -0
- package/lib/cjs/appui-react/zones/Zone.js.map +1 -1
- package/lib/cjs/appui-react/zones/ZoneDef.d.ts +1 -0
- package/lib/cjs/appui-react/zones/ZoneDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/zones/ZoneDef.js +2 -2
- package/lib/cjs/appui-react/zones/ZoneDef.js.map +1 -1
- package/lib/cjs/appui-react.d.ts +3 -0
- package/lib/cjs/appui-react.d.ts.map +1 -1
- package/lib/cjs/appui-react.js +3 -0
- package/lib/cjs/appui-react.js.map +1 -1
- package/lib/esm/appui-react/content/ContentGroup.d.ts +8 -0
- package/lib/esm/appui-react/content/ContentGroup.d.ts.map +1 -1
- package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
- package/lib/esm/appui-react/frontstage/Frontstage.d.ts +5 -1
- package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/Frontstage.js +1 -0
- package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageComposer.js +6 -3
- package/lib/esm/appui-react/frontstage/FrontstageComposer.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageConfig.d.ts +40 -0
- package/lib/esm/appui-react/frontstage/FrontstageConfig.d.ts.map +1 -0
- package/lib/esm/appui-react/frontstage/FrontstageConfig.js +9 -0
- package/lib/esm/appui-react/frontstage/FrontstageConfig.js.map +1 -0
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +8 -0
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.js +115 -7
- package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts +0 -4
- package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageManager.js +1 -8
- package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageProvider.d.ts +9 -1
- package/lib/esm/appui-react/frontstage/FrontstageProvider.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageProvider.js +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageProvider.js.map +1 -1
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +14 -5
- package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/esm/appui-react/shared/ActionButtonItemDef.d.ts.map +1 -1
- package/lib/esm/appui-react/shared/ActionButtonItemDef.js +1 -1
- package/lib/esm/appui-react/shared/ActionButtonItemDef.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanel.d.ts +3 -0
- package/lib/esm/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanel.js +1 -0
- package/lib/esm/appui-react/stagepanels/StagePanel.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts +39 -0
- package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts.map +1 -0
- package/lib/esm/appui-react/stagepanels/StagePanelConfig.js +10 -0
- package/lib/esm/appui-react/stagepanels/StagePanelConfig.js.map +1 -0
- package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +6 -6
- package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js +4 -7
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/StatusBar.js +5 -2
- package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Toolbars.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/Toolbars.js +10 -3
- package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
- package/lib/esm/appui-react/widgets/NavigationWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/ToolWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
- package/lib/esm/appui-react/widgets/Widget.d.ts +1 -0
- package/lib/esm/appui-react/widgets/Widget.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/Widget.js +1 -0
- package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetConfig.d.ts +11 -0
- package/lib/esm/appui-react/widgets/WidgetConfig.d.ts.map +1 -0
- package/lib/esm/appui-react/widgets/WidgetConfig.js +9 -0
- package/lib/esm/appui-react/widgets/WidgetConfig.js.map +1 -0
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts +10 -1
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.js +13 -10
- package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetProps.d.ts +1 -0
- package/lib/esm/appui-react/widgets/WidgetProps.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetProps.js.map +1 -1
- package/lib/esm/appui-react/zones/Zone.d.ts +5 -1
- package/lib/esm/appui-react/zones/Zone.d.ts.map +1 -1
- package/lib/esm/appui-react/zones/Zone.js +1 -0
- package/lib/esm/appui-react/zones/Zone.js.map +1 -1
- package/lib/esm/appui-react/zones/ZoneDef.d.ts +1 -0
- package/lib/esm/appui-react/zones/ZoneDef.d.ts.map +1 -1
- package/lib/esm/appui-react/zones/ZoneDef.js +2 -2
- package/lib/esm/appui-react/zones/ZoneDef.js.map +1 -1
- package/lib/esm/appui-react.d.ts +3 -0
- package/lib/esm/appui-react.d.ts.map +1 -1
- package/lib/esm/appui-react.js +3 -0
- package/lib/esm/appui-react.js.map +1 -1
- package/package.json +33 -33
package/lib/cjs/appui-react.js
CHANGED
|
@@ -73,6 +73,7 @@ __exportStar(require("./appui-react/feedback/ValidationTextbox"), exports);
|
|
|
73
73
|
__exportStar(require("./appui-react/feedback/ElementTooltip"), exports);
|
|
74
74
|
__exportStar(require("./appui-react/frontstage/Frontstage"), exports);
|
|
75
75
|
__exportStar(require("./appui-react/frontstage/FrontstageComposer"), exports);
|
|
76
|
+
__exportStar(require("./appui-react/frontstage/FrontstageConfig"), exports);
|
|
76
77
|
__exportStar(require("./appui-react/frontstage/FrontstageDef"), exports);
|
|
77
78
|
__exportStar(require("./appui-react/frontstage/FrontstageManager"), exports);
|
|
78
79
|
__exportStar(require("./appui-react/frontstage/FrontstageProvider"), exports);
|
|
@@ -155,6 +156,7 @@ __exportStar(require("./appui-react/shared/SelectionScope"), exports);
|
|
|
155
156
|
__exportStar(require("./appui-react/shared/ToolItemDef"), exports);
|
|
156
157
|
__exportStar(require("./appui-react/stagepanels/FrameworkStagePanel"), exports);
|
|
157
158
|
__exportStar(require("./appui-react/stagepanels/StagePanel"), exports);
|
|
159
|
+
__exportStar(require("./appui-react/stagepanels/StagePanelConfig"), exports);
|
|
158
160
|
__exportStar(require("./appui-react/stagepanels/StagePanelDef"), exports);
|
|
159
161
|
__exportStar(require("./appui-react/stagepanels/StagePanelHeader"), exports);
|
|
160
162
|
__exportStar(require("./appui-react/statusbar/dialog/Dialog"), exports);
|
|
@@ -249,6 +251,7 @@ __exportStar(require("./appui-react/widgets/ToolbarWidgetBase"), exports);
|
|
|
249
251
|
__exportStar(require("./appui-react/widgets/ToolWidget"), exports);
|
|
250
252
|
__exportStar(require("./appui-react/widgets/ToolWidgetComposer"), exports);
|
|
251
253
|
__exportStar(require("./appui-react/widgets/Widget"), exports);
|
|
254
|
+
__exportStar(require("./appui-react/widgets/WidgetConfig"), exports);
|
|
252
255
|
__exportStar(require("./appui-react/widgets/WidgetControl"), exports);
|
|
253
256
|
__exportStar(require("./appui-react/widgets/WidgetDef"), exports);
|
|
254
257
|
__exportStar(require("./appui-react/widgets/WidgetHost"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appui-react.js","sourceRoot":"","sources":["../../src/appui-react.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\r\n// cSpell:ignore safearea cursormenu clientservices oidc Textbox Modeless configurableui stagepanels dragdrop uiadmin itemsarbiter Popout\r\n\r\nexport * from \"./appui-react/UiFramework\"; // Please ensure that this line comes before all other exports.\r\n\r\nexport * from \"./appui-react/accudraw/AccuDrawCommandItems\";\r\nexport * from \"./appui-react/accudraw/AccuDrawDialog\";\r\nexport * from \"./appui-react/accudraw/AccuDrawKeyboardShortcuts\";\r\nexport * from \"./appui-react/accudraw/AccuDrawPopupManager\";\r\nexport * from \"./appui-react/accudraw/AccuDrawUiSettings\";\r\nexport * from \"./appui-react/accudraw/AccuDrawWidget\";\r\nexport * from \"./appui-react/accudraw/Calculator\";\r\nexport * from \"./appui-react/accudraw/CalculatorEngine\";\r\nexport * from \"./appui-react/accudraw/CalculatorPopup\";\r\nexport * from \"./appui-react/accudraw/FrameworkAccuDraw\";\r\nexport * from \"./appui-react/accudraw/MenuButton\";\r\nexport * from \"./appui-react/accudraw/MenuButtonPopup\";\r\n\r\nexport * from \"./appui-react/backstage/Backstage\";\r\nexport * from \"./appui-react/backstage/BackstageComposer\";\r\nexport * from \"./appui-react/backstage/BackstageComposerItem\";\r\nexport * from \"./appui-react/backstage/BackstageItemProps\";\r\nexport * from \"./appui-react/backstage/BackstageItemUtilities\";\r\nexport * from \"./appui-react/backstage/BackstageManager\";\r\nexport * from \"./appui-react/backstage/CommandLaunch\";\r\nexport * from \"./appui-react/backstage/FrontstageLaunch\";\r\nexport * from \"./appui-react/backstage/Separator\";\r\nexport * from \"./appui-react/backstage/useDefaultBackstageItems\";\r\nexport * from \"./appui-react/backstage/TaskLaunch\";\r\nexport * from \"./appui-react/backstage/useUiItemsProviderBackstageItems\";\r\n\r\nexport * from \"./appui-react/configurableui/ConfigurableUiContent\";\r\nexport * from \"./appui-react/configurableui/ConfigurableUiControl\";\r\nexport * from \"./appui-react/configurableui/ConfigurableUiManager\";\r\nexport * from \"./appui-react/configurableui/state\";\r\n\r\nexport * from \"./appui-react/content/ContentControl\";\r\nexport * from \"./appui-react/content/ContentGroup\";\r\nexport * from \"./appui-react/content/ContentLayout\";\r\nexport * from \"./appui-react/content/ContentLayoutManager\";\r\nexport * from \"./appui-react/content/ContentViewManager\";\r\nexport * from \"./appui-react/content/FloatingViewportContent\";\r\nexport * from \"./appui-react/content/ViewStateHelper\";\r\nexport * from \"./appui-react/content/StageContentLayout\";\r\nexport * from \"./appui-react/content/ViewportContentControl\";\r\nexport * from \"./appui-react/content/IModelViewport\";\r\nexport * from \"./appui-react/content/DefaultViewOverlay\";\r\nexport * from \"./appui-react/content/split-pane/SplitPane\";\r\n\r\nexport * from \"./appui-react/cursor/CursorInformation\";\r\nexport * from \"./appui-react/cursor/cursorprompt/CursorPrompt\";\r\nexport * from \"./appui-react/cursor/cursorpopup/CursorPopup\";\r\nexport * from \"./appui-react/cursor/cursorpopup/CursorPopupManager\";\r\nexport * from \"./appui-react/cursor/cursormenu/CursorMenu\";\r\n\r\nexport * from \"./appui-react/dialog/DialogManagerBase\";\r\nexport * from \"./appui-react/dialog/ModalDialogManager\";\r\nexport * from \"./appui-react/dialog/ContentDialogManager\";\r\nexport * from \"./appui-react/dialog/ContentDialog\";\r\nexport * from \"./appui-react/dialog/ModelessDialog\";\r\nexport * from \"./appui-react/dialog/ModelessDialogManager\";\r\nexport * from \"./appui-react/dialog/StandardMessageBox\";\r\nexport * from \"./appui-react/dialog/UiDataProvidedDialog\";\r\n\r\nexport * from \"./appui-react/feedback/ValidationTextbox\";\r\nexport * from \"./appui-react/feedback/ElementTooltip\";\r\n\r\nexport * from \"./appui-react/frontstage/Frontstage\";\r\nexport * from \"./appui-react/frontstage/FrontstageComposer\";\r\nexport * from \"./appui-react/frontstage/FrontstageDef\";\r\nexport * from \"./appui-react/frontstage/FrontstageManager\";\r\nexport * from \"./appui-react/frontstage/FrontstageProvider\";\r\nexport * from \"./appui-react/frontstage/NestedFrontstage\";\r\nexport * from \"./appui-react/frontstage/ModalFrontstage\";\r\nexport * from \"./appui-react/frontstage/ModalSettingsStage\";\r\nexport * from \"./appui-react/frontstage/StandardFrontstageProvider\";\r\n\r\nexport * from \"./appui-react/hooks/useActiveIModelConnection\";\r\nexport * from \"./appui-react/hooks/useActiveStageId\";\r\nexport * from \"./appui-react/hooks/useActiveViewport\";\r\nexport * from \"./appui-react/hooks/useAvailableUiItemsProviders\";\r\nexport * from \"./appui-react/hooks/useAnalysisAnimationDataProvider\";\r\nexport * from \"./appui-react/hooks/useFrameworkVersion\";\r\nexport * from \"./appui-react/hooks/useScheduleAnimationDataProvider\";\r\nexport * from \"./appui-react/hooks/useSolarDataProvider\";\r\nexport * from \"./appui-react/hooks/useUiVisibility\";\r\n\r\nexport * from \"./appui-react/imodel-components/spatial-tree/SpatialContainmentTree\";\r\nexport * from \"./appui-react/imodel-components/category-tree/CategoriesTree\";\r\nexport * from \"./appui-react/imodel-components/category-tree/CategoryVisibilityHandler\";\r\nexport * from \"./appui-react/imodel-components/models-tree/ModelsTree\";\r\nexport * from \"./appui-react/imodel-components/models-tree/ModelsVisibilityHandler\";\r\nexport * from \"./appui-react/imodel-components/Common\";\r\nexport * from \"./appui-react/imodel-components/VisibilityTreeEventHandler\";\r\nexport * from \"./appui-react/imodel-components/VisibilityTreeRenderer\";\r\n\r\nexport * from \"./appui-react/keyboardshortcut/KeyboardShortcut\";\r\nexport * from \"./appui-react/keyboardshortcut/KeyboardShortcutMenu\";\r\nexport * from \"./appui-react/keyinbrowser/KeyinBrowser\";\r\n\r\nexport * from \"./appui-react/messages/ActivityMessage\";\r\nexport * from \"./appui-react/messages/ActivityMessagePopup\";\r\nexport * from \"./appui-react/messages/AppNotificationManager\";\r\nexport * from \"./appui-react/messages/InputField\";\r\nexport * from \"./appui-react/messages/MessageManager\";\r\nexport * from \"./appui-react/messages/StatusMessageRenderer\";\r\nexport * from \"./appui-react/messages/Pointer\";\r\nexport * from \"./appui-react/messages/ReactNotifyMessageDetails\";\r\nexport * from \"./appui-react/messages/StickyMessage\";\r\nexport * from \"./appui-react/messages/ToastMessage\";\r\n\r\nexport * from \"./appui-react/navigationaids/CubeNavigationAidControl\";\r\nexport * from \"./appui-react/navigationaids/DrawingNavigationAidControl\";\r\nexport * from \"./appui-react/navigationaids/NavigationAidControl\";\r\nexport * from \"./appui-react/navigationaids/SheetNavigationAid\";\r\nexport * from \"./appui-react/navigationaids/SheetsModalFrontstage\";\r\nexport * from \"./appui-react/navigationaids/StandardRotationNavigationAid\";\r\n\r\nexport * from \"./appui-react/pickers/ListPicker\";\r\nexport * from \"./appui-react/pickers/ViewSelector\";\r\n\r\nexport * from \"./appui-react/childwindow/ChildWindowManager\";\r\n\r\nexport * from \"./appui-react/popup/KeyinPalettePanel\";\r\nexport * from \"./appui-react/popup/KeyinPalettePopup\";\r\nexport * from \"./appui-react/popup/HTMLElementPopup\";\r\nexport * from \"./appui-react/popup/InputEditorPopup\";\r\nexport * from \"./appui-react/popup/PopupManager\";\r\nexport * from \"./appui-react/popup/PositionPopup\";\r\nexport * from \"./appui-react/popup/ToolbarPopup\";\r\n\r\nexport * from \"./appui-react/redux/SessionState\";\r\nexport * from \"./appui-react/redux/StateManager\";\r\nexport * from \"./appui-react/redux/FrameworkState\";\r\nexport * from \"./appui-react/redux/connectIModel\";\r\nexport * from \"./appui-react/redux/ReducerRegistry\";\r\nexport * from \"./appui-react/redux/redux-ts\";\r\n\r\nexport * from \"./appui-react/safearea/SafeAreaContext\";\r\nexport * from \"./appui-react/safearea/SafeAreaInsets\";\r\n\r\nexport * from \"./appui-react/selection/SelectionContextItemDef\";\r\nexport * from \"./appui-react/selection/HideIsolateEmphasizeManager\";\r\nexport * from \"./appui-react/selection/ClearEmphasisStatusField\";\r\n\r\nexport * from \"./appui-react/settings/ui/UiSettingsPage\";\r\nexport * from \"./appui-react/settings/quantityformatting/QuantityFormat\";\r\nexport * from \"./appui-react/settings/quantityformatting/UnitSystemSelector\";\r\n\r\nexport * from \"./appui-react/shared/ActionButtonItemDef\";\r\nexport * from \"./appui-react/shared/AnyItemDef\";\r\nexport * from \"./appui-react/shared/AnyToolbarItemDef\";\r\nexport * from \"./appui-react/shared/CommandItemDef\";\r\nexport * from \"./appui-react/shared/CustomItemDef\";\r\nexport * from \"./appui-react/shared/CustomItemProps\";\r\nexport * from \"./appui-react/shared/GroupItemProps\";\r\nexport * from \"./appui-react/shared/ItemDefBase\";\r\nexport * from \"./appui-react/shared/ItemMap\";\r\nexport * from \"./appui-react/shared/ItemProps\";\r\nexport * from \"./appui-react/shared/MenuItem\";\r\nexport * from \"./appui-react/shared/SelectionScope\";\r\nexport * from \"./appui-react/shared/ToolItemDef\";\r\n\r\nexport * from \"./appui-react/stagepanels/FrameworkStagePanel\";\r\nexport * from \"./appui-react/stagepanels/StagePanel\";\r\nexport * from \"./appui-react/stagepanels/StagePanelDef\";\r\nexport * from \"./appui-react/stagepanels/StagePanelHeader\";\r\n\r\nexport * from \"./appui-react/statusbar/dialog/Dialog\";\r\n\r\nexport * from \"./appui-react/statusbar/Indicator\";\r\nexport * from \"./appui-react/statusbar/LabelIndicator\";\r\nexport * from \"./appui-react/statusbar/Separator\";\r\nexport * from \"./appui-react/statusbar/StatusBar\";\r\nexport * from \"./appui-react/statusbar/StatusBarWidgetControl\";\r\nexport * from \"./appui-react/statusbar/StatusBarComposer\";\r\nexport * from \"./appui-react/statusbar/StatusBarItem\";\r\nexport * from \"./appui-react/statusbar/StatusBarItemsManager\";\r\nexport * from \"./appui-react/statusbar/StatusBarItemUtilities\";\r\nexport * from \"./appui-react/statusbar/StatusBarComposer\";\r\nexport * from \"./appui-react/statusbar/withMessageCenterFieldProps\";\r\nexport * from \"./appui-react/statusbar/useUiItemsProviderStatusBarItems\";\r\nexport * from \"./appui-react/statusbar/useDefaultStatusBarItems\";\r\nexport * from \"./appui-react/statusbar/withStatusFieldProps\";\r\n\r\nexport * from \"./appui-react/statusfields/tileloading/TileLoadingIndicator\";\r\nexport * from \"./appui-react/statusfields/ActivityCenter\";\r\nexport * from \"./appui-react/statusfields/ConditionalField\";\r\nexport * from \"./appui-react/statusfields/FooterModeField\";\r\nexport * from \"./appui-react/statusfields/Indicator\";\r\nexport * from \"./appui-react/statusfields/MessageCenter\";\r\nexport * from \"./appui-react/statusfields/PromptField\";\r\nexport * from \"./appui-react/statusfields/SectionsField\";\r\nexport * from \"./appui-react/statusfields/SelectionInfo\";\r\nexport * from \"./appui-react/statusfields/SelectionScope\";\r\nexport * from \"./appui-react/statusfields/SnapMode\";\r\nexport * from \"./appui-react/statusfields/StatusFieldProps\";\r\nexport * from \"./appui-react/statusfields/ViewAttributes\";\r\nexport * from \"./appui-react/statusfields/toolassistance/ToolAssistanceField\";\r\n\r\nexport * from \"./appui-react/syncui/SyncUiEventDispatcher\";\r\nexport * from \"./appui-react/syncui/BooleanListener\";\r\n\r\nexport * from \"./appui-react/theme/ThemeManager\";\r\n\r\nexport * from \"./appui-react/timeline/ScheduleAnimationProvider\";\r\nexport * from \"./appui-react/timeline/AnalysisAnimationProvider\";\r\nexport * from \"./appui-react/timeline/SolarTimelineDataProvider\";\r\n\r\nexport * from \"./appui-react/toolbar/ActionButtonItem\";\r\nexport * from \"./appui-react/toolbar/ActionItemButton\";\r\nexport * from \"./appui-react/toolbar/DragInteraction\";\r\nexport * from \"./appui-react/toolbar/ToolbarComposer\";\r\nexport * from \"./appui-react/toolbar/GroupButtonItem\";\r\nexport * from \"./appui-react/toolbar/GroupItem\";\r\nexport * from \"./appui-react/toolbar/PopupButton\";\r\nexport * from \"./appui-react/toolbar/Toolbar\";\r\nexport * from \"./appui-react/toolbar/ToolbarHelper\";\r\nexport * from \"./appui-react/toolbar/ToolButton\";\r\nexport * from \"./appui-react/toolbar/useUiItemsProviderToolbarItems\";\r\nexport * from \"./appui-react/toolbar/useDefaultToolbarItems\";\r\n\r\nexport * from \"./appui-react/tools/CoreToolDefinitions\";\r\nexport * from \"./appui-react/tools/FrameworkToolAdmin\";\r\nexport * from \"./appui-react/tools/MarkupToolDefinitions\";\r\nexport * from \"./appui-react/tools/RestoreLayoutTool\";\r\nexport * from \"./appui-react/tools/ToolSettingsTools\";\r\n\r\nexport * from \"./appui-react/uiadmin/FrameworkUiAdmin\";\r\n\r\nexport * from \"./appui-react/ui-items-provider/StandardContentToolsProvider\";\r\nexport * from \"./appui-react/ui-items-provider/StandardNavigationToolsProvider\";\r\nexport * from \"./appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider\";\r\nexport * from \"./appui-react/ui-items-provider/StandardStatusbarItemsProvider\";\r\nexport * from \"./appui-react/ui-items-provider/StandardStatusbarUiItemsProvider\";\r\nexport * from \"./appui-react/ui-items-provider/StandardContentToolsUiItemsProvider\";\r\nexport * from \"./appui-react/uiprovider/DefaultDialogGridContainer\";\r\n\r\nexport * from \"./appui-react/uistate/AppUiSettings\";\r\nexport * from \"./appui-react/uistate/UserSettingsStorage\";\r\nexport * from \"./appui-react/uistate/useUiStateStorage\";\r\n\r\nexport * from \"./appui-react/utils/ViewUtilities\";\r\nexport * from \"./appui-react/utils/PropsHelper\";\r\nexport * from \"./appui-react/utils/UiShowHideManager\";\r\nexport * from \"./appui-react/utils/ToolbarButtonHelper\";\r\n\r\nexport * from \"./appui-react/widget-panels/Content\";\r\nexport * from \"./appui-react/widget-panels/Frontstage\";\r\nexport * from \"./appui-react/widget-panels/FrontstageContent\";\r\nexport * from \"./appui-react/widget-panels/ModalFrontstageComposer\";\r\nexport * from \"./appui-react/widget-panels/StatusBar\";\r\nexport * from \"./appui-react/widget-panels/Tab\";\r\nexport * from \"./appui-react/widget-panels/Toolbars\";\r\nexport * from \"./appui-react/widget-panels/ToolSettings\";\r\nexport * from \"./appui-react/widget-panels/useWidgetDirection\";\r\nexport * from \"./appui-react/widget-panels/useTransientState\";\r\n\r\nexport * from \"./appui-react/widgets/BackstageAppButton\";\r\nexport * from \"./appui-react/widgets/BasicNavigationWidget\";\r\nexport * from \"./appui-react/widgets/BasicToolWidget\";\r\nexport * from \"./appui-react/widgets/DefaultNavigationWidget\";\r\nexport * from \"./appui-react/widgets/NavigationWidget\";\r\nexport * from \"./appui-react/widgets/NavigationWidgetComposer\";\r\nexport * from \"./appui-react/widgets/ReviewToolWidget\";\r\nexport * from \"./appui-react/widgets/ViewToolWidgetComposer\";\r\nexport * from \"./appui-react/widgets/StatusBarWidgetComposerControl\";\r\nexport * from \"./appui-react/widgets/ContentToolWidgetComposer\";\r\nexport * from \"./appui-react/widgets/StableWidgetDef\";\r\nexport * from \"./appui-react/widgets/ToolbarWidgetBase\";\r\nexport * from \"./appui-react/widgets/ToolWidget\";\r\nexport * from \"./appui-react/widgets/ToolWidgetComposer\";\r\nexport * from \"./appui-react/widgets/Widget\";\r\nexport * from \"./appui-react/widgets/WidgetControl\";\r\nexport * from \"./appui-react/widgets/WidgetDef\";\r\nexport * from \"./appui-react/widgets/WidgetHost\";\r\nexport * from \"./appui-react/widgets/WidgetManager\";\r\nexport * from \"./appui-react/widgets/WidgetProps\";\r\nexport * from \"./appui-react/widgets/WidgetStack\";\r\n\r\nexport * from \"./appui-react/workflow/Task\";\r\nexport * from \"./appui-react/workflow/Workflow\";\r\n\r\nexport * from \"./appui-react/zones/FrameworkZone\";\r\nexport * from \"./appui-react/zones/StatusBarZone\";\r\nexport * from \"./appui-react/zones/toolsettings/ToolSettingsZone\";\r\nexport * from \"./appui-react/zones/toolsettings/ToolInformation\";\r\nexport * from \"./appui-react/zones/toolsettings/ToolSettingsManager\";\r\nexport * from \"./appui-react/zones/toolsettings/ToolUiProvider\";\r\nexport * from \"./appui-react/zones/toolsettings/DefaultToolSettingsProvider\";\r\nexport * from \"./appui-react/zones/Zone\";\r\nexport * from \"./appui-react/zones/ZoneDef\";\r\n\r\n/** @docs-package-description\r\n * The ui-framework package contains classes and components for specifying the application UI consisting of the\r\n * Backstage, Frontstages, Content Views, Tool Bars, Status Bars, Widgets and Panels.\r\n * For more information, see [learning about appui-react]($docs/learning/ui/appui-react/index.md).\r\n */\r\n/**\r\n * @docs-group-description AccuDraw\r\n * Classes and components providing a UI for AccuDraw, an aide for entering coordinate data.\r\n */\r\n/**\r\n * @docs-group-description Admin\r\n * APIs for various UI components, such as toolbars, buttons and menus.\r\n */\r\n/**\r\n * @docs-group-description Backstage\r\n * Classes for working with a Backstage\r\n */\r\n/**\r\n * @docs-group-description ConfigurableUi\r\n * Classes for working with the Application UI Configuration\r\n */\r\n/**\r\n * @docs-group-description ContentView\r\n * Classes for working with a Content View, Group, Layout or Control\r\n */\r\n/**\r\n * @docs-group-description Cursor\r\n * Cursor related information, components and events\r\n */\r\n/**\r\n * @docs-group-description Dialog\r\n * Classes for working with a dialog\r\n */\r\n/**\r\n * @docs-group-description Frontstage\r\n * Classes for working with a Frontstage\r\n */\r\n/**\r\n * @docs-group-description Hooks\r\n * Hook functions for use in Functional React Components.\r\n */\r\n/**\r\n * @docs-group-description IModelComponents\r\n * Classes for displaying information about an iModel\r\n */\r\n/**\r\n * @docs-group-description Item\r\n * Classes for working with an Item in a Tool Widget, Navigation Widget or Backstage\r\n */\r\n/**\r\n * @docs-group-description KeyboardShortcut\r\n * Classes for working with Keyboard Shortcuts\r\n */\r\n/**\r\n * @docs-group-description NavigationAids\r\n * Classes for working with Navigation Aids\r\n */\r\n/**\r\n * @docs-group-description Notification\r\n * Classes for working with a Notification or Message\r\n */\r\n/**\r\n * @docs-group-description ChildWindowManager\r\n * Classes for working with child windows.\r\n */\r\n/**\r\n * @docs-group-description Picker\r\n * Classes for working with various pickers\r\n */\r\n/**\r\n * @docs-group-description Popup\r\n * Classes for working with popup components\r\n */\r\n/**\r\n * @docs-group-description State\r\n * Classes for maintaining state\r\n */\r\n/**\r\n * @docs-group-description Settings\r\n * Classes and components used by settings pages displayed in the modal settings stage\r\n */\r\n/**\r\n * @docs-group-description StandardUiItemsProvider\r\n * Standard UiItemsProvider classes.\r\n */\r\n/**\r\n * @docs-group-description StatusBar\r\n * Classes for defining a StatusBar\r\n */\r\n/**\r\n * @docs-group-description SyncUi\r\n * Classes for informing UI components to sync/refresh their display\r\n */\r\n/**\r\n * @docs-group-description Timeline\r\n * Classes for working with a TimelineComponent\r\n */\r\n/**\r\n * @docs-group-description Toolbar\r\n * Classes used to construct a Toolbar\r\n */\r\n/**\r\n * @docs-group-description Tools\r\n * Core Tool definitions\r\n */\r\n/**\r\n * @docs-group-description ToolSettings\r\n * Classes for working Tool Settings. See learning documentation [Tool Settings]($docs/learning/ui/appui-react/toolsettings.md).\r\n */\r\n/**\r\n * @docs-group-description UiProvider\r\n * Interfaces and classes for specifying UI items to be inserted at runtime.\r\n */\r\n/**\r\n * @docs-group-description UiStateStorage\r\n * Interfaces and classes for persisting UI settings.\r\n */\r\n/**\r\n * @docs-group-description Utilities\r\n * Various utility classes for working with a UI and Redux.\r\n */\r\n/**\r\n * @docs-group-description Widget\r\n * Classes for working with a Widget\r\n */\r\n/**\r\n * @docs-group-description Zone\r\n * Classes for working with a Zone\r\n */\r\n"]}
|
|
1
|
+
{"version":3,"file":"appui-react.js","sourceRoot":"","sources":["../../src/appui-react.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\r\n// cSpell:ignore safearea cursormenu clientservices oidc Textbox Modeless configurableui stagepanels dragdrop uiadmin itemsarbiter Popout\r\n\r\nexport * from \"./appui-react/UiFramework\"; // Please ensure that this line comes before all other exports.\r\n\r\nexport * from \"./appui-react/accudraw/AccuDrawCommandItems\";\r\nexport * from \"./appui-react/accudraw/AccuDrawDialog\";\r\nexport * from \"./appui-react/accudraw/AccuDrawKeyboardShortcuts\";\r\nexport * from \"./appui-react/accudraw/AccuDrawPopupManager\";\r\nexport * from \"./appui-react/accudraw/AccuDrawUiSettings\";\r\nexport * from \"./appui-react/accudraw/AccuDrawWidget\";\r\nexport * from \"./appui-react/accudraw/Calculator\";\r\nexport * from \"./appui-react/accudraw/CalculatorEngine\";\r\nexport * from \"./appui-react/accudraw/CalculatorPopup\";\r\nexport * from \"./appui-react/accudraw/FrameworkAccuDraw\";\r\nexport * from \"./appui-react/accudraw/MenuButton\";\r\nexport * from \"./appui-react/accudraw/MenuButtonPopup\";\r\n\r\nexport * from \"./appui-react/backstage/Backstage\";\r\nexport * from \"./appui-react/backstage/BackstageComposer\";\r\nexport * from \"./appui-react/backstage/BackstageComposerItem\";\r\nexport * from \"./appui-react/backstage/BackstageItemProps\";\r\nexport * from \"./appui-react/backstage/BackstageItemUtilities\";\r\nexport * from \"./appui-react/backstage/BackstageManager\";\r\nexport * from \"./appui-react/backstage/CommandLaunch\";\r\nexport * from \"./appui-react/backstage/FrontstageLaunch\";\r\nexport * from \"./appui-react/backstage/Separator\";\r\nexport * from \"./appui-react/backstage/useDefaultBackstageItems\";\r\nexport * from \"./appui-react/backstage/TaskLaunch\";\r\nexport * from \"./appui-react/backstage/useUiItemsProviderBackstageItems\";\r\n\r\nexport * from \"./appui-react/configurableui/ConfigurableUiContent\";\r\nexport * from \"./appui-react/configurableui/ConfigurableUiControl\";\r\nexport * from \"./appui-react/configurableui/ConfigurableUiManager\";\r\nexport * from \"./appui-react/configurableui/state\";\r\n\r\nexport * from \"./appui-react/content/ContentControl\";\r\nexport * from \"./appui-react/content/ContentGroup\";\r\nexport * from \"./appui-react/content/ContentLayout\";\r\nexport * from \"./appui-react/content/ContentLayoutManager\";\r\nexport * from \"./appui-react/content/ContentViewManager\";\r\nexport * from \"./appui-react/content/FloatingViewportContent\";\r\nexport * from \"./appui-react/content/ViewStateHelper\";\r\nexport * from \"./appui-react/content/StageContentLayout\";\r\nexport * from \"./appui-react/content/ViewportContentControl\";\r\nexport * from \"./appui-react/content/IModelViewport\";\r\nexport * from \"./appui-react/content/DefaultViewOverlay\";\r\nexport * from \"./appui-react/content/split-pane/SplitPane\";\r\n\r\nexport * from \"./appui-react/cursor/CursorInformation\";\r\nexport * from \"./appui-react/cursor/cursorprompt/CursorPrompt\";\r\nexport * from \"./appui-react/cursor/cursorpopup/CursorPopup\";\r\nexport * from \"./appui-react/cursor/cursorpopup/CursorPopupManager\";\r\nexport * from \"./appui-react/cursor/cursormenu/CursorMenu\";\r\n\r\nexport * from \"./appui-react/dialog/DialogManagerBase\";\r\nexport * from \"./appui-react/dialog/ModalDialogManager\";\r\nexport * from \"./appui-react/dialog/ContentDialogManager\";\r\nexport * from \"./appui-react/dialog/ContentDialog\";\r\nexport * from \"./appui-react/dialog/ModelessDialog\";\r\nexport * from \"./appui-react/dialog/ModelessDialogManager\";\r\nexport * from \"./appui-react/dialog/StandardMessageBox\";\r\nexport * from \"./appui-react/dialog/UiDataProvidedDialog\";\r\n\r\nexport * from \"./appui-react/feedback/ValidationTextbox\";\r\nexport * from \"./appui-react/feedback/ElementTooltip\";\r\n\r\nexport * from \"./appui-react/frontstage/Frontstage\";\r\nexport * from \"./appui-react/frontstage/FrontstageComposer\";\r\nexport * from \"./appui-react/frontstage/FrontstageConfig\";\r\nexport * from \"./appui-react/frontstage/FrontstageDef\";\r\nexport * from \"./appui-react/frontstage/FrontstageManager\";\r\nexport * from \"./appui-react/frontstage/FrontstageProvider\";\r\nexport * from \"./appui-react/frontstage/NestedFrontstage\";\r\nexport * from \"./appui-react/frontstage/ModalFrontstage\";\r\nexport * from \"./appui-react/frontstage/ModalSettingsStage\";\r\nexport * from \"./appui-react/frontstage/StandardFrontstageProvider\";\r\n\r\nexport * from \"./appui-react/hooks/useActiveIModelConnection\";\r\nexport * from \"./appui-react/hooks/useActiveStageId\";\r\nexport * from \"./appui-react/hooks/useActiveViewport\";\r\nexport * from \"./appui-react/hooks/useAvailableUiItemsProviders\";\r\nexport * from \"./appui-react/hooks/useAnalysisAnimationDataProvider\";\r\nexport * from \"./appui-react/hooks/useFrameworkVersion\";\r\nexport * from \"./appui-react/hooks/useScheduleAnimationDataProvider\";\r\nexport * from \"./appui-react/hooks/useSolarDataProvider\";\r\nexport * from \"./appui-react/hooks/useUiVisibility\";\r\n\r\nexport * from \"./appui-react/imodel-components/spatial-tree/SpatialContainmentTree\";\r\nexport * from \"./appui-react/imodel-components/category-tree/CategoriesTree\";\r\nexport * from \"./appui-react/imodel-components/category-tree/CategoryVisibilityHandler\";\r\nexport * from \"./appui-react/imodel-components/models-tree/ModelsTree\";\r\nexport * from \"./appui-react/imodel-components/models-tree/ModelsVisibilityHandler\";\r\nexport * from \"./appui-react/imodel-components/Common\";\r\nexport * from \"./appui-react/imodel-components/VisibilityTreeEventHandler\";\r\nexport * from \"./appui-react/imodel-components/VisibilityTreeRenderer\";\r\n\r\nexport * from \"./appui-react/keyboardshortcut/KeyboardShortcut\";\r\nexport * from \"./appui-react/keyboardshortcut/KeyboardShortcutMenu\";\r\nexport * from \"./appui-react/keyinbrowser/KeyinBrowser\";\r\n\r\nexport * from \"./appui-react/messages/ActivityMessage\";\r\nexport * from \"./appui-react/messages/ActivityMessagePopup\";\r\nexport * from \"./appui-react/messages/AppNotificationManager\";\r\nexport * from \"./appui-react/messages/InputField\";\r\nexport * from \"./appui-react/messages/MessageManager\";\r\nexport * from \"./appui-react/messages/StatusMessageRenderer\";\r\nexport * from \"./appui-react/messages/Pointer\";\r\nexport * from \"./appui-react/messages/ReactNotifyMessageDetails\";\r\nexport * from \"./appui-react/messages/StickyMessage\";\r\nexport * from \"./appui-react/messages/ToastMessage\";\r\n\r\nexport * from \"./appui-react/navigationaids/CubeNavigationAidControl\";\r\nexport * from \"./appui-react/navigationaids/DrawingNavigationAidControl\";\r\nexport * from \"./appui-react/navigationaids/NavigationAidControl\";\r\nexport * from \"./appui-react/navigationaids/SheetNavigationAid\";\r\nexport * from \"./appui-react/navigationaids/SheetsModalFrontstage\";\r\nexport * from \"./appui-react/navigationaids/StandardRotationNavigationAid\";\r\n\r\nexport * from \"./appui-react/pickers/ListPicker\";\r\nexport * from \"./appui-react/pickers/ViewSelector\";\r\n\r\nexport * from \"./appui-react/childwindow/ChildWindowManager\";\r\n\r\nexport * from \"./appui-react/popup/KeyinPalettePanel\";\r\nexport * from \"./appui-react/popup/KeyinPalettePopup\";\r\nexport * from \"./appui-react/popup/HTMLElementPopup\";\r\nexport * from \"./appui-react/popup/InputEditorPopup\";\r\nexport * from \"./appui-react/popup/PopupManager\";\r\nexport * from \"./appui-react/popup/PositionPopup\";\r\nexport * from \"./appui-react/popup/ToolbarPopup\";\r\n\r\nexport * from \"./appui-react/redux/SessionState\";\r\nexport * from \"./appui-react/redux/StateManager\";\r\nexport * from \"./appui-react/redux/FrameworkState\";\r\nexport * from \"./appui-react/redux/connectIModel\";\r\nexport * from \"./appui-react/redux/ReducerRegistry\";\r\nexport * from \"./appui-react/redux/redux-ts\";\r\n\r\nexport * from \"./appui-react/safearea/SafeAreaContext\";\r\nexport * from \"./appui-react/safearea/SafeAreaInsets\";\r\n\r\nexport * from \"./appui-react/selection/SelectionContextItemDef\";\r\nexport * from \"./appui-react/selection/HideIsolateEmphasizeManager\";\r\nexport * from \"./appui-react/selection/ClearEmphasisStatusField\";\r\n\r\nexport * from \"./appui-react/settings/ui/UiSettingsPage\";\r\nexport * from \"./appui-react/settings/quantityformatting/QuantityFormat\";\r\nexport * from \"./appui-react/settings/quantityformatting/UnitSystemSelector\";\r\n\r\nexport * from \"./appui-react/shared/ActionButtonItemDef\";\r\nexport * from \"./appui-react/shared/AnyItemDef\";\r\nexport * from \"./appui-react/shared/AnyToolbarItemDef\";\r\nexport * from \"./appui-react/shared/CommandItemDef\";\r\nexport * from \"./appui-react/shared/CustomItemDef\";\r\nexport * from \"./appui-react/shared/CustomItemProps\";\r\nexport * from \"./appui-react/shared/GroupItemProps\";\r\nexport * from \"./appui-react/shared/ItemDefBase\";\r\nexport * from \"./appui-react/shared/ItemMap\";\r\nexport * from \"./appui-react/shared/ItemProps\";\r\nexport * from \"./appui-react/shared/MenuItem\";\r\nexport * from \"./appui-react/shared/SelectionScope\";\r\nexport * from \"./appui-react/shared/ToolItemDef\";\r\n\r\nexport * from \"./appui-react/stagepanels/FrameworkStagePanel\";\r\nexport * from \"./appui-react/stagepanels/StagePanel\";\r\nexport * from \"./appui-react/stagepanels/StagePanelConfig\";\r\nexport * from \"./appui-react/stagepanels/StagePanelDef\";\r\nexport * from \"./appui-react/stagepanels/StagePanelHeader\";\r\n\r\nexport * from \"./appui-react/statusbar/dialog/Dialog\";\r\n\r\nexport * from \"./appui-react/statusbar/Indicator\";\r\nexport * from \"./appui-react/statusbar/LabelIndicator\";\r\nexport * from \"./appui-react/statusbar/Separator\";\r\nexport * from \"./appui-react/statusbar/StatusBar\";\r\nexport * from \"./appui-react/statusbar/StatusBarWidgetControl\";\r\nexport * from \"./appui-react/statusbar/StatusBarComposer\";\r\nexport * from \"./appui-react/statusbar/StatusBarItem\";\r\nexport * from \"./appui-react/statusbar/StatusBarItemsManager\";\r\nexport * from \"./appui-react/statusbar/StatusBarItemUtilities\";\r\nexport * from \"./appui-react/statusbar/StatusBarComposer\";\r\nexport * from \"./appui-react/statusbar/withMessageCenterFieldProps\";\r\nexport * from \"./appui-react/statusbar/useUiItemsProviderStatusBarItems\";\r\nexport * from \"./appui-react/statusbar/useDefaultStatusBarItems\";\r\nexport * from \"./appui-react/statusbar/withStatusFieldProps\";\r\n\r\nexport * from \"./appui-react/statusfields/tileloading/TileLoadingIndicator\";\r\nexport * from \"./appui-react/statusfields/ActivityCenter\";\r\nexport * from \"./appui-react/statusfields/ConditionalField\";\r\nexport * from \"./appui-react/statusfields/FooterModeField\";\r\nexport * from \"./appui-react/statusfields/Indicator\";\r\nexport * from \"./appui-react/statusfields/MessageCenter\";\r\nexport * from \"./appui-react/statusfields/PromptField\";\r\nexport * from \"./appui-react/statusfields/SectionsField\";\r\nexport * from \"./appui-react/statusfields/SelectionInfo\";\r\nexport * from \"./appui-react/statusfields/SelectionScope\";\r\nexport * from \"./appui-react/statusfields/SnapMode\";\r\nexport * from \"./appui-react/statusfields/StatusFieldProps\";\r\nexport * from \"./appui-react/statusfields/ViewAttributes\";\r\nexport * from \"./appui-react/statusfields/toolassistance/ToolAssistanceField\";\r\n\r\nexport * from \"./appui-react/syncui/SyncUiEventDispatcher\";\r\nexport * from \"./appui-react/syncui/BooleanListener\";\r\n\r\nexport * from \"./appui-react/theme/ThemeManager\";\r\n\r\nexport * from \"./appui-react/timeline/ScheduleAnimationProvider\";\r\nexport * from \"./appui-react/timeline/AnalysisAnimationProvider\";\r\nexport * from \"./appui-react/timeline/SolarTimelineDataProvider\";\r\n\r\nexport * from \"./appui-react/toolbar/ActionButtonItem\";\r\nexport * from \"./appui-react/toolbar/ActionItemButton\";\r\nexport * from \"./appui-react/toolbar/DragInteraction\";\r\nexport * from \"./appui-react/toolbar/ToolbarComposer\";\r\nexport * from \"./appui-react/toolbar/GroupButtonItem\";\r\nexport * from \"./appui-react/toolbar/GroupItem\";\r\nexport * from \"./appui-react/toolbar/PopupButton\";\r\nexport * from \"./appui-react/toolbar/Toolbar\";\r\nexport * from \"./appui-react/toolbar/ToolbarHelper\";\r\nexport * from \"./appui-react/toolbar/ToolButton\";\r\nexport * from \"./appui-react/toolbar/useUiItemsProviderToolbarItems\";\r\nexport * from \"./appui-react/toolbar/useDefaultToolbarItems\";\r\n\r\nexport * from \"./appui-react/tools/CoreToolDefinitions\";\r\nexport * from \"./appui-react/tools/FrameworkToolAdmin\";\r\nexport * from \"./appui-react/tools/MarkupToolDefinitions\";\r\nexport * from \"./appui-react/tools/RestoreLayoutTool\";\r\nexport * from \"./appui-react/tools/ToolSettingsTools\";\r\n\r\nexport * from \"./appui-react/uiadmin/FrameworkUiAdmin\";\r\n\r\nexport * from \"./appui-react/ui-items-provider/StandardContentToolsProvider\";\r\nexport * from \"./appui-react/ui-items-provider/StandardNavigationToolsProvider\";\r\nexport * from \"./appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider\";\r\nexport * from \"./appui-react/ui-items-provider/StandardStatusbarItemsProvider\";\r\nexport * from \"./appui-react/ui-items-provider/StandardStatusbarUiItemsProvider\";\r\nexport * from \"./appui-react/ui-items-provider/StandardContentToolsUiItemsProvider\";\r\nexport * from \"./appui-react/uiprovider/DefaultDialogGridContainer\";\r\n\r\nexport * from \"./appui-react/uistate/AppUiSettings\";\r\nexport * from \"./appui-react/uistate/UserSettingsStorage\";\r\nexport * from \"./appui-react/uistate/useUiStateStorage\";\r\n\r\nexport * from \"./appui-react/utils/ViewUtilities\";\r\nexport * from \"./appui-react/utils/PropsHelper\";\r\nexport * from \"./appui-react/utils/UiShowHideManager\";\r\nexport * from \"./appui-react/utils/ToolbarButtonHelper\";\r\n\r\nexport * from \"./appui-react/widget-panels/Content\";\r\nexport * from \"./appui-react/widget-panels/Frontstage\";\r\nexport * from \"./appui-react/widget-panels/FrontstageContent\";\r\nexport * from \"./appui-react/widget-panels/ModalFrontstageComposer\";\r\nexport * from \"./appui-react/widget-panels/StatusBar\";\r\nexport * from \"./appui-react/widget-panels/Tab\";\r\nexport * from \"./appui-react/widget-panels/Toolbars\";\r\nexport * from \"./appui-react/widget-panels/ToolSettings\";\r\nexport * from \"./appui-react/widget-panels/useWidgetDirection\";\r\nexport * from \"./appui-react/widget-panels/useTransientState\";\r\n\r\nexport * from \"./appui-react/widgets/BackstageAppButton\";\r\nexport * from \"./appui-react/widgets/BasicNavigationWidget\";\r\nexport * from \"./appui-react/widgets/BasicToolWidget\";\r\nexport * from \"./appui-react/widgets/DefaultNavigationWidget\";\r\nexport * from \"./appui-react/widgets/NavigationWidget\";\r\nexport * from \"./appui-react/widgets/NavigationWidgetComposer\";\r\nexport * from \"./appui-react/widgets/ReviewToolWidget\";\r\nexport * from \"./appui-react/widgets/ViewToolWidgetComposer\";\r\nexport * from \"./appui-react/widgets/StatusBarWidgetComposerControl\";\r\nexport * from \"./appui-react/widgets/ContentToolWidgetComposer\";\r\nexport * from \"./appui-react/widgets/StableWidgetDef\";\r\nexport * from \"./appui-react/widgets/ToolbarWidgetBase\";\r\nexport * from \"./appui-react/widgets/ToolWidget\";\r\nexport * from \"./appui-react/widgets/ToolWidgetComposer\";\r\nexport * from \"./appui-react/widgets/Widget\";\r\nexport * from \"./appui-react/widgets/WidgetConfig\";\r\nexport * from \"./appui-react/widgets/WidgetControl\";\r\nexport * from \"./appui-react/widgets/WidgetDef\";\r\nexport * from \"./appui-react/widgets/WidgetHost\";\r\nexport * from \"./appui-react/widgets/WidgetManager\";\r\nexport * from \"./appui-react/widgets/WidgetProps\";\r\nexport * from \"./appui-react/widgets/WidgetStack\";\r\n\r\nexport * from \"./appui-react/workflow/Task\";\r\nexport * from \"./appui-react/workflow/Workflow\";\r\n\r\nexport * from \"./appui-react/zones/FrameworkZone\";\r\nexport * from \"./appui-react/zones/StatusBarZone\";\r\nexport * from \"./appui-react/zones/toolsettings/ToolSettingsZone\";\r\nexport * from \"./appui-react/zones/toolsettings/ToolInformation\";\r\nexport * from \"./appui-react/zones/toolsettings/ToolSettingsManager\";\r\nexport * from \"./appui-react/zones/toolsettings/ToolUiProvider\";\r\nexport * from \"./appui-react/zones/toolsettings/DefaultToolSettingsProvider\";\r\nexport * from \"./appui-react/zones/Zone\";\r\nexport * from \"./appui-react/zones/ZoneDef\";\r\n\r\n/** @docs-package-description\r\n * The ui-framework package contains classes and components for specifying the application UI consisting of the\r\n * Backstage, Frontstages, Content Views, Tool Bars, Status Bars, Widgets and Panels.\r\n * For more information, see [learning about appui-react]($docs/learning/ui/appui-react/index.md).\r\n */\r\n/**\r\n * @docs-group-description AccuDraw\r\n * Classes and components providing a UI for AccuDraw, an aide for entering coordinate data.\r\n */\r\n/**\r\n * @docs-group-description Admin\r\n * APIs for various UI components, such as toolbars, buttons and menus.\r\n */\r\n/**\r\n * @docs-group-description Backstage\r\n * Classes for working with a Backstage\r\n */\r\n/**\r\n * @docs-group-description ConfigurableUi\r\n * Classes for working with the Application UI Configuration\r\n */\r\n/**\r\n * @docs-group-description ContentView\r\n * Classes for working with a Content View, Group, Layout or Control\r\n */\r\n/**\r\n * @docs-group-description Cursor\r\n * Cursor related information, components and events\r\n */\r\n/**\r\n * @docs-group-description Dialog\r\n * Classes for working with a dialog\r\n */\r\n/**\r\n * @docs-group-description Frontstage\r\n * Classes for working with a Frontstage\r\n */\r\n/**\r\n * @docs-group-description Hooks\r\n * Hook functions for use in Functional React Components.\r\n */\r\n/**\r\n * @docs-group-description IModelComponents\r\n * Classes for displaying information about an iModel\r\n */\r\n/**\r\n * @docs-group-description Item\r\n * Classes for working with an Item in a Tool Widget, Navigation Widget or Backstage\r\n */\r\n/**\r\n * @docs-group-description KeyboardShortcut\r\n * Classes for working with Keyboard Shortcuts\r\n */\r\n/**\r\n * @docs-group-description NavigationAids\r\n * Classes for working with Navigation Aids\r\n */\r\n/**\r\n * @docs-group-description Notification\r\n * Classes for working with a Notification or Message\r\n */\r\n/**\r\n * @docs-group-description ChildWindowManager\r\n * Classes for working with child windows.\r\n */\r\n/**\r\n * @docs-group-description Picker\r\n * Classes for working with various pickers\r\n */\r\n/**\r\n * @docs-group-description Popup\r\n * Classes for working with popup components\r\n */\r\n/**\r\n * @docs-group-description State\r\n * Classes for maintaining state\r\n */\r\n/**\r\n * @docs-group-description Settings\r\n * Classes and components used by settings pages displayed in the modal settings stage\r\n */\r\n/**\r\n * @docs-group-description StandardUiItemsProvider\r\n * Standard UiItemsProvider classes.\r\n */\r\n/**\r\n * @docs-group-description StatusBar\r\n * Classes for defining a StatusBar\r\n */\r\n/**\r\n * @docs-group-description SyncUi\r\n * Classes for informing UI components to sync/refresh their display\r\n */\r\n/**\r\n * @docs-group-description Timeline\r\n * Classes for working with a TimelineComponent\r\n */\r\n/**\r\n * @docs-group-description Toolbar\r\n * Classes used to construct a Toolbar\r\n */\r\n/**\r\n * @docs-group-description Tools\r\n * Core Tool definitions\r\n */\r\n/**\r\n * @docs-group-description ToolSettings\r\n * Classes for working Tool Settings. See learning documentation [Tool Settings]($docs/learning/ui/appui-react/toolsettings.md).\r\n */\r\n/**\r\n * @docs-group-description UiProvider\r\n * Interfaces and classes for specifying UI items to be inserted at runtime.\r\n */\r\n/**\r\n * @docs-group-description UiStateStorage\r\n * Interfaces and classes for persisting UI settings.\r\n */\r\n/**\r\n * @docs-group-description Utilities\r\n * Various utility classes for working with a UI and Redux.\r\n */\r\n/**\r\n * @docs-group-description Widget\r\n * Classes for working with a Widget\r\n */\r\n/**\r\n * @docs-group-description Zone\r\n * Classes for working with a Zone\r\n */\r\n"]}
|
|
@@ -7,6 +7,7 @@ import { ContentLayoutProps } from "@itwin/appui-abstract";
|
|
|
7
7
|
import { ConfigurableUiControlConstructor } from "../configurableui/ConfigurableUiControl";
|
|
8
8
|
import { ContentControl } from "./ContentControl";
|
|
9
9
|
import { FrontstageProps } from "../frontstage/Frontstage";
|
|
10
|
+
import { FrontstageConfig } from "../frontstage/FrontstageConfig";
|
|
10
11
|
/** Properties for content displayed in a content view
|
|
11
12
|
* @public
|
|
12
13
|
*/
|
|
@@ -34,7 +35,14 @@ export interface ContentGroupProps {
|
|
|
34
35
|
* @public
|
|
35
36
|
*/
|
|
36
37
|
export declare abstract class ContentGroupProvider {
|
|
38
|
+
/** Return the contentGroup based on the `FrontstageProps`.
|
|
39
|
+
* @deprecated Implement using `contentGroup` instead.
|
|
40
|
+
*/
|
|
37
41
|
abstract provideContentGroup(props: FrontstageProps): Promise<ContentGroup>;
|
|
42
|
+
/** Return the contentGroup based on the `FrontstageConfig`.
|
|
43
|
+
* @beta This method will be required in upcoming version, this method will be prioritized if it exists over `provideContentGroup`.
|
|
44
|
+
*/
|
|
45
|
+
contentGroup?(config: FrontstageConfig): Promise<ContentGroup>;
|
|
38
46
|
/** Allow provider to update any data stored in ContentGroupProps. Typically this may
|
|
39
47
|
* be to remove applicationData entries.
|
|
40
48
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentGroup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/content/ContentGroup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAW,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAA0B,gCAAgC,EAA6B,MAAM,yCAAyC,CAAC;AAG9I,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"ContentGroup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/content/ContentGroup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAW,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAA0B,gCAAgC,EAA6B,MAAM,yCAAyC,CAAC;AAG9I,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,oFAAoF;IACpF,OAAO,EAAE,MAAM,GAAG,gCAAgC,CAAC;IACnD,gEAAgE;IAChE,eAAe,CAAC,EAAE,GAAG,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mKAAmK;IACnK,EAAE,EAAE,MAAM,CAAC;IACX,mEAAmE;IACnE,MAAM,EAAE,kBAAkB,CAAC;IAC3B,kEAAkE;IAClE,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED;;;GAGG;AACH,8BAAsB,oBAAoB;IACxC;;OAEG;IACH,QAAQ,CAAC,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;IAE3E;;OAEG;IACI,YAAY,CAAC,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;IAErE;;OAEG;IACI,kBAAkB,CAAC,iBAAiB,EAAE,iBAAiB;IAI9D;;OAEG;IACI,wBAAwB,CAAC,iBAAiB,EAAE,iBAAiB;IAIpE,kFAAkF;IACrE,uBAAuB;CACrC;AAED;;GAEG;AACH,oBAAY,eAAe,GAAG,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;AAE9D;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAK;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,gBAAgB,EAAE,YAAY,EAAE,CAAC;IACxC,OAAO,CAAC,gBAAgB,CAAqC;IAC7D,OAAO,CAAC,cAAc,CAAqC;IAE3D,IAAW,EAAE,WAEZ;gBAEW,iBAAiB,EAAE,iBAAiB;IAQhD,sFAAsF;IAC/E,iBAAiB,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IA+BhG,wEAAwE;IACjE,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIpE,iFAAiF;IAC1E,eAAe,IAAI,KAAK,CAAC,SAAS,EAAE;IAgB3C,kGAAkG;IAC3F,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,GAAG,cAAc,GAAG,SAAS;IAc/E,uFAAuF;IAChF,mBAAmB;IAI1B,4EAA4E;IACrE,kBAAkB,IAAI,cAAc,EAAE;IAa7C,6CAA6C;IACtC,uBAAuB,IAAI,IAAI;IAItC,uCAAuC;IAChC,iBAAiB,IAAI,IAAI;IAEhC,0CAA0C;IACnC,oBAAoB,IAAI,IAAI;IAInC;;OAEG;IACI,MAAM,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,iBAAiB;IAuBnE;;OAEG;IACI,YAAY,IAAI,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC;CAczD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentGroup.js","sourceRoot":"","sources":["../../../../src/appui-react/content/ContentGroup.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 ContentView\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { ScreenViewport } from \"@itwin/core-frontend\";\r\nimport { ContentLayoutProps, UiError } from \"@itwin/appui-abstract\";\r\nimport { ConfigurableCreateInfo, ConfigurableUiControlConstructor, ConfigurableUiControlType } from \"../configurableui/ConfigurableUiControl\";\r\nimport { ConfigurableUiManager } from \"../configurableui/ConfigurableUiManager\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ContentControl } from \"./ContentControl\";\r\nimport { FrontstageProps } from \"../frontstage/Frontstage\";\r\n\r\n/** Properties for content displayed in a content view\r\n * @public\r\n */\r\nexport interface ContentProps {\r\n /** A unique id for the Content View within the group */\r\n id: string;\r\n /** The class name or [[ConfigurableUiControlConstructor]] of the content control */\r\n classId: string | ConfigurableUiControlConstructor;\r\n /** Optional application data passed down to the Content View */\r\n applicationData?: any;\r\n}\r\n\r\n/** Properties for a [[ContentGroup]]\r\n * @public\r\n */\r\nexport interface ContentGroupProps {\r\n /** An id for the [[ContentGroup]]. This id is used to locate a ContentGroup and it also can be used by an ContentGroupProvider to save/restore content settings */\r\n id: string;\r\n /** Content Layout Id or complete set of [[ContentLayoutProps]] */\r\n layout: ContentLayoutProps;\r\n /** A collection of [[ContentProps]], one for each content view */\r\n contents: ContentProps[];\r\n}\r\n\r\n/** Abstract class that can be implemented and specified by frontstage to dynamically construct\r\n * content group just prior to activating the frontstage.\r\n * @public\r\n */\r\nexport abstract class ContentGroupProvider {\r\n abstract provideContentGroup(props: FrontstageProps): Promise<ContentGroup>;\r\n\r\n /** Allow provider to update any data stored in ContentGroupProps. Typically this may\r\n * be to remove applicationData entries.\r\n */\r\n public prepareToSaveProps(contentGroupProps: ContentGroupProps) {\r\n return contentGroupProps;\r\n }\r\n\r\n /** Allow provider to update any stored ContentGroupProps be it is to be used to create ContentGroup and layouts.\r\n * Typically this may be to add applicationData to content entries.\r\n */\r\n public applyUpdatesToSavedProps(contentGroupProps: ContentGroupProps) {\r\n return contentGroupProps;\r\n }\r\n\r\n /** Allow provider to save any content group data before the stage deactivated. */\r\n public async onFrontstageDeactivated() { }\r\n}\r\n\r\n/** Callback to process content properties during toJSON method\r\n * @public\r\n */\r\nexport type ContentCallback = (content: ContentProps) => void;\r\n\r\n/** ContentGroup class. Content Groups define content displayed in content views that are laid out using a [[ContentLayout]].\r\n * @public\r\n */\r\nexport class ContentGroup {\r\n private static _sId = 0;\r\n public groupId: string;\r\n public propsId: string;\r\n public layout: ContentLayoutProps;\r\n public contentPropsList: ContentProps[];\r\n private _contentControls = new Map<string, ContentControl>();\r\n private _contentSetMap = new Map<string, ContentControl>();\r\n\r\n public get id() {\r\n return this.groupId;\r\n }\r\n\r\n constructor(contentGroupProps: ContentGroupProps) {\r\n this.layout = { ...contentGroupProps.layout };\r\n this.propsId = contentGroupProps.id;\r\n // ensure we have a unique groupId for each instance of a content group - this will be used to generate a key in the React controls\r\n this.groupId = `[${contentGroupProps.id}-${ContentGroup._sId++}]`;\r\n this.contentPropsList = contentGroupProps.contents;\r\n }\r\n\r\n /** Gets a [[ContentControl]] from the Content Group based on its [[ContentProps]]. */\r\n public getContentControl(contentProps: ContentProps, _index: number): ContentControl | undefined {\r\n // ensure we have a unique control Id for each instance of a content control - this will be used as a key for the React control - see `ContentControl.getKeyedReactNode`\r\n const id = `${contentProps.id}::${this.groupId}`;\r\n let contentControl: ContentControl | undefined;\r\n\r\n if (!this._contentControls.get(contentProps.id)) {\r\n let usedClassId: string = \"\";\r\n\r\n if (typeof contentProps.classId === \"string\") {\r\n if (!this._contentControls.get(contentProps.id) && ConfigurableUiManager.isControlRegistered(contentProps.classId)) {\r\n contentControl = ConfigurableUiManager.createControl(contentProps.classId, id, contentProps.applicationData, contentProps.id) as ContentControl;\r\n usedClassId = contentProps.classId;\r\n }\r\n } else {\r\n const info = new ConfigurableCreateInfo(contentProps.classId.name, id, contentProps.id);\r\n contentControl = new contentProps.classId(info, contentProps.applicationData) as ContentControl;\r\n usedClassId = contentProps.classId.name;\r\n }\r\n\r\n if (contentControl) {\r\n if (contentControl.getType() !== ConfigurableUiControlType.Content && contentControl.getType() !== ConfigurableUiControlType.Viewport) {\r\n throw new UiError(UiFramework.loggerCategory(this), `getContentControl error: '${usedClassId}' is NOT a ContentControl or ViewportContentControl`);\r\n }\r\n contentControl.initialize();\r\n this._contentControls.set(contentProps.id, contentControl);\r\n }\r\n }\r\n\r\n return this._contentControls.get(contentProps.id);\r\n }\r\n\r\n /** Gets a [[ContentControl]] from the Content Group with a given ID. */\r\n public getContentControlById(id: string): ContentControl | undefined {\r\n return this._contentControls.get(id);\r\n }\r\n\r\n /** Gets the React nodes representing the Content Views in this Content Group. */\r\n public getContentNodes(): React.ReactNode[] {\r\n const contentNodes: React.ReactNode[] = new Array<React.ReactNode>();\r\n\r\n this._contentSetMap.clear();\r\n\r\n this.contentPropsList.forEach((contentProps: ContentProps, index: number) => {\r\n const control = this.getContentControl(contentProps, index);\r\n if (control) {\r\n contentNodes.push(control.reactNode);\r\n this._contentSetMap.set(control.controlId, control);\r\n }\r\n });\r\n\r\n return contentNodes;\r\n }\r\n\r\n /** Gets the [[ContentControl]] associated with a given React node representing a Content View. */\r\n public getControlFromElement(node: React.ReactNode): ContentControl | undefined {\r\n if (this._contentSetMap.size === 0)\r\n this.getContentNodes();\r\n\r\n if (node && (node as React.ReactElement<any>).key) {\r\n const key = ((node as React.ReactElement<any>).key as string);\r\n // key has format `${contentProps.id}::${this.groupId}` which is stored as unique id\r\n const controlId = key.split(\"::\", 1)[0];\r\n return this._contentSetMap.get(controlId);\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Refreshes the React nodes representing the Content Views in this Content Group.. */\r\n public refreshContentNodes() {\r\n this._contentSetMap.clear();\r\n }\r\n\r\n /** Gets an array of the content controls representing the Content Views. */\r\n public getContentControls(): ContentControl[] {\r\n const contentControls: ContentControl[] = new Array<ContentControl>();\r\n\r\n this.contentPropsList.forEach((contentProps: ContentProps, index: number) => {\r\n const control = this.getContentControl(contentProps, index);\r\n if (control) {\r\n contentControls.push(control);\r\n }\r\n });\r\n\r\n return contentControls;\r\n }\r\n\r\n /** Called when Frontstage is deactivated. */\r\n public onFrontstageDeactivated(): void {\r\n this.clearContentControls();\r\n }\r\n\r\n /** Called when Frontstage is ready. */\r\n public onFrontstageReady(): void { }\r\n\r\n /** Clears the map of content controls. */\r\n public clearContentControls(): void {\r\n this._contentControls.clear();\r\n }\r\n\r\n /** Creates [[ContentGroupProps]] for JSON purposes\r\n * @public\r\n */\r\n public toJSON(contentCallback?: ContentCallback): ContentGroupProps {\r\n const contentGroupProps: ContentGroupProps = {\r\n id: this.propsId,\r\n layout: this.layout,\r\n contents: this.contentPropsList,\r\n };\r\n\r\n contentGroupProps.contents.forEach((content: ContentProps, index: number) => {\r\n if (typeof content.classId !== \"string\") {\r\n const classId = ConfigurableUiManager.getConstructorClassId(content.classId);\r\n if (classId !== undefined)\r\n content.classId = classId;\r\n else\r\n throw new UiError(UiFramework.loggerCategory(this), `toJSON: ContentControl at index ${index} is NOT registered with a string id`);\r\n\r\n if (contentCallback)\r\n contentCallback(content);\r\n }\r\n });\r\n\r\n return contentGroupProps;\r\n }\r\n\r\n /** Gets Viewports from Viewport Content Controls\r\n * @internal\r\n */\r\n public getViewports(): Array<ScreenViewport | undefined> {\r\n const contentControls = this.getContentControls();\r\n const viewports = new Array<ScreenViewport | undefined>();\r\n\r\n contentControls.forEach((control: ContentControl) => {\r\n if (control.isViewport && control.viewport) {\r\n viewports.push(control.viewport);\r\n } else {\r\n viewports.push(undefined);\r\n }\r\n });\r\n\r\n return viewports;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ContentGroup.js","sourceRoot":"","sources":["../../../../src/appui-react/content/ContentGroup.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 ContentView\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { ScreenViewport } from \"@itwin/core-frontend\";\r\nimport { ContentLayoutProps, UiError } from \"@itwin/appui-abstract\";\r\nimport { ConfigurableCreateInfo, ConfigurableUiControlConstructor, ConfigurableUiControlType } from \"../configurableui/ConfigurableUiControl\";\r\nimport { ConfigurableUiManager } from \"../configurableui/ConfigurableUiManager\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ContentControl } from \"./ContentControl\";\r\nimport { FrontstageProps } from \"../frontstage/Frontstage\";\r\nimport { FrontstageConfig } from \"../frontstage/FrontstageConfig\";\r\n\r\n/** Properties for content displayed in a content view\r\n * @public\r\n */\r\nexport interface ContentProps {\r\n /** A unique id for the Content View within the group */\r\n id: string;\r\n /** The class name or [[ConfigurableUiControlConstructor]] of the content control */\r\n classId: string | ConfigurableUiControlConstructor;\r\n /** Optional application data passed down to the Content View */\r\n applicationData?: any;\r\n}\r\n\r\n/** Properties for a [[ContentGroup]]\r\n * @public\r\n */\r\nexport interface ContentGroupProps {\r\n /** An id for the [[ContentGroup]]. This id is used to locate a ContentGroup and it also can be used by an ContentGroupProvider to save/restore content settings */\r\n id: string;\r\n /** Content Layout Id or complete set of [[ContentLayoutProps]] */\r\n layout: ContentLayoutProps;\r\n /** A collection of [[ContentProps]], one for each content view */\r\n contents: ContentProps[];\r\n}\r\n\r\n/** Abstract class that can be implemented and specified by frontstage to dynamically construct\r\n * content group just prior to activating the frontstage.\r\n * @public\r\n */\r\nexport abstract class ContentGroupProvider {\r\n /** Return the contentGroup based on the `FrontstageProps`.\r\n * @deprecated Implement using `contentGroup` instead.\r\n */\r\n abstract provideContentGroup(props: FrontstageProps): Promise<ContentGroup>; // eslint-disable-line deprecation/deprecation\r\n\r\n /** Return the contentGroup based on the `FrontstageConfig`.\r\n * @beta This method will be required in upcoming version, this method will be prioritized if it exists over `provideContentGroup`.\r\n */\r\n public contentGroup?(config: FrontstageConfig): Promise<ContentGroup>;\r\n\r\n /** Allow provider to update any data stored in ContentGroupProps. Typically this may\r\n * be to remove applicationData entries.\r\n */\r\n public prepareToSaveProps(contentGroupProps: ContentGroupProps) {\r\n return contentGroupProps;\r\n }\r\n\r\n /** Allow provider to update any stored ContentGroupProps be it is to be used to create ContentGroup and layouts.\r\n * Typically this may be to add applicationData to content entries.\r\n */\r\n public applyUpdatesToSavedProps(contentGroupProps: ContentGroupProps) {\r\n return contentGroupProps;\r\n }\r\n\r\n /** Allow provider to save any content group data before the stage deactivated. */\r\n public async onFrontstageDeactivated() { }\r\n}\r\n\r\n/** Callback to process content properties during toJSON method\r\n * @public\r\n */\r\nexport type ContentCallback = (content: ContentProps) => void;\r\n\r\n/** ContentGroup class. Content Groups define content displayed in content views that are laid out using a [[ContentLayout]].\r\n * @public\r\n */\r\nexport class ContentGroup {\r\n private static _sId = 0;\r\n public groupId: string;\r\n public propsId: string;\r\n public layout: ContentLayoutProps;\r\n public contentPropsList: ContentProps[];\r\n private _contentControls = new Map<string, ContentControl>();\r\n private _contentSetMap = new Map<string, ContentControl>();\r\n\r\n public get id() {\r\n return this.groupId;\r\n }\r\n\r\n constructor(contentGroupProps: ContentGroupProps) {\r\n this.layout = { ...contentGroupProps.layout };\r\n this.propsId = contentGroupProps.id;\r\n // ensure we have a unique groupId for each instance of a content group - this will be used to generate a key in the React controls\r\n this.groupId = `[${contentGroupProps.id}-${ContentGroup._sId++}]`;\r\n this.contentPropsList = contentGroupProps.contents;\r\n }\r\n\r\n /** Gets a [[ContentControl]] from the Content Group based on its [[ContentProps]]. */\r\n public getContentControl(contentProps: ContentProps, _index: number): ContentControl | undefined {\r\n // ensure we have a unique control Id for each instance of a content control - this will be used as a key for the React control - see `ContentControl.getKeyedReactNode`\r\n const id = `${contentProps.id}::${this.groupId}`;\r\n let contentControl: ContentControl | undefined;\r\n\r\n if (!this._contentControls.get(contentProps.id)) {\r\n let usedClassId: string = \"\";\r\n\r\n if (typeof contentProps.classId === \"string\") {\r\n if (!this._contentControls.get(contentProps.id) && ConfigurableUiManager.isControlRegistered(contentProps.classId)) {\r\n contentControl = ConfigurableUiManager.createControl(contentProps.classId, id, contentProps.applicationData, contentProps.id) as ContentControl;\r\n usedClassId = contentProps.classId;\r\n }\r\n } else {\r\n const info = new ConfigurableCreateInfo(contentProps.classId.name, id, contentProps.id);\r\n contentControl = new contentProps.classId(info, contentProps.applicationData) as ContentControl;\r\n usedClassId = contentProps.classId.name;\r\n }\r\n\r\n if (contentControl) {\r\n if (contentControl.getType() !== ConfigurableUiControlType.Content && contentControl.getType() !== ConfigurableUiControlType.Viewport) {\r\n throw new UiError(UiFramework.loggerCategory(this), `getContentControl error: '${usedClassId}' is NOT a ContentControl or ViewportContentControl`);\r\n }\r\n contentControl.initialize();\r\n this._contentControls.set(contentProps.id, contentControl);\r\n }\r\n }\r\n\r\n return this._contentControls.get(contentProps.id);\r\n }\r\n\r\n /** Gets a [[ContentControl]] from the Content Group with a given ID. */\r\n public getContentControlById(id: string): ContentControl | undefined {\r\n return this._contentControls.get(id);\r\n }\r\n\r\n /** Gets the React nodes representing the Content Views in this Content Group. */\r\n public getContentNodes(): React.ReactNode[] {\r\n const contentNodes: React.ReactNode[] = new Array<React.ReactNode>();\r\n\r\n this._contentSetMap.clear();\r\n\r\n this.contentPropsList.forEach((contentProps: ContentProps, index: number) => {\r\n const control = this.getContentControl(contentProps, index);\r\n if (control) {\r\n contentNodes.push(control.reactNode);\r\n this._contentSetMap.set(control.controlId, control);\r\n }\r\n });\r\n\r\n return contentNodes;\r\n }\r\n\r\n /** Gets the [[ContentControl]] associated with a given React node representing a Content View. */\r\n public getControlFromElement(node: React.ReactNode): ContentControl | undefined {\r\n if (this._contentSetMap.size === 0)\r\n this.getContentNodes();\r\n\r\n if (node && (node as React.ReactElement<any>).key) {\r\n const key = ((node as React.ReactElement<any>).key as string);\r\n // key has format `${contentProps.id}::${this.groupId}` which is stored as unique id\r\n const controlId = key.split(\"::\", 1)[0];\r\n return this._contentSetMap.get(controlId);\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Refreshes the React nodes representing the Content Views in this Content Group.. */\r\n public refreshContentNodes() {\r\n this._contentSetMap.clear();\r\n }\r\n\r\n /** Gets an array of the content controls representing the Content Views. */\r\n public getContentControls(): ContentControl[] {\r\n const contentControls: ContentControl[] = new Array<ContentControl>();\r\n\r\n this.contentPropsList.forEach((contentProps: ContentProps, index: number) => {\r\n const control = this.getContentControl(contentProps, index);\r\n if (control) {\r\n contentControls.push(control);\r\n }\r\n });\r\n\r\n return contentControls;\r\n }\r\n\r\n /** Called when Frontstage is deactivated. */\r\n public onFrontstageDeactivated(): void {\r\n this.clearContentControls();\r\n }\r\n\r\n /** Called when Frontstage is ready. */\r\n public onFrontstageReady(): void { }\r\n\r\n /** Clears the map of content controls. */\r\n public clearContentControls(): void {\r\n this._contentControls.clear();\r\n }\r\n\r\n /** Creates [[ContentGroupProps]] for JSON purposes\r\n * @public\r\n */\r\n public toJSON(contentCallback?: ContentCallback): ContentGroupProps {\r\n const contentGroupProps: ContentGroupProps = {\r\n id: this.propsId,\r\n layout: this.layout,\r\n contents: this.contentPropsList,\r\n };\r\n\r\n contentGroupProps.contents.forEach((content: ContentProps, index: number) => {\r\n if (typeof content.classId !== \"string\") {\r\n const classId = ConfigurableUiManager.getConstructorClassId(content.classId);\r\n if (classId !== undefined)\r\n content.classId = classId;\r\n else\r\n throw new UiError(UiFramework.loggerCategory(this), `toJSON: ContentControl at index ${index} is NOT registered with a string id`);\r\n\r\n if (contentCallback)\r\n contentCallback(content);\r\n }\r\n });\r\n\r\n return contentGroupProps;\r\n }\r\n\r\n /** Gets Viewports from Viewport Content Controls\r\n * @internal\r\n */\r\n public getViewports(): Array<ScreenViewport | undefined> {\r\n const contentControls = this.getContentControls();\r\n const viewports = new Array<ScreenViewport | undefined>();\r\n\r\n contentControls.forEach((control: ContentControl) => {\r\n if (control.isViewport && control.viewport) {\r\n viewports.push(control.viewport);\r\n } else {\r\n viewports.push(undefined);\r\n }\r\n });\r\n\r\n return viewports;\r\n }\r\n}\r\n"]}
|
|
@@ -14,12 +14,15 @@ import { ZoneLocation, ZoneProps } from "../zones/Zone";
|
|
|
14
14
|
import { ZoneDef } from "../zones/ZoneDef";
|
|
15
15
|
import { FrontstageRuntimeProps, ZoneDefProvider } from "./FrontstageComposer";
|
|
16
16
|
/** Properties for a [[Frontstage]] component.
|
|
17
|
+
* @deprecated Props of a deprecated component.
|
|
17
18
|
* @public
|
|
18
19
|
*/
|
|
19
20
|
export interface FrontstageProps extends CommonProps {
|
|
20
21
|
/** Id for the Frontstage */
|
|
21
22
|
id: string;
|
|
22
|
-
/** Tool that is started once the Frontstage is activated
|
|
23
|
+
/** Tool that is started once the Frontstage is activated.
|
|
24
|
+
* Use [FrontstageManager.onFrontstageReadyEvent] instead.
|
|
25
|
+
*/
|
|
23
26
|
defaultTool: ToolItemDef;
|
|
24
27
|
/** The Content Group providing the Content Views */
|
|
25
28
|
contentGroup: ContentGroup | ContentGroupProvider;
|
|
@@ -98,6 +101,7 @@ interface FrontstageState {
|
|
|
98
101
|
}
|
|
99
102
|
/** Frontstage React component.
|
|
100
103
|
* A Frontstage is a full-screen configuration designed to enable the user to accomplish a task.
|
|
104
|
+
* @deprecated Use [FrontstageConfig] instead.
|
|
101
105
|
* @public
|
|
102
106
|
*/
|
|
103
107
|
export declare class Frontstage extends React.Component<FrontstageProps, FrontstageState> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Frontstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/Frontstage.tsx"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,kBAAkB,EAAkE,MAAM,uBAAuB,CAAC;AAC3H,OAAO,EAAE,WAAW,EAAa,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EACyF,YAAY,EAAiB,gBAAgB,EAC3I,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAA0B,eAAe,EAA0B,MAAM,2BAA2B,CAAC;AAC5G,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAI7D,OAAO,EAAE,SAAS,EAA+B,MAAM,sBAAsB,CAAC;AAE9E,OAAO,EAA0C,YAAY,EAAE,SAAS,EAAoB,MAAM,eAAe,CAAC;AAClH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG/E
|
|
1
|
+
{"version":3,"file":"Frontstage.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/Frontstage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ import { ZoneDef } from "../zones/ZoneDef";
|
|
|
23
23
|
import { FrontstageManager } from "./FrontstageManager";
|
|
24
24
|
/** Frontstage React component.
|
|
25
25
|
* A Frontstage is a full-screen configuration designed to enable the user to accomplish a task.
|
|
26
|
+
* @deprecated Use [FrontstageConfig] instead.
|
|
26
27
|
* @public
|
|
27
28
|
*/
|
|
28
29
|
export class Frontstage extends React.Component {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Frontstage.js","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/Frontstage.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/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module Frontstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport * as ReactDOM from \"react-dom\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { StagePanelLocation, UiItemProviderRegisteredEventArgs, UiItemsManager, WidgetState } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, Rectangle } from \"@itwin/core-react\";\r\nimport {\r\n HorizontalAnchor, Zones as NZ_Zones, StagePanels, StagePanelsManager, ToolSettingsWidgetMode, WidgetZoneId, widgetZoneIds, ZoneManagerProps,\r\n ZonesManagerProps,\r\n} from \"@itwin/appui-layout-react\";\r\nimport { ContentGroup, ContentGroupProvider } from \"../content/ContentGroup\";\r\nimport { ContentLayout } from \"../content/ContentLayout\";\r\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\r\nimport { getNestedStagePanelKey, StagePanelProps, StagePanelRuntimeProps } from \"../stagepanels/StagePanel\";\r\nimport { StagePanelDef } from \"../stagepanels/StagePanelDef\";\r\nimport { UiFramework, UiVisibilityEventArgs } from \"../UiFramework\";\r\nimport { UiShowHideManager } from \"../utils/UiShowHideManager\";\r\nimport { ToolSettingsContent } from \"../widgets/ToolSettingsContent\";\r\nimport { WidgetDef, WidgetStateChangedEventArgs } from \"../widgets/WidgetDef\";\r\nimport { WidgetsChangedEventArgs } from \"../widgets/WidgetManager\";\r\nimport { isToolSettingsWidgetManagerProps, Zone, ZoneLocation, ZoneProps, ZoneRuntimeProps } from \"../zones/Zone\";\r\nimport { ZoneDef } from \"../zones/ZoneDef\";\r\nimport { FrontstageRuntimeProps, ZoneDefProvider } from \"./FrontstageComposer\";\r\nimport { FrontstageActivatedEventArgs, FrontstageManager } from \"./FrontstageManager\";\r\n\r\n/** Properties for a [[Frontstage]] component.\r\n * @public\r\n */\r\nexport interface FrontstageProps extends CommonProps {\r\n /** Id for the Frontstage */\r\n id: string;\r\n /** Tool that is started once the Frontstage is activated */\r\n defaultTool: ToolItemDef;\r\n /** The Content Group providing the Content Views */\r\n contentGroup: ContentGroup | ContentGroupProvider;\r\n /** Id of the Content View to be activated initially */\r\n defaultContentId?: string;\r\n /** Indicated whether the StatusBar is in footer mode or widget mode. Defaults to true.\r\n * @deprecated In upcoming version, widget mode will be removed and footer mode will always be true.\r\n */\r\n isInFooterMode?: boolean; // Default - true\r\n /** Any application data to attach to this Frontstage. */\r\n applicationData?: any;\r\n /** Usage type for this Frontstage. */\r\n usage?: string;\r\n /** Frontstage version. Used to force saved layout reinitialization after changes to frontstage.\r\n * @note This value should be increased when changes are made to Frontstage.\r\n * Increasing the value will make sure to reinitialize App layout instead of restoring to old layout.\r\n * Version increase is required when widgets are added/removed.\r\n */\r\n version?: number;\r\n /** if isIModelIndependent then frontstage is independent from any iModel. */\r\n isIModelIndependent?: boolean;\r\n /** The Zone in the top-left corner.\r\n * @deprecated Use 'contentManipulationTools' property. */\r\n topLeft?: React.ReactElement<ZoneProps>;\r\n /** The Zone along the top-center edge.\r\n * @deprecated Use 'toolSettings' property. */\r\n topCenter?: React.ReactElement<ZoneProps>;\r\n /** The Zone in the top-right corner.\r\n * @deprecated Use 'viewNavigationTools' property. */\r\n topRight?: React.ReactElement<ZoneProps>;\r\n /** The Zone along the center-left edge.\r\n * @deprecated Place widgets in appropriate stage panel zone. */\r\n centerLeft?: React.ReactElement<ZoneProps>;\r\n /** The Zone along the center-right edge.\r\n * @deprecated Place widgets in appropriate stage panel zone. */\r\n centerRight?: React.ReactElement<ZoneProps>;\r\n /** The Zone in the bottom-left corner.\r\n * @deprecated Place widgets in appropriate stage panel zone. */\r\n bottomLeft?: React.ReactElement<ZoneProps>;\r\n /** The Zone along the bottom-center edge.\r\n * @deprecated use statusBar property */\r\n bottomCenter?: React.ReactElement<ZoneProps>;\r\n /** The Zone in the bottom-right corner.\r\n * @deprecated Place widgets in appropriate stage panel zone. */\r\n bottomRight?: React.ReactElement<ZoneProps>;\r\n\r\n /** The Zone in the top-left corner that shows tools typically used to query and modify content. To be used in place of deprecated topLeft zone definition. */\r\n contentManipulationTools?: React.ReactElement<ZoneProps>;\r\n /** The Zone the that shows settings for the active tool. To be used in place of deprecated topCenter zone definition. */\r\n toolSettings?: React.ReactElement<ZoneProps>;\r\n /** The Zone in the top-right corner that shows view navigation tools. To be used in place of deprecated topRight zone definition */\r\n viewNavigationTools?: React.ReactElement<ZoneProps>;\r\n /** The status bar Zone shown as the application footer. To be used in place of deprecated bottomCenter zone definition. */\r\n statusBar?: React.ReactElement<ZoneProps>;\r\n\r\n /** The StagePanel on the top of the AppUi container. */\r\n topPanel?: React.ReactElement<StagePanelProps>;\r\n /** The StagePanel on the very top across the full width.\r\n * @deprecated Only topPanel is supported in UI 2.0 */\r\n topMostPanel?: React.ReactElement<StagePanelProps>;\r\n /** The StagePanel on the left. */\r\n leftPanel?: React.ReactElement<StagePanelProps>;\r\n /** The StagePanel on the right. */\r\n rightPanel?: React.ReactElement<StagePanelProps>;\r\n /** The StagePanel on the bottom of the AppUi container. */\r\n bottomPanel?: React.ReactElement<StagePanelProps>;\r\n /** The StagePanel on the very bottom across the full width.\r\n * @deprecated Only bottomPanel is supported in UI 2.0 */\r\n bottomMostPanel?: React.ReactElement<StagePanelProps>;\r\n\r\n /** @internal */\r\n runtimeProps?: FrontstageRuntimeProps;\r\n}\r\n\r\ninterface FrontstageState {\r\n isUiVisible: boolean;\r\n widgetIdToContent: Partial<{ [id in WidgetZoneId]: HTMLDivElement | undefined }>; // eslint-disable-line deprecation/deprecation\r\n}\r\n\r\n/** Frontstage React component.\r\n * A Frontstage is a full-screen configuration designed to enable the user to accomplish a task.\r\n * @public\r\n */\r\nexport class Frontstage extends React.Component<FrontstageProps, FrontstageState> {\r\n private _isMounted = false;\r\n private static _zoneIds: ReadonlyArray<WidgetZoneId> = widgetZoneIds.filter((z) => z !== 8); // eslint-disable-line deprecation/deprecation\r\n private _contentRefs = new Map<WidgetZoneId, React.Ref<HTMLDivElement>>(); // eslint-disable-line deprecation/deprecation\r\n private _zonesMeasurer = React.createRef<HTMLDivElement>();\r\n private _floatingZonesMeasurer = React.createRef<HTMLDivElement>();\r\n private _zonesStyle: React.CSSProperties = {\r\n pointerEvents: \"none\",\r\n };\r\n private _zonesFooterModeStyle: React.CSSProperties = {\r\n ...this._zonesStyle,\r\n display: \"flex\",\r\n flexFlow: \"column\",\r\n };\r\n\r\n /** @internal */\r\n constructor(props: FrontstageProps) {\r\n super(props);\r\n\r\n this.state = {\r\n isUiVisible: UiFramework.getIsUiVisible(),\r\n widgetIdToContent: {},\r\n };\r\n }\r\n\r\n /** React lifecycle method.\r\n * @internal\r\n */\r\n public override async componentDidMount() {\r\n this._isMounted = true;\r\n UiFramework.onUiVisibilityChanged.addListener(this._uiVisibilityChanged);\r\n UiFramework.widgetManager.onWidgetsChanged.addListener(this._handleWidgetsChanged);\r\n UiItemsManager.onUiProviderRegisteredEvent.addListener(this._handleUiProviderRegisteredEvent);\r\n }\r\n\r\n public override componentDidUpdate() {\r\n if (!this._zonesMeasurer.current || !this._floatingZonesMeasurer.current || !this.props.runtimeProps)\r\n return;\r\n let floatingBounds = Rectangle.create(this._floatingZonesMeasurer.current.getBoundingClientRect());\r\n const bounds = Rectangle.create(this._zonesMeasurer.current.getBoundingClientRect());\r\n const offset = bounds.topLeft().getOffsetTo(floatingBounds.topLeft());\r\n floatingBounds = floatingBounds.setPosition(offset);\r\n this.props.runtimeProps.nineZoneChangeHandler.handleZonesBoundsChange(bounds);\r\n this.props.runtimeProps.nineZoneChangeHandler.handleFloatingZonesBoundsChange(floatingBounds);\r\n }\r\n\r\n /** React lifecycle method.\r\n * @internal\r\n */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n UiFramework.onUiVisibilityChanged.removeListener(this._uiVisibilityChanged);\r\n UiItemsManager.onUiProviderRegisteredEvent.removeListener(this._handleUiProviderRegisteredEvent);\r\n }\r\n\r\n private _uiVisibilityChanged = (args: UiVisibilityEventArgs): void => {\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({ isUiVisible: args.visible });\r\n };\r\n\r\n private _handleWidgetsChanged = (_args: WidgetsChangedEventArgs): void => {\r\n this.updateWidgetDefs();\r\n };\r\n\r\n private _handleUiProviderRegisteredEvent = (_args: UiItemProviderRegisteredEventArgs): void => {\r\n this.updateWidgetDefs();\r\n };\r\n\r\n private updateWidgetDefs() {\r\n // istanbul ignore else\r\n if (!this.props.runtimeProps)\r\n return;\r\n\r\n // istanbul ignore next\r\n {\r\n const frontstageDef = this.props.runtimeProps.frontstageDef;\r\n frontstageDef.updateWidgetDefs();\r\n FrontstageManager.onWidgetDefsUpdatedEvent.emit();\r\n if (this._isMounted)\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n /** @internal */\r\n public static createZoneDef(zoneNode: React.ReactElement<ZoneProps> | undefined, zoneLocation: ZoneLocation, props: FrontstageProps): ZoneDef | undefined {\r\n if (zoneNode) {\r\n const zoneDef = new ZoneDef();\r\n const zoneElement = Frontstage.getZoneElement(zoneLocation, props);\r\n\r\n zoneDef.zoneLocation = zoneLocation;\r\n\r\n // istanbul ignore else\r\n if (zoneElement && React.isValidElement(zoneElement)) {\r\n Zone.initializeZoneDef(zoneDef, zoneElement.props);\r\n return zoneDef;\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n private static getZoneElement(zoneId: WidgetZoneId, props: FrontstageProps): React.ReactElement<ZoneProps> | undefined { // eslint-disable-line deprecation/deprecation\r\n switch (zoneId) {\r\n case ZoneLocation.TopLeft:\r\n return props.contentManipulationTools ? props.contentManipulationTools : props.topLeft; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.TopCenter:\r\n return props.toolSettings ? props.toolSettings : props.topCenter; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.TopRight:\r\n return props.viewNavigationTools ? /* istanbul ignore next */ props.viewNavigationTools : props.topRight; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.CenterLeft:\r\n return props.centerLeft; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.CenterRight:\r\n return props.centerRight; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.BottomLeft:\r\n return props.bottomLeft; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.BottomCenter:\r\n return props.statusBar ? props.statusBar : props.bottomCenter; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.BottomRight:\r\n return props.bottomRight; // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n // Zones can be undefined in a Frontstage\r\n // istanbul ignore next\r\n return undefined;\r\n }\r\n\r\n /** @internal */\r\n public static createStagePanelDef(panelLocation: StagePanelLocation, props: FrontstageProps): StagePanelDef | undefined {\r\n const panelDef = new StagePanelDef();\r\n\r\n const panelElement = Frontstage.getStagePanelElement(panelLocation, props);\r\n panelDef.initializeFromProps(panelElement?.props, panelLocation);\r\n\r\n return panelDef;\r\n }\r\n\r\n private static getStagePanelElement(location: StagePanelLocation, props: FrontstageProps): React.ReactElement<StagePanelProps> | undefined {\r\n let panelElement: React.ReactElement<StagePanelProps> | undefined;\r\n\r\n switch (location) {\r\n case StagePanelLocation.Top:\r\n panelElement = props.topPanel;\r\n break;\r\n case StagePanelLocation.TopMost:\r\n panelElement = props.topMostPanel; // eslint-disable-line deprecation/deprecation\r\n break;\r\n case StagePanelLocation.Left:\r\n panelElement = props.leftPanel;\r\n break;\r\n case StagePanelLocation.Right:\r\n panelElement = props.rightPanel;\r\n break;\r\n case StagePanelLocation.Bottom:\r\n panelElement = props.bottomPanel;\r\n break;\r\n case StagePanelLocation.BottomMost:\r\n panelElement = props.bottomMostPanel; // eslint-disable-line deprecation/deprecation\r\n break;\r\n // istanbul ignore next\r\n default:\r\n throw new RangeError();\r\n }\r\n\r\n // Panels can be undefined in a Frontstage\r\n\r\n return panelElement;\r\n }\r\n\r\n private _getContentRef = (widget: WidgetZoneId) => { // eslint-disable-line deprecation/deprecation\r\n const ref = this._contentRefs.get(widget);\r\n if (ref)\r\n return ref;\r\n const newRef = (el: HTMLDivElement | null) => {\r\n if (this._isMounted) {\r\n this.setState((prevState) => ({\r\n widgetIdToContent: {\r\n ...prevState.widgetIdToContent,\r\n [widget]: el === null ? undefined : el,\r\n },\r\n }));\r\n }\r\n };\r\n this._contentRefs.set(widget, newRef);\r\n return newRef;\r\n };\r\n\r\n // This uses ConfigurableUi to render the content\r\n private doContentLayoutRender(): React.ReactNode {\r\n let contentLayout: React.ReactNode;\r\n\r\n // istanbul ignore else\r\n if (this.props.runtimeProps && this.props.runtimeProps.frontstageDef) {\r\n const frontstageDef = this.props.runtimeProps.frontstageDef;\r\n\r\n // istanbul ignore else\r\n if (frontstageDef.contentLayoutDef && frontstageDef.contentGroup)\r\n contentLayout = (\r\n <ContentLayout\r\n contentLayout={frontstageDef.contentLayoutDef}\r\n contentGroup={frontstageDef.contentGroup}\r\n />\r\n );\r\n else\r\n Logger.logError(UiFramework.loggerCategory(this), `FrontstageDef.contentLayoutDef and FrontstageDef.contentGroup are required for <ContentLayout> component`);\r\n }\r\n\r\n return contentLayout;\r\n }\r\n\r\n private cloneStagePanelElement(panelDef: StagePanelDef | undefined, runtimeProps: FrontstageRuntimeProps): React.ReactNode {\r\n if (!this.state.isUiVisible && UiShowHideManager.showHidePanels)\r\n return null;\r\n\r\n // istanbul ignore else\r\n if (panelDef) {\r\n const { location } = panelDef;\r\n const panelElement = Frontstage.getStagePanelElement(location, this.props);\r\n\r\n // istanbul ignore else\r\n if (panelElement && React.isValidElement(panelElement)) {\r\n const panelKey = getNestedStagePanelKey(panelDef.location);\r\n const panels = runtimeProps.nineZone.nested.panels[panelKey.id];\r\n const panel = StagePanelsManager.getPanel(panelKey.type, panels);\r\n const draggedWidget = runtimeProps.nineZone.zones.draggedWidget;\r\n\r\n const panelRuntimeProps: StagePanelRuntimeProps = {\r\n draggedWidgetId: draggedWidget ? /* istanbul ignore next */ draggedWidget.id : undefined,\r\n getWidgetContentRef: this._getContentRef,\r\n isInFooterMode: runtimeProps.nineZone.zones.isInFooterMode,\r\n isTargeted: !!runtimeProps.nineZone.zones.target,\r\n panel,\r\n panelDef,\r\n stagePanelChangeHandler: runtimeProps.stagePanelChangeHandler,\r\n widgetChangeHandler: runtimeProps.widgetChangeHandler,\r\n widgets: runtimeProps.nineZone.zones.widgets,\r\n widgetTabs: runtimeProps.widgetTabs,\r\n zoneDefProvider: runtimeProps.zoneDefProvider,\r\n };\r\n\r\n return React.cloneElement(panelElement, { runtimeProps: panelRuntimeProps });\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n private cloneZoneElements(zoneIds: ReadonlyArray<WidgetZoneId>, runtimeProps: FrontstageRuntimeProps): React.ReactNode[] {\r\n return zoneIds.map((zoneId: WidgetZoneId) => { // eslint-disable-line deprecation/deprecation\r\n const zoneElement = Frontstage.getZoneElement(zoneId, this.props);\r\n if (!zoneElement || !React.isValidElement(zoneElement))\r\n return null;\r\n\r\n const zoneDef = runtimeProps.zoneDefProvider.getZoneDef(zoneId);\r\n\r\n // istanbul ignore if\r\n if (!zoneDef)\r\n return null;\r\n\r\n const nestedPanelsManager = FrontstageManager.NineZoneManager.getNestedPanelsManager();\r\n const panelsManager = nestedPanelsManager.getPanelsManager(\"inner\");\r\n const type = panelsManager.findWidget(zoneId, runtimeProps.nineZone.nested.panels.inner);\r\n // istanbul ignore if\r\n if (type !== undefined)\r\n return null;\r\n\r\n const zonesManager = FrontstageManager.NineZoneManager.getZonesManager();\r\n const zones = runtimeProps.nineZone.zones;\r\n const ghostOutline = zonesManager.getGhostOutlineBounds(zoneId, zones);\r\n const dropTarget = zonesManager.getDropTarget(zoneId, zones);\r\n const zone = getExtendedZone(zoneId, zones, runtimeProps.zoneDefProvider);\r\n const widget = zone.widgets.length > 0 ? zones.widgets[zone.widgets[0]] : undefined;\r\n const openWidgetId = zone.widgets.find((wId) => zones.widgets[wId].tabIndex >= 0);\r\n const activeTabIndex = openWidgetId ? zones.widgets[openWidgetId].tabIndex : 0;\r\n const draggedWidget = runtimeProps.nineZone.zones.draggedWidget;\r\n const disabledResizeHandles = zonesManager.getDisabledResizeHandles(zoneId, zones);\r\n // istanbul ignore next\r\n const zoneRuntimeProps: ZoneRuntimeProps = {\r\n activeTabIndex,\r\n disabledResizeHandles,\r\n draggedWidget: draggedWidget && /* istanbul ignore next */ draggedWidget.id === zoneId ? /* istanbul ignore next */ draggedWidget : undefined,\r\n dropTarget,\r\n getWidgetContentRef: this._getContentRef,\r\n ghostOutline,\r\n isHidden: (zoneDef.isStatusBar && this.props.isInFooterMode && ( /* istanbul ignore next */ this.state.isUiVisible || /* istanbul ignore next */ !UiShowHideManager.showHideFooter)) ?\r\n /* istanbul ignore next */ false : !this.state.isUiVisible,\r\n isInFooterMode: runtimeProps.nineZone.zones.isInFooterMode,\r\n openWidgetId,\r\n targetChangeHandler: runtimeProps.targetChangeHandler,\r\n widgetChangeHandler: runtimeProps.widgetChangeHandler,\r\n widgetTabs: runtimeProps.widgetTabs,\r\n widget,\r\n zoneDef,\r\n zoneDefProvider: runtimeProps.zoneDefProvider,\r\n zone,\r\n };\r\n return React.cloneElement(zoneElement, { key: zoneId, runtimeProps: zoneRuntimeProps });\r\n });\r\n }\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n private cloneWidgetContentElements(zones: ReadonlyArray<WidgetZoneId>, runtimeProps: FrontstageRuntimeProps): React.ReactNode[] {\r\n // eslint-disable-next-line deprecation/deprecation\r\n const widgets = zones.reduce<Array<{ id: WidgetZoneId, def: WidgetDef, tabIndex: number }>>((prev, zoneId) => {\r\n const zoneDef = runtimeProps.zoneDefProvider.getZoneDef(zoneId);\r\n\r\n // istanbul ignore if\r\n if (!zoneDef)\r\n return prev;\r\n\r\n const widgetDefs = zoneDef.widgetDefs.filter((widgetDef: WidgetDef) => {\r\n if (zoneId === 2)\r\n return widgetDef.isVisible;\r\n return widgetDef.isVisible && !widgetDef.isFloating;\r\n });\r\n\r\n for (let i = 0; i < widgetDefs.length; i++) {\r\n prev.push({\r\n id: zoneId,\r\n def: widgetDefs[i],\r\n tabIndex: i,\r\n });\r\n }\r\n\r\n return prev;\r\n }, []);\r\n return widgets.map((widget) => {\r\n const nzWidget = runtimeProps.nineZone.zones.widgets[widget.id];\r\n return (\r\n <WidgetContentRenderer\r\n anchor={nzWidget.horizontalAnchor}\r\n isHidden={nzWidget.tabIndex !== widget.tabIndex}\r\n key={`${widget.id}_${widget.tabIndex}`}\r\n renderTo={this.state.widgetIdToContent[widget.id]}\r\n toolSettingsMode={isToolSettingsWidgetManagerProps(nzWidget) ? nzWidget.mode : undefined}\r\n widgetDef={widget.def}\r\n />\r\n );\r\n });\r\n }\r\n\r\n /** React render method\r\n * @internal\r\n */\r\n public override render(): React.ReactNode {\r\n const { runtimeProps } = this.props;\r\n\r\n if (runtimeProps === undefined)\r\n return null;\r\n\r\n /** For Nine-zone area; includes ContentLayout */\r\n const ninezoneStyle: React.CSSProperties = {\r\n position: \"relative\",\r\n height: \"100%\",\r\n };\r\n\r\n const frontstageDef = runtimeProps.frontstageDef;\r\n\r\n return (\r\n <div style={ninezoneStyle} id=\"uifw-ninezone-area\" className={this.props.className}>\r\n <NZ_Zones style={runtimeProps.nineZone.zones.isInFooterMode ? this._zonesFooterModeStyle : this._zonesStyle} >\r\n <StagePanels\r\n bottomPanel={this.cloneStagePanelElement(frontstageDef.bottomMostPanel, runtimeProps)} // eslint-disable-line deprecation/deprecation\r\n topPanel={this.cloneStagePanelElement(frontstageDef.topMostPanel, runtimeProps)} // eslint-disable-line deprecation/deprecation\r\n >\r\n <StagePanels\r\n bottomPanel={this.cloneStagePanelElement(frontstageDef.bottomPanel, runtimeProps)}\r\n leftPanel={this.cloneStagePanelElement(frontstageDef.leftPanel, runtimeProps)}\r\n rightPanel={this.cloneStagePanelElement(frontstageDef.rightPanel, runtimeProps)}\r\n topPanel={this.cloneStagePanelElement(frontstageDef.topPanel, runtimeProps)}\r\n >\r\n <div\r\n id=\"uifw-ninezone-zones-area\"\r\n ref={this._zonesMeasurer}\r\n style={{\r\n height: \"100%\",\r\n position: \"relative\",\r\n }}\r\n >\r\n {this.doContentLayoutRender()}\r\n {this.cloneZoneElements(Frontstage._zoneIds, runtimeProps)}\r\n </div>\r\n </StagePanels>\r\n </StagePanels>\r\n {this.cloneZoneElements([8], runtimeProps)}\r\n <div\r\n id=\"uifw-ninezone-floating-zones-area\"\r\n ref={this._floatingZonesMeasurer}\r\n style={{\r\n height: \"100%\",\r\n width: \"100%\",\r\n position: \"absolute\",\r\n }}\r\n />\r\n </NZ_Zones>\r\n {this.cloneWidgetContentElements(Frontstage._zoneIds, runtimeProps)}\r\n </div>\r\n );\r\n }\r\n}\r\n\r\ninterface WidgetContentRendererProps {\r\n anchor: HorizontalAnchor; // eslint-disable-line deprecation/deprecation\r\n isHidden: boolean;\r\n renderTo: HTMLDivElement | undefined;\r\n toolSettingsMode: ToolSettingsWidgetMode | undefined;\r\n widgetDef: WidgetDef;\r\n}\r\n\r\ninterface WidgetContentRendererState {\r\n widgetKey: number;\r\n}\r\n\r\nclass WidgetContentRenderer extends React.PureComponent<WidgetContentRendererProps, WidgetContentRendererState> {\r\n private _isMounted = false;\r\n private _content = document.createElement(\"span\");\r\n public constructor(props: WidgetContentRendererProps) {\r\n super(props);\r\n\r\n this.state = {\r\n widgetKey: 0,\r\n };\r\n }\r\n\r\n public override componentDidMount() {\r\n this._isMounted = true;\r\n FrontstageManager.onWidgetStateChangedEvent.addListener(this._handleWidgetStateChangedEvent);\r\n FrontstageManager.onToolActivatedEvent.addListener(this._handleToolActivatedEvent);\r\n\r\n this._content.style.display = this.props.isHidden ? \"none\" : \"flex\";\r\n this._content.style.flexDirection = \"column\";\r\n this._content.style.height = \"100%\";\r\n if (!this.props.renderTo)\r\n return;\r\n this.props.renderTo.appendChild(this._content);\r\n }\r\n\r\n public override componentDidUpdate(prevProps: WidgetContentRendererProps) {\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n if (this.props.isHidden !== prevProps.isHidden) {\r\n this._content.style.display = this.props.isHidden ? \"none\" : \"flex\";\r\n }\r\n\r\n if (!this.props.renderTo || prevProps.renderTo === this.props.renderTo)\r\n return;\r\n\r\n this.props.widgetDef.saveTransientState();\r\n this.props.renderTo.appendChild(this._content);\r\n\r\n const shouldRemount = this.props.widgetDef.restoreTransientState() || this.props.widgetDef.isToolSettings;\r\n\r\n shouldRemount && this.setState((prevState) => ({ widgetKey: prevState.widgetKey + 1 }));\r\n }\r\n\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n this._content.parentNode && this._content.parentNode.removeChild(this._content);\r\n FrontstageManager.onWidgetStateChangedEvent.removeListener(this._handleWidgetStateChangedEvent);\r\n FrontstageManager.onToolActivatedEvent.removeListener(this._handleToolActivatedEvent);\r\n }\r\n\r\n public override render() {\r\n if (this.props.toolSettingsMode !== undefined) {\r\n return ReactDOM.createPortal((\r\n <ToolSettingsContent\r\n anchor={this.props.anchor}\r\n key={this.state.widgetKey}\r\n mode={this.props.toolSettingsMode}\r\n >\r\n {FrontstageManager.activeToolSettingsProvider && FrontstageManager.activeToolSettingsProvider.toolSettingsNode}\r\n </ToolSettingsContent>\r\n ), this._content);\r\n }\r\n\r\n if (this.props.widgetDef.state === WidgetState.Unloaded)\r\n return null;\r\n return ReactDOM.createPortal((\r\n <React.Fragment\r\n key={this.state.widgetKey}\r\n >\r\n {this.props.widgetDef.reactNode}\r\n </React.Fragment>\r\n ), this._content);\r\n }\r\n\r\n private _handleWidgetStateChangedEvent = (args: WidgetStateChangedEventArgs) => {\r\n if (this.props.widgetDef !== args.widgetDef || !this._isMounted)\r\n return;\r\n this.forceUpdate();\r\n };\r\n\r\n private _handleToolActivatedEvent = () => {\r\n if (this.props.toolSettingsMode === undefined || !this._isMounted)\r\n return;\r\n // force update when tool is activated\r\n this.setState((prevState) => ({ widgetKey: prevState.widgetKey + 1 }));\r\n };\r\n}\r\n\r\n/** @internal */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport const getExtendedZone = (zoneId: WidgetZoneId, zones: ZonesManagerProps, defProvider: ZoneDefProvider): ZoneManagerProps => {\r\n const zone = zones.zones[zoneId];\r\n if (zoneId === 1 || zoneId === 3) {\r\n let extendOverId: WidgetZoneId = zoneId; // eslint-disable-line deprecation/deprecation\r\n const zonesManager = FrontstageManager.NineZoneManager.getZonesManager();\r\n let bottomZoneId = zonesManager.bottomZones.getInitial(extendOverId);\r\n while (bottomZoneId !== undefined) {\r\n const bottomZoneDef = defProvider.getZoneDef(bottomZoneId);\r\n if (bottomZoneDef && bottomZoneDef.widgetDefs.length !== 0)\r\n break;\r\n\r\n extendOverId = bottomZoneId;\r\n bottomZoneId = zonesManager.bottomZones.getInitial(bottomZoneId);\r\n }\r\n\r\n const bottom = zones.zones[extendOverId].bounds.bottom;\r\n if (bottom === zone.bounds.bottom)\r\n return zone;\r\n return {\r\n ...zone,\r\n bounds: {\r\n ...zone.bounds,\r\n bottom,\r\n },\r\n };\r\n }\r\n return zone;\r\n};\r\n\r\n/** Hook that returns active frontstage id.\r\n * @public\r\n */\r\nexport const useActiveFrontstageId = () => {\r\n const def = useActiveFrontstageDef();\r\n const id = React.useMemo(() => def ? /* istanbul ignore next */ def.id : \"\", [def]);\r\n return id;\r\n};\r\n\r\n/** @internal */\r\nexport function useActiveFrontstageDef() {\r\n const [def, setDef] = React.useState(FrontstageManager.activeFrontstageDef);\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const handleActivated = (args: FrontstageActivatedEventArgs) => {\r\n setDef(args.activatedFrontstageDef);\r\n };\r\n FrontstageManager.onFrontstageActivatedEvent.addListener(handleActivated);\r\n return () => {\r\n FrontstageManager.onFrontstageActivatedEvent.removeListener(handleActivated);\r\n };\r\n }, []);\r\n return def;\r\n}\r\n\r\n/** Hook that returns the widgetDef for a specific widgetId within the active frontstage.\r\n * @public\r\n */\r\nexport function useSpecificWidgetDef(widgetId: string) {\r\n const frontstageDef = useActiveFrontstageDef();\r\n return frontstageDef?.findWidgetDef(widgetId);\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"Frontstage.js","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/Frontstage.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/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module Frontstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport * as ReactDOM from \"react-dom\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { StagePanelLocation, UiItemProviderRegisteredEventArgs, UiItemsManager, WidgetState } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, Rectangle } from \"@itwin/core-react\";\r\nimport {\r\n HorizontalAnchor, Zones as NZ_Zones, StagePanels, StagePanelsManager, ToolSettingsWidgetMode, WidgetZoneId, widgetZoneIds, ZoneManagerProps,\r\n ZonesManagerProps,\r\n} from \"@itwin/appui-layout-react\";\r\nimport { ContentGroup, ContentGroupProvider } from \"../content/ContentGroup\";\r\nimport { ContentLayout } from \"../content/ContentLayout\";\r\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\r\nimport { getNestedStagePanelKey, StagePanelProps, StagePanelRuntimeProps } from \"../stagepanels/StagePanel\";\r\nimport { StagePanelDef } from \"../stagepanels/StagePanelDef\";\r\nimport { UiFramework, UiVisibilityEventArgs } from \"../UiFramework\";\r\nimport { UiShowHideManager } from \"../utils/UiShowHideManager\";\r\nimport { ToolSettingsContent } from \"../widgets/ToolSettingsContent\";\r\nimport { WidgetDef, WidgetStateChangedEventArgs } from \"../widgets/WidgetDef\";\r\nimport { WidgetsChangedEventArgs } from \"../widgets/WidgetManager\";\r\nimport { isToolSettingsWidgetManagerProps, Zone, ZoneLocation, ZoneProps, ZoneRuntimeProps } from \"../zones/Zone\";\r\nimport { ZoneDef } from \"../zones/ZoneDef\";\r\nimport { FrontstageRuntimeProps, ZoneDefProvider } from \"./FrontstageComposer\";\r\nimport { FrontstageActivatedEventArgs, FrontstageManager } from \"./FrontstageManager\";\r\n\r\n/** Properties for a [[Frontstage]] component.\r\n * @deprecated Props of a deprecated component.\r\n * @public\r\n */\r\nexport interface FrontstageProps extends CommonProps {\r\n /** Id for the Frontstage */\r\n id: string;\r\n /** Tool that is started once the Frontstage is activated.\r\n * Use [FrontstageManager.onFrontstageReadyEvent] instead.\r\n */\r\n defaultTool: ToolItemDef;\r\n /** The Content Group providing the Content Views */\r\n contentGroup: ContentGroup | ContentGroupProvider;\r\n /** Id of the Content View to be activated initially */\r\n defaultContentId?: string;\r\n /** Indicated whether the StatusBar is in footer mode or widget mode. Defaults to true.\r\n * @deprecated In upcoming version, widget mode will be removed and footer mode will always be true.\r\n */\r\n isInFooterMode?: boolean; // Default - true\r\n /** Any application data to attach to this Frontstage. */\r\n applicationData?: any;\r\n /** Usage type for this Frontstage. */\r\n usage?: string;\r\n /** Frontstage version. Used to force saved layout reinitialization after changes to frontstage.\r\n * @note This value should be increased when changes are made to Frontstage.\r\n * Increasing the value will make sure to reinitialize App layout instead of restoring to old layout.\r\n * Version increase is required when widgets are added/removed.\r\n */\r\n version?: number;\r\n /** if isIModelIndependent then frontstage is independent from any iModel. */\r\n isIModelIndependent?: boolean;\r\n /** The Zone in the top-left corner.\r\n * @deprecated Use 'contentManipulationTools' property. */\r\n topLeft?: React.ReactElement<ZoneProps>;\r\n /** The Zone along the top-center edge.\r\n * @deprecated Use 'toolSettings' property. */\r\n topCenter?: React.ReactElement<ZoneProps>;\r\n /** The Zone in the top-right corner.\r\n * @deprecated Use 'viewNavigationTools' property. */\r\n topRight?: React.ReactElement<ZoneProps>;\r\n /** The Zone along the center-left edge.\r\n * @deprecated Place widgets in appropriate stage panel zone. */\r\n centerLeft?: React.ReactElement<ZoneProps>;\r\n /** The Zone along the center-right edge.\r\n * @deprecated Place widgets in appropriate stage panel zone. */\r\n centerRight?: React.ReactElement<ZoneProps>;\r\n /** The Zone in the bottom-left corner.\r\n * @deprecated Place widgets in appropriate stage panel zone. */\r\n bottomLeft?: React.ReactElement<ZoneProps>;\r\n /** The Zone along the bottom-center edge.\r\n * @deprecated use statusBar property */\r\n bottomCenter?: React.ReactElement<ZoneProps>;\r\n /** The Zone in the bottom-right corner.\r\n * @deprecated Place widgets in appropriate stage panel zone. */\r\n bottomRight?: React.ReactElement<ZoneProps>;\r\n\r\n /** The Zone in the top-left corner that shows tools typically used to query and modify content. To be used in place of deprecated topLeft zone definition. */\r\n contentManipulationTools?: React.ReactElement<ZoneProps>;\r\n /** The Zone the that shows settings for the active tool. To be used in place of deprecated topCenter zone definition. */\r\n toolSettings?: React.ReactElement<ZoneProps>;\r\n /** The Zone in the top-right corner that shows view navigation tools. To be used in place of deprecated topRight zone definition */\r\n viewNavigationTools?: React.ReactElement<ZoneProps>;\r\n /** The status bar Zone shown as the application footer. To be used in place of deprecated bottomCenter zone definition. */\r\n statusBar?: React.ReactElement<ZoneProps>;\r\n\r\n /** The StagePanel on the top of the AppUi container. */\r\n topPanel?: React.ReactElement<StagePanelProps>;\r\n /** The StagePanel on the very top across the full width.\r\n * @deprecated Only topPanel is supported in UI 2.0 */\r\n topMostPanel?: React.ReactElement<StagePanelProps>;\r\n /** The StagePanel on the left. */\r\n leftPanel?: React.ReactElement<StagePanelProps>;\r\n /** The StagePanel on the right. */\r\n rightPanel?: React.ReactElement<StagePanelProps>;\r\n /** The StagePanel on the bottom of the AppUi container. */\r\n bottomPanel?: React.ReactElement<StagePanelProps>;\r\n /** The StagePanel on the very bottom across the full width.\r\n * @deprecated Only bottomPanel is supported in UI 2.0 */\r\n bottomMostPanel?: React.ReactElement<StagePanelProps>;\r\n\r\n /** @internal */\r\n runtimeProps?: FrontstageRuntimeProps;\r\n}\r\n\r\ninterface FrontstageState {\r\n isUiVisible: boolean;\r\n widgetIdToContent: Partial<{ [id in WidgetZoneId]: HTMLDivElement | undefined }>; // eslint-disable-line deprecation/deprecation\r\n}\r\n\r\n/** Frontstage React component.\r\n * A Frontstage is a full-screen configuration designed to enable the user to accomplish a task.\r\n * @deprecated Use [FrontstageConfig] instead.\r\n * @public\r\n */\r\nexport class Frontstage extends React.Component<FrontstageProps, FrontstageState> {\r\n private _isMounted = false;\r\n private static _zoneIds: ReadonlyArray<WidgetZoneId> = widgetZoneIds.filter((z) => z !== 8); // eslint-disable-line deprecation/deprecation\r\n private _contentRefs = new Map<WidgetZoneId, React.Ref<HTMLDivElement>>(); // eslint-disable-line deprecation/deprecation\r\n private _zonesMeasurer = React.createRef<HTMLDivElement>();\r\n private _floatingZonesMeasurer = React.createRef<HTMLDivElement>();\r\n private _zonesStyle: React.CSSProperties = {\r\n pointerEvents: \"none\",\r\n };\r\n private _zonesFooterModeStyle: React.CSSProperties = {\r\n ...this._zonesStyle,\r\n display: \"flex\",\r\n flexFlow: \"column\",\r\n };\r\n\r\n /** @internal */\r\n constructor(props: FrontstageProps) {\r\n super(props);\r\n\r\n this.state = {\r\n isUiVisible: UiFramework.getIsUiVisible(),\r\n widgetIdToContent: {},\r\n };\r\n }\r\n\r\n /** React lifecycle method.\r\n * @internal\r\n */\r\n public override async componentDidMount() {\r\n this._isMounted = true;\r\n UiFramework.onUiVisibilityChanged.addListener(this._uiVisibilityChanged);\r\n UiFramework.widgetManager.onWidgetsChanged.addListener(this._handleWidgetsChanged);\r\n UiItemsManager.onUiProviderRegisteredEvent.addListener(this._handleUiProviderRegisteredEvent);\r\n }\r\n\r\n public override componentDidUpdate() {\r\n if (!this._zonesMeasurer.current || !this._floatingZonesMeasurer.current || !this.props.runtimeProps)\r\n return;\r\n let floatingBounds = Rectangle.create(this._floatingZonesMeasurer.current.getBoundingClientRect());\r\n const bounds = Rectangle.create(this._zonesMeasurer.current.getBoundingClientRect());\r\n const offset = bounds.topLeft().getOffsetTo(floatingBounds.topLeft());\r\n floatingBounds = floatingBounds.setPosition(offset);\r\n this.props.runtimeProps.nineZoneChangeHandler.handleZonesBoundsChange(bounds);\r\n this.props.runtimeProps.nineZoneChangeHandler.handleFloatingZonesBoundsChange(floatingBounds);\r\n }\r\n\r\n /** React lifecycle method.\r\n * @internal\r\n */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n UiFramework.onUiVisibilityChanged.removeListener(this._uiVisibilityChanged);\r\n UiItemsManager.onUiProviderRegisteredEvent.removeListener(this._handleUiProviderRegisteredEvent);\r\n }\r\n\r\n private _uiVisibilityChanged = (args: UiVisibilityEventArgs): void => {\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({ isUiVisible: args.visible });\r\n };\r\n\r\n private _handleWidgetsChanged = (_args: WidgetsChangedEventArgs): void => {\r\n this.updateWidgetDefs();\r\n };\r\n\r\n private _handleUiProviderRegisteredEvent = (_args: UiItemProviderRegisteredEventArgs): void => {\r\n this.updateWidgetDefs();\r\n };\r\n\r\n private updateWidgetDefs() {\r\n // istanbul ignore else\r\n if (!this.props.runtimeProps)\r\n return;\r\n\r\n // istanbul ignore next\r\n {\r\n const frontstageDef = this.props.runtimeProps.frontstageDef;\r\n frontstageDef.updateWidgetDefs();\r\n FrontstageManager.onWidgetDefsUpdatedEvent.emit();\r\n if (this._isMounted)\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n /** @internal */\r\n public static createZoneDef(zoneNode: React.ReactElement<ZoneProps> | undefined, zoneLocation: ZoneLocation, props: FrontstageProps): ZoneDef | undefined {\r\n if (zoneNode) {\r\n const zoneDef = new ZoneDef();\r\n const zoneElement = Frontstage.getZoneElement(zoneLocation, props);\r\n\r\n zoneDef.zoneLocation = zoneLocation;\r\n\r\n // istanbul ignore else\r\n if (zoneElement && React.isValidElement(zoneElement)) {\r\n Zone.initializeZoneDef(zoneDef, zoneElement.props);\r\n return zoneDef;\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n private static getZoneElement(zoneId: WidgetZoneId, props: FrontstageProps): React.ReactElement<ZoneProps> | undefined { // eslint-disable-line deprecation/deprecation\r\n switch (zoneId) {\r\n case ZoneLocation.TopLeft:\r\n return props.contentManipulationTools ? props.contentManipulationTools : props.topLeft; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.TopCenter:\r\n return props.toolSettings ? props.toolSettings : props.topCenter; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.TopRight:\r\n return props.viewNavigationTools ? /* istanbul ignore next */ props.viewNavigationTools : props.topRight; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.CenterLeft:\r\n return props.centerLeft; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.CenterRight:\r\n return props.centerRight; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.BottomLeft:\r\n return props.bottomLeft; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.BottomCenter:\r\n return props.statusBar ? props.statusBar : props.bottomCenter; // eslint-disable-line deprecation/deprecation\r\n case ZoneLocation.BottomRight:\r\n return props.bottomRight; // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n // Zones can be undefined in a Frontstage\r\n // istanbul ignore next\r\n return undefined;\r\n }\r\n\r\n /** @internal */\r\n public static createStagePanelDef(panelLocation: StagePanelLocation, props: FrontstageProps): StagePanelDef | undefined {\r\n const panelDef = new StagePanelDef();\r\n\r\n const panelElement = Frontstage.getStagePanelElement(panelLocation, props);\r\n panelDef.initializeFromProps(panelElement?.props, panelLocation);\r\n\r\n return panelDef;\r\n }\r\n\r\n private static getStagePanelElement(location: StagePanelLocation, props: FrontstageProps): React.ReactElement<StagePanelProps> | undefined {\r\n let panelElement: React.ReactElement<StagePanelProps> | undefined;\r\n\r\n switch (location) {\r\n case StagePanelLocation.Top:\r\n panelElement = props.topPanel;\r\n break;\r\n case StagePanelLocation.TopMost:\r\n panelElement = props.topMostPanel; // eslint-disable-line deprecation/deprecation\r\n break;\r\n case StagePanelLocation.Left:\r\n panelElement = props.leftPanel;\r\n break;\r\n case StagePanelLocation.Right:\r\n panelElement = props.rightPanel;\r\n break;\r\n case StagePanelLocation.Bottom:\r\n panelElement = props.bottomPanel;\r\n break;\r\n case StagePanelLocation.BottomMost:\r\n panelElement = props.bottomMostPanel; // eslint-disable-line deprecation/deprecation\r\n break;\r\n // istanbul ignore next\r\n default:\r\n throw new RangeError();\r\n }\r\n\r\n // Panels can be undefined in a Frontstage\r\n\r\n return panelElement;\r\n }\r\n\r\n private _getContentRef = (widget: WidgetZoneId) => { // eslint-disable-line deprecation/deprecation\r\n const ref = this._contentRefs.get(widget);\r\n if (ref)\r\n return ref;\r\n const newRef = (el: HTMLDivElement | null) => {\r\n if (this._isMounted) {\r\n this.setState((prevState) => ({\r\n widgetIdToContent: {\r\n ...prevState.widgetIdToContent,\r\n [widget]: el === null ? undefined : el,\r\n },\r\n }));\r\n }\r\n };\r\n this._contentRefs.set(widget, newRef);\r\n return newRef;\r\n };\r\n\r\n // This uses ConfigurableUi to render the content\r\n private doContentLayoutRender(): React.ReactNode {\r\n let contentLayout: React.ReactNode;\r\n\r\n // istanbul ignore else\r\n if (this.props.runtimeProps && this.props.runtimeProps.frontstageDef) {\r\n const frontstageDef = this.props.runtimeProps.frontstageDef;\r\n\r\n // istanbul ignore else\r\n if (frontstageDef.contentLayoutDef && frontstageDef.contentGroup)\r\n contentLayout = (\r\n <ContentLayout\r\n contentLayout={frontstageDef.contentLayoutDef}\r\n contentGroup={frontstageDef.contentGroup}\r\n />\r\n );\r\n else\r\n Logger.logError(UiFramework.loggerCategory(this), `FrontstageDef.contentLayoutDef and FrontstageDef.contentGroup are required for <ContentLayout> component`);\r\n }\r\n\r\n return contentLayout;\r\n }\r\n\r\n private cloneStagePanelElement(panelDef: StagePanelDef | undefined, runtimeProps: FrontstageRuntimeProps): React.ReactNode {\r\n if (!this.state.isUiVisible && UiShowHideManager.showHidePanels)\r\n return null;\r\n\r\n // istanbul ignore else\r\n if (panelDef) {\r\n const { location } = panelDef;\r\n const panelElement = Frontstage.getStagePanelElement(location, this.props);\r\n\r\n // istanbul ignore else\r\n if (panelElement && React.isValidElement(panelElement)) {\r\n const panelKey = getNestedStagePanelKey(panelDef.location);\r\n const panels = runtimeProps.nineZone.nested.panels[panelKey.id];\r\n const panel = StagePanelsManager.getPanel(panelKey.type, panels);\r\n const draggedWidget = runtimeProps.nineZone.zones.draggedWidget;\r\n\r\n const panelRuntimeProps: StagePanelRuntimeProps = {\r\n draggedWidgetId: draggedWidget ? /* istanbul ignore next */ draggedWidget.id : undefined,\r\n getWidgetContentRef: this._getContentRef,\r\n isInFooterMode: runtimeProps.nineZone.zones.isInFooterMode,\r\n isTargeted: !!runtimeProps.nineZone.zones.target,\r\n panel,\r\n panelDef,\r\n stagePanelChangeHandler: runtimeProps.stagePanelChangeHandler,\r\n widgetChangeHandler: runtimeProps.widgetChangeHandler,\r\n widgets: runtimeProps.nineZone.zones.widgets,\r\n widgetTabs: runtimeProps.widgetTabs,\r\n zoneDefProvider: runtimeProps.zoneDefProvider,\r\n };\r\n\r\n return React.cloneElement(panelElement, { runtimeProps: panelRuntimeProps });\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n private cloneZoneElements(zoneIds: ReadonlyArray<WidgetZoneId>, runtimeProps: FrontstageRuntimeProps): React.ReactNode[] {\r\n return zoneIds.map((zoneId: WidgetZoneId) => { // eslint-disable-line deprecation/deprecation\r\n const zoneElement = Frontstage.getZoneElement(zoneId, this.props);\r\n if (!zoneElement || !React.isValidElement(zoneElement))\r\n return null;\r\n\r\n const zoneDef = runtimeProps.zoneDefProvider.getZoneDef(zoneId);\r\n\r\n // istanbul ignore if\r\n if (!zoneDef)\r\n return null;\r\n\r\n const nestedPanelsManager = FrontstageManager.NineZoneManager.getNestedPanelsManager();\r\n const panelsManager = nestedPanelsManager.getPanelsManager(\"inner\");\r\n const type = panelsManager.findWidget(zoneId, runtimeProps.nineZone.nested.panels.inner);\r\n // istanbul ignore if\r\n if (type !== undefined)\r\n return null;\r\n\r\n const zonesManager = FrontstageManager.NineZoneManager.getZonesManager();\r\n const zones = runtimeProps.nineZone.zones;\r\n const ghostOutline = zonesManager.getGhostOutlineBounds(zoneId, zones);\r\n const dropTarget = zonesManager.getDropTarget(zoneId, zones);\r\n const zone = getExtendedZone(zoneId, zones, runtimeProps.zoneDefProvider);\r\n const widget = zone.widgets.length > 0 ? zones.widgets[zone.widgets[0]] : undefined;\r\n const openWidgetId = zone.widgets.find((wId) => zones.widgets[wId].tabIndex >= 0);\r\n const activeTabIndex = openWidgetId ? zones.widgets[openWidgetId].tabIndex : 0;\r\n const draggedWidget = runtimeProps.nineZone.zones.draggedWidget;\r\n const disabledResizeHandles = zonesManager.getDisabledResizeHandles(zoneId, zones);\r\n // istanbul ignore next\r\n const zoneRuntimeProps: ZoneRuntimeProps = {\r\n activeTabIndex,\r\n disabledResizeHandles,\r\n draggedWidget: draggedWidget && /* istanbul ignore next */ draggedWidget.id === zoneId ? /* istanbul ignore next */ draggedWidget : undefined,\r\n dropTarget,\r\n getWidgetContentRef: this._getContentRef,\r\n ghostOutline,\r\n isHidden: (zoneDef.isStatusBar && this.props.isInFooterMode && ( /* istanbul ignore next */ this.state.isUiVisible || /* istanbul ignore next */ !UiShowHideManager.showHideFooter)) ?\r\n /* istanbul ignore next */ false : !this.state.isUiVisible,\r\n isInFooterMode: runtimeProps.nineZone.zones.isInFooterMode,\r\n openWidgetId,\r\n targetChangeHandler: runtimeProps.targetChangeHandler,\r\n widgetChangeHandler: runtimeProps.widgetChangeHandler,\r\n widgetTabs: runtimeProps.widgetTabs,\r\n widget,\r\n zoneDef,\r\n zoneDefProvider: runtimeProps.zoneDefProvider,\r\n zone,\r\n };\r\n return React.cloneElement(zoneElement, { key: zoneId, runtimeProps: zoneRuntimeProps });\r\n });\r\n }\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n private cloneWidgetContentElements(zones: ReadonlyArray<WidgetZoneId>, runtimeProps: FrontstageRuntimeProps): React.ReactNode[] {\r\n // eslint-disable-next-line deprecation/deprecation\r\n const widgets = zones.reduce<Array<{ id: WidgetZoneId, def: WidgetDef, tabIndex: number }>>((prev, zoneId) => {\r\n const zoneDef = runtimeProps.zoneDefProvider.getZoneDef(zoneId);\r\n\r\n // istanbul ignore if\r\n if (!zoneDef)\r\n return prev;\r\n\r\n const widgetDefs = zoneDef.widgetDefs.filter((widgetDef: WidgetDef) => {\r\n if (zoneId === 2)\r\n return widgetDef.isVisible;\r\n return widgetDef.isVisible && !widgetDef.isFloating;\r\n });\r\n\r\n for (let i = 0; i < widgetDefs.length; i++) {\r\n prev.push({\r\n id: zoneId,\r\n def: widgetDefs[i],\r\n tabIndex: i,\r\n });\r\n }\r\n\r\n return prev;\r\n }, []);\r\n return widgets.map((widget) => {\r\n const nzWidget = runtimeProps.nineZone.zones.widgets[widget.id];\r\n return (\r\n <WidgetContentRenderer\r\n anchor={nzWidget.horizontalAnchor}\r\n isHidden={nzWidget.tabIndex !== widget.tabIndex}\r\n key={`${widget.id}_${widget.tabIndex}`}\r\n renderTo={this.state.widgetIdToContent[widget.id]}\r\n toolSettingsMode={isToolSettingsWidgetManagerProps(nzWidget) ? nzWidget.mode : undefined}\r\n widgetDef={widget.def}\r\n />\r\n );\r\n });\r\n }\r\n\r\n /** React render method\r\n * @internal\r\n */\r\n public override render(): React.ReactNode {\r\n const { runtimeProps } = this.props;\r\n\r\n if (runtimeProps === undefined)\r\n return null;\r\n\r\n /** For Nine-zone area; includes ContentLayout */\r\n const ninezoneStyle: React.CSSProperties = {\r\n position: \"relative\",\r\n height: \"100%\",\r\n };\r\n\r\n const frontstageDef = runtimeProps.frontstageDef;\r\n\r\n return (\r\n <div style={ninezoneStyle} id=\"uifw-ninezone-area\" className={this.props.className}>\r\n <NZ_Zones style={runtimeProps.nineZone.zones.isInFooterMode ? this._zonesFooterModeStyle : this._zonesStyle} >\r\n <StagePanels\r\n bottomPanel={this.cloneStagePanelElement(frontstageDef.bottomMostPanel, runtimeProps)} // eslint-disable-line deprecation/deprecation\r\n topPanel={this.cloneStagePanelElement(frontstageDef.topMostPanel, runtimeProps)} // eslint-disable-line deprecation/deprecation\r\n >\r\n <StagePanels\r\n bottomPanel={this.cloneStagePanelElement(frontstageDef.bottomPanel, runtimeProps)}\r\n leftPanel={this.cloneStagePanelElement(frontstageDef.leftPanel, runtimeProps)}\r\n rightPanel={this.cloneStagePanelElement(frontstageDef.rightPanel, runtimeProps)}\r\n topPanel={this.cloneStagePanelElement(frontstageDef.topPanel, runtimeProps)}\r\n >\r\n <div\r\n id=\"uifw-ninezone-zones-area\"\r\n ref={this._zonesMeasurer}\r\n style={{\r\n height: \"100%\",\r\n position: \"relative\",\r\n }}\r\n >\r\n {this.doContentLayoutRender()}\r\n {this.cloneZoneElements(Frontstage._zoneIds, runtimeProps)}\r\n </div>\r\n </StagePanels>\r\n </StagePanels>\r\n {this.cloneZoneElements([8], runtimeProps)}\r\n <div\r\n id=\"uifw-ninezone-floating-zones-area\"\r\n ref={this._floatingZonesMeasurer}\r\n style={{\r\n height: \"100%\",\r\n width: \"100%\",\r\n position: \"absolute\",\r\n }}\r\n />\r\n </NZ_Zones>\r\n {this.cloneWidgetContentElements(Frontstage._zoneIds, runtimeProps)}\r\n </div>\r\n );\r\n }\r\n}\r\n\r\ninterface WidgetContentRendererProps {\r\n anchor: HorizontalAnchor; // eslint-disable-line deprecation/deprecation\r\n isHidden: boolean;\r\n renderTo: HTMLDivElement | undefined;\r\n toolSettingsMode: ToolSettingsWidgetMode | undefined;\r\n widgetDef: WidgetDef;\r\n}\r\n\r\ninterface WidgetContentRendererState {\r\n widgetKey: number;\r\n}\r\n\r\nclass WidgetContentRenderer extends React.PureComponent<WidgetContentRendererProps, WidgetContentRendererState> {\r\n private _isMounted = false;\r\n private _content = document.createElement(\"span\");\r\n public constructor(props: WidgetContentRendererProps) {\r\n super(props);\r\n\r\n this.state = {\r\n widgetKey: 0,\r\n };\r\n }\r\n\r\n public override componentDidMount() {\r\n this._isMounted = true;\r\n FrontstageManager.onWidgetStateChangedEvent.addListener(this._handleWidgetStateChangedEvent);\r\n FrontstageManager.onToolActivatedEvent.addListener(this._handleToolActivatedEvent);\r\n\r\n this._content.style.display = this.props.isHidden ? \"none\" : \"flex\";\r\n this._content.style.flexDirection = \"column\";\r\n this._content.style.height = \"100%\";\r\n if (!this.props.renderTo)\r\n return;\r\n this.props.renderTo.appendChild(this._content);\r\n }\r\n\r\n public override componentDidUpdate(prevProps: WidgetContentRendererProps) {\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n if (this.props.isHidden !== prevProps.isHidden) {\r\n this._content.style.display = this.props.isHidden ? \"none\" : \"flex\";\r\n }\r\n\r\n if (!this.props.renderTo || prevProps.renderTo === this.props.renderTo)\r\n return;\r\n\r\n this.props.widgetDef.saveTransientState();\r\n this.props.renderTo.appendChild(this._content);\r\n\r\n const shouldRemount = this.props.widgetDef.restoreTransientState() || this.props.widgetDef.isToolSettings;\r\n\r\n shouldRemount && this.setState((prevState) => ({ widgetKey: prevState.widgetKey + 1 }));\r\n }\r\n\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n this._content.parentNode && this._content.parentNode.removeChild(this._content);\r\n FrontstageManager.onWidgetStateChangedEvent.removeListener(this._handleWidgetStateChangedEvent);\r\n FrontstageManager.onToolActivatedEvent.removeListener(this._handleToolActivatedEvent);\r\n }\r\n\r\n public override render() {\r\n if (this.props.toolSettingsMode !== undefined) {\r\n return ReactDOM.createPortal((\r\n <ToolSettingsContent\r\n anchor={this.props.anchor}\r\n key={this.state.widgetKey}\r\n mode={this.props.toolSettingsMode}\r\n >\r\n {FrontstageManager.activeToolSettingsProvider && FrontstageManager.activeToolSettingsProvider.toolSettingsNode}\r\n </ToolSettingsContent>\r\n ), this._content);\r\n }\r\n\r\n if (this.props.widgetDef.state === WidgetState.Unloaded)\r\n return null;\r\n return ReactDOM.createPortal((\r\n <React.Fragment\r\n key={this.state.widgetKey}\r\n >\r\n {this.props.widgetDef.reactNode}\r\n </React.Fragment>\r\n ), this._content);\r\n }\r\n\r\n private _handleWidgetStateChangedEvent = (args: WidgetStateChangedEventArgs) => {\r\n if (this.props.widgetDef !== args.widgetDef || !this._isMounted)\r\n return;\r\n this.forceUpdate();\r\n };\r\n\r\n private _handleToolActivatedEvent = () => {\r\n if (this.props.toolSettingsMode === undefined || !this._isMounted)\r\n return;\r\n // force update when tool is activated\r\n this.setState((prevState) => ({ widgetKey: prevState.widgetKey + 1 }));\r\n };\r\n}\r\n\r\n/** @internal */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport const getExtendedZone = (zoneId: WidgetZoneId, zones: ZonesManagerProps, defProvider: ZoneDefProvider): ZoneManagerProps => {\r\n const zone = zones.zones[zoneId];\r\n if (zoneId === 1 || zoneId === 3) {\r\n let extendOverId: WidgetZoneId = zoneId; // eslint-disable-line deprecation/deprecation\r\n const zonesManager = FrontstageManager.NineZoneManager.getZonesManager();\r\n let bottomZoneId = zonesManager.bottomZones.getInitial(extendOverId);\r\n while (bottomZoneId !== undefined) {\r\n const bottomZoneDef = defProvider.getZoneDef(bottomZoneId);\r\n if (bottomZoneDef && bottomZoneDef.widgetDefs.length !== 0)\r\n break;\r\n\r\n extendOverId = bottomZoneId;\r\n bottomZoneId = zonesManager.bottomZones.getInitial(bottomZoneId);\r\n }\r\n\r\n const bottom = zones.zones[extendOverId].bounds.bottom;\r\n if (bottom === zone.bounds.bottom)\r\n return zone;\r\n return {\r\n ...zone,\r\n bounds: {\r\n ...zone.bounds,\r\n bottom,\r\n },\r\n };\r\n }\r\n return zone;\r\n};\r\n\r\n/** Hook that returns active frontstage id.\r\n * @public\r\n */\r\nexport const useActiveFrontstageId = () => {\r\n const def = useActiveFrontstageDef();\r\n const id = React.useMemo(() => def ? /* istanbul ignore next */ def.id : \"\", [def]);\r\n return id;\r\n};\r\n\r\n/** @internal */\r\nexport function useActiveFrontstageDef() {\r\n const [def, setDef] = React.useState(FrontstageManager.activeFrontstageDef);\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const handleActivated = (args: FrontstageActivatedEventArgs) => {\r\n setDef(args.activatedFrontstageDef);\r\n };\r\n FrontstageManager.onFrontstageActivatedEvent.addListener(handleActivated);\r\n return () => {\r\n FrontstageManager.onFrontstageActivatedEvent.removeListener(handleActivated);\r\n };\r\n }, []);\r\n return def;\r\n}\r\n\r\n/** Hook that returns the widgetDef for a specific widgetId within the active frontstage.\r\n * @public\r\n */\r\nexport function useSpecificWidgetDef(widgetId: string) {\r\n const frontstageDef = useActiveFrontstageDef();\r\n return frontstageDef?.findWidgetDef(widgetId);\r\n}\r\n"]}
|