@itwin/appui-react 3.0.0-dev.136 → 3.0.0-dev.141
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/README.md +3 -3
- package/lib/cjs/appui-react/UiFramework.d.ts +4 -0
- package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/cjs/appui-react/UiFramework.js +12 -6
- package/lib/cjs/appui-react/UiFramework.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItemProps.d.ts +3 -3
- package/lib/cjs/appui-react/backstage/BackstageItemProps.js +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItemProps.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageItemUtilities.d.ts +5 -5
- package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js +3 -3
- package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageComposer.js +1 -0
- package/lib/cjs/appui-react/frontstage/FrontstageComposer.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +13 -2
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js +129 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/cjs/appui-react/messages/AppNotificationManager.d.ts +1 -1
- package/lib/cjs/appui-react/messages/AppNotificationManager.js +1 -1
- package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
- package/lib/cjs/appui-react/redux/StateManager.d.ts +1 -1
- package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
- package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
- package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +2 -2
- package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
- package/lib/cjs/appui-react/shared/ItemDefBase.js +1 -1
- package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
- package/lib/cjs/appui-react/shared/ItemProps.d.ts +2 -2
- package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +3 -3
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +25 -5
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
- package/lib/cjs/appui-react/toolbar/ToolButton.js +1 -1
- package/lib/cjs/appui-react/toolbar/ToolButton.js.map +1 -1
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +1 -1
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts +0 -2
- package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.js +1 -51
- package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.js +17 -5
- package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/cjs/appui-react/zones/ZoneDef.d.ts +4 -4
- package/lib/cjs/appui-react/zones/ZoneDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/zones/ZoneDef.js +4 -4
- package/lib/cjs/appui-react/zones/ZoneDef.js.map +1 -1
- package/lib/esm/appui-react/UiFramework.d.ts +4 -0
- package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
- package/lib/esm/appui-react/UiFramework.js +12 -6
- package/lib/esm/appui-react/UiFramework.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItemProps.d.ts +3 -3
- package/lib/esm/appui-react/backstage/BackstageItemProps.js +1 -1
- package/lib/esm/appui-react/backstage/BackstageItemProps.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageItemUtilities.d.ts +5 -5
- package/lib/esm/appui-react/backstage/BackstageItemUtilities.js +3 -3
- package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageComposer.js +1 -0
- package/lib/esm/appui-react/frontstage/FrontstageComposer.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +13 -2
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.js +131 -3
- package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/esm/appui-react/messages/AppNotificationManager.d.ts +1 -1
- package/lib/esm/appui-react/messages/AppNotificationManager.js +1 -1
- package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
- package/lib/esm/appui-react/redux/StateManager.d.ts +1 -1
- package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
- package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
- package/lib/esm/appui-react/shared/ItemDefBase.d.ts +2 -2
- package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
- package/lib/esm/appui-react/shared/ItemDefBase.js +1 -1
- package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
- package/lib/esm/appui-react/shared/ItemProps.d.ts +2 -2
- package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +3 -3
- package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js +25 -5
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
- package/lib/esm/appui-react/toolbar/ToolButton.js +1 -1
- package/lib/esm/appui-react/toolbar/ToolButton.js.map +1 -1
- package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js +1 -1
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.d.ts +0 -2
- package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.js +0 -49
- package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.js +17 -5
- package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/esm/appui-react/zones/ZoneDef.d.ts +4 -4
- package/lib/esm/appui-react/zones/ZoneDef.d.ts.map +1 -1
- package/lib/esm/appui-react/zones/ZoneDef.js +4 -4
- package/lib/esm/appui-react/zones/ZoneDef.js.map +1 -1
- package/package.json +34 -34
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { PropsHelper } from "../utils/PropsHelper";
|
|
9
9
|
/** Used to specify the item type added to the backstage menu.
|
|
10
10
|
* @beta
|
|
11
|
-
* @deprecated Use [BackstageItemType]($appui-abstract)
|
|
11
|
+
* @deprecated Use [BackstageItemType]($appui-abstract) instead
|
|
12
12
|
*/
|
|
13
13
|
export var BackstageItemType;
|
|
14
14
|
(function (BackstageItemType) {
|
|
@@ -24,7 +24,7 @@ export class BackstageItemUtilities {
|
|
|
24
24
|
}
|
|
25
25
|
/** Creates a stage launcher backstage item
|
|
26
26
|
* @beta
|
|
27
|
-
* @deprecated Use BackstageItemUtilities.createStageLauncher
|
|
27
|
+
* @deprecated Use [BackstageItemUtilities.createStageLauncher]($appui-abstract) instead
|
|
28
28
|
*/
|
|
29
29
|
BackstageItemUtilities.createStageLauncher = (frontstageId, groupPriority, itemPriority, label, subtitle, iconSpec, overrides) => ({
|
|
30
30
|
groupPriority,
|
|
@@ -39,7 +39,7 @@ BackstageItemUtilities.createStageLauncher = (frontstageId, groupPriority, itemP
|
|
|
39
39
|
});
|
|
40
40
|
/** Creates an action backstage item
|
|
41
41
|
* @beta
|
|
42
|
-
* @deprecated Use BackstageItemUtilities.createActionItem
|
|
42
|
+
* @deprecated Use [BackstageItemUtilities.createActionItem]($appui-abstract) instead
|
|
43
43
|
*/
|
|
44
44
|
BackstageItemUtilities.createActionItem = (itemId, groupPriority, itemPriority, execute, label, subtitle, iconSpec, overrides) => ({
|
|
45
45
|
execute,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackstageItemUtilities.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageItemUtilities.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD;;;GAGG;AACH,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,4CAA4C;IAC5C,qEAAc,CAAA;IACd,kCAAkC;IAClC,2EAAiB,CAAA;AACnB,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AAkBD;;GAEG;AACH,MAAM,OAAO,sBAAsB;;AACjC;;;GAGG;AACW,0CAAmB,GAAG,CAAC,YAAoB,EAAE,aAAqB,EAAE,YAAoB,EAAE,KAAa,EAAE,QAAiB,EAAE,QAAiB,EAAE,SAA2C,EAA0B,EAAE,CAAC,CAAC;IACpO,aAAa;IACb,IAAI,EAAE,QAAQ;IACd,EAAE,EAAE,YAAY;IAChB,YAAY;IACZ,IAAI,EAAE,iBAAiB,CAAC,aAAa;IACrC,KAAK;IACL,OAAO,EAAE,YAAY;IACrB,QAAQ;IACR,GAAG,SAAS;CACb,CAAC,CAAC;AAEH;;;GAGG;AACW,uCAAgB,GAAG,CAAC,MAAc,EAAE,aAAqB,EAAE,YAAoB,EAAE,OAAmB,EAAE,KAAa,EAAE,QAAiB,EAAE,QAAiB,EAAE,SAAwC,EAAuB,EAAE,CAAC,CAAC;IAC1O,OAAO;IACP,aAAa;IACb,IAAI,EAAE,QAAQ;IACd,EAAE,EAAE,MAAM;IACV,YAAY;IACZ,IAAI,EAAE,iBAAiB,CAAC,UAAU;IAClC,KAAK;IACL,QAAQ;IACR,GAAG,SAAS;CACb,CAAC,CAAC;AAEH,2DAA2D;AAC7C,qDAA8B,GAAG,CAAC,KAAyB,EAAsB,EAAE;IAC/F,MAAM,SAAS,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACxF,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAE/E,OAAO;QACL,SAAS,EAAE,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAA,KAAK;QAC5F,KAAK,EAAE,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAC/C,QAAQ,EAAE,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC;QACrD,OAAO,EAAE,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC;QACnD,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,SAAS,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;KAChE,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Backstage\r\n */\r\n\r\nimport { BackstageActionItem as UIA_BackstageActionItem, BackstageStageLauncher as UIA_BackstageStageLauncher } from \"@itwin/appui-abstract\";\r\nimport { PropsHelper } from \"../utils/PropsHelper\";\r\nimport { BackstageItemProps, BackstageItemState } from \"./BackstageItemProps\";\r\n\r\n/** Used to specify the item type added to the backstage menu.\r\n * @beta\r\n * @deprecated Use [BackstageItemType]($appui-abstract)
|
|
1
|
+
{"version":3,"file":"BackstageItemUtilities.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageItemUtilities.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD;;;GAGG;AACH,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,4CAA4C;IAC5C,qEAAc,CAAA;IACd,kCAAkC;IAClC,2EAAiB,CAAA;AACnB,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AAkBD;;GAEG;AACH,MAAM,OAAO,sBAAsB;;AACjC;;;GAGG;AACW,0CAAmB,GAAG,CAAC,YAAoB,EAAE,aAAqB,EAAE,YAAoB,EAAE,KAAa,EAAE,QAAiB,EAAE,QAAiB,EAAE,SAA2C,EAA0B,EAAE,CAAC,CAAC;IACpO,aAAa;IACb,IAAI,EAAE,QAAQ;IACd,EAAE,EAAE,YAAY;IAChB,YAAY;IACZ,IAAI,EAAE,iBAAiB,CAAC,aAAa;IACrC,KAAK;IACL,OAAO,EAAE,YAAY;IACrB,QAAQ;IACR,GAAG,SAAS;CACb,CAAC,CAAC;AAEH;;;GAGG;AACW,uCAAgB,GAAG,CAAC,MAAc,EAAE,aAAqB,EAAE,YAAoB,EAAE,OAAmB,EAAE,KAAa,EAAE,QAAiB,EAAE,QAAiB,EAAE,SAAwC,EAAuB,EAAE,CAAC,CAAC;IAC1O,OAAO;IACP,aAAa;IACb,IAAI,EAAE,QAAQ;IACd,EAAE,EAAE,MAAM;IACV,YAAY;IACZ,IAAI,EAAE,iBAAiB,CAAC,UAAU;IAClC,KAAK;IACL,QAAQ;IACR,GAAG,SAAS;CACb,CAAC,CAAC;AAEH,2DAA2D;AAC7C,qDAA8B,GAAG,CAAC,KAAyB,EAAsB,EAAE;IAC/F,MAAM,SAAS,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACxF,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAE/E,OAAO;QACL,SAAS,EAAE,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAA,KAAK;QAC5F,KAAK,EAAE,WAAW,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAC/C,QAAQ,EAAE,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC;QACrD,OAAO,EAAE,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC;QACnD,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,SAAS,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;KAChE,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Backstage\r\n */\r\n\r\nimport { BackstageActionItem as UIA_BackstageActionItem, BackstageStageLauncher as UIA_BackstageStageLauncher } from \"@itwin/appui-abstract\";\r\nimport { PropsHelper } from \"../utils/PropsHelper\";\r\nimport { BackstageItemProps, BackstageItemState } from \"./BackstageItemProps\";\r\n\r\n/** Used to specify the item type added to the backstage menu.\r\n * @beta\r\n * @deprecated Use [BackstageItemType]($appui-abstract) instead\r\n */\r\nexport enum BackstageItemType {\r\n /** Item that executes an action function */\r\n ActionItem = 1,\r\n /** Item that activate a stage. */\r\n StageLauncher = 2,\r\n}\r\n\r\n/** Describes the data needed to insert an action button into the backstage menu.\r\n * @beta\r\n * @deprecated Use [BackstageActionItem]($appui-abstract) instead\r\n */\r\nexport interface BackstageActionItem extends UIA_BackstageActionItem {\r\n readonly type: BackstageItemType.ActionItem; // eslint-disable-line deprecation/deprecation\r\n}\r\n\r\n/** Describes the data needed to insert an action button into the backstage menu.\r\n * @beta\r\n * @deprecated Use [BackstageStageLauncher]($appui-abstract) instead\r\n */\r\nexport interface BackstageStageLauncher extends UIA_BackstageStageLauncher {\r\n readonly type: BackstageItemType.StageLauncher; // eslint-disable-line deprecation/deprecation\r\n}\r\n\r\n/** Utilities for creating and maintaining backstage items\r\n * @beta @deprecated\r\n */\r\nexport class BackstageItemUtilities {\r\n /** Creates a stage launcher backstage item\r\n * @beta\r\n * @deprecated Use [BackstageItemUtilities.createStageLauncher]($appui-abstract) instead\r\n */\r\n public static createStageLauncher = (frontstageId: string, groupPriority: number, itemPriority: number, label: string, subtitle?: string, iconSpec?: string, overrides?: Partial<BackstageStageLauncher>): BackstageStageLauncher => ({ // eslint-disable-line deprecation/deprecation\r\n groupPriority,\r\n icon: iconSpec,\r\n id: frontstageId,\r\n itemPriority,\r\n type: BackstageItemType.StageLauncher, // eslint-disable-line deprecation/deprecation\r\n label,\r\n stageId: frontstageId,\r\n subtitle,\r\n ...overrides,\r\n });\r\n\r\n /** Creates an action backstage item\r\n * @beta\r\n * @deprecated Use [BackstageItemUtilities.createActionItem]($appui-abstract) instead\r\n */\r\n public static createActionItem = (itemId: string, groupPriority: number, itemPriority: number, execute: () => void, label: string, subtitle?: string, iconSpec?: string, overrides?: Partial<BackstageActionItem>): BackstageActionItem => ({ // eslint-disable-line deprecation/deprecation\r\n execute,\r\n groupPriority,\r\n icon: iconSpec,\r\n id: itemId,\r\n itemPriority,\r\n type: BackstageItemType.ActionItem, // eslint-disable-line deprecation/deprecation\r\n label,\r\n subtitle,\r\n ...overrides,\r\n });\r\n\r\n /** Helper method to set backstage item state from props */\r\n public static getBackstageItemStateFromProps = (props: BackstageItemProps): BackstageItemState => { // eslint-disable-line deprecation/deprecation\r\n const labelSpec = PropsHelper.getStringSpec(props.label, props.labelKey);\r\n const subtitleSpec = PropsHelper.getStringSpec(props.description, props.descriptionKey);\r\n const tooltipSpec = PropsHelper.getStringSpec(props.tooltip, props.tooltipKey);\r\n\r\n return {\r\n isEnabled: undefined !== props.isEnabled ? props.isEnabled : /* istanbul ignore next */false,\r\n label: PropsHelper.getStringFromSpec(labelSpec),\r\n subtitle: PropsHelper.getStringFromSpec(subtitleSpec),\r\n tooltip: PropsHelper.getStringFromSpec(tooltipSpec),\r\n iconSpec: props.iconSpec,\r\n isActive: undefined !== props.isActive ? props.isActive : false,\r\n };\r\n };\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrontstageComposer.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/FrontstageComposer.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"FrontstageComposer.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/FrontstageComposer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -346,6 +346,7 @@ export class FrontstageComposer extends React.Component {
|
|
|
346
346
|
let content;
|
|
347
347
|
// istanbul ignore else
|
|
348
348
|
if (this._frontstageDef) {
|
|
349
|
+
// istanbul ignore else
|
|
349
350
|
if (this._frontstageDef.frontstageProvider) {
|
|
350
351
|
const frontstageRuntimeProps = {
|
|
351
352
|
frontstageDef: this._frontstageDef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrontstageComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/FrontstageComposer.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 { Logger } from \"@itwin/core-bentley\";\r\nimport { PointProps, StagePanelLocation, WidgetState } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, Rectangle, RectangleProps } from \"@itwin/core-react\";\r\nimport {\r\n getDefaultNineZoneStagePanelsManagerProps, getDefaultZonesManagerProps, NineZoneManagerProps, ResizeHandle, StagePanelsManager, StagePanelType,\r\n WidgetZoneId, widgetZoneIds, ZoneTargetType,\r\n} from \"@itwin/appui-layout-react\";\r\nimport { getNestedStagePanelKey } from \"../stagepanels/StagePanel\";\r\nimport { PanelSizeChangedEventArgs, PanelStateChangedEventArgs, StagePanelState } from \"../stagepanels/StagePanelDef\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { WidgetDef } from \"../widgets/WidgetDef\";\r\nimport { WidgetTab, WidgetTabs } from \"../widgets/WidgetStack\";\r\nimport { ZoneDef, ZoneState } from \"../zones/ZoneDef\";\r\nimport { FrontstageDef } from \"./FrontstageDef\";\r\nimport { FrontstageActivatedEventArgs, FrontstageManager, ModalFrontstageChangedEventArgs, ModalFrontstageInfo } from \"./FrontstageManager\";\r\nimport { ModalFrontstage } from \"./ModalFrontstage\";\r\nimport { onEscapeSetFocusToHome } from \"../hooks/useEscapeSetFocusToHome\";\r\n\r\n/** Interface defining callbacks for widget changes\r\n * @deprecated\r\n * @public\r\n */\r\nexport interface WidgetChangeHandler {\r\n // eslint-disable-next-line deprecation/deprecation\r\n handleResize(zoneId: WidgetZoneId, resizeBy: number, handle: ResizeHandle, filledHeightDiff: number): void;\r\n // eslint-disable-next-line deprecation/deprecation\r\n handleTabClick(widgetId: WidgetZoneId, tabIndex: number): void;\r\n // eslint-disable-next-line deprecation/deprecation\r\n handleTabDragStart(widgetId: WidgetZoneId, tabIndex: number, initialPosition: PointProps, widgetBounds: RectangleProps): void;\r\n handleTabDragEnd(): void;\r\n handleTabDrag(dragged: PointProps): void;\r\n // eslint-disable-next-line deprecation/deprecation\r\n handleWidgetStateChange(widgetId: WidgetZoneId, tabIndex: number, isOpening: boolean): void;\r\n}\r\n\r\n/** Interface defining callbacks for stage panel changes\r\n * @public\r\n */\r\nexport interface StagePanelChangeHandler {\r\n /** @alpha */\r\n handlePanelInitialize(panelLocation: StagePanelLocation, size: number): void;\r\n /** @alpha */\r\n handlePanelResize(panelLocation: StagePanelLocation, resizeBy: number): void;\r\n /** @alpha */\r\n handlePanelPaneTargetChange(panelLocation: StagePanelLocation, paneIndex: number | undefined): void;\r\n /** @alpha */\r\n handlePanelTargetChange(panelLocation: StagePanelLocation | undefined): void;\r\n /** @alpha */\r\n handleTogglePanelCollapse(panelLocation: StagePanelLocation): void;\r\n}\r\n\r\n/** Interface defining callbacks for ZoneDropTarget changes\r\n * @deprecated\r\n * @public\r\n */\r\nexport interface TargetChangeHandler {\r\n handleTargetChanged(zoneId: WidgetZoneId, type: ZoneTargetType, isTargeted: boolean): void; // eslint-disable-line deprecation/deprecation\r\n}\r\n\r\n/** Interface defining callbacks for nine zone changes\r\n * @public\r\n */\r\nexport interface NineZoneChangeHandler {\r\n handleFloatingZonesBoundsChange(bounds: RectangleProps): void;\r\n handleZonesBoundsChange(bounds: RectangleProps): void;\r\n}\r\n\r\n/** Interface defining a provider for Zone definitions\r\n * @public\r\n */\r\nexport interface ZoneDefProvider {\r\n getZoneDef(zoneId: number): ZoneDef | undefined;\r\n}\r\n\r\n/** Runtime Props for the Frontstage\r\n * @internal\r\n */\r\nexport interface FrontstageRuntimeProps {\r\n frontstageDef: FrontstageDef;\r\n nineZone: NineZoneManagerProps;\r\n nineZoneChangeHandler: NineZoneChangeHandler;\r\n stagePanelChangeHandler: StagePanelChangeHandler;\r\n targetChangeHandler: TargetChangeHandler; // eslint-disable-line deprecation/deprecation\r\n widgetChangeHandler: WidgetChangeHandler; // eslint-disable-line deprecation/deprecation\r\n widgetTabs: WidgetTabs;\r\n zoneDefProvider: ZoneDefProvider;\r\n}\r\n\r\n/** State for the FrontstageComposer component.\r\n * @internal\r\n */\r\ninterface FrontstageComposerState {\r\n allowPointerUpSelection: boolean;\r\n modalFrontstageCount: number;\r\n nineZone: NineZoneManagerProps;\r\n widgetTabs: WidgetTabs;\r\n}\r\n\r\nconst getDefaultWidgetTabs = (): WidgetTabs => ({\r\n [1]: [],\r\n [2]: [],\r\n [3]: [],\r\n [4]: [],\r\n [6]: [],\r\n [7]: [],\r\n [8]: [],\r\n [9]: [],\r\n});\r\n\r\nconst stagePanelLocations: ReadonlyArray<StagePanelLocation> = [\r\n StagePanelLocation.Top,\r\n StagePanelLocation.TopMost,\r\n StagePanelLocation.Left,\r\n StagePanelLocation.Right,\r\n StagePanelLocation.Bottom,\r\n StagePanelLocation.BottomMost,\r\n];\r\n\r\n/** FrontstageComposer React component.\r\n * @deprecated\r\n * @public\r\n */\r\nexport class FrontstageComposer extends React.Component<CommonProps, FrontstageComposerState>\r\n implements WidgetChangeHandler, TargetChangeHandler, ZoneDefProvider, StagePanelChangeHandler, NineZoneChangeHandler { // eslint-disable-line deprecation/deprecation\r\n\r\n private _frontstageDef: FrontstageDef | undefined;\r\n private _isMounted = false;\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<FrontstageComposerState>;\r\n\r\n constructor(props: CommonProps) {\r\n super(props);\r\n\r\n this._frontstageDef = FrontstageManager.activeFrontstageDef;\r\n\r\n // Get the id and nineZoneProps for the current FrontstageDef\r\n const nineZone = this.determineNineZoneProps(this._frontstageDef);\r\n const widgetTabs = this._frontstageDef ? this.determineWidgetTabs() : getDefaultWidgetTabs();\r\n\r\n this.state = {\r\n allowPointerUpSelection: false,\r\n nineZone,\r\n modalFrontstageCount: FrontstageManager.modalFrontstageCount,\r\n widgetTabs,\r\n };\r\n }\r\n\r\n private determineNineZoneProps(frontstageDef?: FrontstageDef): NineZoneManagerProps {\r\n let nineZone: NineZoneManagerProps;\r\n // istanbul ignore if\r\n if (frontstageDef && frontstageDef.nineZone)\r\n nineZone = { ...frontstageDef.nineZone };\r\n else {\r\n const isInFooterMode = frontstageDef ? frontstageDef.isInFooterMode : false;\r\n nineZone = {\r\n zones: FrontstageManager.NineZoneManager.getZonesManager().setIsInFooterMode(isInFooterMode, getDefaultZonesManagerProps()),\r\n nested: {\r\n panels: {\r\n inner: getDefaultNineZoneStagePanelsManagerProps(),\r\n outer: getDefaultNineZoneStagePanelsManagerProps(),\r\n },\r\n },\r\n };\r\n for (const location of stagePanelLocations) {\r\n const stagePanel = frontstageDef && frontstageDef.getStagePanelDef(location);\r\n if (!stagePanel)\r\n continue;\r\n\r\n const isCollapsed = panelStateToIsCollapsed(stagePanel.panelState);\r\n const panelKey = getNestedStagePanelKey(location);\r\n const nested = FrontstageManager.NineZoneManager.getNestedPanelsManager().setIsCollapsed(panelKey, isCollapsed, nineZone.nested);\r\n nineZone = FrontstageManager.NineZoneManager.setNested(nested, nineZone);\r\n }\r\n }\r\n return nineZone;\r\n }\r\n\r\n private initializeZoneBounds() {\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState((prevState) => {\r\n const frontstageDef = this._frontstageDef;\r\n if (!frontstageDef)\r\n return null;\r\n const manager = FrontstageManager.NineZoneManager;\r\n const zonesManager = manager.getZonesManager();\r\n let zones = prevState.nineZone.zones;\r\n for (const zoneId of widgetZoneIds) {\r\n const zoneDef = frontstageDef.getZoneDef(zoneId);\r\n if (!zoneDef)\r\n continue;\r\n // istanbul ignore next\r\n if (zoneDef.initialWidth)\r\n zones = zonesManager.setZoneWidth(zoneId, zoneDef.initialWidth, zones);\r\n }\r\n // istanbul ignore else\r\n if (zones === prevState.nineZone.zones)\r\n return null;\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n zones,\r\n },\r\n };\r\n });\r\n\r\n }\r\n\r\n private determineWidgetTabs(): WidgetTabs {\r\n const defaultWidgetTabs = getDefaultWidgetTabs();\r\n const widgetTabs = widgetZoneIds.reduce((acc, zoneId) => {\r\n const zoneDef = this.getZoneDef(zoneId);\r\n if (!zoneDef)\r\n return acc;\r\n const visibleWidgetDefs = zoneDef.widgetDefs.filter((widgetDef: WidgetDef) => {\r\n return widgetDef.isVisible && !widgetDef.isFloating;\r\n });\r\n const tabs = visibleWidgetDefs.map<WidgetTab>((widgetDef: WidgetDef) => ({\r\n badgeType: widgetDef.badgeType,\r\n iconSpec: widgetDef.iconSpec,\r\n title: widgetDef.label,\r\n widgetName: widgetDef.id,\r\n }));\r\n return {\r\n ...acc,\r\n [zoneId]: tabs,\r\n };\r\n }, defaultWidgetTabs);\r\n return widgetTabs;\r\n }\r\n\r\n private _handleFrontstageActivatedEvent = (args: FrontstageActivatedEventArgs) => {\r\n // istanbul ignore next - Save the nineZoneProps into the former FrontstageDef\r\n if (this._frontstageDef)\r\n this._frontstageDef.nineZone = { ...this.state.nineZone };\r\n\r\n this._frontstageDef = args.activatedFrontstageDef;\r\n\r\n // Get the id and nineZoneProps for the current FrontstageDef\r\n const nineZone = this.determineNineZoneProps(this._frontstageDef);\r\n const needInitialLayout = (this._frontstageDef && this._frontstageDef.nineZone) ? /* istanbul ignore next */ false : true;\r\n const widgetTabs = this.determineWidgetTabs();\r\n\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({\r\n nineZone,\r\n widgetTabs,\r\n }, () => {\r\n needInitialLayout && this.initializeFrontstageLayout(nineZone);\r\n this.layout();\r\n needInitialLayout && this.initializeZoneBounds();\r\n });\r\n };\r\n\r\n private initializeFrontstageLayout(nineZone: NineZoneManagerProps) {\r\n const nestedPanelsManager = FrontstageManager.NineZoneManager.getNestedPanelsManager();\r\n nestedPanelsManager.getPanelsManager(\"inner\").getPanelManager(StagePanelType.Top).minSize = 20;\r\n nestedPanelsManager.getPanelsManager(\"inner\").getPanelManager(StagePanelType.Top).collapseOffset = 0;\r\n nestedPanelsManager.getPanelsManager(\"inner\").getPanelManager(StagePanelType.Bottom).minSize = 20;\r\n nestedPanelsManager.getPanelsManager(\"inner\").getPanelManager(StagePanelType.Bottom).collapseOffset = 0;\r\n nestedPanelsManager.getPanelsManager(\"outer\").getPanelManager(StagePanelType.Top).minSize = 20;\r\n nestedPanelsManager.getPanelsManager(\"outer\").getPanelManager(StagePanelType.Top).collapseOffset = 0;\r\n nestedPanelsManager.getPanelsManager(\"outer\").getPanelManager(StagePanelType.Bottom).minSize = 20;\r\n nestedPanelsManager.getPanelsManager(\"outer\").getPanelManager(StagePanelType.Bottom).collapseOffset = 0;\r\n\r\n widgetZoneIds.forEach((zoneId) => {\r\n const zoneDef = this.getZoneDef(zoneId);\r\n if (!zoneDef || zoneDef.zoneState === ZoneState.Off)\r\n return;\r\n\r\n if (!zoneDef.allowsMerging)\r\n this.setZoneAllowsMerging(zoneId, false);\r\n\r\n if (zoneDef.mergeWithZone)\r\n this.mergeZones(zoneId, zoneDef.mergeWithZone);\r\n\r\n const zoneProps = nineZone.zones.zones[zoneId];\r\n // istanbul ignore else\r\n if (zoneProps.widgets.length >= 1) {\r\n zoneProps.widgets.forEach((widgetId) => {\r\n zoneDef.widgetDefs\r\n .filter((widgetDef: WidgetDef) => {\r\n return widgetDef.isVisible && !widgetDef.isToolSettings && !widgetDef.isStatusBar && !widgetDef.isFreeform;\r\n })\r\n .forEach((widgetDef: WidgetDef, tabIndex: number) => {\r\n if (widgetDef.canOpen()) {\r\n this.handleWidgetStateChange(widgetId, tabIndex, true);\r\n }\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n private _handleModalFrontstageChangedEvent = (_args: ModalFrontstageChangedEventArgs) => {\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({ modalFrontstageCount: FrontstageManager.modalFrontstageCount });\r\n };\r\n\r\n private _closeModalStage = () => {\r\n FrontstageManager.closeModalFrontstage();\r\n };\r\n\r\n private renderModalFrontstage(): React.ReactNode {\r\n if (this.state.modalFrontstageCount === 0)\r\n return null;\r\n\r\n const activeModalFrontstage: ModalFrontstageInfo | undefined = FrontstageManager.activeModalFrontstage;\r\n // istanbul ignore next\r\n if (!activeModalFrontstage)\r\n return null;\r\n\r\n const { title, content, appBarRight } = activeModalFrontstage;\r\n\r\n return (\r\n <ModalFrontstage\r\n isOpen={true}\r\n title={title}\r\n closeModal={this._closeModalStage}\r\n appBarRight={appBarRight}\r\n >\r\n {content}\r\n </ModalFrontstage>\r\n );\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n let content: React.ReactNode;\r\n // istanbul ignore else\r\n if (this._frontstageDef) {\r\n if (this._frontstageDef.frontstageProvider) {\r\n const frontstageRuntimeProps: FrontstageRuntimeProps = {\r\n frontstageDef: this._frontstageDef,\r\n nineZone: this.state.nineZone,\r\n nineZoneChangeHandler: this,\r\n stagePanelChangeHandler: this,\r\n widgetChangeHandler: this,\r\n widgetTabs: this.state.widgetTabs,\r\n targetChangeHandler: this,\r\n zoneDefProvider: this,\r\n };\r\n content = React.cloneElement(this._frontstageDef.frontstageProvider.frontstage, { runtimeProps: frontstageRuntimeProps });\r\n } else {\r\n Logger.logError(UiFramework.loggerCategory(this), \"FrontstageDef has no FrontstageProvider\");\r\n content = null;\r\n }\r\n }\r\n\r\n return (\r\n <ToolGroupPanelContext.Provider value={this.state.allowPointerUpSelection}>\r\n <div\r\n className={this.props.className}\r\n id=\"uifw-frontstage-composer\"\r\n onPointerDown={this._handlePointerDown}\r\n onPointerUp={this._handlePointerUp}\r\n style={this.props.style}\r\n onKeyDown={onEscapeSetFocusToHome}\r\n role=\"presentation\"\r\n >\r\n {this.renderModalFrontstage()}\r\n {content}\r\n </div>\r\n </ToolGroupPanelContext.Provider>\r\n );\r\n }\r\n\r\n public override componentDidMount(): void {\r\n this._isMounted = true;\r\n const needInitialLayout = (this._frontstageDef && this._frontstageDef.nineZone) ? /* istanbul ignore next */ false : true;\r\n if (this._frontstageDef && needInitialLayout)\r\n this.initializeFrontstageLayout(this.state.nineZone);\r\n\r\n this.layout();\r\n this.initializeZoneBounds();\r\n window.addEventListener(\"resize\", this._handleWindowResize, true);\r\n FrontstageManager.onFrontstageActivatedEvent.addListener(this._handleFrontstageActivatedEvent);\r\n FrontstageManager.onModalFrontstageChangedEvent.addListener(this._handleModalFrontstageChangedEvent);\r\n FrontstageManager.onWidgetStateChangedEvent.addListener(this._handleWidgetStateChangedEvent);\r\n FrontstageManager.onPanelStateChangedEvent.addListener(this._handlePanelStateChangedEvent);\r\n FrontstageManager.onPanelSizeChangedEvent.addListener(this._handlePanelSizeChangedEvent);\r\n FrontstageManager.onToolActivatedEvent.addListener(this._handleToolActivatedEvent);\r\n FrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);\r\n FrontstageManager.onWidgetDefsUpdatedEvent.addListener(this._handleWidgetStateChangedEvent);\r\n }\r\n\r\n public override componentWillUnmount(): void {\r\n this._isMounted = false;\r\n window.removeEventListener(\"resize\", this._handleWindowResize, true);\r\n FrontstageManager.onFrontstageActivatedEvent.removeListener(this._handleFrontstageActivatedEvent);\r\n FrontstageManager.onModalFrontstageChangedEvent.removeListener(this._handleModalFrontstageChangedEvent);\r\n FrontstageManager.onPanelStateChangedEvent.removeListener(this._handlePanelStateChangedEvent);\r\n FrontstageManager.onPanelSizeChangedEvent.removeListener(this._handlePanelSizeChangedEvent);\r\n FrontstageManager.onToolActivatedEvent.removeListener(this._handleToolActivatedEvent);\r\n FrontstageManager.onToolPanelOpenedEvent.removeListener(this._handleToolPanelOpenedEvent);\r\n FrontstageManager.onWidgetDefsUpdatedEvent.removeListener(this._handleWidgetStateChangedEvent);\r\n }\r\n\r\n // istanbul ignore next\r\n private _handleWindowResize = () => {\r\n this.layout();\r\n };\r\n\r\n // istanbul ignore next\r\n public handleResize = (zoneId: WidgetZoneId, resizeBy: number, handle: ResizeHandle, filledHeightDiff: number) => { // eslint-disable-line deprecation/deprecation\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const zones = FrontstageManager.NineZoneManager.getZonesManager().handleWidgetResize({ zoneId, resizeBy, handle, filledHeightDiff }, prevState.nineZone.zones);\r\n if (zones === prevState.nineZone.zones)\r\n return null;\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n zones,\r\n },\r\n };\r\n });\r\n };\r\n\r\n public handleTabClick = (widgetId: WidgetZoneId, tabIndex: number) => { // eslint-disable-line deprecation/deprecation\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const nineZone = FrontstageManager.NineZoneManager.handleWidgetTabClick(widgetId, tabIndex, prevState.nineZone);\r\n // istanbul ignore next\r\n if (nineZone === prevState.nineZone)\r\n return null;\r\n return {\r\n nineZone,\r\n };\r\n }, () => {\r\n // TODO: use NineZoneManager notifications once available\r\n const manager = FrontstageManager.NineZoneManager.getZonesManager();\r\n const props = this.state.nineZone.zones;\r\n const zone = manager.findZoneWithWidget(widgetId, props);\r\n const widgets = zone ? zone.widgets : /* istanbul ignore next */[widgetId];\r\n widgets.forEach((wId) => {\r\n const zoneDef = this.getZoneDef(wId);\r\n if (!zoneDef)\r\n return;\r\n\r\n const w = props.widgets[wId];\r\n const visibleWidgets = zoneDef.widgetDefs.filter((wd) => wd.isVisible);\r\n for (let i = 0; i < visibleWidgets.length; i++) {\r\n const widgetDef = visibleWidgets[i];\r\n let state = widgetDef.state;\r\n if (w.tabIndex === i)\r\n state = WidgetState.Open;\r\n else if (state === WidgetState.Open)\r\n state = WidgetState.Closed;\r\n widgetDef.setWidgetState(state);\r\n }\r\n });\r\n },\r\n );\r\n };\r\n\r\n // istanbul ignore next\r\n // eslint-disable-next-line deprecation/deprecation\r\n public handleTabDragStart = (widgetId: WidgetZoneId, tabIndex: number, initialPosition: PointProps, widgetBounds: RectangleProps) => {\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const nineZone = FrontstageManager.NineZoneManager.handleWidgetTabDragStart({ widgetId, tabIndex, initialPosition, widgetBounds }, prevState.nineZone);\r\n if (nineZone === prevState.nineZone)\r\n return null;\r\n return {\r\n nineZone,\r\n };\r\n });\r\n };\r\n\r\n // istanbul ignore next\r\n public handleTabDragEnd = () => {\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const nineZone = FrontstageManager.NineZoneManager.handleWidgetTabDragEnd(prevState.nineZone);\r\n if (nineZone === prevState.nineZone)\r\n return null;\r\n return {\r\n nineZone,\r\n };\r\n });\r\n };\r\n\r\n // istanbul ignore next\r\n public handleTabDrag = (dragged: PointProps) => {\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const zones = FrontstageManager.NineZoneManager.getZonesManager().handleWidgetTabDrag(dragged, prevState.nineZone.zones);\r\n if (zones === prevState.nineZone.zones)\r\n return null;\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n zones,\r\n },\r\n };\r\n });\r\n };\r\n\r\n // istanbul ignore next\r\n public handleTargetChanged(zoneId: WidgetZoneId, type: ZoneTargetType, isTargeted: boolean): void { // eslint-disable-line deprecation/deprecation\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const zones = isTargeted ? FrontstageManager.NineZoneManager.getZonesManager().handleTargetChanged({ zoneId, type }, prevState.nineZone.zones) :\r\n FrontstageManager.NineZoneManager.getZonesManager().handleTargetChanged(undefined, prevState.nineZone.zones);\r\n if (zones === prevState.nineZone.zones)\r\n return null;\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n zones,\r\n },\r\n };\r\n });\r\n }\r\n\r\n /** @alpha */\r\n public handlePanelInitialize(panelLocation: StagePanelLocation, size: number): void {\r\n const panel = getNestedStagePanelKey(panelLocation);\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const nested = FrontstageManager.NineZoneManager.getNestedPanelsManager().setSize(panel, size, prevState.nineZone.nested);\r\n // istanbul ignore if\r\n if (nested === prevState.nineZone.nested)\r\n return null;\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n nested,\r\n },\r\n };\r\n });\r\n }\r\n\r\n /** @alpha */\r\n // istanbul ignore next\r\n public handlePanelResize(panelLocation: StagePanelLocation, resizeBy: number): void {\r\n const nestedPanelKey = getNestedStagePanelKey(panelLocation);\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const nested = FrontstageManager.NineZoneManager.getNestedPanelsManager().resize(nestedPanelKey, resizeBy, prevState.nineZone.nested);\r\n if (nested === prevState.nineZone.nested)\r\n return null;\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n nested,\r\n },\r\n };\r\n }, () => {\r\n const frontstage = FrontstageManager.activeFrontstageDef;\r\n const stagePanel = frontstage && frontstage.getStagePanelDef(panelLocation);\r\n if (stagePanel) {\r\n const panels = this.state.nineZone.nested.panels[nestedPanelKey.id];\r\n const panel = StagePanelsManager.getPanel(nestedPanelKey.type, panels);\r\n const panelState = isCollapsedToPanelState(panel.isCollapsed);\r\n stagePanel.panelState = panelState;\r\n }\r\n });\r\n }\r\n\r\n /** @alpha */\r\n // istanbul ignore next\r\n public handlePanelPaneTargetChange(panelLocation: StagePanelLocation, paneIndex: number | undefined): void {\r\n const panelKey = getNestedStagePanelKey(panelLocation);\r\n FrontstageManager.NineZoneManager.setPaneTarget(paneIndex === undefined ? undefined : {\r\n panelId: panelKey.id,\r\n panelType: panelKey.type,\r\n paneIndex,\r\n });\r\n }\r\n\r\n /** @alpha */\r\n // istanbul ignore next\r\n public handlePanelTargetChange(panelLocation: StagePanelLocation | undefined): void {\r\n const panelKey = panelLocation === undefined ? undefined : getNestedStagePanelKey(panelLocation);\r\n FrontstageManager.NineZoneManager.setPanelTarget(panelKey ? {\r\n panelId: panelKey.id,\r\n panelType: panelKey.type,\r\n } : undefined);\r\n }\r\n\r\n /** @alpha */\r\n public handleTogglePanelCollapse(panelLocation: StagePanelLocation): void {\r\n const frontstage = FrontstageManager.activeFrontstageDef;\r\n // istanbul ignore if\r\n if (!frontstage)\r\n return;\r\n const stagePanel = frontstage.getStagePanelDef(panelLocation);\r\n // istanbul ignore if\r\n if (!stagePanel)\r\n return;\r\n const isCollapsed = panelStateToIsCollapsed(stagePanel.panelState);\r\n const panelState = isCollapsed ? /* istanbul ignore next */ StagePanelState.Open : StagePanelState.Minimized;\r\n stagePanel.panelState = panelState;\r\n }\r\n\r\n public handleFloatingZonesBoundsChange(bounds: RectangleProps) {\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState((prevState) => {\r\n const zones = FrontstageManager.NineZoneManager.getZonesManager().setFloatingZonesBounds(bounds, prevState.nineZone.zones);\r\n if (zones === prevState.nineZone.zones)\r\n return null;\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n zones,\r\n },\r\n };\r\n });\r\n }\r\n\r\n public handleZonesBoundsChange(bounds: RectangleProps): void {\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const zones = FrontstageManager.NineZoneManager.getZonesManager().setZonesBounds(bounds, prevState.nineZone.zones);\r\n // istanbul ignore else\r\n if (zones === prevState.nineZone.zones)\r\n return null;\r\n // istanbul ignore next\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n zones,\r\n },\r\n };\r\n });\r\n }\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n public handleWidgetStateChange(widgetId: WidgetZoneId, tabIndex: number, isOpening: boolean): void {\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const widget = prevState.nineZone.zones.widgets[widgetId];\r\n if (isOpening && widget.tabIndex === tabIndex)\r\n return null;\r\n if (!isOpening && widget.tabIndex !== tabIndex)\r\n return null;\r\n const nineZone = FrontstageManager.NineZoneManager.handleWidgetTabClick(widgetId, tabIndex, prevState.nineZone);\r\n // istanbul ignore if\r\n if (nineZone === prevState.nineZone)\r\n return null;\r\n return {\r\n nineZone,\r\n };\r\n });\r\n }\r\n\r\n public getZoneDef(zoneId: number): ZoneDef | undefined {\r\n if (!this._frontstageDef) {\r\n Logger.logError(UiFramework.loggerCategory(this), \"getZoneDef: There is no active frontstage\");\r\n return undefined;\r\n }\r\n\r\n const zoneDef = this._frontstageDef.getZoneDef(zoneId);\r\n\r\n // Zones can be undefined in a Frontstage\r\n\r\n return zoneDef;\r\n }\r\n\r\n // istanbul ignore next\r\n public getGhostOutlineBounds(zoneId: WidgetZoneId): RectangleProps | undefined { // eslint-disable-line deprecation/deprecation\r\n const manager = FrontstageManager.NineZoneManager.getZonesManager();\r\n return manager.getGhostOutlineBounds(zoneId, this.state.nineZone.zones);\r\n }\r\n\r\n public setZoneAllowsMerging(zoneId: WidgetZoneId, allowsMerging: boolean): void { // eslint-disable-line deprecation/deprecation\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const zones = FrontstageManager.NineZoneManager.getZonesManager().setAllowsMerging(zoneId, allowsMerging, prevState.nineZone.zones);\r\n if (zones === prevState.nineZone.zones)\r\n return null;\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n zones,\r\n },\r\n };\r\n });\r\n }\r\n\r\n public mergeZones(toMergeId: WidgetZoneId, targetId: WidgetZoneId): void { // eslint-disable-line deprecation/deprecation\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const zones = FrontstageManager.NineZoneManager.getZonesManager().mergeZone(toMergeId, targetId, prevState.nineZone.zones);\r\n // istanbul ignore else\r\n if (zones === prevState.nineZone.zones)\r\n return null;\r\n // istanbul ignore next\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n zones,\r\n },\r\n };\r\n });\r\n }\r\n\r\n private layout() {\r\n const zones = document.getElementById(\"uifw-ninezone-zones-area\");\r\n const floatingZones = document.getElementById(\"uifw-ninezone-floating-zones-area\");\r\n if (!zones || !floatingZones)\r\n return;\r\n let floatingBounds = Rectangle.create(floatingZones.getBoundingClientRect());\r\n const bounds = Rectangle.create(zones.getBoundingClientRect());\r\n const offset = bounds.topLeft().getOffsetTo(floatingBounds.topLeft());\r\n floatingBounds = floatingBounds.setPosition(offset);\r\n this.handleZonesBoundsChange(bounds);\r\n this.handleFloatingZonesBoundsChange(floatingBounds);\r\n }\r\n\r\n private _handleWidgetStateChangedEvent = () => {\r\n const widgetTabs = this.determineWidgetTabs();\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({\r\n widgetTabs,\r\n });\r\n };\r\n\r\n private _handlePanelStateChangedEvent = ({ panelDef, panelState }: PanelStateChangedEventArgs) => {\r\n this.setPanelState(panelDef.location, panelState);\r\n };\r\n\r\n // istanbul ignore next\r\n private _handlePanelSizeChangedEvent = ({ panelDef, size }: PanelSizeChangedEventArgs) => {\r\n (size !== undefined) && this.handlePanelInitialize(panelDef.location, size);\r\n };\r\n\r\n private _handleToolActivatedEvent = () => {\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState((prevState) => {\r\n const activeToolSettingsProvider = FrontstageManager.activeToolSettingsProvider;\r\n const manager = FrontstageManager.NineZoneManager;\r\n const nineZone = activeToolSettingsProvider ? manager.showWidget(2, prevState.nineZone) : manager.hideWidget(2, prevState.nineZone);\r\n if (nineZone === prevState.nineZone)\r\n return null;\r\n return {\r\n nineZone,\r\n };\r\n });\r\n };\r\n\r\n // istanbul ignore next\r\n private _handleToolPanelOpenedEvent = () => {\r\n this.setAllowPointerUpSelection(true);\r\n };\r\n\r\n private _handlePointerDown = () => {\r\n this.setAllowPointerUpSelection(false);\r\n };\r\n\r\n private _handlePointerUp = () => {\r\n this.setAllowPointerUpSelection(false);\r\n };\r\n\r\n private setAllowPointerUpSelection(allowPointerUpSelection: boolean) {\r\n // istanbul ignore if\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState((prevState) => {\r\n // istanbul ignore if\r\n if (prevState.allowPointerUpSelection === allowPointerUpSelection)\r\n return null;\r\n return {\r\n allowPointerUpSelection,\r\n };\r\n });\r\n }\r\n\r\n private setPanelState(location: StagePanelLocation, panelState: StagePanelState) {\r\n const panelKey = getNestedStagePanelKey(location);\r\n const isCollapsed = panelStateToIsCollapsed(panelState);\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const nested = FrontstageManager.NineZoneManager.getNestedPanelsManager().setIsCollapsed(panelKey, isCollapsed, prevState.nineZone.nested);\r\n // istanbul ignore if\r\n if (nested === prevState.nineZone.nested)\r\n return null;\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n nested,\r\n },\r\n };\r\n });\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport const panelStateToIsCollapsed = (panelState: StagePanelState) => {\r\n switch (panelState) {\r\n case StagePanelState.Minimized:\r\n case StagePanelState.Off:\r\n return true;\r\n default:\r\n return false;\r\n }\r\n};\r\n\r\n/** @internal */\r\nexport const isCollapsedToPanelState = (isCollapsed: boolean) => {\r\n switch (isCollapsed) {\r\n case true:\r\n return StagePanelState.Minimized;\r\n default:\r\n return StagePanelState.Open;\r\n }\r\n};\r\n\r\n/** @internal */\r\nexport const ToolGroupPanelContext = React.createContext(false); // eslint-disable-line @typescript-eslint/naming-convention\r\n"]}
|
|
1
|
+
{"version":3,"file":"FrontstageComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/FrontstageComposer.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 { Logger } from \"@itwin/core-bentley\";\r\nimport { PointProps, StagePanelLocation, WidgetState } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, Rectangle, RectangleProps } from \"@itwin/core-react\";\r\nimport {\r\n getDefaultNineZoneStagePanelsManagerProps, getDefaultZonesManagerProps, NineZoneManagerProps, ResizeHandle, StagePanelsManager, StagePanelType,\r\n WidgetZoneId, widgetZoneIds, ZoneTargetType,\r\n} from \"@itwin/appui-layout-react\";\r\nimport { getNestedStagePanelKey } from \"../stagepanels/StagePanel\";\r\nimport { PanelSizeChangedEventArgs, PanelStateChangedEventArgs, StagePanelState } from \"../stagepanels/StagePanelDef\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { WidgetDef } from \"../widgets/WidgetDef\";\r\nimport { WidgetTab, WidgetTabs } from \"../widgets/WidgetStack\";\r\nimport { ZoneDef, ZoneState } from \"../zones/ZoneDef\";\r\nimport { FrontstageDef } from \"./FrontstageDef\";\r\nimport { FrontstageActivatedEventArgs, FrontstageManager, ModalFrontstageChangedEventArgs, ModalFrontstageInfo } from \"./FrontstageManager\";\r\nimport { ModalFrontstage } from \"./ModalFrontstage\";\r\nimport { onEscapeSetFocusToHome } from \"../hooks/useEscapeSetFocusToHome\";\r\n\r\n/** Interface defining callbacks for widget changes\r\n * @deprecated\r\n * @public\r\n */\r\nexport interface WidgetChangeHandler {\r\n // eslint-disable-next-line deprecation/deprecation\r\n handleResize(zoneId: WidgetZoneId, resizeBy: number, handle: ResizeHandle, filledHeightDiff: number): void;\r\n // eslint-disable-next-line deprecation/deprecation\r\n handleTabClick(widgetId: WidgetZoneId, tabIndex: number): void;\r\n // eslint-disable-next-line deprecation/deprecation\r\n handleTabDragStart(widgetId: WidgetZoneId, tabIndex: number, initialPosition: PointProps, widgetBounds: RectangleProps): void;\r\n handleTabDragEnd(): void;\r\n handleTabDrag(dragged: PointProps): void;\r\n // eslint-disable-next-line deprecation/deprecation\r\n handleWidgetStateChange(widgetId: WidgetZoneId, tabIndex: number, isOpening: boolean): void;\r\n}\r\n\r\n/** Interface defining callbacks for stage panel changes\r\n * @public\r\n */\r\nexport interface StagePanelChangeHandler {\r\n /** @alpha */\r\n handlePanelInitialize(panelLocation: StagePanelLocation, size: number): void;\r\n /** @alpha */\r\n handlePanelResize(panelLocation: StagePanelLocation, resizeBy: number): void;\r\n /** @alpha */\r\n handlePanelPaneTargetChange(panelLocation: StagePanelLocation, paneIndex: number | undefined): void;\r\n /** @alpha */\r\n handlePanelTargetChange(panelLocation: StagePanelLocation | undefined): void;\r\n /** @alpha */\r\n handleTogglePanelCollapse(panelLocation: StagePanelLocation): void;\r\n}\r\n\r\n/** Interface defining callbacks for ZoneDropTarget changes\r\n * @deprecated\r\n * @public\r\n */\r\nexport interface TargetChangeHandler {\r\n handleTargetChanged(zoneId: WidgetZoneId, type: ZoneTargetType, isTargeted: boolean): void; // eslint-disable-line deprecation/deprecation\r\n}\r\n\r\n/** Interface defining callbacks for nine zone changes\r\n * @public\r\n */\r\nexport interface NineZoneChangeHandler {\r\n handleFloatingZonesBoundsChange(bounds: RectangleProps): void;\r\n handleZonesBoundsChange(bounds: RectangleProps): void;\r\n}\r\n\r\n/** Interface defining a provider for Zone definitions\r\n * @public\r\n */\r\nexport interface ZoneDefProvider {\r\n getZoneDef(zoneId: number): ZoneDef | undefined;\r\n}\r\n\r\n/** Runtime Props for the Frontstage\r\n * @internal\r\n */\r\nexport interface FrontstageRuntimeProps {\r\n frontstageDef: FrontstageDef;\r\n nineZone: NineZoneManagerProps;\r\n nineZoneChangeHandler: NineZoneChangeHandler;\r\n stagePanelChangeHandler: StagePanelChangeHandler;\r\n targetChangeHandler: TargetChangeHandler; // eslint-disable-line deprecation/deprecation\r\n widgetChangeHandler: WidgetChangeHandler; // eslint-disable-line deprecation/deprecation\r\n widgetTabs: WidgetTabs;\r\n zoneDefProvider: ZoneDefProvider;\r\n}\r\n\r\n/** State for the FrontstageComposer component.\r\n * @internal\r\n */\r\ninterface FrontstageComposerState {\r\n allowPointerUpSelection: boolean;\r\n modalFrontstageCount: number;\r\n nineZone: NineZoneManagerProps;\r\n widgetTabs: WidgetTabs;\r\n}\r\n\r\nconst getDefaultWidgetTabs = (): WidgetTabs => ({\r\n [1]: [],\r\n [2]: [],\r\n [3]: [],\r\n [4]: [],\r\n [6]: [],\r\n [7]: [],\r\n [8]: [],\r\n [9]: [],\r\n});\r\n\r\nconst stagePanelLocations: ReadonlyArray<StagePanelLocation> = [\r\n StagePanelLocation.Top,\r\n StagePanelLocation.TopMost,\r\n StagePanelLocation.Left,\r\n StagePanelLocation.Right,\r\n StagePanelLocation.Bottom,\r\n StagePanelLocation.BottomMost,\r\n];\r\n\r\n/** FrontstageComposer React component.\r\n * @deprecated\r\n * @public\r\n */\r\nexport class FrontstageComposer extends React.Component<CommonProps, FrontstageComposerState>\r\n implements WidgetChangeHandler, TargetChangeHandler, ZoneDefProvider, StagePanelChangeHandler, NineZoneChangeHandler { // eslint-disable-line deprecation/deprecation\r\n\r\n private _frontstageDef: FrontstageDef | undefined;\r\n private _isMounted = false;\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<FrontstageComposerState>;\r\n\r\n constructor(props: CommonProps) {\r\n super(props);\r\n\r\n this._frontstageDef = FrontstageManager.activeFrontstageDef;\r\n\r\n // Get the id and nineZoneProps for the current FrontstageDef\r\n const nineZone = this.determineNineZoneProps(this._frontstageDef);\r\n const widgetTabs = this._frontstageDef ? this.determineWidgetTabs() : getDefaultWidgetTabs();\r\n\r\n this.state = {\r\n allowPointerUpSelection: false,\r\n nineZone,\r\n modalFrontstageCount: FrontstageManager.modalFrontstageCount,\r\n widgetTabs,\r\n };\r\n }\r\n\r\n private determineNineZoneProps(frontstageDef?: FrontstageDef): NineZoneManagerProps {\r\n let nineZone: NineZoneManagerProps;\r\n // istanbul ignore if\r\n if (frontstageDef && frontstageDef.nineZone)\r\n nineZone = { ...frontstageDef.nineZone };\r\n else {\r\n const isInFooterMode = frontstageDef ? frontstageDef.isInFooterMode : false;\r\n nineZone = {\r\n zones: FrontstageManager.NineZoneManager.getZonesManager().setIsInFooterMode(isInFooterMode, getDefaultZonesManagerProps()),\r\n nested: {\r\n panels: {\r\n inner: getDefaultNineZoneStagePanelsManagerProps(),\r\n outer: getDefaultNineZoneStagePanelsManagerProps(),\r\n },\r\n },\r\n };\r\n for (const location of stagePanelLocations) {\r\n const stagePanel = frontstageDef && frontstageDef.getStagePanelDef(location);\r\n if (!stagePanel)\r\n continue;\r\n\r\n const isCollapsed = panelStateToIsCollapsed(stagePanel.panelState);\r\n const panelKey = getNestedStagePanelKey(location);\r\n const nested = FrontstageManager.NineZoneManager.getNestedPanelsManager().setIsCollapsed(panelKey, isCollapsed, nineZone.nested);\r\n nineZone = FrontstageManager.NineZoneManager.setNested(nested, nineZone);\r\n }\r\n }\r\n return nineZone;\r\n }\r\n\r\n private initializeZoneBounds() {\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState((prevState) => {\r\n const frontstageDef = this._frontstageDef;\r\n if (!frontstageDef)\r\n return null;\r\n const manager = FrontstageManager.NineZoneManager;\r\n const zonesManager = manager.getZonesManager();\r\n let zones = prevState.nineZone.zones;\r\n for (const zoneId of widgetZoneIds) {\r\n const zoneDef = frontstageDef.getZoneDef(zoneId);\r\n if (!zoneDef)\r\n continue;\r\n // istanbul ignore next\r\n if (zoneDef.initialWidth)\r\n zones = zonesManager.setZoneWidth(zoneId, zoneDef.initialWidth, zones);\r\n }\r\n // istanbul ignore else\r\n if (zones === prevState.nineZone.zones)\r\n return null;\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n zones,\r\n },\r\n };\r\n });\r\n\r\n }\r\n\r\n private determineWidgetTabs(): WidgetTabs {\r\n const defaultWidgetTabs = getDefaultWidgetTabs();\r\n const widgetTabs = widgetZoneIds.reduce((acc, zoneId) => {\r\n const zoneDef = this.getZoneDef(zoneId);\r\n if (!zoneDef)\r\n return acc;\r\n const visibleWidgetDefs = zoneDef.widgetDefs.filter((widgetDef: WidgetDef) => {\r\n return widgetDef.isVisible && !widgetDef.isFloating;\r\n });\r\n const tabs = visibleWidgetDefs.map<WidgetTab>((widgetDef: WidgetDef) => ({\r\n badgeType: widgetDef.badgeType,\r\n iconSpec: widgetDef.iconSpec,\r\n title: widgetDef.label,\r\n widgetName: widgetDef.id,\r\n }));\r\n return {\r\n ...acc,\r\n [zoneId]: tabs,\r\n };\r\n }, defaultWidgetTabs);\r\n return widgetTabs;\r\n }\r\n\r\n private _handleFrontstageActivatedEvent = (args: FrontstageActivatedEventArgs) => {\r\n // istanbul ignore next - Save the nineZoneProps into the former FrontstageDef\r\n if (this._frontstageDef)\r\n this._frontstageDef.nineZone = { ...this.state.nineZone };\r\n\r\n this._frontstageDef = args.activatedFrontstageDef;\r\n\r\n // Get the id and nineZoneProps for the current FrontstageDef\r\n const nineZone = this.determineNineZoneProps(this._frontstageDef);\r\n const needInitialLayout = (this._frontstageDef && this._frontstageDef.nineZone) ? /* istanbul ignore next */ false : true;\r\n const widgetTabs = this.determineWidgetTabs();\r\n\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({\r\n nineZone,\r\n widgetTabs,\r\n }, () => {\r\n needInitialLayout && this.initializeFrontstageLayout(nineZone);\r\n this.layout();\r\n needInitialLayout && this.initializeZoneBounds();\r\n });\r\n };\r\n\r\n private initializeFrontstageLayout(nineZone: NineZoneManagerProps) {\r\n const nestedPanelsManager = FrontstageManager.NineZoneManager.getNestedPanelsManager();\r\n nestedPanelsManager.getPanelsManager(\"inner\").getPanelManager(StagePanelType.Top).minSize = 20;\r\n nestedPanelsManager.getPanelsManager(\"inner\").getPanelManager(StagePanelType.Top).collapseOffset = 0;\r\n nestedPanelsManager.getPanelsManager(\"inner\").getPanelManager(StagePanelType.Bottom).minSize = 20;\r\n nestedPanelsManager.getPanelsManager(\"inner\").getPanelManager(StagePanelType.Bottom).collapseOffset = 0;\r\n nestedPanelsManager.getPanelsManager(\"outer\").getPanelManager(StagePanelType.Top).minSize = 20;\r\n nestedPanelsManager.getPanelsManager(\"outer\").getPanelManager(StagePanelType.Top).collapseOffset = 0;\r\n nestedPanelsManager.getPanelsManager(\"outer\").getPanelManager(StagePanelType.Bottom).minSize = 20;\r\n nestedPanelsManager.getPanelsManager(\"outer\").getPanelManager(StagePanelType.Bottom).collapseOffset = 0;\r\n\r\n widgetZoneIds.forEach((zoneId) => {\r\n const zoneDef = this.getZoneDef(zoneId);\r\n if (!zoneDef || zoneDef.zoneState === ZoneState.Off)\r\n return;\r\n\r\n if (!zoneDef.allowsMerging)\r\n this.setZoneAllowsMerging(zoneId, false);\r\n\r\n if (zoneDef.mergeWithZone)\r\n this.mergeZones(zoneId, zoneDef.mergeWithZone);\r\n\r\n const zoneProps = nineZone.zones.zones[zoneId];\r\n // istanbul ignore else\r\n if (zoneProps.widgets.length >= 1) {\r\n zoneProps.widgets.forEach((widgetId) => {\r\n zoneDef.widgetDefs\r\n .filter((widgetDef: WidgetDef) => {\r\n return widgetDef.isVisible && !widgetDef.isToolSettings && !widgetDef.isStatusBar && !widgetDef.isFreeform;\r\n })\r\n .forEach((widgetDef: WidgetDef, tabIndex: number) => {\r\n if (widgetDef.canOpen()) {\r\n this.handleWidgetStateChange(widgetId, tabIndex, true);\r\n }\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n private _handleModalFrontstageChangedEvent = (_args: ModalFrontstageChangedEventArgs) => {\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({ modalFrontstageCount: FrontstageManager.modalFrontstageCount });\r\n };\r\n\r\n private _closeModalStage = () => {\r\n FrontstageManager.closeModalFrontstage();\r\n };\r\n\r\n private renderModalFrontstage(): React.ReactNode {\r\n if (this.state.modalFrontstageCount === 0)\r\n return null;\r\n\r\n const activeModalFrontstage: ModalFrontstageInfo | undefined = FrontstageManager.activeModalFrontstage;\r\n // istanbul ignore next\r\n if (!activeModalFrontstage)\r\n return null;\r\n\r\n const { title, content, appBarRight } = activeModalFrontstage;\r\n\r\n return (\r\n <ModalFrontstage\r\n isOpen={true}\r\n title={title}\r\n closeModal={this._closeModalStage}\r\n appBarRight={appBarRight}\r\n >\r\n {content}\r\n </ModalFrontstage>\r\n );\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n let content: React.ReactNode;\r\n // istanbul ignore else\r\n if (this._frontstageDef) {\r\n // istanbul ignore else\r\n if (this._frontstageDef.frontstageProvider) {\r\n const frontstageRuntimeProps: FrontstageRuntimeProps = {\r\n frontstageDef: this._frontstageDef,\r\n nineZone: this.state.nineZone,\r\n nineZoneChangeHandler: this,\r\n stagePanelChangeHandler: this,\r\n widgetChangeHandler: this,\r\n widgetTabs: this.state.widgetTabs,\r\n targetChangeHandler: this,\r\n zoneDefProvider: this,\r\n };\r\n content = React.cloneElement(this._frontstageDef.frontstageProvider.frontstage, { runtimeProps: frontstageRuntimeProps });\r\n } else {\r\n Logger.logError(UiFramework.loggerCategory(this), \"FrontstageDef has no FrontstageProvider\");\r\n content = null;\r\n }\r\n }\r\n\r\n return (\r\n <ToolGroupPanelContext.Provider value={this.state.allowPointerUpSelection}>\r\n <div\r\n className={this.props.className}\r\n id=\"uifw-frontstage-composer\"\r\n onPointerDown={this._handlePointerDown}\r\n onPointerUp={this._handlePointerUp}\r\n style={this.props.style}\r\n onKeyDown={onEscapeSetFocusToHome}\r\n role=\"presentation\"\r\n >\r\n {this.renderModalFrontstage()}\r\n {content}\r\n </div>\r\n </ToolGroupPanelContext.Provider>\r\n );\r\n }\r\n\r\n public override componentDidMount(): void {\r\n this._isMounted = true;\r\n const needInitialLayout = (this._frontstageDef && this._frontstageDef.nineZone) ? /* istanbul ignore next */ false : true;\r\n if (this._frontstageDef && needInitialLayout)\r\n this.initializeFrontstageLayout(this.state.nineZone);\r\n\r\n this.layout();\r\n this.initializeZoneBounds();\r\n window.addEventListener(\"resize\", this._handleWindowResize, true);\r\n FrontstageManager.onFrontstageActivatedEvent.addListener(this._handleFrontstageActivatedEvent);\r\n FrontstageManager.onModalFrontstageChangedEvent.addListener(this._handleModalFrontstageChangedEvent);\r\n FrontstageManager.onWidgetStateChangedEvent.addListener(this._handleWidgetStateChangedEvent);\r\n FrontstageManager.onPanelStateChangedEvent.addListener(this._handlePanelStateChangedEvent);\r\n FrontstageManager.onPanelSizeChangedEvent.addListener(this._handlePanelSizeChangedEvent);\r\n FrontstageManager.onToolActivatedEvent.addListener(this._handleToolActivatedEvent);\r\n FrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);\r\n FrontstageManager.onWidgetDefsUpdatedEvent.addListener(this._handleWidgetStateChangedEvent);\r\n }\r\n\r\n public override componentWillUnmount(): void {\r\n this._isMounted = false;\r\n window.removeEventListener(\"resize\", this._handleWindowResize, true);\r\n FrontstageManager.onFrontstageActivatedEvent.removeListener(this._handleFrontstageActivatedEvent);\r\n FrontstageManager.onModalFrontstageChangedEvent.removeListener(this._handleModalFrontstageChangedEvent);\r\n FrontstageManager.onPanelStateChangedEvent.removeListener(this._handlePanelStateChangedEvent);\r\n FrontstageManager.onPanelSizeChangedEvent.removeListener(this._handlePanelSizeChangedEvent);\r\n FrontstageManager.onToolActivatedEvent.removeListener(this._handleToolActivatedEvent);\r\n FrontstageManager.onToolPanelOpenedEvent.removeListener(this._handleToolPanelOpenedEvent);\r\n FrontstageManager.onWidgetDefsUpdatedEvent.removeListener(this._handleWidgetStateChangedEvent);\r\n }\r\n\r\n // istanbul ignore next\r\n private _handleWindowResize = () => {\r\n this.layout();\r\n };\r\n\r\n // istanbul ignore next\r\n public handleResize = (zoneId: WidgetZoneId, resizeBy: number, handle: ResizeHandle, filledHeightDiff: number) => { // eslint-disable-line deprecation/deprecation\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const zones = FrontstageManager.NineZoneManager.getZonesManager().handleWidgetResize({ zoneId, resizeBy, handle, filledHeightDiff }, prevState.nineZone.zones);\r\n if (zones === prevState.nineZone.zones)\r\n return null;\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n zones,\r\n },\r\n };\r\n });\r\n };\r\n\r\n public handleTabClick = (widgetId: WidgetZoneId, tabIndex: number) => { // eslint-disable-line deprecation/deprecation\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const nineZone = FrontstageManager.NineZoneManager.handleWidgetTabClick(widgetId, tabIndex, prevState.nineZone);\r\n // istanbul ignore next\r\n if (nineZone === prevState.nineZone)\r\n return null;\r\n return {\r\n nineZone,\r\n };\r\n }, () => {\r\n // TODO: use NineZoneManager notifications once available\r\n const manager = FrontstageManager.NineZoneManager.getZonesManager();\r\n const props = this.state.nineZone.zones;\r\n const zone = manager.findZoneWithWidget(widgetId, props);\r\n const widgets = zone ? zone.widgets : /* istanbul ignore next */[widgetId];\r\n widgets.forEach((wId) => {\r\n const zoneDef = this.getZoneDef(wId);\r\n if (!zoneDef)\r\n return;\r\n\r\n const w = props.widgets[wId];\r\n const visibleWidgets = zoneDef.widgetDefs.filter((wd) => wd.isVisible);\r\n for (let i = 0; i < visibleWidgets.length; i++) {\r\n const widgetDef = visibleWidgets[i];\r\n let state = widgetDef.state;\r\n if (w.tabIndex === i)\r\n state = WidgetState.Open;\r\n else if (state === WidgetState.Open)\r\n state = WidgetState.Closed;\r\n widgetDef.setWidgetState(state);\r\n }\r\n });\r\n },\r\n );\r\n };\r\n\r\n // istanbul ignore next\r\n // eslint-disable-next-line deprecation/deprecation\r\n public handleTabDragStart = (widgetId: WidgetZoneId, tabIndex: number, initialPosition: PointProps, widgetBounds: RectangleProps) => {\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const nineZone = FrontstageManager.NineZoneManager.handleWidgetTabDragStart({ widgetId, tabIndex, initialPosition, widgetBounds }, prevState.nineZone);\r\n if (nineZone === prevState.nineZone)\r\n return null;\r\n return {\r\n nineZone,\r\n };\r\n });\r\n };\r\n\r\n // istanbul ignore next\r\n public handleTabDragEnd = () => {\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const nineZone = FrontstageManager.NineZoneManager.handleWidgetTabDragEnd(prevState.nineZone);\r\n if (nineZone === prevState.nineZone)\r\n return null;\r\n return {\r\n nineZone,\r\n };\r\n });\r\n };\r\n\r\n // istanbul ignore next\r\n public handleTabDrag = (dragged: PointProps) => {\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const zones = FrontstageManager.NineZoneManager.getZonesManager().handleWidgetTabDrag(dragged, prevState.nineZone.zones);\r\n if (zones === prevState.nineZone.zones)\r\n return null;\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n zones,\r\n },\r\n };\r\n });\r\n };\r\n\r\n // istanbul ignore next\r\n public handleTargetChanged(zoneId: WidgetZoneId, type: ZoneTargetType, isTargeted: boolean): void { // eslint-disable-line deprecation/deprecation\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const zones = isTargeted ? FrontstageManager.NineZoneManager.getZonesManager().handleTargetChanged({ zoneId, type }, prevState.nineZone.zones) :\r\n FrontstageManager.NineZoneManager.getZonesManager().handleTargetChanged(undefined, prevState.nineZone.zones);\r\n if (zones === prevState.nineZone.zones)\r\n return null;\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n zones,\r\n },\r\n };\r\n });\r\n }\r\n\r\n /** @alpha */\r\n public handlePanelInitialize(panelLocation: StagePanelLocation, size: number): void {\r\n const panel = getNestedStagePanelKey(panelLocation);\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const nested = FrontstageManager.NineZoneManager.getNestedPanelsManager().setSize(panel, size, prevState.nineZone.nested);\r\n // istanbul ignore if\r\n if (nested === prevState.nineZone.nested)\r\n return null;\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n nested,\r\n },\r\n };\r\n });\r\n }\r\n\r\n /** @alpha */\r\n // istanbul ignore next\r\n public handlePanelResize(panelLocation: StagePanelLocation, resizeBy: number): void {\r\n const nestedPanelKey = getNestedStagePanelKey(panelLocation);\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const nested = FrontstageManager.NineZoneManager.getNestedPanelsManager().resize(nestedPanelKey, resizeBy, prevState.nineZone.nested);\r\n if (nested === prevState.nineZone.nested)\r\n return null;\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n nested,\r\n },\r\n };\r\n }, () => {\r\n const frontstage = FrontstageManager.activeFrontstageDef;\r\n const stagePanel = frontstage && frontstage.getStagePanelDef(panelLocation);\r\n if (stagePanel) {\r\n const panels = this.state.nineZone.nested.panels[nestedPanelKey.id];\r\n const panel = StagePanelsManager.getPanel(nestedPanelKey.type, panels);\r\n const panelState = isCollapsedToPanelState(panel.isCollapsed);\r\n stagePanel.panelState = panelState;\r\n }\r\n });\r\n }\r\n\r\n /** @alpha */\r\n // istanbul ignore next\r\n public handlePanelPaneTargetChange(panelLocation: StagePanelLocation, paneIndex: number | undefined): void {\r\n const panelKey = getNestedStagePanelKey(panelLocation);\r\n FrontstageManager.NineZoneManager.setPaneTarget(paneIndex === undefined ? undefined : {\r\n panelId: panelKey.id,\r\n panelType: panelKey.type,\r\n paneIndex,\r\n });\r\n }\r\n\r\n /** @alpha */\r\n // istanbul ignore next\r\n public handlePanelTargetChange(panelLocation: StagePanelLocation | undefined): void {\r\n const panelKey = panelLocation === undefined ? undefined : getNestedStagePanelKey(panelLocation);\r\n FrontstageManager.NineZoneManager.setPanelTarget(panelKey ? {\r\n panelId: panelKey.id,\r\n panelType: panelKey.type,\r\n } : undefined);\r\n }\r\n\r\n /** @alpha */\r\n public handleTogglePanelCollapse(panelLocation: StagePanelLocation): void {\r\n const frontstage = FrontstageManager.activeFrontstageDef;\r\n // istanbul ignore if\r\n if (!frontstage)\r\n return;\r\n const stagePanel = frontstage.getStagePanelDef(panelLocation);\r\n // istanbul ignore if\r\n if (!stagePanel)\r\n return;\r\n const isCollapsed = panelStateToIsCollapsed(stagePanel.panelState);\r\n const panelState = isCollapsed ? /* istanbul ignore next */ StagePanelState.Open : StagePanelState.Minimized;\r\n stagePanel.panelState = panelState;\r\n }\r\n\r\n public handleFloatingZonesBoundsChange(bounds: RectangleProps) {\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState((prevState) => {\r\n const zones = FrontstageManager.NineZoneManager.getZonesManager().setFloatingZonesBounds(bounds, prevState.nineZone.zones);\r\n if (zones === prevState.nineZone.zones)\r\n return null;\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n zones,\r\n },\r\n };\r\n });\r\n }\r\n\r\n public handleZonesBoundsChange(bounds: RectangleProps): void {\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const zones = FrontstageManager.NineZoneManager.getZonesManager().setZonesBounds(bounds, prevState.nineZone.zones);\r\n // istanbul ignore else\r\n if (zones === prevState.nineZone.zones)\r\n return null;\r\n // istanbul ignore next\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n zones,\r\n },\r\n };\r\n });\r\n }\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n public handleWidgetStateChange(widgetId: WidgetZoneId, tabIndex: number, isOpening: boolean): void {\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const widget = prevState.nineZone.zones.widgets[widgetId];\r\n if (isOpening && widget.tabIndex === tabIndex)\r\n return null;\r\n if (!isOpening && widget.tabIndex !== tabIndex)\r\n return null;\r\n const nineZone = FrontstageManager.NineZoneManager.handleWidgetTabClick(widgetId, tabIndex, prevState.nineZone);\r\n // istanbul ignore if\r\n if (nineZone === prevState.nineZone)\r\n return null;\r\n return {\r\n nineZone,\r\n };\r\n });\r\n }\r\n\r\n public getZoneDef(zoneId: number): ZoneDef | undefined {\r\n if (!this._frontstageDef) {\r\n Logger.logError(UiFramework.loggerCategory(this), \"getZoneDef: There is no active frontstage\");\r\n return undefined;\r\n }\r\n\r\n const zoneDef = this._frontstageDef.getZoneDef(zoneId);\r\n\r\n // Zones can be undefined in a Frontstage\r\n\r\n return zoneDef;\r\n }\r\n\r\n // istanbul ignore next\r\n public getGhostOutlineBounds(zoneId: WidgetZoneId): RectangleProps | undefined { // eslint-disable-line deprecation/deprecation\r\n const manager = FrontstageManager.NineZoneManager.getZonesManager();\r\n return manager.getGhostOutlineBounds(zoneId, this.state.nineZone.zones);\r\n }\r\n\r\n public setZoneAllowsMerging(zoneId: WidgetZoneId, allowsMerging: boolean): void { // eslint-disable-line deprecation/deprecation\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const zones = FrontstageManager.NineZoneManager.getZonesManager().setAllowsMerging(zoneId, allowsMerging, prevState.nineZone.zones);\r\n if (zones === prevState.nineZone.zones)\r\n return null;\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n zones,\r\n },\r\n };\r\n });\r\n }\r\n\r\n public mergeZones(toMergeId: WidgetZoneId, targetId: WidgetZoneId): void { // eslint-disable-line deprecation/deprecation\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const zones = FrontstageManager.NineZoneManager.getZonesManager().mergeZone(toMergeId, targetId, prevState.nineZone.zones);\r\n // istanbul ignore else\r\n if (zones === prevState.nineZone.zones)\r\n return null;\r\n // istanbul ignore next\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n zones,\r\n },\r\n };\r\n });\r\n }\r\n\r\n private layout() {\r\n const zones = document.getElementById(\"uifw-ninezone-zones-area\");\r\n const floatingZones = document.getElementById(\"uifw-ninezone-floating-zones-area\");\r\n if (!zones || !floatingZones)\r\n return;\r\n let floatingBounds = Rectangle.create(floatingZones.getBoundingClientRect());\r\n const bounds = Rectangle.create(zones.getBoundingClientRect());\r\n const offset = bounds.topLeft().getOffsetTo(floatingBounds.topLeft());\r\n floatingBounds = floatingBounds.setPosition(offset);\r\n this.handleZonesBoundsChange(bounds);\r\n this.handleFloatingZonesBoundsChange(floatingBounds);\r\n }\r\n\r\n private _handleWidgetStateChangedEvent = () => {\r\n const widgetTabs = this.determineWidgetTabs();\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({\r\n widgetTabs,\r\n });\r\n };\r\n\r\n private _handlePanelStateChangedEvent = ({ panelDef, panelState }: PanelStateChangedEventArgs) => {\r\n this.setPanelState(panelDef.location, panelState);\r\n };\r\n\r\n // istanbul ignore next\r\n private _handlePanelSizeChangedEvent = ({ panelDef, size }: PanelSizeChangedEventArgs) => {\r\n (size !== undefined) && this.handlePanelInitialize(panelDef.location, size);\r\n };\r\n\r\n private _handleToolActivatedEvent = () => {\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState((prevState) => {\r\n const activeToolSettingsProvider = FrontstageManager.activeToolSettingsProvider;\r\n const manager = FrontstageManager.NineZoneManager;\r\n const nineZone = activeToolSettingsProvider ? manager.showWidget(2, prevState.nineZone) : manager.hideWidget(2, prevState.nineZone);\r\n if (nineZone === prevState.nineZone)\r\n return null;\r\n return {\r\n nineZone,\r\n };\r\n });\r\n };\r\n\r\n // istanbul ignore next\r\n private _handleToolPanelOpenedEvent = () => {\r\n this.setAllowPointerUpSelection(true);\r\n };\r\n\r\n private _handlePointerDown = () => {\r\n this.setAllowPointerUpSelection(false);\r\n };\r\n\r\n private _handlePointerUp = () => {\r\n this.setAllowPointerUpSelection(false);\r\n };\r\n\r\n private setAllowPointerUpSelection(allowPointerUpSelection: boolean) {\r\n // istanbul ignore if\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState((prevState) => {\r\n // istanbul ignore if\r\n if (prevState.allowPointerUpSelection === allowPointerUpSelection)\r\n return null;\r\n return {\r\n allowPointerUpSelection,\r\n };\r\n });\r\n }\r\n\r\n private setPanelState(location: StagePanelLocation, panelState: StagePanelState) {\r\n const panelKey = getNestedStagePanelKey(location);\r\n const isCollapsed = panelStateToIsCollapsed(panelState);\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const nested = FrontstageManager.NineZoneManager.getNestedPanelsManager().setIsCollapsed(panelKey, isCollapsed, prevState.nineZone.nested);\r\n // istanbul ignore if\r\n if (nested === prevState.nineZone.nested)\r\n return null;\r\n return {\r\n nineZone: {\r\n ...prevState.nineZone,\r\n nested,\r\n },\r\n };\r\n });\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport const panelStateToIsCollapsed = (panelState: StagePanelState) => {\r\n switch (panelState) {\r\n case StagePanelState.Minimized:\r\n case StagePanelState.Off:\r\n return true;\r\n default:\r\n return false;\r\n }\r\n};\r\n\r\n/** @internal */\r\nexport const isCollapsedToPanelState = (isCollapsed: boolean) => {\r\n switch (isCollapsed) {\r\n case true:\r\n return StagePanelState.Minimized;\r\n default:\r\n return StagePanelState.Open;\r\n }\r\n};\r\n\r\n/** @internal */\r\nexport const ToolGroupPanelContext = React.createContext(false); // eslint-disable-line @typescript-eslint/naming-convention\r\n"]}
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* @module Frontstage
|
|
3
3
|
*/
|
|
4
4
|
import { ScreenViewport } from "@itwin/core-frontend";
|
|
5
|
-
import { PointProps, StagePanelLocation } from "@itwin/appui-abstract";
|
|
5
|
+
import { PointProps, StagePanelLocation, WidgetState } from "@itwin/appui-abstract";
|
|
6
6
|
import { RectangleProps, SizeProps } from "@itwin/core-react";
|
|
7
7
|
import { NineZoneManagerProps, NineZoneState } from "@itwin/appui-layout-react";
|
|
8
8
|
import { ContentControl } from "../content/ContentControl";
|
|
9
9
|
import { ContentGroup, ContentGroupProvider } from "../content/ContentGroup";
|
|
10
10
|
import { ContentLayoutDef } from "../content/ContentLayout";
|
|
11
11
|
import { ToolItemDef } from "../shared/ToolItemDef";
|
|
12
|
-
import { StagePanelDef } from "../stagepanels/StagePanelDef";
|
|
12
|
+
import { StagePanelDef, StagePanelState } from "../stagepanels/StagePanelDef";
|
|
13
13
|
import { WidgetDef } from "../widgets/WidgetDef";
|
|
14
14
|
import { ZoneDef } from "../zones/ZoneDef";
|
|
15
15
|
import { FrontstageProps } from "./Frontstage";
|
|
@@ -95,6 +95,9 @@ export declare class FrontstageDef {
|
|
|
95
95
|
/** @internal */
|
|
96
96
|
get nineZone(): NineZoneManagerProps | undefined;
|
|
97
97
|
set nineZone(props: NineZoneManagerProps | undefined);
|
|
98
|
+
private toStagePanelLocation;
|
|
99
|
+
private populateStateMaps;
|
|
100
|
+
private triggerStateChangeEventForWidgetsAndPanels;
|
|
98
101
|
/** @internal */
|
|
99
102
|
get nineZoneState(): NineZoneState | undefined;
|
|
100
103
|
set nineZoneState(state: NineZoneState | undefined);
|
|
@@ -154,6 +157,14 @@ export declare class FrontstageDef {
|
|
|
154
157
|
updateWidgetDefs(): void;
|
|
155
158
|
/** @beta */
|
|
156
159
|
restoreLayout(): void;
|
|
160
|
+
/** Used only in UI 2.0 to determine WidgetState from NinezoneState
|
|
161
|
+
* @internal
|
|
162
|
+
*/
|
|
163
|
+
getWidgetCurrentState(widgetDef: WidgetDef): WidgetState | undefined;
|
|
164
|
+
/** Used only in UI 2.0 to determine StagePanelState and size from NinezoneState
|
|
165
|
+
* @internal
|
|
166
|
+
*/
|
|
167
|
+
getPanelCurrentState(panelDef: StagePanelDef): [StagePanelState, number];
|
|
157
168
|
isPopoutWidget(widgetId: string): boolean;
|
|
158
169
|
isFloatingWidget(widgetId: string): boolean;
|
|
159
170
|
/** Create a new floating panel that contains the widget specified by its Id. Supported only when in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrontstageDef.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/FrontstageDef.tsx"],"names":[],"mappings":"AAKA;;GAEG;AAKH,OAAO,EAAa,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAuB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"FrontstageDef.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/FrontstageDef.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,11 +9,12 @@
|
|
|
9
9
|
// cSpell:ignore popout
|
|
10
10
|
import * as React from "react";
|
|
11
11
|
import { IModelApp } from "@itwin/core-frontend";
|
|
12
|
-
import { StagePanelLocation, StageUsage, UiError } from "@itwin/appui-abstract";
|
|
13
|
-
import { dockWidgetContainer, findTab, findWidget, floatWidget, isFloatingLocation, isPopoutLocation, isPopoutWidgetLocation, popoutWidgetToChildWindow, setFloatingWidgetContainerBounds, } from "@itwin/appui-layout-react";
|
|
12
|
+
import { StagePanelLocation, StageUsage, UiError, WidgetState } from "@itwin/appui-abstract";
|
|
13
|
+
import { dockWidgetContainer, findTab, findWidget, floatWidget, isFloatingLocation, isPopoutLocation, isPopoutWidgetLocation, panelSides, popoutWidgetToChildWindow, setFloatingWidgetContainerBounds, } from "@itwin/appui-layout-react";
|
|
14
14
|
import { ContentGroupProvider } from "../content/ContentGroup";
|
|
15
15
|
import { ContentLayoutManager } from "../content/ContentLayoutManager";
|
|
16
16
|
import { ContentViewManager } from "../content/ContentViewManager";
|
|
17
|
+
import { StagePanelState, toPanelSide } from "../stagepanels/StagePanelDef";
|
|
17
18
|
import { UiFramework } from "../UiFramework";
|
|
18
19
|
import { ZoneLocation } from "../zones/Zone";
|
|
19
20
|
import { Frontstage } from "./Frontstage";
|
|
@@ -73,12 +74,105 @@ export class FrontstageDef {
|
|
|
73
74
|
/** @internal */
|
|
74
75
|
get nineZone() { return this._nineZone; } // istanbul ignore next
|
|
75
76
|
set nineZone(props) { this._nineZone = props; }
|
|
77
|
+
toStagePanelLocation(side) {
|
|
78
|
+
switch (side) {
|
|
79
|
+
case "bottom":
|
|
80
|
+
return StagePanelLocation.Bottom;
|
|
81
|
+
case "left":
|
|
82
|
+
return StagePanelLocation.Left;
|
|
83
|
+
case "right":
|
|
84
|
+
return StagePanelLocation.Right;
|
|
85
|
+
case "top":
|
|
86
|
+
return StagePanelLocation.Top;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
populateStateMaps(nineZone, panelMap, widgetMap) {
|
|
90
|
+
for (const panelSide of panelSides) {
|
|
91
|
+
const panel = nineZone.panels[panelSide];
|
|
92
|
+
const location = this.toStagePanelLocation(panelSide);
|
|
93
|
+
const panelDef = this.getStagePanelDef(location);
|
|
94
|
+
if (panelDef) {
|
|
95
|
+
const panelState = panel.collapsed ? StagePanelState.Minimized : StagePanelState.Open;
|
|
96
|
+
panelMap.set(panelDef, panelState);
|
|
97
|
+
}
|
|
98
|
+
for (const widgetId of panel.widgets) {
|
|
99
|
+
const widget = nineZone.widgets[widgetId];
|
|
100
|
+
// istanbul ignore else
|
|
101
|
+
if (widget) {
|
|
102
|
+
for (const tabId of widget.tabs) {
|
|
103
|
+
const widgetDef = this.findWidgetDef(tabId);
|
|
104
|
+
if (widgetDef) {
|
|
105
|
+
let widgetState = WidgetState.Open;
|
|
106
|
+
if (widget.minimized || tabId !== widget.activeTabId)
|
|
107
|
+
widgetState = WidgetState.Closed;
|
|
108
|
+
widgetMap.set(widgetDef, widgetState);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
// istanbul ignore next
|
|
115
|
+
for (const widgetId of nineZone.floatingWidgets.allIds) {
|
|
116
|
+
const widget = nineZone.widgets[widgetId];
|
|
117
|
+
if (widget) {
|
|
118
|
+
for (const tabId of widget.tabs) {
|
|
119
|
+
const widgetDef = this.findWidgetDef(tabId);
|
|
120
|
+
if (widgetDef) {
|
|
121
|
+
let widgetState = WidgetState.Open;
|
|
122
|
+
if (widget.minimized || tabId !== widget.activeTabId)
|
|
123
|
+
widgetState = WidgetState.Closed;
|
|
124
|
+
widgetMap.set(widgetDef, widgetState);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
triggerStateChangeEventForWidgetsAndPanels(state) {
|
|
131
|
+
// istanbul ignore else
|
|
132
|
+
if (!(this._isStageClosing || this._isApplicationClosing)) {
|
|
133
|
+
if (state) {
|
|
134
|
+
const originalPanelStateMap = new Map();
|
|
135
|
+
const originalWidgetStateMap = new Map();
|
|
136
|
+
const newPanelStateMap = new Map();
|
|
137
|
+
const newWidgetStateMap = new Map();
|
|
138
|
+
this._nineZoneState && this.populateStateMaps(this._nineZoneState, originalPanelStateMap, originalWidgetStateMap);
|
|
139
|
+
this.populateStateMaps(state, newPanelStateMap, newWidgetStateMap);
|
|
140
|
+
// set internal state value before triggering events
|
|
141
|
+
this._nineZoneState = state;
|
|
142
|
+
// now walk and trigger set state events
|
|
143
|
+
newWidgetStateMap.forEach((stateValue, widgetDef) => {
|
|
144
|
+
const originalState = originalWidgetStateMap.get(widgetDef);
|
|
145
|
+
if (originalState !== stateValue) {
|
|
146
|
+
FrontstageManager.onWidgetStateChangedEvent.emit({ widgetDef, widgetState: stateValue });
|
|
147
|
+
widgetDef.onWidgetStateChanged();
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
newPanelStateMap.forEach((stateValue, panelDef) => {
|
|
151
|
+
const originalState = originalPanelStateMap.get(panelDef);
|
|
152
|
+
if (originalState !== stateValue) {
|
|
153
|
+
FrontstageManager.onPanelStateChangedEvent.emit({
|
|
154
|
+
panelDef,
|
|
155
|
+
panelState: stateValue,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
this._nineZoneState = state;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
76
165
|
/** @internal */
|
|
77
166
|
get nineZoneState() { return this._nineZoneState; }
|
|
78
167
|
set nineZoneState(state) {
|
|
79
168
|
if (this._nineZoneState === state)
|
|
80
169
|
return;
|
|
81
|
-
this._nineZoneState
|
|
170
|
+
if ("1" === UiFramework.uiVersion || !this._nineZoneState) {
|
|
171
|
+
this._nineZoneState = state;
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
this.triggerStateChangeEventForWidgetsAndPanels(state);
|
|
175
|
+
}
|
|
82
176
|
// istanbul ignore next - don't trigger any side effects until stage "isReady"
|
|
83
177
|
if (!(this._isStageClosing || this._isApplicationClosing) || this.isReady) {
|
|
84
178
|
FrontstageManager.onFrontstageNineZoneStateChangedEvent.emit({
|
|
@@ -439,6 +533,40 @@ export class FrontstageDef {
|
|
|
439
533
|
}
|
|
440
534
|
FrontstageManager.onFrontstageRestoreLayoutEvent.emit({ frontstageDef: this });
|
|
441
535
|
}
|
|
536
|
+
/** Used only in UI 2.0 to determine WidgetState from NinezoneState
|
|
537
|
+
* @internal
|
|
538
|
+
*/
|
|
539
|
+
getWidgetCurrentState(widgetDef) {
|
|
540
|
+
// istanbul ignore else
|
|
541
|
+
if (this.nineZoneState) {
|
|
542
|
+
const location = findTab(this.nineZoneState, widgetDef.id);
|
|
543
|
+
// istanbul ignore next
|
|
544
|
+
if (!location)
|
|
545
|
+
return WidgetState.Hidden;
|
|
546
|
+
const widgetContainer = this.nineZoneState.widgets[location.widgetId];
|
|
547
|
+
if (widgetDef.id === widgetContainer.activeTabId)
|
|
548
|
+
return WidgetState.Open;
|
|
549
|
+
else
|
|
550
|
+
return WidgetState.Closed;
|
|
551
|
+
}
|
|
552
|
+
return widgetDef.defaultState;
|
|
553
|
+
}
|
|
554
|
+
/** Used only in UI 2.0 to determine StagePanelState and size from NinezoneState
|
|
555
|
+
* @internal
|
|
556
|
+
*/
|
|
557
|
+
getPanelCurrentState(panelDef) {
|
|
558
|
+
var _a, _b;
|
|
559
|
+
// istanbul ignore else
|
|
560
|
+
if (this.nineZoneState) {
|
|
561
|
+
const side = toPanelSide(panelDef.location);
|
|
562
|
+
const panel = this.nineZoneState.panels[side];
|
|
563
|
+
if (panel) {
|
|
564
|
+
return [panel.collapsed ? StagePanelState.Minimized : StagePanelState.Open, (_a = panel.size) !== null && _a !== void 0 ? _a : 0];
|
|
565
|
+
}
|
|
566
|
+
return [StagePanelState.Off, 0];
|
|
567
|
+
}
|
|
568
|
+
return [panelDef.defaultState, (_b = panelDef.defaultSize) !== null && _b !== void 0 ? _b : 0];
|
|
569
|
+
}
|
|
442
570
|
isPopoutWidget(widgetId) {
|
|
443
571
|
// istanbul ignore else
|
|
444
572
|
if (this.nineZoneState) {
|