@itwin/appui-react 5.19.0 → 5.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/lib/appui-react/UiFramework.js +20 -13
- package/lib/appui-react/UiFramework.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawPopupManager.js +1 -1
- package/lib/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
- package/lib/appui-react/accudraw/AccuDrawWidget.js +1 -1
- package/lib/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
- package/lib/appui-react/accudraw/Calculator.js +92 -98
- package/lib/appui-react/accudraw/Calculator.js.map +1 -1
- package/lib/appui-react/accudraw/CalculatorEngine.js +130 -129
- package/lib/appui-react/accudraw/CalculatorEngine.js.map +1 -1
- package/lib/appui-react/accudraw/CalculatorPopup.js +9 -12
- package/lib/appui-react/accudraw/CalculatorPopup.js.map +1 -1
- package/lib/appui-react/accudraw/FrameworkAccuDraw.js +39 -38
- package/lib/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
- package/lib/appui-react/accudraw/MenuButton.js +20 -20
- package/lib/appui-react/accudraw/MenuButton.js.map +1 -1
- package/lib/appui-react/accudraw/MenuButtonPopup.js +9 -12
- package/lib/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
- package/lib/appui-react/backstage/BackstageItemsManager.js +5 -5
- package/lib/appui-react/backstage/BackstageItemsManager.js.map +1 -1
- package/lib/appui-react/backstage/BackstageManager.js +1 -3
- package/lib/appui-react/backstage/BackstageManager.js.map +1 -1
- package/lib/appui-react/backstage/InternalBackstageManager.js +3 -5
- package/lib/appui-react/backstage/InternalBackstageManager.js.map +1 -1
- package/lib/appui-react/childwindow/InternalChildWindowManager.js +30 -32
- package/lib/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
- package/lib/appui-react/configurableui/ActivityTracker.js +33 -33
- package/lib/appui-react/configurableui/ActivityTracker.js.map +1 -1
- package/lib/appui-react/configurableui/ConfigurableUiContent.scss +0 -1
- package/lib/appui-react/configurableui/ConfigurableUiControl.js +8 -0
- package/lib/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
- package/lib/appui-react/configurableui/InternalConfigurableUiManager.js +8 -8
- package/lib/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
- package/lib/appui-react/configurableui/TimeTracker.js +25 -27
- package/lib/appui-react/configurableui/TimeTracker.js.map +1 -1
- package/lib/appui-react/content/ContentControl.js +2 -1
- package/lib/appui-react/content/ContentControl.js.map +1 -1
- package/lib/appui-react/content/ContentGroup.js +8 -4
- package/lib/appui-react/content/ContentGroup.js.map +1 -1
- package/lib/appui-react/content/ContentLayout.js +47 -38
- package/lib/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/appui-react/content/IModelViewport.js +28 -23
- package/lib/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/appui-react/content/InternalContentLayoutManager.js +1 -1
- package/lib/appui-react/content/InternalContentLayoutManager.js.map +1 -1
- package/lib/appui-react/content/InternalContentViewManager.js +9 -8
- package/lib/appui-react/content/InternalContentViewManager.js.map +1 -1
- package/lib/appui-react/content/StandardContentLayouts.js +141 -141
- package/lib/appui-react/content/StandardContentLayouts.js.map +1 -1
- package/lib/appui-react/content/ViewportContentControl.js +25 -22
- package/lib/appui-react/content/ViewportContentControl.js.map +1 -1
- package/lib/appui-react/cursor/CursorInformation.js +7 -6
- package/lib/appui-react/cursor/CursorInformation.js.map +1 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopup.js +9 -9
- package/lib/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
- package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js +7 -7
- package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
- package/lib/appui-react/dialog/DialogManagerBase.js +18 -19
- package/lib/appui-react/dialog/DialogManagerBase.js.map +1 -1
- package/lib/appui-react/dialog/InternalContentDialogManager.js +7 -7
- package/lib/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
- package/lib/appui-react/dialog/InternalModalDialogManager.js +4 -4
- package/lib/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
- package/lib/appui-react/dialog/InternalModelessDialogManager.js +6 -6
- package/lib/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
- package/lib/appui-react/dialog/ModelessDialog.js +3 -3
- package/lib/appui-react/dialog/ModelessDialog.js.map +1 -1
- package/lib/appui-react/feedback/ElementTooltip.js +3 -1
- package/lib/appui-react/feedback/ElementTooltip.js.map +1 -1
- package/lib/appui-react/feedback/ValidationTextbox.js +25 -25
- package/lib/appui-react/feedback/ValidationTextbox.js.map +1 -1
- package/lib/appui-react/frontstage/FrontstageDef.js +28 -10
- package/lib/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/appui-react/frontstage/InternalFrontstageManager.js +96 -96
- package/lib/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
- package/lib/appui-react/frontstage/ModalFrontstage.js +5 -5
- package/lib/appui-react/frontstage/ModalFrontstage.js.map +1 -1
- package/lib/appui-react/frontstage/ModalSettingsStage.js +5 -4
- package/lib/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
- package/lib/appui-react/frontstage/StandardFrontstageProvider.js +1 -0
- package/lib/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
- package/lib/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +22 -22
- package/lib/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
- package/lib/appui-react/keyboardshortcut/KeyboardShortcut.js +11 -9
- package/lib/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
- package/lib/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +17 -20
- package/lib/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
- package/lib/appui-react/layout/backstage/Backstage.js +11 -14
- package/lib/appui-react/layout/backstage/Backstage.js.map +1 -1
- package/lib/appui-react/layout/base/DragManager.js +6 -7
- package/lib/appui-react/layout/base/DragManager.js.map +1 -1
- package/lib/appui-react/layout/base/SafeAreaInsets.js +8 -8
- package/lib/appui-react/layout/base/SafeAreaInsets.js.map +1 -1
- package/lib/appui-react/layout/popup/Tooltip.js +8 -11
- package/lib/appui-react/layout/popup/Tooltip.js.map +1 -1
- package/lib/appui-react/layout/widget/Tab.d.ts.map +1 -1
- package/lib/appui-react/layout/widget/Tab.js +7 -5
- package/lib/appui-react/layout/widget/Tab.js.map +1 -1
- package/lib/appui-react/messages/InputField.js +21 -24
- package/lib/appui-react/messages/InputField.js.map +1 -1
- package/lib/appui-react/messages/MessageManager.js +39 -38
- package/lib/appui-react/messages/MessageManager.js.map +1 -1
- package/lib/appui-react/messages/Pointer.js +38 -38
- package/lib/appui-react/messages/Pointer.js.map +1 -1
- package/lib/appui-react/messages/ReactNotifyMessageDetails.js +6 -0
- package/lib/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
- package/lib/appui-react/messages/StatusMessageManager.js +2 -4
- package/lib/appui-react/messages/StatusMessageManager.js.map +1 -1
- package/lib/appui-react/navigationaids/CubeNavigationAidControl.js +1 -1
- package/lib/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
- package/lib/appui-react/navigationaids/DrawingNavigationAidControl.js +1 -1
- package/lib/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
- package/lib/appui-react/navigationaids/NavigationAidControl.js +1 -0
- package/lib/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
- package/lib/appui-react/navigationaids/SheetNavigationAid.js +55 -54
- package/lib/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
- package/lib/appui-react/navigationaids/SheetsModalFrontstage.js +22 -20
- package/lib/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
- package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js +15 -14
- package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
- package/lib/appui-react/pickers/ListPicker.js +28 -28
- package/lib/appui-react/pickers/ListPicker.js.map +1 -1
- package/lib/appui-react/pickers/ViewSelector.js +87 -86
- package/lib/appui-react/pickers/ViewSelector.js.map +1 -1
- package/lib/appui-react/popup/CardPopup.js +18 -21
- package/lib/appui-react/popup/CardPopup.js.map +1 -1
- package/lib/appui-react/popup/HTMLElementPopup.js +9 -12
- package/lib/appui-react/popup/HTMLElementPopup.js.map +1 -1
- package/lib/appui-react/popup/InputEditorPopup.js +18 -20
- package/lib/appui-react/popup/InputEditorPopup.js.map +1 -1
- package/lib/appui-react/popup/PopupManager.js +22 -25
- package/lib/appui-react/popup/PopupManager.js.map +1 -1
- package/lib/appui-react/popup/ToolSettingsPopup.js +17 -17
- package/lib/appui-react/popup/ToolSettingsPopup.js.map +1 -1
- package/lib/appui-react/popup/ToolbarPopup.js +18 -21
- package/lib/appui-react/popup/ToolbarPopup.js.map +1 -1
- package/lib/appui-react/redux/ReducerRegistry.js +2 -0
- package/lib/appui-react/redux/ReducerRegistry.js.map +1 -1
- package/lib/appui-react/redux/StateManager.js +4 -1
- package/lib/appui-react/redux/StateManager.js.map +1 -1
- package/lib/appui-react/selection/HideIsolateEmphasizeManager.js +7 -3
- package/lib/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
- package/lib/appui-react/shared/ActionButtonItemDef.js +13 -6
- package/lib/appui-react/shared/ActionButtonItemDef.js.map +1 -1
- package/lib/appui-react/shared/CommandItemDef.js +3 -3
- package/lib/appui-react/shared/CommandItemDef.js.map +1 -1
- package/lib/appui-react/shared/CustomItemDef.js +4 -2
- package/lib/appui-react/shared/CustomItemDef.js.map +1 -1
- package/lib/appui-react/shared/ItemDefBase.js +13 -5
- package/lib/appui-react/shared/ItemDefBase.js.map +1 -1
- package/lib/appui-react/shared/MenuItem.js +6 -1
- package/lib/appui-react/shared/MenuItem.js.map +1 -1
- package/lib/appui-react/shared/ToolItemDef.js +1 -1
- package/lib/appui-react/shared/ToolItemDef.js.map +1 -1
- package/lib/appui-react/stagepanels/StagePanelDef.js +4 -3
- package/lib/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/appui-react/statusbar/StatusBarItemsManager.js +5 -5
- package/lib/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
- package/lib/appui-react/statusfields/ViewAttributes.js +16 -16
- package/lib/appui-react/statusfields/ViewAttributes.js.map +1 -1
- package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.js +35 -33
- package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
- package/lib/appui-react/syncui/InternalSyncUiEventDispatcher.js +7 -0
- package/lib/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
- package/lib/appui-react/syncui/SyncUiEventDispatcher.js +4 -3
- package/lib/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
- package/lib/appui-react/timeline/AnalysisAnimationProvider.js +9 -8
- package/lib/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
- package/lib/appui-react/timeline/ScheduleAnimationProvider.js +13 -12
- package/lib/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
- package/lib/appui-react/timeline/SolarTimelineDataProvider.js +6 -5
- package/lib/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
- package/lib/appui-react/toolbar/GroupItem.js +11 -5
- package/lib/appui-react/toolbar/GroupItem.js.map +1 -1
- package/lib/appui-react/toolbar/ToolbarItemsManager.js +7 -7
- package/lib/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
- package/lib/appui-react/tools/FrameworkToolAdmin.js +5 -1
- package/lib/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
- package/lib/appui-react/tools/KeyinPaletteTools.js +2 -2
- package/lib/appui-react/tools/KeyinPaletteTools.js.map +1 -1
- package/lib/appui-react/tools/OpenSettingsTool.js +2 -2
- package/lib/appui-react/tools/OpenSettingsTool.js.map +1 -1
- package/lib/appui-react/tools/RestoreLayoutTool.js +4 -4
- package/lib/appui-react/tools/RestoreLayoutTool.js.map +1 -1
- package/lib/appui-react/tools/ToolSettingsTools.js +2 -2
- package/lib/appui-react/tools/ToolSettingsTools.js.map +1 -1
- package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.js +15 -18
- package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
- package/lib/appui-react/toolsettings/InternalToolSettingsManager.js +8 -8
- package/lib/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
- package/lib/appui-react/toolsettings/ToolInformation.js +2 -0
- package/lib/appui-react/toolsettings/ToolInformation.js.map +1 -1
- package/lib/appui-react/toolsettings/ToolUiProvider.js +3 -0
- package/lib/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js +1 -0
- package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
- package/lib/appui-react/ui-items-provider/BaseUiItemsProvider.js +2 -0
- package/lib/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.js +1 -0
- package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +1 -0
- package/lib/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +1 -0
- package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +1 -0
- package/lib/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +1 -0
- package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +1 -0
- package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
- package/lib/appui-react/ui-items-provider/UiItemsManager.js +3 -3
- package/lib/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
- package/lib/appui-react/uiadmin/FrameworkUiAdmin.js +1 -4
- package/lib/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
- package/lib/appui-react/uiprovider/ComponentGenerator.js +2 -0
- package/lib/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
- package/lib/appui-react/uistate/AppUiSettings.js +41 -33
- package/lib/appui-react/uistate/AppUiSettings.js.map +1 -1
- package/lib/appui-react/utils/InternalUiShowHideManager.js +13 -14
- package/lib/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
- package/lib/appui-react/widgets/StatusBarWidgetComposerControl.js +2 -5
- package/lib/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
- package/lib/appui-react/widgets/WidgetControl.js +2 -0
- package/lib/appui-react/widgets/WidgetControl.js.map +1 -1
- package/lib/appui-react/widgets/WidgetDef.js +28 -7
- package/lib/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/appui-react/widgets/WidgetHost.js +4 -4
- package/lib/appui-react/widgets/WidgetHost.js.map +1 -1
- package/lib/appui-react/widgets/WidgetManager.js +5 -7
- package/lib/appui-react/widgets/WidgetManager.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.scss +0 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.scss +0 -1
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalContentLayoutManager.js","sourceRoot":"","sources":["../../../src/appui-react/content/InternalContentLayoutManager.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD;;GAEG;AACH,MAAM,OAAO,4BAA4B;
|
|
1
|
+
{"version":3,"file":"InternalContentLayoutManager.js","sourceRoot":"","sources":["../../../src/appui-react/content/InternalContentLayoutManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport { InternalFrontstageManager } from \"../frontstage/InternalFrontstageManager.js\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type { ContentGroup, ContentGroupProps } from \"./ContentGroup.js\";\nimport { ContentLayoutDef } from \"./ContentLayout.js\";\nimport type { ContentLayoutProps } from \"./ContentLayoutProps.js\";\n\n/** ContentLayout Manager class.\n * @internal\n */\nexport class InternalContentLayoutManager {\n private static _layoutDefs: Map<string, ContentLayoutDef> = new Map<\n string,\n ContentLayoutDef\n >();\n\n /** build a layout key that is unique for group layout combination */\n public static getKey(props: {\n contentGroupId: string;\n layoutId: string;\n }): string {\n return `${props.contentGroupId}-${props.layoutId}`;\n }\n\n /** Return a LayoutDef that is specific to a content group.\n * @returns the [[ContentLayoutDef]] if found, or undefined otherwise\n */\n public static getForGroup(\n contentGroupProps: ContentGroupProps | ContentGroup,\n overrideContentLayout?: ContentLayoutProps\n ): ContentLayoutDef {\n const layoutId = overrideContentLayout?.id ?? contentGroupProps.layout.id;\n const layoutKey = this.getKey({\n contentGroupId: contentGroupProps.id,\n layoutId,\n });\n\n if (\n !overrideContentLayout &&\n InternalContentLayoutManager._layoutDefs.has(layoutKey)\n ) {\n return InternalContentLayoutManager._layoutDefs.get(layoutKey)!;\n }\n\n const newContentLayoutProps = {\n ...contentGroupProps.layout,\n ...overrideContentLayout,\n };\n const newLayoutDef = new ContentLayoutDef(newContentLayoutProps);\n this.add(layoutKey, newLayoutDef);\n return newLayoutDef;\n }\n\n /** Finds a Content Layout with a given id.\n * @param layoutKey group specific layout id, see `getLayoutKey`\n * @returns the [[ContentLayoutDef]] if found, or undefined otherwise\n */\n public static find(layoutKey: string): ContentLayoutDef | undefined {\n return InternalContentLayoutManager._layoutDefs.get(layoutKey)!;\n }\n\n /** Adds a Content Layout.\n * @param layoutId the id of the Content Layout to add\n * @param layoutDef the Content Layout definition to add\n */\n public static add(layoutId: string, layoutDef: ContentLayoutDef): void {\n InternalContentLayoutManager._layoutDefs.set(layoutId, layoutDef);\n }\n\n /** Gets the active Content Layout */\n public static get activeLayout(): ContentLayoutDef | undefined {\n let layoutDef: ContentLayoutDef | undefined;\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n\n if (activeFrontstageDef) layoutDef = activeFrontstageDef.contentLayoutDef;\n\n return layoutDef;\n }\n\n /** Gets the active Content Group */\n public static get activeContentGroup(): ContentGroup | undefined {\n let contentGroup: ContentGroup | undefined;\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n\n if (activeFrontstageDef) contentGroup = activeFrontstageDef.contentGroup;\n\n return contentGroup;\n }\n\n /** Sets the active Content Layout, Content Group and Content Control.\n * @param contentLayoutDef Content layout to make active\n * @param contentGroup Content Group to make active\n */\n public static async setActive(\n contentLayoutDef: ContentLayoutDef,\n contentGroup: ContentGroup\n ): Promise<void> {\n await InternalFrontstageManager.setActiveLayout(\n contentLayoutDef,\n contentGroup\n );\n }\n\n /** Sets the active Content Group.\n * @param contentGroup Content Group to make active\n */\n public static async setActiveContentGroup(\n contentGroup: ContentGroup\n ): Promise<void> {\n await InternalFrontstageManager.setActiveContentGroup(contentGroup);\n }\n\n /** Refreshes the active layout and content group.\n */\n public static refreshActive(): void {\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (\n activeFrontstageDef &&\n activeFrontstageDef.contentLayoutDef &&\n activeFrontstageDef.contentGroup\n ) {\n UiFramework.frontstages.onContentLayoutActivatedEvent.emit({\n contentLayout: activeFrontstageDef.contentLayoutDef,\n contentGroup: activeFrontstageDef.contentGroup,\n });\n\n activeFrontstageDef.contentGroup.refreshContentNodes();\n }\n }\n}\n"]}
|
|
@@ -15,6 +15,10 @@ import { InternalContentDialogManager } from "../dialog/InternalContentDialogMan
|
|
|
15
15
|
* @internal
|
|
16
16
|
*/
|
|
17
17
|
export class InternalContentViewManager {
|
|
18
|
+
static _mouseDown = false;
|
|
19
|
+
static _activeContent;
|
|
20
|
+
/** Gets the [[MouseDownChangedEvent]] */
|
|
21
|
+
static onMouseDownChangedEvent = new BeUiEvent(); // eslint-disable-line @typescript-eslint/no-deprecated
|
|
18
22
|
/** Determines if the mouse is down in a content view */
|
|
19
23
|
static get isMouseDown() {
|
|
20
24
|
return this._mouseDown;
|
|
@@ -24,6 +28,11 @@ export class InternalContentViewManager {
|
|
|
24
28
|
this._mouseDown = mouseDown;
|
|
25
29
|
this.onMouseDownChangedEvent.emit({ mouseDown });
|
|
26
30
|
}
|
|
31
|
+
/** Gets the [[ActiveContentChangedEvent]] */
|
|
32
|
+
static onActiveContentChangedEvent = new BeUiEvent(); // eslint-disable-line @typescript-eslint/no-deprecated
|
|
33
|
+
/** Fires when floating contents are added or removed */
|
|
34
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
35
|
+
static onAvailableContentChangedEvent = new BeUiEvent();
|
|
27
36
|
/** Gets the active content as a React.ReactNode. */
|
|
28
37
|
static getActive() {
|
|
29
38
|
return this._activeContent;
|
|
@@ -268,12 +277,4 @@ export class InternalContentViewManager {
|
|
|
268
277
|
return InternalContentDialogManager;
|
|
269
278
|
}
|
|
270
279
|
}
|
|
271
|
-
InternalContentViewManager._mouseDown = false;
|
|
272
|
-
/** Gets the [[MouseDownChangedEvent]] */
|
|
273
|
-
InternalContentViewManager.onMouseDownChangedEvent = new BeUiEvent(); // eslint-disable-line @typescript-eslint/no-deprecated
|
|
274
|
-
/** Gets the [[ActiveContentChangedEvent]] */
|
|
275
|
-
InternalContentViewManager.onActiveContentChangedEvent = new BeUiEvent(); // eslint-disable-line @typescript-eslint/no-deprecated
|
|
276
|
-
/** Fires when floating contents are added or removed */
|
|
277
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
278
|
-
InternalContentViewManager.onAvailableContentChangedEvent = new BeUiEvent();
|
|
279
280
|
//# sourceMappingURL=InternalContentViewManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalContentViewManager.js","sourceRoot":"","sources":["../../../src/appui-react/content/InternalContentViewManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport type * as React from \"react\";\nimport { ViewUtilities } from \"../utils/ViewUtilities.js\";\nimport type { ContentControl } from \"./ContentControl.js\";\nimport { InternalContentLayoutManager } from \"./InternalContentLayoutManager.js\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type { ContentGroup } from \"./ContentGroup.js\";\nimport { BeUiEvent, Logger } from \"@itwin/core-bentley\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type {\n ActiveContentChangedEventArgs,\n MouseDownChangedEventArgs,\n} from \"../framework/FrameworkContent.js\";\nimport { InternalContentDialogManager } from \"../dialog/InternalContentDialogManager.js\";\n\n/** Content View Manager class.\n * @internal\n */\nexport class InternalContentViewManager {\n private static _mouseDown: boolean = false;\n private static _activeContent?: React.ReactNode;\n\n /** Gets the [[MouseDownChangedEvent]] */\n public static readonly onMouseDownChangedEvent =\n new BeUiEvent<MouseDownChangedEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** Determines if the mouse is down in a content view */\n public static get isMouseDown(): boolean {\n return this._mouseDown;\n }\n\n /** Sets the mouse down status for a content view */\n public static setMouseDown(mouseDown: boolean): void {\n this._mouseDown = mouseDown;\n this.onMouseDownChangedEvent.emit({ mouseDown });\n }\n\n /** Gets the [[ActiveContentChangedEvent]] */\n public static readonly onActiveContentChangedEvent =\n new BeUiEvent<ActiveContentChangedEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** Fires when floating contents are added or removed */\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static readonly onAvailableContentChangedEvent = new BeUiEvent<{\n contentId: string;\n }>();\n\n /** Gets the active content as a React.ReactNode. */\n public static getActive(): React.ReactNode | undefined {\n return this._activeContent;\n }\n\n private static getControlFromElement(\n content: React.ReactNode,\n activeContentGroup: ContentGroup | undefined,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n floatingControls: ContentControl[] | undefined,\n logIfNotFound = false\n ) {\n if (floatingControls?.length) {\n // if we find a React node that matches exactly, return its containing control\n let control = floatingControls.find(\n (contentControl) => contentControl.reactNode === content\n );\n if (control) return control;\n\n // if we don't find a React node that matches exactly, rely on the id specified by the creator\n let controlId: string;\n if (content && (content as React.ReactElement<any>).key) {\n const key = (content as React.ReactElement<any>).key as string;\n // key has format `${contentProps.id}::${this.groupId}` which is stored as unique id\n controlId = key.split(\"::\", 1)[0];\n }\n floatingControls.forEach((contentControl) => {\n const node = contentControl.reactNode;\n const key = (node as React.ReactElement<any>)?.key as string;\n const nodeId = key && key.split(\"::\", 1)[0];\n if (nodeId === controlId) control = contentControl;\n });\n if (control) return control;\n }\n\n // if it's not a floating control, look through the content area views\n if (activeContentGroup) {\n const activeContentControl =\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n activeContentGroup.getControlFromElement(content);\n if (activeContentControl) return activeContentControl;\n }\n\n if (logIfNotFound)\n Logger.logError(\n UiFramework.loggerCategory(\"InternalContentViewManager\"),\n `getControlFromElement: no control found for element`\n );\n\n return undefined;\n }\n\n /** Return the active ContentControl. */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static getActiveContentControl(): ContentControl | undefined {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n let activeContentControl: ContentControl | undefined;\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n\n if (this._activeContent && activeFrontstageDef) {\n const activeContentGroup = activeFrontstageDef.contentGroup;\n activeContentControl = this.getControlFromElement(\n this._activeContent,\n activeContentGroup,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n activeFrontstageDef.floatingContentControls\n );\n }\n\n return activeContentControl;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static addFloatingContentControl(contentControl?: ContentControl) {\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (activeFrontstageDef && contentControl) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n activeFrontstageDef.addFloatingContentControl(contentControl);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static dropFloatingContentControl(contentControl?: ContentControl) {\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (activeFrontstageDef && contentControl)\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n activeFrontstageDef.dropFloatingContentControl(contentControl);\n }\n\n /** Sets the active [[ContentControl]]. */\n public static setActive(\n activeContent?: React.ReactNode,\n forceEventProcessing = false\n ): void {\n if (this._activeContent !== activeContent || forceEventProcessing) {\n const oldContent = this._activeContent;\n this._activeContent = activeContent;\n\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (!frontstageDef) return;\n\n const contentGroup = frontstageDef.contentGroup;\n if (contentGroup) {\n const reactContent = contentGroup.contentPropsList.find(\n (contentProps) => contentProps.content === activeContent\n );\n if (reactContent) {\n this.onActiveContentChangedEvent.emit({\n id: reactContent.id,\n activeContent: reactContent.content,\n });\n return;\n }\n }\n\n const oldContentControl = this.getControlFromElement(\n oldContent,\n contentGroup,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n frontstageDef.floatingContentControls\n );\n const activeContentControl = this.getControlFromElement(\n activeContent,\n contentGroup,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n frontstageDef.floatingContentControls,\n true\n );\n\n // Only call setActiveView if going to or coming from a non-viewport ContentControl\n if (!activeContentControl) {\n this.onActiveContentChangedEvent.emit({\n activeContent,\n oldContent,\n id: undefined,\n });\n return;\n }\n const doSetActiveView =\n forceEventProcessing ||\n !activeContentControl.viewport ||\n (oldContentControl && !oldContentControl.viewport);\n\n if (doSetActiveView) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n frontstageDef.setActiveView(activeContentControl, oldContentControl);\n this.onActiveContentChangedEvent.emit({\n id: activeContentControl.controlId,\n activeContent,\n oldContent,\n });\n } else {\n if (\n activeContentControl.viewport &&\n activeContentControl.viewport !== IModelApp.viewManager.selectedView\n ) {\n void IModelApp.viewManager.setSelectedView(\n activeContentControl.viewport\n );\n }\n }\n }\n }\n\n public static setActiveId(contentId?: string) {\n if (!contentId) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.setActive(contentId);\n return;\n }\n\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (!frontstageDef) return;\n\n const contentGroup = frontstageDef.contentGroup;\n if (!contentGroup) return;\n\n const contentIndex = contentGroup.contentPropsList.findIndex(\n (content) => content.id === contentId\n );\n if (contentIndex < 0) return;\n\n const contentProps = contentGroup.contentPropsList[contentIndex];\n if (contentProps.content) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.setActive(contentProps.content);\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const control = contentGroup.getContentControl(contentProps, contentIndex);\n if (!control) return;\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.setActive(control.reactNode);\n }\n\n public static getActiveId() {\n const activeContentControl = this.getActiveContentControl();\n if (activeContentControl) {\n return activeContentControl.controlId;\n }\n\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n const contentGroup = frontstageDef?.contentGroup;\n const activeContent = contentGroup?.contentPropsList.find(\n (contentProps) => {\n return contentProps.content === this.getActive();\n }\n );\n return activeContent?.id;\n }\n\n /** Refreshes the active [[ContentControl]]. */\n public static refreshActive(activeContent: React.ReactNode) {\n this.layouts.refreshActive();\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.setActive(activeContent, true);\n }\n\n /**\n * Determines if content displays a Sheet view.\n * @param content ContentControl to check\n */\n public static isContentSheetView(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n content: ContentControl | undefined\n ): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.isSheetView(content.viewport);\n }\n\n /**\n * Determines if content displays a Drawing view.\n * @param content ContentControl to check\n */\n public static isContentDrawingView(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n content: ContentControl | undefined\n ): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.isDrawingView(content.viewport);\n }\n\n /**\n * Determines if content displays a Spatial view.\n * @param content ContentControl to check\n */\n public static isContentSpatialView(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n content: ContentControl | undefined\n ): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.isSpatialView(content.viewport);\n }\n\n /**\n * Determines if content displays a Orthographic view.\n * @param content ContentControl to check\n */\n public static isContentOrthographicView(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n content: ContentControl | undefined\n ): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.isOrthographicView(content.viewport);\n }\n\n /**\n * Determines if content displays a 3d view.\n * @param content ContentControl to check\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static isContent3dView(content: ContentControl | undefined): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.is3dView(content.viewport);\n }\n\n /**\n * Determines if viewport supports use of a camera.\n * @param content ContentControl to check\n */\n public static contentSupportsCamera(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n content: ContentControl | undefined\n ): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.viewSupportsCamera(content.viewport);\n }\n\n /** Manage content layouts. */\n public static get layouts() {\n return InternalContentLayoutManager;\n }\n\n /** Manage dialogs displaying managed content. */\n public static get dialogs() {\n return InternalContentDialogManager;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"InternalContentViewManager.js","sourceRoot":"","sources":["../../../src/appui-react/content/InternalContentViewManager.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKhD,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AAEzF;;GAEG;AACH,MAAM,OAAO,0BAA0B;IAC7B,MAAM,CAAC,UAAU,GAAY,KAAK,CAAC;IACnC,MAAM,CAAC,cAAc,CAAmB;IAEhD,yCAAyC;IAClC,MAAM,CAAU,uBAAuB,GAC5C,IAAI,SAAS,EAA6B,CAAC,CAAC,uDAAuD;IAErG,wDAAwD;IACjD,MAAM,KAAK,WAAW;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,oDAAoD;IAC7C,MAAM,CAAC,YAAY,CAAC,SAAkB;QAC3C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,6CAA6C;IACtC,MAAM,CAAU,2BAA2B,GAChD,IAAI,SAAS,EAAiC,CAAC,CAAC,uDAAuD;IAEzG,wDAAwD;IAExD,4DAA4D;IACrD,MAAM,CAAU,8BAA8B,GAAG,IAAI,SAAS,EAEjE,CAAC;IAEL,oDAAoD;IAC7C,MAAM,CAAC,SAAS;QACrB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEO,MAAM,CAAC,qBAAqB,CAClC,OAAwB,EACxB,kBAA4C;IAC5C,4DAA4D;IAC5D,gBAA8C,EAC9C,aAAa,GAAG,KAAK;QAErB,IAAI,gBAAgB,EAAE,MAAM,EAAE,CAAC;YAC7B,8EAA8E;YAC9E,IAAI,OAAO,GAAG,gBAAgB,CAAC,IAAI,CACjC,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,KAAK,OAAO,CACzD,CAAC;YACF,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAC;YAE5B,8FAA8F;YAC9F,IAAI,SAAiB,CAAC;YACtB,IAAI,OAAO,IAAK,OAAmC,CAAC,GAAG,EAAE,CAAC;gBACxD,MAAM,GAAG,GAAI,OAAmC,CAAC,GAAa,CAAC;gBAC/D,oFAAoF;gBACpF,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC;YACD,gBAAgB,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;gBAC1C,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC;gBACtC,MAAM,GAAG,GAAI,IAAgC,EAAE,GAAa,CAAC;gBAC7D,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO,GAAG,cAAc,CAAC;YACrD,CAAC,CAAC,CAAC;YACH,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAC;QAC9B,CAAC;QAED,sEAAsE;QACtE,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,oBAAoB;YACxB,4DAA4D;YAC5D,kBAAkB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,oBAAoB;gBAAE,OAAO,oBAAoB,CAAC;QACxD,CAAC;QAED,IAAI,aAAa;YACf,MAAM,CAAC,QAAQ,CACb,WAAW,CAAC,cAAc,CAAC,4BAA4B,CAAC,EACxD,qDAAqD,CACtD,CAAC;QAEJ,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,wCAAwC;IACxC,4DAA4D;IACrD,MAAM,CAAC,uBAAuB;QACnC,4DAA4D;QAC5D,IAAI,oBAAgD,CAAC;QACrD,MAAM,mBAAmB,GAAG,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;QAExE,IAAI,IAAI,CAAC,cAAc,IAAI,mBAAmB,EAAE,CAAC;YAC/C,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,YAAY,CAAC;YAC5D,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAC/C,IAAI,CAAC,cAAc,EACnB,kBAAkB;YAClB,4DAA4D;YAC5D,mBAAmB,CAAC,uBAAuB,CAC5C,CAAC;QACJ,CAAC;QAED,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,4DAA4D;IACrD,MAAM,CAAC,yBAAyB,CAAC,cAA+B;QACrE,MAAM,mBAAmB,GAAG,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;QACxE,IAAI,mBAAmB,IAAI,cAAc,EAAE,CAAC;YAC1C,4DAA4D;YAC5D,mBAAmB,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,4DAA4D;IACrD,MAAM,CAAC,0BAA0B,CAAC,cAA+B;QACtE,MAAM,mBAAmB,GAAG,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;QACxE,IAAI,mBAAmB,IAAI,cAAc;YACvC,4DAA4D;YAC5D,mBAAmB,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC;IACnE,CAAC;IAED,0CAA0C;IACnC,MAAM,CAAC,SAAS,CACrB,aAA+B,EAC/B,oBAAoB,GAAG,KAAK;QAE5B,IAAI,IAAI,CAAC,cAAc,KAAK,aAAa,IAAI,oBAAoB,EAAE,CAAC;YAClE,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC;YACvC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;YAEpC,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;YAClE,IAAI,CAAC,aAAa;gBAAE,OAAO;YAE3B,MAAM,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;YAChD,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,YAAY,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CACrD,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,KAAK,aAAa,CACzD,CAAC;gBACF,IAAI,YAAY,EAAE,CAAC;oBACjB,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC;wBACpC,EAAE,EAAE,YAAY,CAAC,EAAE;wBACnB,aAAa,EAAE,YAAY,CAAC,OAAO;qBACpC,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;YACH,CAAC;YAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAClD,UAAU,EACV,YAAY;YACZ,4DAA4D;YAC5D,aAAa,CAAC,uBAAuB,CACtC,CAAC;YACF,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CACrD,aAAa,EACb,YAAY;YACZ,4DAA4D;YAC5D,aAAa,CAAC,uBAAuB,EACrC,IAAI,CACL,CAAC;YAEF,mFAAmF;YACnF,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC1B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC;oBACpC,aAAa;oBACb,UAAU;oBACV,EAAE,EAAE,SAAS;iBACd,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,MAAM,eAAe,GACnB,oBAAoB;gBACpB,CAAC,oBAAoB,CAAC,QAAQ;gBAC9B,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAErD,IAAI,eAAe,EAAE,CAAC;gBACpB,4DAA4D;gBAC5D,aAAa,CAAC,aAAa,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;gBACrE,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC;oBACpC,EAAE,EAAE,oBAAoB,CAAC,SAAS;oBAClC,aAAa;oBACb,UAAU;iBACX,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IACE,oBAAoB,CAAC,QAAQ;oBAC7B,oBAAoB,CAAC,QAAQ,KAAK,SAAS,CAAC,WAAW,CAAC,YAAY,EACpE,CAAC;oBACD,KAAK,SAAS,CAAC,WAAW,CAAC,eAAe,CACxC,oBAAoB,CAAC,QAAQ,CAC9B,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,SAAkB;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,4DAA4D;YAC5D,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;QAClE,IAAI,CAAC,aAAa;YAAE,OAAO;QAE3B,MAAM,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;QAChD,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,MAAM,YAAY,GAAG,YAAY,CAAC,gBAAgB,CAAC,SAAS,CAC1D,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CACtC,CAAC;QACF,IAAI,YAAY,GAAG,CAAC;YAAE,OAAO;QAE7B,MAAM,YAAY,GAAG,YAAY,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,4DAA4D;YAC5D,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,4DAA4D;QAC5D,MAAM,OAAO,GAAG,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,4DAA4D;QAC5D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAEM,MAAM,CAAC,WAAW;QACvB,MAAM,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC5D,IAAI,oBAAoB,EAAE,CAAC;YACzB,OAAO,oBAAoB,CAAC,SAAS,CAAC;QACxC,CAAC;QAED,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC;QAClE,MAAM,YAAY,GAAG,aAAa,EAAE,YAAY,CAAC;QACjD,MAAM,aAAa,GAAG,YAAY,EAAE,gBAAgB,CAAC,IAAI,CACvD,CAAC,YAAY,EAAE,EAAE;YACf,OAAO,YAAY,CAAC,OAAO,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;QACnD,CAAC,CACF,CAAC;QACF,OAAO,aAAa,EAAE,EAAE,CAAC;IAC3B,CAAC;IAED,+CAA+C;IACxC,MAAM,CAAC,aAAa,CAAC,aAA8B;QACxD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC7B,4DAA4D;QAC5D,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,kBAAkB;IAC9B,4DAA4D;IAC5D,OAAmC;QAEnC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAChD,OAAO,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,oBAAoB;IAChC,4DAA4D;IAC5D,OAAmC;QAEnC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAChD,OAAO,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,oBAAoB;IAChC,4DAA4D;IAC5D,OAAmC;QAEnC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAChD,OAAO,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,yBAAyB;IACrC,4DAA4D;IAC5D,OAAmC;QAEnC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAChD,OAAO,aAAa,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACH,4DAA4D;IACrD,MAAM,CAAC,eAAe,CAAC,OAAmC;QAC/D,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAChD,OAAO,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,qBAAqB;IACjC,4DAA4D;IAC5D,OAAmC;QAEnC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAChD,OAAO,aAAa,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED,8BAA8B;IACvB,MAAM,KAAK,OAAO;QACvB,OAAO,4BAA4B,CAAC;IACtC,CAAC;IAED,iDAAiD;IAC1C,MAAM,KAAK,OAAO;QACvB,OAAO,4BAA4B,CAAC;IACtC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport type * as React from \"react\";\nimport { ViewUtilities } from \"../utils/ViewUtilities.js\";\nimport type { ContentControl } from \"./ContentControl.js\";\nimport { InternalContentLayoutManager } from \"./InternalContentLayoutManager.js\";\nimport { IModelApp } from \"@itwin/core-frontend\";\nimport type { ContentGroup } from \"./ContentGroup.js\";\nimport { BeUiEvent, Logger } from \"@itwin/core-bentley\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport type {\n ActiveContentChangedEventArgs,\n MouseDownChangedEventArgs,\n} from \"../framework/FrameworkContent.js\";\nimport { InternalContentDialogManager } from \"../dialog/InternalContentDialogManager.js\";\n\n/** Content View Manager class.\n * @internal\n */\nexport class InternalContentViewManager {\n private static _mouseDown: boolean = false;\n private static _activeContent?: React.ReactNode;\n\n /** Gets the [[MouseDownChangedEvent]] */\n public static readonly onMouseDownChangedEvent =\n new BeUiEvent<MouseDownChangedEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** Determines if the mouse is down in a content view */\n public static get isMouseDown(): boolean {\n return this._mouseDown;\n }\n\n /** Sets the mouse down status for a content view */\n public static setMouseDown(mouseDown: boolean): void {\n this._mouseDown = mouseDown;\n this.onMouseDownChangedEvent.emit({ mouseDown });\n }\n\n /** Gets the [[ActiveContentChangedEvent]] */\n public static readonly onActiveContentChangedEvent =\n new BeUiEvent<ActiveContentChangedEventArgs>(); // eslint-disable-line @typescript-eslint/no-deprecated\n\n /** Fires when floating contents are added or removed */\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static readonly onAvailableContentChangedEvent = new BeUiEvent<{\n contentId: string;\n }>();\n\n /** Gets the active content as a React.ReactNode. */\n public static getActive(): React.ReactNode | undefined {\n return this._activeContent;\n }\n\n private static getControlFromElement(\n content: React.ReactNode,\n activeContentGroup: ContentGroup | undefined,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n floatingControls: ContentControl[] | undefined,\n logIfNotFound = false\n ) {\n if (floatingControls?.length) {\n // if we find a React node that matches exactly, return its containing control\n let control = floatingControls.find(\n (contentControl) => contentControl.reactNode === content\n );\n if (control) return control;\n\n // if we don't find a React node that matches exactly, rely on the id specified by the creator\n let controlId: string;\n if (content && (content as React.ReactElement<any>).key) {\n const key = (content as React.ReactElement<any>).key as string;\n // key has format `${contentProps.id}::${this.groupId}` which is stored as unique id\n controlId = key.split(\"::\", 1)[0];\n }\n floatingControls.forEach((contentControl) => {\n const node = contentControl.reactNode;\n const key = (node as React.ReactElement<any>)?.key as string;\n const nodeId = key && key.split(\"::\", 1)[0];\n if (nodeId === controlId) control = contentControl;\n });\n if (control) return control;\n }\n\n // if it's not a floating control, look through the content area views\n if (activeContentGroup) {\n const activeContentControl =\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n activeContentGroup.getControlFromElement(content);\n if (activeContentControl) return activeContentControl;\n }\n\n if (logIfNotFound)\n Logger.logError(\n UiFramework.loggerCategory(\"InternalContentViewManager\"),\n `getControlFromElement: no control found for element`\n );\n\n return undefined;\n }\n\n /** Return the active ContentControl. */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static getActiveContentControl(): ContentControl | undefined {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n let activeContentControl: ContentControl | undefined;\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n\n if (this._activeContent && activeFrontstageDef) {\n const activeContentGroup = activeFrontstageDef.contentGroup;\n activeContentControl = this.getControlFromElement(\n this._activeContent,\n activeContentGroup,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n activeFrontstageDef.floatingContentControls\n );\n }\n\n return activeContentControl;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static addFloatingContentControl(contentControl?: ContentControl) {\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (activeFrontstageDef && contentControl) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n activeFrontstageDef.addFloatingContentControl(contentControl);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static dropFloatingContentControl(contentControl?: ContentControl) {\n const activeFrontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (activeFrontstageDef && contentControl)\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n activeFrontstageDef.dropFloatingContentControl(contentControl);\n }\n\n /** Sets the active [[ContentControl]]. */\n public static setActive(\n activeContent?: React.ReactNode,\n forceEventProcessing = false\n ): void {\n if (this._activeContent !== activeContent || forceEventProcessing) {\n const oldContent = this._activeContent;\n this._activeContent = activeContent;\n\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (!frontstageDef) return;\n\n const contentGroup = frontstageDef.contentGroup;\n if (contentGroup) {\n const reactContent = contentGroup.contentPropsList.find(\n (contentProps) => contentProps.content === activeContent\n );\n if (reactContent) {\n this.onActiveContentChangedEvent.emit({\n id: reactContent.id,\n activeContent: reactContent.content,\n });\n return;\n }\n }\n\n const oldContentControl = this.getControlFromElement(\n oldContent,\n contentGroup,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n frontstageDef.floatingContentControls\n );\n const activeContentControl = this.getControlFromElement(\n activeContent,\n contentGroup,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n frontstageDef.floatingContentControls,\n true\n );\n\n // Only call setActiveView if going to or coming from a non-viewport ContentControl\n if (!activeContentControl) {\n this.onActiveContentChangedEvent.emit({\n activeContent,\n oldContent,\n id: undefined,\n });\n return;\n }\n const doSetActiveView =\n forceEventProcessing ||\n !activeContentControl.viewport ||\n (oldContentControl && !oldContentControl.viewport);\n\n if (doSetActiveView) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n frontstageDef.setActiveView(activeContentControl, oldContentControl);\n this.onActiveContentChangedEvent.emit({\n id: activeContentControl.controlId,\n activeContent,\n oldContent,\n });\n } else {\n if (\n activeContentControl.viewport &&\n activeContentControl.viewport !== IModelApp.viewManager.selectedView\n ) {\n void IModelApp.viewManager.setSelectedView(\n activeContentControl.viewport\n );\n }\n }\n }\n }\n\n public static setActiveId(contentId?: string) {\n if (!contentId) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.setActive(contentId);\n return;\n }\n\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n if (!frontstageDef) return;\n\n const contentGroup = frontstageDef.contentGroup;\n if (!contentGroup) return;\n\n const contentIndex = contentGroup.contentPropsList.findIndex(\n (content) => content.id === contentId\n );\n if (contentIndex < 0) return;\n\n const contentProps = contentGroup.contentPropsList[contentIndex];\n if (contentProps.content) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.setActive(contentProps.content);\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const control = contentGroup.getContentControl(contentProps, contentIndex);\n if (!control) return;\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.setActive(control.reactNode);\n }\n\n public static getActiveId() {\n const activeContentControl = this.getActiveContentControl();\n if (activeContentControl) {\n return activeContentControl.controlId;\n }\n\n const frontstageDef = UiFramework.frontstages.activeFrontstageDef;\n const contentGroup = frontstageDef?.contentGroup;\n const activeContent = contentGroup?.contentPropsList.find(\n (contentProps) => {\n return contentProps.content === this.getActive();\n }\n );\n return activeContent?.id;\n }\n\n /** Refreshes the active [[ContentControl]]. */\n public static refreshActive(activeContent: React.ReactNode) {\n this.layouts.refreshActive();\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n this.setActive(activeContent, true);\n }\n\n /**\n * Determines if content displays a Sheet view.\n * @param content ContentControl to check\n */\n public static isContentSheetView(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n content: ContentControl | undefined\n ): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.isSheetView(content.viewport);\n }\n\n /**\n * Determines if content displays a Drawing view.\n * @param content ContentControl to check\n */\n public static isContentDrawingView(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n content: ContentControl | undefined\n ): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.isDrawingView(content.viewport);\n }\n\n /**\n * Determines if content displays a Spatial view.\n * @param content ContentControl to check\n */\n public static isContentSpatialView(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n content: ContentControl | undefined\n ): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.isSpatialView(content.viewport);\n }\n\n /**\n * Determines if content displays a Orthographic view.\n * @param content ContentControl to check\n */\n public static isContentOrthographicView(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n content: ContentControl | undefined\n ): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.isOrthographicView(content.viewport);\n }\n\n /**\n * Determines if content displays a 3d view.\n * @param content ContentControl to check\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n public static isContent3dView(content: ContentControl | undefined): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.is3dView(content.viewport);\n }\n\n /**\n * Determines if viewport supports use of a camera.\n * @param content ContentControl to check\n */\n public static contentSupportsCamera(\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n content: ContentControl | undefined\n ): boolean {\n if (!content || !content.viewport) return false;\n return ViewUtilities.viewSupportsCamera(content.viewport);\n }\n\n /** Manage content layouts. */\n public static get layouts() {\n return InternalContentLayoutManager;\n }\n\n /** Manage dialogs displaying managed content. */\n public static get dialogs() {\n return InternalContentDialogManager;\n }\n}\n"]}
|
|
@@ -10,156 +10,156 @@
|
|
|
10
10
|
* @public
|
|
11
11
|
*/
|
|
12
12
|
export class StandardContentLayouts {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
13
|
+
static singleView = {
|
|
14
|
+
id: "uia:singleView",
|
|
15
|
+
description: "Single Content View",
|
|
16
|
+
};
|
|
17
|
+
static fourQuadrants = {
|
|
18
|
+
id: "uia:fourQuadrants",
|
|
19
|
+
description: "Four Views, two stacked on the left, two stacked on the right",
|
|
20
|
+
verticalSplit: {
|
|
21
|
+
id: "uia:fourQuadrantVerticalSplit",
|
|
22
|
+
percentage: 0.5,
|
|
23
|
+
lock: false,
|
|
24
|
+
minSizeLeft: 100,
|
|
25
|
+
minSizeRight: 100,
|
|
26
|
+
left: {
|
|
27
|
+
horizontalSplit: {
|
|
28
|
+
id: "uia:fourQuadrantsLeftHorizontal",
|
|
29
|
+
percentage: 0.5,
|
|
30
|
+
top: 0,
|
|
31
|
+
bottom: 1,
|
|
32
|
+
lock: false,
|
|
33
|
+
minSizeTop: 50,
|
|
34
|
+
minSizeBottom: 50,
|
|
35
|
+
},
|
|
36
36
|
},
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
37
|
+
right: {
|
|
38
|
+
horizontalSplit: {
|
|
39
|
+
id: "uia:fourQuadrantsRightHorizontal",
|
|
40
|
+
percentage: 0.5,
|
|
41
|
+
top: 2,
|
|
42
|
+
bottom: 3,
|
|
43
|
+
lock: false,
|
|
44
|
+
minSizeTop: 50,
|
|
45
|
+
minSizeBottom: 50,
|
|
46
|
+
},
|
|
47
47
|
},
|
|
48
48
|
},
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
49
|
+
};
|
|
50
|
+
static twoVerticalSplit = {
|
|
51
|
+
id: "uia:twoVerticalSplit",
|
|
52
|
+
description: "Two Views, side by side",
|
|
53
|
+
verticalSplit: {
|
|
54
|
+
id: "uia:twoViewsVerticalSplit",
|
|
55
|
+
percentage: 0.5,
|
|
56
|
+
left: 0,
|
|
57
|
+
right: 1,
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
static twoHorizontalSplit = {
|
|
61
|
+
id: "uia:twoHorizontalSplit",
|
|
62
|
+
description: "Two views, stack one on top of the other",
|
|
63
|
+
horizontalSplit: {
|
|
64
|
+
id: "uia:twoViewsHorizontalSplit",
|
|
65
|
+
percentage: 0.5,
|
|
66
|
+
lock: false,
|
|
67
|
+
top: 0,
|
|
68
|
+
bottom: 1,
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
static threeViewsTwoOnLeft = {
|
|
72
|
+
id: "uia:threeViewsTwoOnLeft",
|
|
73
|
+
description: "Three views, one on the right with the two on the left stacked one of top of the other",
|
|
74
|
+
verticalSplit: {
|
|
75
|
+
id: "uia:twoViewsOnLeftSplit",
|
|
76
|
+
percentage: 0.5,
|
|
77
|
+
left: {
|
|
78
|
+
horizontalSplit: {
|
|
79
|
+
id: "uia:twoViewsOnLeftHorizontal",
|
|
80
|
+
percentage: 0.5,
|
|
81
|
+
top: 0,
|
|
82
|
+
bottom: 1,
|
|
83
|
+
lock: false,
|
|
84
|
+
minSizeTop: 50,
|
|
85
|
+
minSizeBottom: 50,
|
|
86
|
+
},
|
|
87
87
|
},
|
|
88
|
+
right: 2,
|
|
88
89
|
},
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
minSizeBottom: 50,
|
|
90
|
+
};
|
|
91
|
+
static threeViewsTwoOnRight = {
|
|
92
|
+
id: "uia:threeViewsTwoOnRight",
|
|
93
|
+
description: "Three views, one on the left with the two on the right stacked one of top of the other",
|
|
94
|
+
verticalSplit: {
|
|
95
|
+
id: "uia:twoViewsOnRightSplit",
|
|
96
|
+
percentage: 0.5,
|
|
97
|
+
left: 0,
|
|
98
|
+
right: {
|
|
99
|
+
horizontalSplit: {
|
|
100
|
+
id: "uia:twoViewsOnRightHorizontal",
|
|
101
|
+
percentage: 0.5,
|
|
102
|
+
top: 1,
|
|
103
|
+
bottom: 2,
|
|
104
|
+
lock: false,
|
|
105
|
+
minSizeTop: 50,
|
|
106
|
+
minSizeBottom: 50,
|
|
107
|
+
},
|
|
108
108
|
},
|
|
109
109
|
},
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
110
|
+
};
|
|
111
|
+
static threeViewsTwoOnBottom = {
|
|
112
|
+
id: "uia:threeViewsTwoOnBottom",
|
|
113
|
+
description: "Three Views, one on top and two side by side on the bottom",
|
|
114
|
+
horizontalSplit: {
|
|
115
|
+
id: "uia:threeViewsTwoOnBottomHorizontal",
|
|
116
|
+
percentage: 0.5,
|
|
117
|
+
lock: false,
|
|
118
|
+
top: 0,
|
|
119
|
+
bottom: {
|
|
120
|
+
verticalSplit: {
|
|
121
|
+
id: "uia:twoViewsOnBottomVertical",
|
|
122
|
+
percentage: 0.5,
|
|
123
|
+
left: 1,
|
|
124
|
+
right: 2,
|
|
125
|
+
lock: false,
|
|
126
|
+
minSizeLeft: 50,
|
|
127
|
+
minSizeRight: 50,
|
|
128
|
+
},
|
|
129
129
|
},
|
|
130
130
|
},
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
131
|
+
};
|
|
132
|
+
static threeViewsTwoOnTop = {
|
|
133
|
+
id: "uia:threeViewsTwoOnTop",
|
|
134
|
+
description: "Three Views, two side by side on top and one on the bottom",
|
|
135
|
+
horizontalSplit: {
|
|
136
|
+
id: "uia:twoViewsOnTopHorizontal",
|
|
137
|
+
percentage: 0.5,
|
|
138
|
+
lock: false,
|
|
139
|
+
top: {
|
|
140
|
+
verticalSplit: {
|
|
141
|
+
id: "uia:twoViewsOnTopVertical",
|
|
142
|
+
percentage: 0.5,
|
|
143
|
+
left: 0,
|
|
144
|
+
right: 1,
|
|
145
|
+
lock: false,
|
|
146
|
+
minSizeLeft: 50,
|
|
147
|
+
minSizeRight: 50,
|
|
148
|
+
},
|
|
149
149
|
},
|
|
150
|
+
bottom: 2,
|
|
150
151
|
},
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
StandardContentLayouts.
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
];
|
|
152
|
+
};
|
|
153
|
+
// provides and iterable list of standard content layouts
|
|
154
|
+
static availableLayouts = [
|
|
155
|
+
StandardContentLayouts.singleView,
|
|
156
|
+
StandardContentLayouts.fourQuadrants,
|
|
157
|
+
StandardContentLayouts.twoVerticalSplit,
|
|
158
|
+
StandardContentLayouts.twoHorizontalSplit,
|
|
159
|
+
StandardContentLayouts.threeViewsTwoOnLeft,
|
|
160
|
+
StandardContentLayouts.threeViewsTwoOnRight,
|
|
161
|
+
StandardContentLayouts.threeViewsTwoOnBottom,
|
|
162
|
+
StandardContentLayouts.threeViewsTwoOnTop,
|
|
163
|
+
];
|
|
164
|
+
}
|
|
165
165
|
//# sourceMappingURL=StandardContentLayouts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardContentLayouts.js","sourceRoot":"","sources":["../../../src/appui-react/content/StandardContentLayouts.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAIH;;;GAGG;AACH,MAAM,OAAO,sBAAsB
|
|
1
|
+
{"version":3,"file":"StandardContentLayouts.js","sourceRoot":"","sources":["../../../src/appui-react/content/StandardContentLayouts.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ContentView\n */\n\nimport type { ContentLayoutProps } from \"./ContentLayoutProps.js\";\n\n/**\n * Class that define Standard Content Layouts that can be used to specify how the content is arranged in a frontstage.\n * @public\n */\nexport class StandardContentLayouts {\n public static readonly singleView: ContentLayoutProps = {\n id: \"uia:singleView\",\n description: \"Single Content View\",\n };\n\n public static readonly fourQuadrants: ContentLayoutProps = {\n id: \"uia:fourQuadrants\",\n description:\n \"Four Views, two stacked on the left, two stacked on the right\",\n verticalSplit: {\n id: \"uia:fourQuadrantVerticalSplit\",\n percentage: 0.5,\n lock: false,\n minSizeLeft: 100,\n minSizeRight: 100,\n left: {\n horizontalSplit: {\n id: \"uia:fourQuadrantsLeftHorizontal\",\n percentage: 0.5,\n top: 0,\n bottom: 1,\n lock: false,\n minSizeTop: 50,\n minSizeBottom: 50,\n },\n },\n right: {\n horizontalSplit: {\n id: \"uia:fourQuadrantsRightHorizontal\",\n percentage: 0.5,\n top: 2,\n bottom: 3,\n lock: false,\n minSizeTop: 50,\n minSizeBottom: 50,\n },\n },\n },\n };\n\n public static readonly twoVerticalSplit: ContentLayoutProps = {\n id: \"uia:twoVerticalSplit\",\n description: \"Two Views, side by side\",\n verticalSplit: {\n id: \"uia:twoViewsVerticalSplit\",\n percentage: 0.5,\n left: 0,\n right: 1,\n },\n };\n public static readonly twoHorizontalSplit: ContentLayoutProps = {\n id: \"uia:twoHorizontalSplit\",\n description: \"Two views, stack one on top of the other\",\n horizontalSplit: {\n id: \"uia:twoViewsHorizontalSplit\",\n percentage: 0.5,\n lock: false,\n top: 0,\n bottom: 1,\n },\n };\n\n public static readonly threeViewsTwoOnLeft: ContentLayoutProps = {\n id: \"uia:threeViewsTwoOnLeft\",\n description:\n \"Three views, one on the right with the two on the left stacked one of top of the other\",\n verticalSplit: {\n id: \"uia:twoViewsOnLeftSplit\",\n percentage: 0.5,\n left: {\n horizontalSplit: {\n id: \"uia:twoViewsOnLeftHorizontal\",\n percentage: 0.5,\n top: 0,\n bottom: 1,\n lock: false,\n minSizeTop: 50,\n minSizeBottom: 50,\n },\n },\n right: 2,\n },\n };\n\n public static readonly threeViewsTwoOnRight: ContentLayoutProps = {\n id: \"uia:threeViewsTwoOnRight\",\n description:\n \"Three views, one on the left with the two on the right stacked one of top of the other\",\n verticalSplit: {\n id: \"uia:twoViewsOnRightSplit\",\n percentage: 0.5,\n left: 0,\n right: {\n horizontalSplit: {\n id: \"uia:twoViewsOnRightHorizontal\",\n percentage: 0.5,\n top: 1,\n bottom: 2,\n lock: false,\n minSizeTop: 50,\n minSizeBottom: 50,\n },\n },\n },\n };\n\n public static readonly threeViewsTwoOnBottom: ContentLayoutProps = {\n id: \"uia:threeViewsTwoOnBottom\",\n description: \"Three Views, one on top and two side by side on the bottom\",\n horizontalSplit: {\n id: \"uia:threeViewsTwoOnBottomHorizontal\",\n percentage: 0.5,\n lock: false,\n top: 0,\n bottom: {\n verticalSplit: {\n id: \"uia:twoViewsOnBottomVertical\",\n percentage: 0.5,\n left: 1,\n right: 2,\n lock: false,\n minSizeLeft: 50,\n minSizeRight: 50,\n },\n },\n },\n };\n\n public static readonly threeViewsTwoOnTop: ContentLayoutProps = {\n id: \"uia:threeViewsTwoOnTop\",\n description: \"Three Views, two side by side on top and one on the bottom\",\n horizontalSplit: {\n id: \"uia:twoViewsOnTopHorizontal\",\n percentage: 0.5,\n lock: false,\n top: {\n verticalSplit: {\n id: \"uia:twoViewsOnTopVertical\",\n percentage: 0.5,\n left: 0,\n right: 1,\n lock: false,\n minSizeLeft: 50,\n minSizeRight: 50,\n },\n },\n bottom: 2,\n },\n };\n\n // provides and iterable list of standard content layouts\n public static readonly availableLayouts: ContentLayoutProps[] = [\n StandardContentLayouts.singleView,\n StandardContentLayouts.fourQuadrants,\n StandardContentLayouts.twoVerticalSplit,\n StandardContentLayouts.twoHorizontalSplit,\n StandardContentLayouts.threeViewsTwoOnLeft,\n StandardContentLayouts.threeViewsTwoOnRight,\n StandardContentLayouts.threeViewsTwoOnBottom,\n StandardContentLayouts.threeViewsTwoOnTop,\n ];\n}\n"]}
|
|
@@ -20,34 +20,15 @@ import { ContentControl } from "./ContentControl.js";
|
|
|
20
20
|
* @deprecated in 4.16.0. Extends a deprecated class {@link ContentControl}.
|
|
21
21
|
*/
|
|
22
22
|
export class ViewportContentControl extends ContentControl {
|
|
23
|
+
_viewport;
|
|
24
|
+
_isReady;
|
|
25
|
+
_viewportReadyCallback;
|
|
23
26
|
/** Creates an instance of ViewportContentControl.
|
|
24
27
|
* @param info An object that the subclass must pass to this base class.
|
|
25
28
|
* @param options Options provided via the applicationData in a [[ContentProps]].
|
|
26
29
|
*/
|
|
27
30
|
constructor(info, options) {
|
|
28
31
|
super(info, options);
|
|
29
|
-
/**
|
|
30
|
-
* Fetches appropriate NavigationAid based on the class of the current viewport.
|
|
31
|
-
* @param classFullName The full name of the current viewport class.
|
|
32
|
-
* @returns The ID of the navigation aid to be displayed.
|
|
33
|
-
*/
|
|
34
|
-
this._getNavigationAid = (classFullName) => {
|
|
35
|
-
const className = ViewUtilities.getBisBaseClass(classFullName);
|
|
36
|
-
let navigationAidId = "";
|
|
37
|
-
switch (className) {
|
|
38
|
-
case SheetViewState.className:
|
|
39
|
-
navigationAidId = SheetNavigationAidControl.navigationAidId;
|
|
40
|
-
break;
|
|
41
|
-
case DrawingViewState.className:
|
|
42
|
-
navigationAidId = DrawingNavigationAidControl.navigationAidId;
|
|
43
|
-
break;
|
|
44
|
-
case SpatialViewState.className:
|
|
45
|
-
case OrthographicViewState.className:
|
|
46
|
-
navigationAidId = CubeNavigationAidControl.navigationAidId;
|
|
47
|
-
break;
|
|
48
|
-
}
|
|
49
|
-
return navigationAidId;
|
|
50
|
-
};
|
|
51
32
|
this._isReady = new Promise((onSuccess, _onFailure) => {
|
|
52
33
|
this._viewportReadyCallback = onSuccess;
|
|
53
34
|
});
|
|
@@ -92,6 +73,28 @@ export class ViewportContentControl extends ContentControl {
|
|
|
92
73
|
}
|
|
93
74
|
return navigationAidId;
|
|
94
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Fetches appropriate NavigationAid based on the class of the current viewport.
|
|
78
|
+
* @param classFullName The full name of the current viewport class.
|
|
79
|
+
* @returns The ID of the navigation aid to be displayed.
|
|
80
|
+
*/
|
|
81
|
+
_getNavigationAid = (classFullName) => {
|
|
82
|
+
const className = ViewUtilities.getBisBaseClass(classFullName);
|
|
83
|
+
let navigationAidId = "";
|
|
84
|
+
switch (className) {
|
|
85
|
+
case SheetViewState.className:
|
|
86
|
+
navigationAidId = SheetNavigationAidControl.navigationAidId;
|
|
87
|
+
break;
|
|
88
|
+
case DrawingViewState.className:
|
|
89
|
+
navigationAidId = DrawingNavigationAidControl.navigationAidId;
|
|
90
|
+
break;
|
|
91
|
+
case SpatialViewState.className:
|
|
92
|
+
case OrthographicViewState.className:
|
|
93
|
+
navigationAidId = CubeNavigationAidControl.navigationAidId;
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
return navigationAidId;
|
|
97
|
+
};
|
|
95
98
|
/** Returns true if this control supports processing ViewSelector changes. */
|
|
96
99
|
get supportsViewSelectorChange() {
|
|
97
100
|
return true;
|