@itwin/appui-react 3.5.0-dev.11 → 3.5.0-dev.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts +2 -0
- package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageManager.js +4 -0
- package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
- package/lib/cjs/appui-react/tools/RestoreLayoutTool.d.ts +9 -0
- package/lib/cjs/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
- package/lib/cjs/appui-react/tools/RestoreLayoutTool.js +17 -1
- package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts +2 -0
- package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageManager.js +4 -0
- package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
- package/lib/esm/appui-react/tools/RestoreLayoutTool.d.ts +9 -0
- package/lib/esm/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
- package/lib/esm/appui-react/tools/RestoreLayoutTool.js +15 -0
- package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
- package/lib/public/locales/en/UiFramework.json +8 -3
- package/package.json +32 -32
|
@@ -174,6 +174,8 @@ export declare class FrontstageManager {
|
|
|
174
174
|
/** @internal */
|
|
175
175
|
static get nineZoneSize(): Size | undefined;
|
|
176
176
|
static set nineZoneSize(size: Size | undefined);
|
|
177
|
+
/** @internal */
|
|
178
|
+
static get frontstageDefs(): ReadonlyMap<string, FrontstageDef>;
|
|
177
179
|
/** Get Frontstage Deactivated event. */
|
|
178
180
|
static readonly onFrontstageDeactivatedEvent: FrontstageDeactivatedEvent;
|
|
179
181
|
/** Get Frontstage Activated event. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrontstageManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/FrontstageManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FrontstageManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/FrontstageManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -138,6 +138,10 @@ class FrontstageManager {
|
|
|
138
138
|
static set nineZoneSize(size) {
|
|
139
139
|
FrontstageManager._nineZoneSize = size;
|
|
140
140
|
}
|
|
141
|
+
/** @internal */
|
|
142
|
+
static get frontstageDefs() {
|
|
143
|
+
return this._frontstageDefs;
|
|
144
|
+
}
|
|
141
145
|
/** Get Nine-zone State Manager. */
|
|
142
146
|
static get NineZoneManager() {
|
|
143
147
|
const id = FrontstageManager.activeFrontstageId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrontstageManager.js","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/FrontstageManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/* 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 { IModelApp, IModelConnection, InteractiveTool, SelectedViewportChangedArgs, StartOrResume, Tool } from \"@itwin/core-frontend\";\r\nimport { WidgetState } from \"@itwin/appui-abstract\";\r\nimport { Size, UiEvent } from \"@itwin/core-react\";\r\nimport { NineZoneManager } from \"@itwin/appui-layout-react\";\r\nimport { ContentControlActivatedEvent } from \"../content/ContentControl\";\r\nimport { ContentGroup } from \"../content/ContentGroup\";\r\nimport { ContentLayoutActivatedEvent, ContentLayoutDef } from \"../content/ContentLayout\";\r\nimport { NavigationAidActivatedEvent } from \"../navigationaids/NavigationAidControl\";\r\nimport { PanelSizeChangedEvent, PanelStateChangedEvent } from \"../stagepanels/StagePanelDef\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { UiShowHideManager } from \"../utils/UiShowHideManager\";\r\nimport { WidgetChangedEventArgs, WidgetDef, WidgetEventArgs, WidgetStateChangedEvent } from \"../widgets/WidgetDef\";\r\nimport { ToolInformation } from \"../zones/toolsettings/ToolInformation\";\r\nimport { SyncToolSettingsPropertiesEventArgs, ToolSettingsManager } from \"../zones/toolsettings/ToolSettingsManager\";\r\nimport { ToolUiProvider } from \"../zones/toolsettings/ToolUiProvider\";\r\nimport { FrontstageDef, FrontstageEventArgs, FrontstageNineZoneStateChangedEventArgs } from \"./FrontstageDef\";\r\nimport { FrontstageProvider } from \"./FrontstageProvider\";\r\nimport { TimeTracker } from \"../configurableui/TimeTracker\";\r\nimport { ContentLayoutManager } from \"../content/ContentLayoutManager\";\r\n\r\n// -----------------------------------------------------------------------------\r\n// Frontstage Events\r\n// -----------------------------------------------------------------------------\r\n\r\n/** Frontstage Activated Event Args interface.\r\n * @public\r\n */\r\nexport interface FrontstageActivatedEventArgs {\r\n deactivatedFrontstageDef?: FrontstageDef;\r\n activatedFrontstageDef: FrontstageDef;\r\n}\r\n\r\n/** Frontstage Activated Event class.\r\n * @public\r\n */\r\nexport class FrontstageActivatedEvent extends UiEvent<FrontstageActivatedEventArgs> { }\r\n\r\n/** Frontstage Deactivated Event Args interface.\r\n * @public\r\n */\r\nexport interface FrontstageDeactivatedEventArgs {\r\n /** Frontstage being deactivated */\r\n deactivatedFrontstageDef: FrontstageDef;\r\n /** Frontstage being activated */\r\n activatedFrontstageDef?: FrontstageDef;\r\n\r\n /** Total time spent in frontstage */\r\n totalTime: number;\r\n /** Engagement time spent in frontstage */\r\n engagementTime: number;\r\n /** Idle time spent in frontstage */\r\n idleTime: number;\r\n}\r\n\r\n/** Frontstage Deactivated Event class.\r\n * @public\r\n */\r\nexport class FrontstageDeactivatedEvent extends UiEvent<FrontstageDeactivatedEventArgs> { }\r\n\r\n/** Frontstage Ready Event Args interface.\r\n * @public\r\n */\r\nexport interface FrontstageReadyEventArgs {\r\n frontstageDef: FrontstageDef;\r\n}\r\n\r\n/** Frontstage Ready Event class.\r\n * @public\r\n */\r\nexport class FrontstageReadyEvent extends UiEvent<FrontstageReadyEventArgs> { }\r\n\r\n/** Modal Frontstage Changed Event Args interface.\r\n * @public\r\n */\r\nexport interface ModalFrontstageChangedEventArgs {\r\n modalFrontstageCount: number;\r\n}\r\n\r\n/** Modal Frontstage Stack Changed Event class.\r\n * @public\r\n */\r\nexport class ModalFrontstageChangedEvent extends UiEvent<ModalFrontstageChangedEventArgs> { }\r\n\r\n/** Modal Frontstage Closed Event Args interface.\r\n * @public\r\n */\r\nexport interface ModalFrontstageClosedEventArgs {\r\n /** Modal Frontstage being closed */\r\n modalFrontstage: ModalFrontstageInfo;\r\n\r\n /** Total time spent in frontstage */\r\n totalTime: number;\r\n /** Engagement time spent in frontstage */\r\n engagementTime: number;\r\n /** Idle time spent in frontstage */\r\n idleTime: number;\r\n}\r\n\r\n/** Modal Frontstage Requested Close Event class. Notifies the modal stage that the close button was\r\n * pressed and passes the function to actually close the modal stage. This allows stage to do any\r\n * saving of unsaved data prior to closing the stage. If the ModalFrontstageInfo sets notifyCloseRequest\r\n * to true it is up to the stage to register for this event and call the stageCloseFunc once it has saved\r\n * any unsaved data.\r\n * @alpha\r\n */\r\nexport class ModalFrontstageRequestedCloseEvent extends UiEvent<ModalFrontstageRequestedCloseEventArgs> { }\r\n\r\n/** Modal Frontstage RequestedClose Event Args interface.\r\n * @alpha\r\n */\r\nexport interface ModalFrontstageRequestedCloseEventArgs {\r\n /** Modal Frontstage that is to be closed */\r\n modalFrontstage: ModalFrontstageInfo;\r\n /** Function to call to close the stage */\r\n stageCloseFunc: () => void;\r\n}\r\n\r\n/** Modal Frontstage Closed Event class.\r\n * @public\r\n */\r\nexport class ModalFrontstageClosedEvent extends UiEvent<ModalFrontstageClosedEventArgs> { }\r\n\r\n/** Tool Activated Event Args interface.\r\n * @public\r\n */\r\nexport interface ToolActivatedEventArgs {\r\n toolId: string;\r\n}\r\n\r\n/** Tool Activated Event class.\r\n * @public\r\n */\r\nexport class ToolActivatedEvent extends UiEvent<ToolActivatedEventArgs> { }\r\n\r\n/** Tool Icon Changed Event Args interface.\r\n * @public\r\n */\r\nexport interface ToolIconChangedEventArgs {\r\n iconSpec: string;\r\n}\r\n\r\n/** Tool Icon Changed Event class.\r\n * @public\r\n */\r\nexport class ToolIconChangedEvent extends UiEvent<ToolIconChangedEventArgs> { }\r\n\r\n/** Modal Frontstage information interface.\r\n * @public\r\n */\r\nexport interface ModalFrontstageInfo {\r\n title: string;\r\n content: React.ReactNode;\r\n appBarRight?: React.ReactNode;\r\n /** Set notifyCloseRequest to true on stages that register to listen for `onCloseModalFrontstageRequestedEvent` so\r\n * that the stage can save unsaved data before closing. Used by the ModalSettingsStage.\r\n * @alpha */\r\n notifyCloseRequest?: boolean;\r\n}\r\n\r\n/** Modal Frontstage array item interface.\r\n * @internal\r\n */\r\ninterface ModalFrontstageItem {\r\n modalFrontstage: ModalFrontstageInfo;\r\n timeTracker: TimeTracker;\r\n}\r\n\r\n// -----------------------------------------------------------------------------\r\n// FrontstageManager class\r\n// -----------------------------------------------------------------------------\r\n\r\n/** Frontstage Manager class.\r\n * @public\r\n */\r\nexport class FrontstageManager {\r\n private static _initialized = false;\r\n private static _isLoading = false;\r\n private static _activeToolId = \"\";\r\n private static _activeFrontstageDef: FrontstageDef | undefined;\r\n private static _frontstageDefs = new Map<string, FrontstageDef>();\r\n private static _modalFrontstages: ModalFrontstageItem[] = new Array<ModalFrontstageItem>();\r\n private static _nineZoneManagers = new Map<string, NineZoneManager>();\r\n private static _frontstageProviders = new Map<string, FrontstageProvider>();\r\n private static _nineZoneSize: Size | undefined = undefined;\r\n\r\n private static _nestedFrontstages: FrontstageDef[] = new Array<FrontstageDef>();\r\n private static _activePrimaryFrontstageDef: FrontstageDef | undefined;\r\n private static _toolInformationMap: Map<string, ToolInformation> = new Map<string, ToolInformation>();\r\n\r\n /** This should only be called within FrontstageManager and its tests.\r\n * @internal\r\n */\r\n public static ensureToolInformationIsSet(toolId: string): void {\r\n // istanbul ignore else\r\n if (!FrontstageManager._toolInformationMap.get(toolId))\r\n FrontstageManager._toolInformationMap.set(toolId, new ToolInformation(toolId));\r\n }\r\n\r\n // pass on SyncToolSettingsPropertiesEvent from ToolAdmin so they are treated as DialogItemSync events\r\n private static handleSyncToolSettingsPropertiesEvent(args: SyncToolSettingsPropertiesEventArgs): void {\r\n FrontstageManager.activeToolSettingsProvider && FrontstageManager.activeToolSettingsProvider.syncToolSettingsProperties(args);\r\n }\r\n\r\n // pass on ReloadToolSettingsEvent from ToolAdmin so they are treated by UiProviders\r\n private static handleReloadToolSettingsEvent(): void {\r\n // istanbul ignore else\r\n if (FrontstageManager.activeToolSettingsProvider) {\r\n FrontstageManager.activeToolSettingsProvider.reloadPropertiesFromTool();\r\n }\r\n }\r\n\r\n /** Initializes the FrontstageManager */\r\n public static initialize() {\r\n if (this._initialized)\r\n return;\r\n\r\n // istanbul ignore else\r\n if (IModelApp && IModelApp.toolAdmin) {\r\n IModelApp.toolAdmin.activeToolChanged.addListener((tool: Tool, _start: StartOrResume) => {\r\n // make sure tool settings properties are cached before creating ToolInformation\r\n ToolSettingsManager.clearToolSettingsData();\r\n // istanbul ignore else\r\n if (tool instanceof InteractiveTool)\r\n ToolSettingsManager.initializeDataForTool(tool);\r\n\r\n // if the tool data is not already cached then see if there is data to cache\r\n FrontstageManager.ensureToolInformationIsSet(tool.toolId);\r\n FrontstageManager.setActiveTool(tool);\r\n });\r\n ToolSettingsManager.onSyncToolSettingsProperties.addListener(FrontstageManager.handleSyncToolSettingsPropertiesEvent);\r\n ToolSettingsManager.onReloadToolSettingsProperties.addListener(FrontstageManager.handleReloadToolSettingsEvent);\r\n }\r\n\r\n // istanbul ignore else\r\n if (IModelApp && IModelApp.viewManager) {\r\n IModelApp.viewManager.onSelectedViewportChanged.addListener(FrontstageManager._handleSelectedViewportChanged);\r\n }\r\n\r\n this._initialized = true;\r\n }\r\n\r\n /** Handles a Viewport change & sets the active view accordingly */\r\n private static _handleSelectedViewportChanged = (args: SelectedViewportChangedArgs) => {\r\n // istanbul ignore else\r\n if (args.current && FrontstageManager.activeFrontstageDef && !FrontstageManager.isLoading) {\r\n FrontstageManager.activeFrontstageDef.setActiveViewFromViewport(args.current);\r\n }\r\n };\r\n\r\n /** @internal */\r\n public static get isInitialized(): boolean { return FrontstageManager._initialized; }\r\n public static set isInitialized(v: boolean) { FrontstageManager._initialized = v; }\r\n\r\n /** Returns true if Frontstage is loading its controls. If false the Frontstage content and controls have been created. */\r\n public static get isLoading(): boolean { return FrontstageManager._isLoading; }\r\n\r\n /** @internal */\r\n public static get nineZoneSize() { return FrontstageManager._nineZoneSize; }\r\n\r\n public static set nineZoneSize(size) {\r\n FrontstageManager._nineZoneSize = size;\r\n }\r\n\r\n /** Get Frontstage Deactivated event. */\r\n public static readonly onFrontstageDeactivatedEvent = new FrontstageDeactivatedEvent();\r\n\r\n /** Get Frontstage Activated event. */\r\n public static readonly onFrontstageActivatedEvent = new FrontstageActivatedEvent();\r\n\r\n /** Get Frontstage Activated event. */\r\n public static readonly onFrontstageReadyEvent = new FrontstageReadyEvent();\r\n\r\n /** Get Modal Frontstage Changed event. */\r\n public static readonly onModalFrontstageChangedEvent = new ModalFrontstageChangedEvent();\r\n\r\n /** Get Modal Frontstage Closed event. */\r\n public static readonly onModalFrontstageClosedEvent = new ModalFrontstageClosedEvent();\r\n\r\n /** Get Modal Frontstage Requested Closed event.\r\n * @alpha\r\n */\r\n public static readonly onCloseModalFrontstageRequestedEvent = new ModalFrontstageRequestedCloseEvent();\r\n\r\n /** Get Tool Activated event. */\r\n public static readonly onToolActivatedEvent = new ToolActivatedEvent();\r\n\r\n /** Get ToolSetting Reload event. */\r\n public static readonly onToolSettingsReloadEvent = new UiEvent<void>();\r\n\r\n /** Get Tool Panel Opened event.\r\n * @internal\r\n */\r\n public static readonly onToolPanelOpenedEvent = new UiEvent<void>();\r\n\r\n /** Get Tool Icon Changed event. */\r\n public static readonly onToolIconChangedEvent = new ToolIconChangedEvent();\r\n\r\n /** Get Content Layout Activated event. */\r\n public static readonly onContentLayoutActivatedEvent = new ContentLayoutActivatedEvent();\r\n\r\n /** Get Content Control Activated event. */\r\n public static readonly onContentControlActivatedEvent = new ContentControlActivatedEvent();\r\n\r\n /** Get Navigation Aid Activated event. */\r\n public static readonly onNavigationAidActivatedEvent = new NavigationAidActivatedEvent();\r\n\r\n /** Get Widget State Changed event. */\r\n public static readonly onWidgetStateChangedEvent = new WidgetStateChangedEvent();\r\n\r\n /** @internal */\r\n public static readonly onWidgetLabelChangedEvent = new UiEvent<WidgetChangedEventArgs>();\r\n\r\n /** @internal */\r\n public static readonly onWidgetShowEvent = new UiEvent<WidgetEventArgs>();\r\n\r\n /** @internal */\r\n public static readonly onWidgetExpandEvent = new UiEvent<WidgetEventArgs>();\r\n\r\n /** @internal */\r\n public static readonly onWidgetDefsUpdatedEvent = new UiEvent<void>();\r\n\r\n /** @internal */\r\n public static readonly onFrontstageNineZoneStateChangedEvent = new UiEvent<FrontstageNineZoneStateChangedEventArgs>();\r\n\r\n /** @internal */\r\n public static readonly onFrontstageRestoreLayoutEvent = new UiEvent<FrontstageEventArgs>();\r\n\r\n /** Get Widget State Changed event.\r\n * @alpha\r\n */\r\n public static readonly onPanelStateChangedEvent = new PanelStateChangedEvent();\r\n\r\n /** @internal */\r\n public static readonly onPanelSizeChangedEvent = new PanelSizeChangedEvent();\r\n\r\n /** Get Nine-zone State Manager. */\r\n public static get NineZoneManager() {\r\n const id = FrontstageManager.activeFrontstageId;\r\n let manager = FrontstageManager._nineZoneManagers.get(id);\r\n if (!manager) {\r\n manager = new NineZoneManager();\r\n FrontstageManager._nineZoneManagers.set(id, manager);\r\n }\r\n return manager;\r\n }\r\n\r\n /** Clears the Frontstage map.\r\n */\r\n public static clearFrontstageDefs(): void {\r\n FrontstageManager._frontstageDefs.clear();\r\n FrontstageManager._activeFrontstageDef = undefined;\r\n }\r\n\r\n /** Clears the Frontstage Providers and the defs that may have been created from them.\r\n */\r\n public static clearFrontstageProviders(): void {\r\n FrontstageManager._frontstageProviders.clear();\r\n FrontstageManager.clearFrontstageDefs();\r\n }\r\n\r\n private static getFrontstageKey(frontstageId: string) {\r\n const provider = FrontstageManager._frontstageProviders.get(frontstageId);\r\n let isIModelIndependent = false;\r\n if (provider) {\r\n isIModelIndependent = !!provider.frontstage.props.isIModelIndependent;\r\n }\r\n const imodelId = UiFramework.getIModelConnection()?.iModelId ?? \"noImodel\";\r\n const key = isIModelIndependent ? frontstageId : `[${imodelId}]${frontstageId}`;\r\n return key;\r\n }\r\n\r\n /** Add a Frontstage via a definition.\r\n * @param frontstageDef Definition of the Frontstage to add\r\n */\r\n private static addFrontstageDef(frontstageDef: FrontstageDef): void {\r\n const key = FrontstageManager.getFrontstageKey(frontstageDef.id);\r\n FrontstageManager._frontstageDefs.set(key, frontstageDef);\r\n }\r\n\r\n /** @internal */\r\n public static clearFrontstageDefsForIModelId(iModelId: string | undefined) {\r\n // istanbul ignore next\r\n if (!iModelId)\r\n return;\r\n const keysToRemove: string[] = [];\r\n FrontstageManager._frontstageDefs.forEach((_: FrontstageDef, key: string) => {\r\n if (key.startsWith(`[${iModelId}]`))\r\n keysToRemove.push(key);\r\n });\r\n keysToRemove.forEach((keyValue) => {\r\n FrontstageManager._frontstageDefs.delete(keyValue);\r\n });\r\n }\r\n\r\n /** Add a Frontstage via a [[FrontstageProvider]].\r\n * @param frontstageProvider FrontstageProvider representing the Frontstage to add\r\n */\r\n public static addFrontstageProvider(frontstageProvider: FrontstageProvider): void {\r\n const key = FrontstageManager.getFrontstageKey(frontstageProvider.id);\r\n key && FrontstageManager._frontstageDefs.delete(key);\r\n FrontstageManager._frontstageProviders.set(frontstageProvider.id, frontstageProvider);\r\n }\r\n\r\n /** Find a loaded Frontstage with a given id. If the id is not provided, the active Frontstage is returned.\r\n * If the FrontstageDef has not been cached by FrontstageDef then it will not be found. See async function\r\n * `getFrontstageDef` to get a FrontstageDef.\r\n * @param id Id of the Frontstage to find\r\n * @returns FrontstageDef with a given id if found, or undefined if not found.\r\n */\r\n private static findFrontstageDef(id: string): FrontstageDef | undefined {\r\n const key = FrontstageManager.getFrontstageKey(id);\r\n const frontstageDef = FrontstageManager._frontstageDefs.get(key);\r\n if (frontstageDef instanceof FrontstageDef)\r\n return frontstageDef;\r\n return undefined;\r\n }\r\n\r\n private static findFrontstageProvider(id?: string): FrontstageProvider | undefined {\r\n return id ? FrontstageManager._frontstageProviders.get(id) : undefined;\r\n }\r\n\r\n /** Find a loaded Frontstage with a given id. If the id is not provided, the active Frontstage is returned. If\r\n * no cached FrontstageDef is found but a FrontstageProvider is registered a FrontstageDef will be created, cached, and\r\n * returned.\r\n * @param id Id of the Frontstage to find\r\n * @returns FrontstageDef with a given id if found, or undefined if not found.\r\n */\r\n public static async getFrontstageDef(id?: string): Promise<FrontstageDef | undefined> {\r\n if (!id)\r\n return FrontstageManager.activeFrontstageDef;\r\n\r\n let frontstageDef = FrontstageManager.findFrontstageDef(id);\r\n if (frontstageDef)\r\n return frontstageDef;\r\n\r\n // istanbul ignore else\r\n if (id) {\r\n const frontstageProvider = FrontstageManager.findFrontstageProvider(id);\r\n if (frontstageProvider) {\r\n frontstageDef = await FrontstageDef.create(frontstageProvider);\r\n // istanbul ignore else\r\n if (frontstageDef) {\r\n const key = FrontstageManager.getFrontstageKey(frontstageDef.id);\r\n FrontstageManager._frontstageDefs.set(key, frontstageDef);\r\n }\r\n return frontstageDef;\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Gets the active FrontstageDef. If a Frontstage is not active, undefined is returned.\r\n * @return Active FrontstageDef, or undefined if one is not active.\r\n */\r\n public static get activeFrontstageDef(): FrontstageDef | undefined {\r\n return FrontstageManager._activeFrontstageDef;\r\n }\r\n\r\n /** Gets the Id of the active FrontstageDef. If a Frontstage is not active, blank is returned.\r\n * @return Id of the active FrontstageDef, or blank if one is not active.\r\n */\r\n public static get activeFrontstageId(): string {\r\n const activeFrontstage = FrontstageManager._activeFrontstageDef;\r\n return (activeFrontstage) ? activeFrontstage.id : \"\";\r\n }\r\n\r\n public static hasFrontstage(frontstageId: string) {\r\n if (FrontstageManager.findFrontstageDef(frontstageId))\r\n return true;\r\n if (FrontstageManager.findFrontstageProvider(frontstageId))\r\n return true;\r\n return false;\r\n }\r\n\r\n /** Sets the active FrontstageDef give the stageId.\r\n * @param frontstageId Id of the Frontstage to set active.\r\n * @returns A Promise that is fulfilled when the [[Frontstage]] is ready.\r\n */\r\n public static async setActiveFrontstage(frontstageId: string): Promise<void> {\r\n const frontstageDef = await FrontstageManager.getFrontstageDef(frontstageId);\r\n if (!frontstageDef) {\r\n Logger.logError(UiFramework.loggerCategory(this), `setActiveFrontstage: Could not load a FrontstageDef with id of '${frontstageId}'`);\r\n return;\r\n }\r\n\r\n return FrontstageManager.setActiveFrontstageDef(frontstageDef);\r\n }\r\n\r\n /** Sets the active FrontstageDef.\r\n * @param frontstageDef FrontstageDef to set active.\r\n * @returns A Promise that is fulfilled when the [[FrontstageDef]] is ready.\r\n */\r\n public static async setActiveFrontstageDef(frontstageDef: FrontstageDef | undefined): Promise<void> {\r\n if (FrontstageManager._activeFrontstageDef === frontstageDef)\r\n return;\r\n\r\n FrontstageManager._isLoading = true;\r\n\r\n const deactivatedFrontstageDef = FrontstageManager._activeFrontstageDef;\r\n if (deactivatedFrontstageDef) {\r\n await deactivatedFrontstageDef.onDeactivated();\r\n\r\n const timeTracker = deactivatedFrontstageDef.timeTracker;\r\n FrontstageManager.onFrontstageDeactivatedEvent.emit({\r\n deactivatedFrontstageDef,\r\n activatedFrontstageDef: frontstageDef,\r\n totalTime: timeTracker.getTotalTimeSeconds(),\r\n engagementTime: timeTracker.getEngagementTimeSeconds(),\r\n idleTime: timeTracker.getIdleTimeSeconds(),\r\n });\r\n }\r\n\r\n FrontstageManager._activeFrontstageDef = frontstageDef;\r\n\r\n if (frontstageDef) {\r\n await frontstageDef.onActivated();\r\n\r\n FrontstageManager.onFrontstageActivatedEvent.emit({ activatedFrontstageDef: frontstageDef, deactivatedFrontstageDef });\r\n\r\n await frontstageDef.waitUntilReady();\r\n FrontstageManager._isLoading = false;\r\n frontstageDef.onFrontstageReady();\r\n FrontstageManager.onFrontstageReadyEvent.emit({ frontstageDef });\r\n UiShowHideManager.handleFrontstageReady();\r\n\r\n frontstageDef.startDefaultTool();\r\n\r\n await frontstageDef.setActiveContent();\r\n }\r\n\r\n FrontstageManager._isLoading = false;\r\n }\r\n\r\n /** Deactivates the active FrontstageDef.\r\n */\r\n public static async deactivateFrontstageDef(): Promise<void> {\r\n await this.setActiveFrontstageDef(undefined);\r\n }\r\n\r\n /** Gets the Id of the active tool. If a tool is not active, blank is returned.\r\n * @return Id of the active tool, or blank if one is not active.\r\n */\r\n public static get activeToolId(): string {\r\n return FrontstageManager._activeToolId;\r\n }\r\n\r\n /** Sets the active tool id */\r\n public static setActiveToolId(toolId: string): void {\r\n FrontstageManager._activeToolId = toolId;\r\n const toolSettingsProvider = FrontstageManager.activeToolSettingsProvider;\r\n // ensure the toolSettingsProvider is initialized before emitting onToolActivatedEvent\r\n if (toolSettingsProvider)\r\n toolSettingsProvider.initialize();\r\n FrontstageManager.onToolActivatedEvent.emit({ toolId });\r\n }\r\n\r\n /** Sets the active tool */\r\n public static setActiveTool(tool: Tool): void {\r\n FrontstageManager.setActiveToolId(tool.toolId);\r\n FrontstageManager.onToolIconChangedEvent.emit({ iconSpec: tool.iconSpec });\r\n }\r\n\r\n /** Gets the active tool's [[ToolInformation]] */\r\n public static get activeToolInformation(): ToolInformation | undefined {\r\n return FrontstageManager._toolInformationMap.get(FrontstageManager.activeToolId);\r\n }\r\n\r\n /** Gets the Tool Setting React node of the active tool.\r\n * @return Tool Setting React node of the active tool, or undefined if there is no active tool or Tool Settings for the active tool.\r\n * @internal\r\n */\r\n public static get activeToolSettingsProvider(): ToolUiProvider | undefined {\r\n const activeToolInformation = FrontstageManager.activeToolInformation;\r\n return (activeToolInformation) ? activeToolInformation.toolUiProvider : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n /** Sets the active layout, content group and active content.\r\n * @param contentLayoutDef Content layout to make active\r\n * @param contentGroup Content Group to make active\r\n */\r\n public static async setActiveLayout(contentLayoutDef: ContentLayoutDef, contentGroup: ContentGroup): Promise<void> {\r\n const activeFrontstageDef = FrontstageManager.activeFrontstageDef;\r\n // istanbul ignore else\r\n if (activeFrontstageDef) {\r\n FrontstageManager._isLoading = false;\r\n\r\n activeFrontstageDef.setContentLayoutAndGroup(contentLayoutDef, contentGroup);\r\n FrontstageManager.onContentLayoutActivatedEvent.emit({ contentLayout: contentLayoutDef, contentGroup });\r\n\r\n await activeFrontstageDef.waitUntilReady();\r\n FrontstageManager._isLoading = false;\r\n\r\n await activeFrontstageDef.setActiveContent();\r\n }\r\n }\r\n\r\n /** Sets the active layout, content group and active content.\r\n * @param contentGroup Content Group to make active\r\n */\r\n public static async setActiveContentGroup(contentGroup: ContentGroup): Promise<void> {\r\n const contentLayoutDef = ContentLayoutManager.getLayoutForGroup(contentGroup);\r\n if (contentLayoutDef) {\r\n await FrontstageManager.setActiveLayout(contentLayoutDef, contentGroup);\r\n }\r\n }\r\n\r\n /** Opens a modal Frontstage. Modal Frontstages can be stacked.\r\n * @param modalFrontstage Information about the modal Frontstage\r\n */\r\n public static openModalFrontstage(modalFrontstage: ModalFrontstageInfo): void {\r\n FrontstageManager.pushModalFrontstage(modalFrontstage);\r\n }\r\n\r\n private static pushModalFrontstage(modalFrontstage: ModalFrontstageInfo): void {\r\n const timeTracker = new TimeTracker();\r\n timeTracker.startTiming();\r\n const frontstageItem: ModalFrontstageItem = { modalFrontstage, timeTracker };\r\n FrontstageManager._modalFrontstages.push(frontstageItem);\r\n FrontstageManager.emitModalFrontstageChangedEvent();\r\n }\r\n\r\n /** Closes the top-most modal Frontstage.\r\n */\r\n public static closeModalFrontstage(): void {\r\n // istanbul ignore else\r\n if (FrontstageManager._modalFrontstages.length > 0) {\r\n const topMostStageItem = FrontstageManager._modalFrontstages[FrontstageManager._modalFrontstages.length - 1];\r\n if (topMostStageItem.modalFrontstage.notifyCloseRequest)\r\n FrontstageManager.onCloseModalFrontstageRequestedEvent.emit(\r\n {\r\n modalFrontstage: topMostStageItem.modalFrontstage,\r\n stageCloseFunc: FrontstageManager.popModalFrontstage,\r\n });\r\n else\r\n FrontstageManager.popModalFrontstage();\r\n }\r\n }\r\n\r\n private static popModalFrontstage(): void {\r\n const frontstageItem = FrontstageManager._modalFrontstages.pop();\r\n // istanbul ignore else\r\n if (frontstageItem) {\r\n const modalFrontstage = frontstageItem.modalFrontstage;\r\n const timeTracker = frontstageItem.timeTracker;\r\n timeTracker.stopTiming();\r\n FrontstageManager.onModalFrontstageClosedEvent.emit({\r\n modalFrontstage,\r\n totalTime: timeTracker.getTotalTimeSeconds(),\r\n engagementTime: timeTracker.getEngagementTimeSeconds(),\r\n idleTime: timeTracker.getIdleTimeSeconds(),\r\n });\r\n }\r\n\r\n FrontstageManager.emitModalFrontstageChangedEvent();\r\n\r\n UiShowHideManager.handleFrontstageReady();\r\n }\r\n\r\n private static emitModalFrontstageChangedEvent(): void {\r\n FrontstageManager.onModalFrontstageChangedEvent.emit({ modalFrontstageCount: FrontstageManager.modalFrontstageCount });\r\n }\r\n\r\n /** Updates the top-most modal Frontstage.\r\n */\r\n public static updateModalFrontstage(): void {\r\n FrontstageManager.emitModalFrontstageChangedEvent();\r\n }\r\n\r\n /** Gets the top-most modal Frontstage.\r\n * @returns Top-most modal Frontstage, or undefined if there is none.\r\n */\r\n public static get activeModalFrontstage(): ModalFrontstageInfo | undefined {\r\n if (FrontstageManager._modalFrontstages.length > 0) {\r\n const frontstageItem = FrontstageManager._modalFrontstages[FrontstageManager._modalFrontstages.length - 1];\r\n const modalFrontstage = frontstageItem.modalFrontstage;\r\n return modalFrontstage;\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n /** Gets the number of modal Frontstages.\r\n * @returns Modal Frontstage count\r\n */\r\n public static get modalFrontstageCount(): number {\r\n return FrontstageManager._modalFrontstages.length;\r\n }\r\n\r\n /** Sets the active Navigation Aid via its Id.\r\n * @param navigationAidId Id of the Navigation Aid to set as active\r\n * @param iModelConnection IModelConnection to query for view data\r\n */\r\n public static setActiveNavigationAid(navigationAidId: string, iModelConnection: IModelConnection) {\r\n FrontstageManager.onNavigationAidActivatedEvent.emit({ navigationAidId, iModelConnection });\r\n }\r\n\r\n /** Sets the state of the widget with the given id\r\n * @param widgetId Id of the Widget for which to set the state\r\n * @param state New state of the widget\r\n * @returns true if the widget state was set successfully, or false if not.\r\n */\r\n public static setWidgetState(widgetId: string, state: WidgetState): boolean {\r\n const widgetDef = FrontstageManager.findWidget(widgetId);\r\n if (widgetDef) {\r\n widgetDef.setWidgetState(state);\r\n return true;\r\n } else {\r\n Logger.logError(UiFramework.loggerCategory(this), `setWidgetState: Could not find Widget with id of '${widgetId}'`);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /** Finds a widget with the given id in the active frontstage\r\n * @param widgetId Id of the Widget to find\r\n * @returns The WidgetDef with the given id, or undefined if not found.\r\n */\r\n public static findWidget(widgetId: string): WidgetDef | undefined {\r\n const activeFrontstageDef = FrontstageManager.activeFrontstageDef;\r\n\r\n // istanbul ignore else\r\n if (activeFrontstageDef)\r\n return activeFrontstageDef.findWidgetDef(widgetId);\r\n\r\n return undefined;\r\n }\r\n\r\n /** Opens a nested Frontstage. Nested Frontstages can be stacked.\r\n * @param nestedFrontstage Information about the nested Frontstage\r\n */\r\n public static async openNestedFrontstage(nestedFrontstage: FrontstageDef): Promise<void> {\r\n if (FrontstageManager.nestedFrontstageCount === 0)\r\n FrontstageManager._activePrimaryFrontstageDef = FrontstageManager._activeFrontstageDef;\r\n\r\n FrontstageManager.pushNestedFrontstage(nestedFrontstage);\r\n\r\n await FrontstageManager.setActiveFrontstageDef(nestedFrontstage);\r\n }\r\n\r\n private static pushNestedFrontstage(nestedFrontstage: FrontstageDef): void {\r\n FrontstageManager._nestedFrontstages.push(nestedFrontstage);\r\n }\r\n\r\n /** Closes the top-most nested Frontstage.\r\n */\r\n public static async closeNestedFrontstage(): Promise<void> {\r\n FrontstageManager.popNestedFrontstage();\r\n\r\n if (FrontstageManager.nestedFrontstageCount > 0) {\r\n await FrontstageManager.setActiveFrontstageDef(FrontstageManager.activeNestedFrontstage);\r\n } else {\r\n await FrontstageManager.setActiveFrontstageDef(FrontstageManager._activePrimaryFrontstageDef);\r\n FrontstageManager._activePrimaryFrontstageDef = undefined;\r\n }\r\n }\r\n\r\n private static popNestedFrontstage(): void {\r\n FrontstageManager._nestedFrontstages.pop();\r\n }\r\n\r\n /** Gets the top-most nested Frontstage.\r\n * @returns Top-most nested Frontstage, or undefined if there is none.\r\n */\r\n public static get activeNestedFrontstage(): FrontstageDef | undefined {\r\n // istanbul ignore else\r\n if (FrontstageManager._nestedFrontstages.length > 0)\r\n return FrontstageManager._nestedFrontstages[FrontstageManager._nestedFrontstages.length - 1];\r\n\r\n return undefined;\r\n }\r\n\r\n /** Gets the number of nested Frontstages.\r\n * @returns Nested Frontstage count\r\n */\r\n public static get nestedFrontstageCount(): number {\r\n return FrontstageManager._nestedFrontstages.length;\r\n }\r\n\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"FrontstageManager.js","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/FrontstageManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/* 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 { IModelApp, IModelConnection, InteractiveTool, SelectedViewportChangedArgs, StartOrResume, Tool } from \"@itwin/core-frontend\";\r\nimport { WidgetState } from \"@itwin/appui-abstract\";\r\nimport { Size, UiEvent } from \"@itwin/core-react\";\r\nimport { NineZoneManager } from \"@itwin/appui-layout-react\";\r\nimport { ContentControlActivatedEvent } from \"../content/ContentControl\";\r\nimport { ContentGroup } from \"../content/ContentGroup\";\r\nimport { ContentLayoutActivatedEvent, ContentLayoutDef } from \"../content/ContentLayout\";\r\nimport { NavigationAidActivatedEvent } from \"../navigationaids/NavigationAidControl\";\r\nimport { PanelSizeChangedEvent, PanelStateChangedEvent } from \"../stagepanels/StagePanelDef\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { UiShowHideManager } from \"../utils/UiShowHideManager\";\r\nimport { WidgetChangedEventArgs, WidgetDef, WidgetEventArgs, WidgetStateChangedEvent } from \"../widgets/WidgetDef\";\r\nimport { ToolInformation } from \"../zones/toolsettings/ToolInformation\";\r\nimport { SyncToolSettingsPropertiesEventArgs, ToolSettingsManager } from \"../zones/toolsettings/ToolSettingsManager\";\r\nimport { ToolUiProvider } from \"../zones/toolsettings/ToolUiProvider\";\r\nimport { FrontstageDef, FrontstageEventArgs, FrontstageNineZoneStateChangedEventArgs } from \"./FrontstageDef\";\r\nimport { FrontstageProvider } from \"./FrontstageProvider\";\r\nimport { TimeTracker } from \"../configurableui/TimeTracker\";\r\nimport { ContentLayoutManager } from \"../content/ContentLayoutManager\";\r\n\r\n// -----------------------------------------------------------------------------\r\n// Frontstage Events\r\n// -----------------------------------------------------------------------------\r\n\r\n/** Frontstage Activated Event Args interface.\r\n * @public\r\n */\r\nexport interface FrontstageActivatedEventArgs {\r\n deactivatedFrontstageDef?: FrontstageDef;\r\n activatedFrontstageDef: FrontstageDef;\r\n}\r\n\r\n/** Frontstage Activated Event class.\r\n * @public\r\n */\r\nexport class FrontstageActivatedEvent extends UiEvent<FrontstageActivatedEventArgs> { }\r\n\r\n/** Frontstage Deactivated Event Args interface.\r\n * @public\r\n */\r\nexport interface FrontstageDeactivatedEventArgs {\r\n /** Frontstage being deactivated */\r\n deactivatedFrontstageDef: FrontstageDef;\r\n /** Frontstage being activated */\r\n activatedFrontstageDef?: FrontstageDef;\r\n\r\n /** Total time spent in frontstage */\r\n totalTime: number;\r\n /** Engagement time spent in frontstage */\r\n engagementTime: number;\r\n /** Idle time spent in frontstage */\r\n idleTime: number;\r\n}\r\n\r\n/** Frontstage Deactivated Event class.\r\n * @public\r\n */\r\nexport class FrontstageDeactivatedEvent extends UiEvent<FrontstageDeactivatedEventArgs> { }\r\n\r\n/** Frontstage Ready Event Args interface.\r\n * @public\r\n */\r\nexport interface FrontstageReadyEventArgs {\r\n frontstageDef: FrontstageDef;\r\n}\r\n\r\n/** Frontstage Ready Event class.\r\n * @public\r\n */\r\nexport class FrontstageReadyEvent extends UiEvent<FrontstageReadyEventArgs> { }\r\n\r\n/** Modal Frontstage Changed Event Args interface.\r\n * @public\r\n */\r\nexport interface ModalFrontstageChangedEventArgs {\r\n modalFrontstageCount: number;\r\n}\r\n\r\n/** Modal Frontstage Stack Changed Event class.\r\n * @public\r\n */\r\nexport class ModalFrontstageChangedEvent extends UiEvent<ModalFrontstageChangedEventArgs> { }\r\n\r\n/** Modal Frontstage Closed Event Args interface.\r\n * @public\r\n */\r\nexport interface ModalFrontstageClosedEventArgs {\r\n /** Modal Frontstage being closed */\r\n modalFrontstage: ModalFrontstageInfo;\r\n\r\n /** Total time spent in frontstage */\r\n totalTime: number;\r\n /** Engagement time spent in frontstage */\r\n engagementTime: number;\r\n /** Idle time spent in frontstage */\r\n idleTime: number;\r\n}\r\n\r\n/** Modal Frontstage Requested Close Event class. Notifies the modal stage that the close button was\r\n * pressed and passes the function to actually close the modal stage. This allows stage to do any\r\n * saving of unsaved data prior to closing the stage. If the ModalFrontstageInfo sets notifyCloseRequest\r\n * to true it is up to the stage to register for this event and call the stageCloseFunc once it has saved\r\n * any unsaved data.\r\n * @alpha\r\n */\r\nexport class ModalFrontstageRequestedCloseEvent extends UiEvent<ModalFrontstageRequestedCloseEventArgs> { }\r\n\r\n/** Modal Frontstage RequestedClose Event Args interface.\r\n * @alpha\r\n */\r\nexport interface ModalFrontstageRequestedCloseEventArgs {\r\n /** Modal Frontstage that is to be closed */\r\n modalFrontstage: ModalFrontstageInfo;\r\n /** Function to call to close the stage */\r\n stageCloseFunc: () => void;\r\n}\r\n\r\n/** Modal Frontstage Closed Event class.\r\n * @public\r\n */\r\nexport class ModalFrontstageClosedEvent extends UiEvent<ModalFrontstageClosedEventArgs> { }\r\n\r\n/** Tool Activated Event Args interface.\r\n * @public\r\n */\r\nexport interface ToolActivatedEventArgs {\r\n toolId: string;\r\n}\r\n\r\n/** Tool Activated Event class.\r\n * @public\r\n */\r\nexport class ToolActivatedEvent extends UiEvent<ToolActivatedEventArgs> { }\r\n\r\n/** Tool Icon Changed Event Args interface.\r\n * @public\r\n */\r\nexport interface ToolIconChangedEventArgs {\r\n iconSpec: string;\r\n}\r\n\r\n/** Tool Icon Changed Event class.\r\n * @public\r\n */\r\nexport class ToolIconChangedEvent extends UiEvent<ToolIconChangedEventArgs> { }\r\n\r\n/** Modal Frontstage information interface.\r\n * @public\r\n */\r\nexport interface ModalFrontstageInfo {\r\n title: string;\r\n content: React.ReactNode;\r\n appBarRight?: React.ReactNode;\r\n /** Set notifyCloseRequest to true on stages that register to listen for `onCloseModalFrontstageRequestedEvent` so\r\n * that the stage can save unsaved data before closing. Used by the ModalSettingsStage.\r\n * @alpha */\r\n notifyCloseRequest?: boolean;\r\n}\r\n\r\n/** Modal Frontstage array item interface.\r\n * @internal\r\n */\r\ninterface ModalFrontstageItem {\r\n modalFrontstage: ModalFrontstageInfo;\r\n timeTracker: TimeTracker;\r\n}\r\n\r\n// -----------------------------------------------------------------------------\r\n// FrontstageManager class\r\n// -----------------------------------------------------------------------------\r\n\r\n/** Frontstage Manager class.\r\n * @public\r\n */\r\nexport class FrontstageManager {\r\n private static _initialized = false;\r\n private static _isLoading = false;\r\n private static _activeToolId = \"\";\r\n private static _activeFrontstageDef: FrontstageDef | undefined;\r\n private static _frontstageDefs = new Map<string, FrontstageDef>();\r\n private static _modalFrontstages: ModalFrontstageItem[] = new Array<ModalFrontstageItem>();\r\n private static _nineZoneManagers = new Map<string, NineZoneManager>();\r\n private static _frontstageProviders = new Map<string, FrontstageProvider>();\r\n private static _nineZoneSize: Size | undefined = undefined;\r\n\r\n private static _nestedFrontstages: FrontstageDef[] = new Array<FrontstageDef>();\r\n private static _activePrimaryFrontstageDef: FrontstageDef | undefined;\r\n private static _toolInformationMap: Map<string, ToolInformation> = new Map<string, ToolInformation>();\r\n\r\n /** This should only be called within FrontstageManager and its tests.\r\n * @internal\r\n */\r\n public static ensureToolInformationIsSet(toolId: string): void {\r\n // istanbul ignore else\r\n if (!FrontstageManager._toolInformationMap.get(toolId))\r\n FrontstageManager._toolInformationMap.set(toolId, new ToolInformation(toolId));\r\n }\r\n\r\n // pass on SyncToolSettingsPropertiesEvent from ToolAdmin so they are treated as DialogItemSync events\r\n private static handleSyncToolSettingsPropertiesEvent(args: SyncToolSettingsPropertiesEventArgs): void {\r\n FrontstageManager.activeToolSettingsProvider && FrontstageManager.activeToolSettingsProvider.syncToolSettingsProperties(args);\r\n }\r\n\r\n // pass on ReloadToolSettingsEvent from ToolAdmin so they are treated by UiProviders\r\n private static handleReloadToolSettingsEvent(): void {\r\n // istanbul ignore else\r\n if (FrontstageManager.activeToolSettingsProvider) {\r\n FrontstageManager.activeToolSettingsProvider.reloadPropertiesFromTool();\r\n }\r\n }\r\n\r\n /** Initializes the FrontstageManager */\r\n public static initialize() {\r\n if (this._initialized)\r\n return;\r\n\r\n // istanbul ignore else\r\n if (IModelApp && IModelApp.toolAdmin) {\r\n IModelApp.toolAdmin.activeToolChanged.addListener((tool: Tool, _start: StartOrResume) => {\r\n // make sure tool settings properties are cached before creating ToolInformation\r\n ToolSettingsManager.clearToolSettingsData();\r\n // istanbul ignore else\r\n if (tool instanceof InteractiveTool)\r\n ToolSettingsManager.initializeDataForTool(tool);\r\n\r\n // if the tool data is not already cached then see if there is data to cache\r\n FrontstageManager.ensureToolInformationIsSet(tool.toolId);\r\n FrontstageManager.setActiveTool(tool);\r\n });\r\n ToolSettingsManager.onSyncToolSettingsProperties.addListener(FrontstageManager.handleSyncToolSettingsPropertiesEvent);\r\n ToolSettingsManager.onReloadToolSettingsProperties.addListener(FrontstageManager.handleReloadToolSettingsEvent);\r\n }\r\n\r\n // istanbul ignore else\r\n if (IModelApp && IModelApp.viewManager) {\r\n IModelApp.viewManager.onSelectedViewportChanged.addListener(FrontstageManager._handleSelectedViewportChanged);\r\n }\r\n\r\n this._initialized = true;\r\n }\r\n\r\n /** Handles a Viewport change & sets the active view accordingly */\r\n private static _handleSelectedViewportChanged = (args: SelectedViewportChangedArgs) => {\r\n // istanbul ignore else\r\n if (args.current && FrontstageManager.activeFrontstageDef && !FrontstageManager.isLoading) {\r\n FrontstageManager.activeFrontstageDef.setActiveViewFromViewport(args.current);\r\n }\r\n };\r\n\r\n /** @internal */\r\n public static get isInitialized(): boolean { return FrontstageManager._initialized; }\r\n public static set isInitialized(v: boolean) { FrontstageManager._initialized = v; }\r\n\r\n /** Returns true if Frontstage is loading its controls. If false the Frontstage content and controls have been created. */\r\n public static get isLoading(): boolean { return FrontstageManager._isLoading; }\r\n\r\n /** @internal */\r\n public static get nineZoneSize() { return FrontstageManager._nineZoneSize; }\r\n\r\n public static set nineZoneSize(size) {\r\n FrontstageManager._nineZoneSize = size;\r\n }\r\n\r\n /** @internal */\r\n public static get frontstageDefs(): ReadonlyMap<string, FrontstageDef> {\r\n return this._frontstageDefs;\r\n }\r\n\r\n /** Get Frontstage Deactivated event. */\r\n public static readonly onFrontstageDeactivatedEvent = new FrontstageDeactivatedEvent();\r\n\r\n /** Get Frontstage Activated event. */\r\n public static readonly onFrontstageActivatedEvent = new FrontstageActivatedEvent();\r\n\r\n /** Get Frontstage Activated event. */\r\n public static readonly onFrontstageReadyEvent = new FrontstageReadyEvent();\r\n\r\n /** Get Modal Frontstage Changed event. */\r\n public static readonly onModalFrontstageChangedEvent = new ModalFrontstageChangedEvent();\r\n\r\n /** Get Modal Frontstage Closed event. */\r\n public static readonly onModalFrontstageClosedEvent = new ModalFrontstageClosedEvent();\r\n\r\n /** Get Modal Frontstage Requested Closed event.\r\n * @alpha\r\n */\r\n public static readonly onCloseModalFrontstageRequestedEvent = new ModalFrontstageRequestedCloseEvent();\r\n\r\n /** Get Tool Activated event. */\r\n public static readonly onToolActivatedEvent = new ToolActivatedEvent();\r\n\r\n /** Get ToolSetting Reload event. */\r\n public static readonly onToolSettingsReloadEvent = new UiEvent<void>();\r\n\r\n /** Get Tool Panel Opened event.\r\n * @internal\r\n */\r\n public static readonly onToolPanelOpenedEvent = new UiEvent<void>();\r\n\r\n /** Get Tool Icon Changed event. */\r\n public static readonly onToolIconChangedEvent = new ToolIconChangedEvent();\r\n\r\n /** Get Content Layout Activated event. */\r\n public static readonly onContentLayoutActivatedEvent = new ContentLayoutActivatedEvent();\r\n\r\n /** Get Content Control Activated event. */\r\n public static readonly onContentControlActivatedEvent = new ContentControlActivatedEvent();\r\n\r\n /** Get Navigation Aid Activated event. */\r\n public static readonly onNavigationAidActivatedEvent = new NavigationAidActivatedEvent();\r\n\r\n /** Get Widget State Changed event. */\r\n public static readonly onWidgetStateChangedEvent = new WidgetStateChangedEvent();\r\n\r\n /** @internal */\r\n public static readonly onWidgetLabelChangedEvent = new UiEvent<WidgetChangedEventArgs>();\r\n\r\n /** @internal */\r\n public static readonly onWidgetShowEvent = new UiEvent<WidgetEventArgs>();\r\n\r\n /** @internal */\r\n public static readonly onWidgetExpandEvent = new UiEvent<WidgetEventArgs>();\r\n\r\n /** @internal */\r\n public static readonly onWidgetDefsUpdatedEvent = new UiEvent<void>();\r\n\r\n /** @internal */\r\n public static readonly onFrontstageNineZoneStateChangedEvent = new UiEvent<FrontstageNineZoneStateChangedEventArgs>();\r\n\r\n /** @internal */\r\n public static readonly onFrontstageRestoreLayoutEvent = new UiEvent<FrontstageEventArgs>();\r\n\r\n /** Get Widget State Changed event.\r\n * @alpha\r\n */\r\n public static readonly onPanelStateChangedEvent = new PanelStateChangedEvent();\r\n\r\n /** @internal */\r\n public static readonly onPanelSizeChangedEvent = new PanelSizeChangedEvent();\r\n\r\n /** Get Nine-zone State Manager. */\r\n public static get NineZoneManager() {\r\n const id = FrontstageManager.activeFrontstageId;\r\n let manager = FrontstageManager._nineZoneManagers.get(id);\r\n if (!manager) {\r\n manager = new NineZoneManager();\r\n FrontstageManager._nineZoneManagers.set(id, manager);\r\n }\r\n return manager;\r\n }\r\n\r\n /** Clears the Frontstage map.\r\n */\r\n public static clearFrontstageDefs(): void {\r\n FrontstageManager._frontstageDefs.clear();\r\n FrontstageManager._activeFrontstageDef = undefined;\r\n }\r\n\r\n /** Clears the Frontstage Providers and the defs that may have been created from them.\r\n */\r\n public static clearFrontstageProviders(): void {\r\n FrontstageManager._frontstageProviders.clear();\r\n FrontstageManager.clearFrontstageDefs();\r\n }\r\n\r\n private static getFrontstageKey(frontstageId: string) {\r\n const provider = FrontstageManager._frontstageProviders.get(frontstageId);\r\n let isIModelIndependent = false;\r\n if (provider) {\r\n isIModelIndependent = !!provider.frontstage.props.isIModelIndependent;\r\n }\r\n const imodelId = UiFramework.getIModelConnection()?.iModelId ?? \"noImodel\";\r\n const key = isIModelIndependent ? frontstageId : `[${imodelId}]${frontstageId}`;\r\n return key;\r\n }\r\n\r\n /** Add a Frontstage via a definition.\r\n * @param frontstageDef Definition of the Frontstage to add\r\n */\r\n private static addFrontstageDef(frontstageDef: FrontstageDef): void {\r\n const key = FrontstageManager.getFrontstageKey(frontstageDef.id);\r\n FrontstageManager._frontstageDefs.set(key, frontstageDef);\r\n }\r\n\r\n /** @internal */\r\n public static clearFrontstageDefsForIModelId(iModelId: string | undefined) {\r\n // istanbul ignore next\r\n if (!iModelId)\r\n return;\r\n const keysToRemove: string[] = [];\r\n FrontstageManager._frontstageDefs.forEach((_: FrontstageDef, key: string) => {\r\n if (key.startsWith(`[${iModelId}]`))\r\n keysToRemove.push(key);\r\n });\r\n keysToRemove.forEach((keyValue) => {\r\n FrontstageManager._frontstageDefs.delete(keyValue);\r\n });\r\n }\r\n\r\n /** Add a Frontstage via a [[FrontstageProvider]].\r\n * @param frontstageProvider FrontstageProvider representing the Frontstage to add\r\n */\r\n public static addFrontstageProvider(frontstageProvider: FrontstageProvider): void {\r\n const key = FrontstageManager.getFrontstageKey(frontstageProvider.id);\r\n key && FrontstageManager._frontstageDefs.delete(key);\r\n FrontstageManager._frontstageProviders.set(frontstageProvider.id, frontstageProvider);\r\n }\r\n\r\n /** Find a loaded Frontstage with a given id. If the id is not provided, the active Frontstage is returned.\r\n * If the FrontstageDef has not been cached by FrontstageDef then it will not be found. See async function\r\n * `getFrontstageDef` to get a FrontstageDef.\r\n * @param id Id of the Frontstage to find\r\n * @returns FrontstageDef with a given id if found, or undefined if not found.\r\n */\r\n private static findFrontstageDef(id: string): FrontstageDef | undefined {\r\n const key = FrontstageManager.getFrontstageKey(id);\r\n const frontstageDef = FrontstageManager._frontstageDefs.get(key);\r\n if (frontstageDef instanceof FrontstageDef)\r\n return frontstageDef;\r\n return undefined;\r\n }\r\n\r\n private static findFrontstageProvider(id?: string): FrontstageProvider | undefined {\r\n return id ? FrontstageManager._frontstageProviders.get(id) : undefined;\r\n }\r\n\r\n /** Find a loaded Frontstage with a given id. If the id is not provided, the active Frontstage is returned. If\r\n * no cached FrontstageDef is found but a FrontstageProvider is registered a FrontstageDef will be created, cached, and\r\n * returned.\r\n * @param id Id of the Frontstage to find\r\n * @returns FrontstageDef with a given id if found, or undefined if not found.\r\n */\r\n public static async getFrontstageDef(id?: string): Promise<FrontstageDef | undefined> {\r\n if (!id)\r\n return FrontstageManager.activeFrontstageDef;\r\n\r\n let frontstageDef = FrontstageManager.findFrontstageDef(id);\r\n if (frontstageDef)\r\n return frontstageDef;\r\n\r\n // istanbul ignore else\r\n if (id) {\r\n const frontstageProvider = FrontstageManager.findFrontstageProvider(id);\r\n if (frontstageProvider) {\r\n frontstageDef = await FrontstageDef.create(frontstageProvider);\r\n // istanbul ignore else\r\n if (frontstageDef) {\r\n const key = FrontstageManager.getFrontstageKey(frontstageDef.id);\r\n FrontstageManager._frontstageDefs.set(key, frontstageDef);\r\n }\r\n return frontstageDef;\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Gets the active FrontstageDef. If a Frontstage is not active, undefined is returned.\r\n * @return Active FrontstageDef, or undefined if one is not active.\r\n */\r\n public static get activeFrontstageDef(): FrontstageDef | undefined {\r\n return FrontstageManager._activeFrontstageDef;\r\n }\r\n\r\n /** Gets the Id of the active FrontstageDef. If a Frontstage is not active, blank is returned.\r\n * @return Id of the active FrontstageDef, or blank if one is not active.\r\n */\r\n public static get activeFrontstageId(): string {\r\n const activeFrontstage = FrontstageManager._activeFrontstageDef;\r\n return (activeFrontstage) ? activeFrontstage.id : \"\";\r\n }\r\n\r\n public static hasFrontstage(frontstageId: string) {\r\n if (FrontstageManager.findFrontstageDef(frontstageId))\r\n return true;\r\n if (FrontstageManager.findFrontstageProvider(frontstageId))\r\n return true;\r\n return false;\r\n }\r\n\r\n /** Sets the active FrontstageDef give the stageId.\r\n * @param frontstageId Id of the Frontstage to set active.\r\n * @returns A Promise that is fulfilled when the [[Frontstage]] is ready.\r\n */\r\n public static async setActiveFrontstage(frontstageId: string): Promise<void> {\r\n const frontstageDef = await FrontstageManager.getFrontstageDef(frontstageId);\r\n if (!frontstageDef) {\r\n Logger.logError(UiFramework.loggerCategory(this), `setActiveFrontstage: Could not load a FrontstageDef with id of '${frontstageId}'`);\r\n return;\r\n }\r\n\r\n return FrontstageManager.setActiveFrontstageDef(frontstageDef);\r\n }\r\n\r\n /** Sets the active FrontstageDef.\r\n * @param frontstageDef FrontstageDef to set active.\r\n * @returns A Promise that is fulfilled when the [[FrontstageDef]] is ready.\r\n */\r\n public static async setActiveFrontstageDef(frontstageDef: FrontstageDef | undefined): Promise<void> {\r\n if (FrontstageManager._activeFrontstageDef === frontstageDef)\r\n return;\r\n\r\n FrontstageManager._isLoading = true;\r\n\r\n const deactivatedFrontstageDef = FrontstageManager._activeFrontstageDef;\r\n if (deactivatedFrontstageDef) {\r\n await deactivatedFrontstageDef.onDeactivated();\r\n\r\n const timeTracker = deactivatedFrontstageDef.timeTracker;\r\n FrontstageManager.onFrontstageDeactivatedEvent.emit({\r\n deactivatedFrontstageDef,\r\n activatedFrontstageDef: frontstageDef,\r\n totalTime: timeTracker.getTotalTimeSeconds(),\r\n engagementTime: timeTracker.getEngagementTimeSeconds(),\r\n idleTime: timeTracker.getIdleTimeSeconds(),\r\n });\r\n }\r\n\r\n FrontstageManager._activeFrontstageDef = frontstageDef;\r\n\r\n if (frontstageDef) {\r\n await frontstageDef.onActivated();\r\n\r\n FrontstageManager.onFrontstageActivatedEvent.emit({ activatedFrontstageDef: frontstageDef, deactivatedFrontstageDef });\r\n\r\n await frontstageDef.waitUntilReady();\r\n FrontstageManager._isLoading = false;\r\n frontstageDef.onFrontstageReady();\r\n FrontstageManager.onFrontstageReadyEvent.emit({ frontstageDef });\r\n UiShowHideManager.handleFrontstageReady();\r\n\r\n frontstageDef.startDefaultTool();\r\n\r\n await frontstageDef.setActiveContent();\r\n }\r\n\r\n FrontstageManager._isLoading = false;\r\n }\r\n\r\n /** Deactivates the active FrontstageDef.\r\n */\r\n public static async deactivateFrontstageDef(): Promise<void> {\r\n await this.setActiveFrontstageDef(undefined);\r\n }\r\n\r\n /** Gets the Id of the active tool. If a tool is not active, blank is returned.\r\n * @return Id of the active tool, or blank if one is not active.\r\n */\r\n public static get activeToolId(): string {\r\n return FrontstageManager._activeToolId;\r\n }\r\n\r\n /** Sets the active tool id */\r\n public static setActiveToolId(toolId: string): void {\r\n FrontstageManager._activeToolId = toolId;\r\n const toolSettingsProvider = FrontstageManager.activeToolSettingsProvider;\r\n // ensure the toolSettingsProvider is initialized before emitting onToolActivatedEvent\r\n if (toolSettingsProvider)\r\n toolSettingsProvider.initialize();\r\n FrontstageManager.onToolActivatedEvent.emit({ toolId });\r\n }\r\n\r\n /** Sets the active tool */\r\n public static setActiveTool(tool: Tool): void {\r\n FrontstageManager.setActiveToolId(tool.toolId);\r\n FrontstageManager.onToolIconChangedEvent.emit({ iconSpec: tool.iconSpec });\r\n }\r\n\r\n /** Gets the active tool's [[ToolInformation]] */\r\n public static get activeToolInformation(): ToolInformation | undefined {\r\n return FrontstageManager._toolInformationMap.get(FrontstageManager.activeToolId);\r\n }\r\n\r\n /** Gets the Tool Setting React node of the active tool.\r\n * @return Tool Setting React node of the active tool, or undefined if there is no active tool or Tool Settings for the active tool.\r\n * @internal\r\n */\r\n public static get activeToolSettingsProvider(): ToolUiProvider | undefined {\r\n const activeToolInformation = FrontstageManager.activeToolInformation;\r\n return (activeToolInformation) ? activeToolInformation.toolUiProvider : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n /** Sets the active layout, content group and active content.\r\n * @param contentLayoutDef Content layout to make active\r\n * @param contentGroup Content Group to make active\r\n */\r\n public static async setActiveLayout(contentLayoutDef: ContentLayoutDef, contentGroup: ContentGroup): Promise<void> {\r\n const activeFrontstageDef = FrontstageManager.activeFrontstageDef;\r\n // istanbul ignore else\r\n if (activeFrontstageDef) {\r\n FrontstageManager._isLoading = false;\r\n\r\n activeFrontstageDef.setContentLayoutAndGroup(contentLayoutDef, contentGroup);\r\n FrontstageManager.onContentLayoutActivatedEvent.emit({ contentLayout: contentLayoutDef, contentGroup });\r\n\r\n await activeFrontstageDef.waitUntilReady();\r\n FrontstageManager._isLoading = false;\r\n\r\n await activeFrontstageDef.setActiveContent();\r\n }\r\n }\r\n\r\n /** Sets the active layout, content group and active content.\r\n * @param contentGroup Content Group to make active\r\n */\r\n public static async setActiveContentGroup(contentGroup: ContentGroup): Promise<void> {\r\n const contentLayoutDef = ContentLayoutManager.getLayoutForGroup(contentGroup);\r\n if (contentLayoutDef) {\r\n await FrontstageManager.setActiveLayout(contentLayoutDef, contentGroup);\r\n }\r\n }\r\n\r\n /** Opens a modal Frontstage. Modal Frontstages can be stacked.\r\n * @param modalFrontstage Information about the modal Frontstage\r\n */\r\n public static openModalFrontstage(modalFrontstage: ModalFrontstageInfo): void {\r\n FrontstageManager.pushModalFrontstage(modalFrontstage);\r\n }\r\n\r\n private static pushModalFrontstage(modalFrontstage: ModalFrontstageInfo): void {\r\n const timeTracker = new TimeTracker();\r\n timeTracker.startTiming();\r\n const frontstageItem: ModalFrontstageItem = { modalFrontstage, timeTracker };\r\n FrontstageManager._modalFrontstages.push(frontstageItem);\r\n FrontstageManager.emitModalFrontstageChangedEvent();\r\n }\r\n\r\n /** Closes the top-most modal Frontstage.\r\n */\r\n public static closeModalFrontstage(): void {\r\n // istanbul ignore else\r\n if (FrontstageManager._modalFrontstages.length > 0) {\r\n const topMostStageItem = FrontstageManager._modalFrontstages[FrontstageManager._modalFrontstages.length - 1];\r\n if (topMostStageItem.modalFrontstage.notifyCloseRequest)\r\n FrontstageManager.onCloseModalFrontstageRequestedEvent.emit(\r\n {\r\n modalFrontstage: topMostStageItem.modalFrontstage,\r\n stageCloseFunc: FrontstageManager.popModalFrontstage,\r\n });\r\n else\r\n FrontstageManager.popModalFrontstage();\r\n }\r\n }\r\n\r\n private static popModalFrontstage(): void {\r\n const frontstageItem = FrontstageManager._modalFrontstages.pop();\r\n // istanbul ignore else\r\n if (frontstageItem) {\r\n const modalFrontstage = frontstageItem.modalFrontstage;\r\n const timeTracker = frontstageItem.timeTracker;\r\n timeTracker.stopTiming();\r\n FrontstageManager.onModalFrontstageClosedEvent.emit({\r\n modalFrontstage,\r\n totalTime: timeTracker.getTotalTimeSeconds(),\r\n engagementTime: timeTracker.getEngagementTimeSeconds(),\r\n idleTime: timeTracker.getIdleTimeSeconds(),\r\n });\r\n }\r\n\r\n FrontstageManager.emitModalFrontstageChangedEvent();\r\n\r\n UiShowHideManager.handleFrontstageReady();\r\n }\r\n\r\n private static emitModalFrontstageChangedEvent(): void {\r\n FrontstageManager.onModalFrontstageChangedEvent.emit({ modalFrontstageCount: FrontstageManager.modalFrontstageCount });\r\n }\r\n\r\n /** Updates the top-most modal Frontstage.\r\n */\r\n public static updateModalFrontstage(): void {\r\n FrontstageManager.emitModalFrontstageChangedEvent();\r\n }\r\n\r\n /** Gets the top-most modal Frontstage.\r\n * @returns Top-most modal Frontstage, or undefined if there is none.\r\n */\r\n public static get activeModalFrontstage(): ModalFrontstageInfo | undefined {\r\n if (FrontstageManager._modalFrontstages.length > 0) {\r\n const frontstageItem = FrontstageManager._modalFrontstages[FrontstageManager._modalFrontstages.length - 1];\r\n const modalFrontstage = frontstageItem.modalFrontstage;\r\n return modalFrontstage;\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n /** Gets the number of modal Frontstages.\r\n * @returns Modal Frontstage count\r\n */\r\n public static get modalFrontstageCount(): number {\r\n return FrontstageManager._modalFrontstages.length;\r\n }\r\n\r\n /** Sets the active Navigation Aid via its Id.\r\n * @param navigationAidId Id of the Navigation Aid to set as active\r\n * @param iModelConnection IModelConnection to query for view data\r\n */\r\n public static setActiveNavigationAid(navigationAidId: string, iModelConnection: IModelConnection) {\r\n FrontstageManager.onNavigationAidActivatedEvent.emit({ navigationAidId, iModelConnection });\r\n }\r\n\r\n /** Sets the state of the widget with the given id\r\n * @param widgetId Id of the Widget for which to set the state\r\n * @param state New state of the widget\r\n * @returns true if the widget state was set successfully, or false if not.\r\n */\r\n public static setWidgetState(widgetId: string, state: WidgetState): boolean {\r\n const widgetDef = FrontstageManager.findWidget(widgetId);\r\n if (widgetDef) {\r\n widgetDef.setWidgetState(state);\r\n return true;\r\n } else {\r\n Logger.logError(UiFramework.loggerCategory(this), `setWidgetState: Could not find Widget with id of '${widgetId}'`);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /** Finds a widget with the given id in the active frontstage\r\n * @param widgetId Id of the Widget to find\r\n * @returns The WidgetDef with the given id, or undefined if not found.\r\n */\r\n public static findWidget(widgetId: string): WidgetDef | undefined {\r\n const activeFrontstageDef = FrontstageManager.activeFrontstageDef;\r\n\r\n // istanbul ignore else\r\n if (activeFrontstageDef)\r\n return activeFrontstageDef.findWidgetDef(widgetId);\r\n\r\n return undefined;\r\n }\r\n\r\n /** Opens a nested Frontstage. Nested Frontstages can be stacked.\r\n * @param nestedFrontstage Information about the nested Frontstage\r\n */\r\n public static async openNestedFrontstage(nestedFrontstage: FrontstageDef): Promise<void> {\r\n if (FrontstageManager.nestedFrontstageCount === 0)\r\n FrontstageManager._activePrimaryFrontstageDef = FrontstageManager._activeFrontstageDef;\r\n\r\n FrontstageManager.pushNestedFrontstage(nestedFrontstage);\r\n\r\n await FrontstageManager.setActiveFrontstageDef(nestedFrontstage);\r\n }\r\n\r\n private static pushNestedFrontstage(nestedFrontstage: FrontstageDef): void {\r\n FrontstageManager._nestedFrontstages.push(nestedFrontstage);\r\n }\r\n\r\n /** Closes the top-most nested Frontstage.\r\n */\r\n public static async closeNestedFrontstage(): Promise<void> {\r\n FrontstageManager.popNestedFrontstage();\r\n\r\n if (FrontstageManager.nestedFrontstageCount > 0) {\r\n await FrontstageManager.setActiveFrontstageDef(FrontstageManager.activeNestedFrontstage);\r\n } else {\r\n await FrontstageManager.setActiveFrontstageDef(FrontstageManager._activePrimaryFrontstageDef);\r\n FrontstageManager._activePrimaryFrontstageDef = undefined;\r\n }\r\n }\r\n\r\n private static popNestedFrontstage(): void {\r\n FrontstageManager._nestedFrontstages.pop();\r\n }\r\n\r\n /** Gets the top-most nested Frontstage.\r\n * @returns Top-most nested Frontstage, or undefined if there is none.\r\n */\r\n public static get activeNestedFrontstage(): FrontstageDef | undefined {\r\n // istanbul ignore else\r\n if (FrontstageManager._nestedFrontstages.length > 0)\r\n return FrontstageManager._nestedFrontstages[FrontstageManager._nestedFrontstages.length - 1];\r\n\r\n return undefined;\r\n }\r\n\r\n /** Gets the number of nested Frontstages.\r\n * @returns Nested Frontstage count\r\n */\r\n public static get nestedFrontstageCount(): number {\r\n return FrontstageManager._nestedFrontstages.length;\r\n }\r\n\r\n}\r\n"]}
|
|
@@ -15,4 +15,13 @@ export declare class RestoreFrontstageLayoutTool extends Tool {
|
|
|
15
15
|
run(frontstageId?: string): Promise<boolean>;
|
|
16
16
|
parseAndRun(...args: string[]): Promise<boolean>;
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.
|
|
20
|
+
* @alpha
|
|
21
|
+
*/
|
|
22
|
+
export declare class RestoreFrontstagesLayoutTool extends Tool {
|
|
23
|
+
static toolId: string;
|
|
24
|
+
static iconSpec: string;
|
|
25
|
+
run(): Promise<boolean>;
|
|
26
|
+
}
|
|
18
27
|
//# sourceMappingURL=RestoreLayoutTool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestoreLayoutTool.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/tools/RestoreLayoutTool.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,EAA0D,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAKpG;;;;GAIG;AACH,qBAAa,2BAA4B,SAAQ,IAAI;IACnD,OAAuB,MAAM,SAA6B;IAC1D,OAAuB,QAAQ,SAAuB;IAGtD,WAA2B,OAAO,WAAgB;IAElD,WAA2B,OAAO,WAAgB;IAE5B,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB5C,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAGvE"}
|
|
1
|
+
{"version":3,"file":"RestoreLayoutTool.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/tools/RestoreLayoutTool.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,EAA0D,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAKpG;;;;GAIG;AACH,qBAAa,2BAA4B,SAAQ,IAAI;IACnD,OAAuB,MAAM,SAA6B;IAC1D,OAAuB,QAAQ,SAAuB;IAGtD,WAA2B,OAAO,WAAgB;IAElD,WAA2B,OAAO,WAAgB;IAE5B,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB5C,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAGvE;AAED;;;GAGG;AACH,qBAAa,4BAA6B,SAAQ,IAAI;IACpD,OAAuB,MAAM,SAA8B;IAC3D,OAAuB,QAAQ,SAAuB;IAEhC,GAAG;CAO1B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RestoreFrontstageLayoutTool = void 0;
|
|
3
|
+
exports.RestoreFrontstagesLayoutTool = exports.RestoreFrontstageLayoutTool = void 0;
|
|
4
4
|
/*---------------------------------------------------------------------------------------------
|
|
5
5
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
6
6
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -42,4 +42,20 @@ class RestoreFrontstageLayoutTool extends core_frontend_1.Tool {
|
|
|
42
42
|
exports.RestoreFrontstageLayoutTool = RestoreFrontstageLayoutTool;
|
|
43
43
|
RestoreFrontstageLayoutTool.toolId = "RestoreFrontstageLayout";
|
|
44
44
|
RestoreFrontstageLayoutTool.iconSpec = "icon-view-layouts";
|
|
45
|
+
/**
|
|
46
|
+
* Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.
|
|
47
|
+
* @alpha
|
|
48
|
+
*/
|
|
49
|
+
class RestoreFrontstagesLayoutTool extends core_frontend_1.Tool {
|
|
50
|
+
async run() {
|
|
51
|
+
const frontstages = FrontstageManager_1.FrontstageManager.frontstageDefs;
|
|
52
|
+
for (const [, frontstage] of frontstages) {
|
|
53
|
+
frontstage.restoreLayout();
|
|
54
|
+
}
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.RestoreFrontstagesLayoutTool = RestoreFrontstagesLayoutTool;
|
|
59
|
+
RestoreFrontstagesLayoutTool.toolId = "RestoreFrontstagesLayout";
|
|
60
|
+
RestoreFrontstagesLayoutTool.iconSpec = "icon-view-layouts";
|
|
45
61
|
//# sourceMappingURL=RestoreLayoutTool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestoreLayoutTool.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/RestoreLayoutTool.ts"],"names":[],"mappings":";;;AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,wDAAoG;AACpG,uEAAoE;AAEpE,gDAA6C;AAE7C;;;;GAIG;AACH,MAAa,2BAA4B,SAAQ,oBAAI;IAInD,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,CAAC,GAAG,CAAC,YAAqB;QAC7C,IAAI,aAAwC,CAAC;QAE7C,IAAI,YAAY,EAAE;YAChB,aAAa,GAAG,MAAM,qCAAiB,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;SACxE;aAAM;YACL,aAAa,GAAG,qCAAiB,CAAC,mBAAmB,CAAC;SACvD;QAED,IAAI,aAAa;YACf,aAAa,CAAC,aAAa,EAAE,CAAC;;YAE9B,yBAAS,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,oCAAoB,CAAC,qCAAqB,CAAC,IAAI,EAAE,yBAAW,CAAC,SAAS,CAAC,4CAA4C,CAAC,CAAC,CAAC,CAAC;QACnK,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AA3BH,kEA4BC;AA3BwB,kCAAM,GAAG,yBAAyB,CAAC;AACnC,oCAAQ,GAAG,mBAAmB,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 Tools\r\n */\r\nimport { IModelApp, NotifyMessageDetails, OutputMessagePriority, Tool } from \"@itwin/core-frontend\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { FrontstageDef } from \"../frontstage/FrontstageDef\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n/**\r\n * Immediate tool that will reset the layout to that specified in the stage definition. A stage Id\r\n * may be passed in, if not the active stage is used. The stage Id is case sensitive.\r\n * @alpha\r\n */\r\nexport class RestoreFrontstageLayoutTool extends Tool {\r\n public static override toolId = \"RestoreFrontstageLayout\";\r\n public static override iconSpec = \"icon-view-layouts\";\r\n\r\n // istanbul ignore next\r\n public static override get minArgs() { return 0; }\r\n // istanbul ignore next\r\n public static override get maxArgs() { return 1; }\r\n\r\n public override async run(frontstageId?: string): Promise<boolean> {\r\n let frontstageDef: FrontstageDef | undefined;\r\n\r\n if (frontstageId) {\r\n frontstageDef = await FrontstageManager.getFrontstageDef(frontstageId);\r\n } else {\r\n frontstageDef = FrontstageManager.activeFrontstageDef;\r\n }\r\n\r\n if (frontstageDef)\r\n frontstageDef.restoreLayout();\r\n else\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, UiFramework.translate(\"tools.RestoreFrontstageLayout.noStageFound\")));\r\n return true;\r\n }\r\n\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n return this.run(args[0]);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"RestoreLayoutTool.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/RestoreLayoutTool.ts"],"names":[],"mappings":";;;AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,wDAAoG;AACpG,uEAAoE;AAEpE,gDAA6C;AAE7C;;;;GAIG;AACH,MAAa,2BAA4B,SAAQ,oBAAI;IAInD,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,CAAC,GAAG,CAAC,YAAqB;QAC7C,IAAI,aAAwC,CAAC;QAE7C,IAAI,YAAY,EAAE;YAChB,aAAa,GAAG,MAAM,qCAAiB,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;SACxE;aAAM;YACL,aAAa,GAAG,qCAAiB,CAAC,mBAAmB,CAAC;SACvD;QAED,IAAI,aAAa;YACf,aAAa,CAAC,aAAa,EAAE,CAAC;;YAE9B,yBAAS,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,oCAAoB,CAAC,qCAAqB,CAAC,IAAI,EAAE,yBAAW,CAAC,SAAS,CAAC,4CAA4C,CAAC,CAAC,CAAC,CAAC;QACnK,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AA3BH,kEA4BC;AA3BwB,kCAAM,GAAG,yBAAyB,CAAC;AACnC,oCAAQ,GAAG,mBAAmB,CAAC;AA4BxD;;;GAGG;AACH,MAAa,4BAA6B,SAAQ,oBAAI;IAIpC,KAAK,CAAC,GAAG;QACvB,MAAM,WAAW,GAAG,qCAAiB,CAAC,cAAc,CAAC;QACrD,KAAK,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE;YACxC,UAAU,CAAC,aAAa,EAAE,CAAC;SAC5B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AAVH,oEAWC;AAVwB,mCAAM,GAAG,0BAA0B,CAAC;AACpC,qCAAQ,GAAG,mBAAmB,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 Tools\r\n */\r\nimport { IModelApp, NotifyMessageDetails, OutputMessagePriority, Tool } from \"@itwin/core-frontend\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { FrontstageDef } from \"../frontstage/FrontstageDef\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n/**\r\n * Immediate tool that will reset the layout to that specified in the stage definition. A stage Id\r\n * may be passed in, if not the active stage is used. The stage Id is case sensitive.\r\n * @alpha\r\n */\r\nexport class RestoreFrontstageLayoutTool extends Tool {\r\n public static override toolId = \"RestoreFrontstageLayout\";\r\n public static override iconSpec = \"icon-view-layouts\";\r\n\r\n // istanbul ignore next\r\n public static override get minArgs() { return 0; }\r\n // istanbul ignore next\r\n public static override get maxArgs() { return 1; }\r\n\r\n public override async run(frontstageId?: string): Promise<boolean> {\r\n let frontstageDef: FrontstageDef | undefined;\r\n\r\n if (frontstageId) {\r\n frontstageDef = await FrontstageManager.getFrontstageDef(frontstageId);\r\n } else {\r\n frontstageDef = FrontstageManager.activeFrontstageDef;\r\n }\r\n\r\n if (frontstageDef)\r\n frontstageDef.restoreLayout();\r\n else\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, UiFramework.translate(\"tools.RestoreFrontstageLayout.noStageFound\")));\r\n return true;\r\n }\r\n\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n return this.run(args[0]);\r\n }\r\n}\r\n\r\n/**\r\n * Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.\r\n * @alpha\r\n */\r\nexport class RestoreFrontstagesLayoutTool extends Tool {\r\n public static override toolId = \"RestoreFrontstagesLayout\";\r\n public static override iconSpec = \"icon-view-layouts\";\r\n\r\n public override async run() {\r\n const frontstages = FrontstageManager.frontstageDefs;\r\n for (const [, frontstage] of frontstages) {\r\n frontstage.restoreLayout();\r\n }\r\n return true;\r\n }\r\n}\r\n"]}
|
|
@@ -174,6 +174,8 @@ export declare class FrontstageManager {
|
|
|
174
174
|
/** @internal */
|
|
175
175
|
static get nineZoneSize(): Size | undefined;
|
|
176
176
|
static set nineZoneSize(size: Size | undefined);
|
|
177
|
+
/** @internal */
|
|
178
|
+
static get frontstageDefs(): ReadonlyMap<string, FrontstageDef>;
|
|
177
179
|
/** Get Frontstage Deactivated event. */
|
|
178
180
|
static readonly onFrontstageDeactivatedEvent: FrontstageDeactivatedEvent;
|
|
179
181
|
/** Get Frontstage Activated event. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrontstageManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/FrontstageManager.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAa,gBAAgB,EAA+D,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACtI,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAG7F,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACnH,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,uCAAuC,EAAE,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAQ1D;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,wBAAwB,CAAC,EAAE,aAAa,CAAC;IACzC,sBAAsB,EAAE,aAAa,CAAC;CACvC;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,OAAO,CAAC,4BAA4B,CAAC;CAAI;AAEvF;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,mCAAmC;IACnC,wBAAwB,EAAE,aAAa,CAAC;IACxC,iCAAiC;IACjC,sBAAsB,CAAC,EAAE,aAAa,CAAC;IAEvC,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,OAAO,CAAC,8BAA8B,CAAC;CAAI;AAE3F;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,OAAO,CAAC,wBAAwB,CAAC;CAAI;AAE/E;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,OAAO,CAAC,+BAA+B,CAAC;CAAI;AAE7F;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,oCAAoC;IACpC,eAAe,EAAE,mBAAmB,CAAC;IAErC,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,qBAAa,kCAAmC,SAAQ,OAAO,CAAC,sCAAsC,CAAC;CAAI;AAE3G;;GAEG;AACH,MAAM,WAAW,sCAAsC;IACrD,4CAA4C;IAC5C,eAAe,EAAE,mBAAmB,CAAC;IACrC,0CAA0C;IAC1C,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,OAAO,CAAC,8BAA8B,CAAC;CAAI;AAE3F;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,OAAO,CAAC,sBAAsB,CAAC;CAAI;AAE3E;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,OAAO,CAAC,wBAAwB,CAAC;CAAI;AAE/E;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B;;gBAEY;IACZ,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAcD;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAS;IACpC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAS;IAClC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAM;IAClC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAA4B;IAC/D,OAAO,CAAC,MAAM,CAAC,eAAe,CAAoC;IAClE,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAA2D;IAC3F,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAsC;IACtE,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAyC;IAC5E,OAAO,CAAC,MAAM,CAAC,aAAa,CAA+B;IAE3D,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA+C;IAChF,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAA4B;IACtE,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAoE;IAEtG;;OAEG;WACW,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAO9D,OAAO,CAAC,MAAM,CAAC,qCAAqC;IAKpD,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAO5C,wCAAwC;WAC1B,UAAU;IA6BxB,mEAAmE;IACnE,OAAO,CAAC,MAAM,CAAC,8BAA8B,CAK3C;IAEF,gBAAgB;IAChB,WAAkB,aAAa,IAAI,OAAO,CAA2C;IACrF,WAAkB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAyC;IAEnF,0HAA0H;IAC1H,WAAkB,SAAS,IAAI,OAAO,CAAyC;IAE/E,gBAAgB;IAChB,WAAkB,YAAY,qBAA8C;IAE5E,WAAkB,YAAY,CAAC,IAAI,kBAAA,EAElC;IAED,wCAAwC;IACxC,gBAAuB,4BAA4B,6BAAoC;IAEvF,sCAAsC;IACtC,gBAAuB,0BAA0B,2BAAkC;IAEnF,sCAAsC;IACtC,gBAAuB,sBAAsB,uBAA8B;IAE3E,0CAA0C;IAC1C,gBAAuB,6BAA6B,8BAAqC;IAEzF,yCAAyC;IACzC,gBAAuB,4BAA4B,6BAAoC;IAEvF;;OAEG;IACH,gBAAuB,oCAAoC,qCAA4C;IAEvG,gCAAgC;IAChC,gBAAuB,oBAAoB,qBAA4B;IAEvE,oCAAoC;IACpC,gBAAuB,yBAAyB,gBAAuB;IAEvE;;OAEG;IACH,gBAAuB,sBAAsB,gBAAuB;IAEpE,mCAAmC;IACnC,gBAAuB,sBAAsB,uBAA8B;IAE3E,0CAA0C;IAC1C,gBAAuB,6BAA6B,8BAAqC;IAEzF,2CAA2C;IAC3C,gBAAuB,8BAA8B,+BAAsC;IAE3F,0CAA0C;IAC1C,gBAAuB,6BAA6B,8BAAqC;IAEzF,sCAAsC;IACtC,gBAAuB,yBAAyB,0BAAiC;IAEjF,gBAAgB;IAChB,gBAAuB,yBAAyB,kCAAyC;IAEzF,gBAAgB;IAChB,gBAAuB,iBAAiB,2BAAkC;IAE1E,gBAAgB;IAChB,gBAAuB,mBAAmB,2BAAkC;IAE5E,gBAAgB;IAChB,gBAAuB,wBAAwB,gBAAuB;IAEtE,gBAAgB;IAChB,gBAAuB,qCAAqC,mDAA0D;IAEtH,gBAAgB;IAChB,gBAAuB,8BAA8B,+BAAsC;IAE3F;;OAEG;IACH,gBAAuB,wBAAwB,yBAAgC;IAE/E,gBAAgB;IAChB,gBAAuB,uBAAuB,wBAA+B;IAE7E,mCAAmC;IACnC,WAAkB,eAAe,oBAQhC;IAED;OACG;WACW,mBAAmB,IAAI,IAAI;IAKzC;OACG;WACW,wBAAwB,IAAI,IAAI;IAK9C,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAW/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAK/B,gBAAgB;WACF,8BAA8B,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;IAczE;;OAEG;WACW,qBAAqB,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,IAAI;IAMjF;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAQhC,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAIrC;;;;;OAKG;WACiB,gBAAgB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAyBrF;;OAEG;IACH,WAAkB,mBAAmB,IAAI,aAAa,GAAG,SAAS,CAEjE;IAED;;OAEG;IACH,WAAkB,kBAAkB,IAAI,MAAM,CAG7C;WAEa,aAAa,CAAC,YAAY,EAAE,MAAM;IAQhD;;;OAGG;WACiB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5E;;;OAGG;WACiB,sBAAsB,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCnG;OACG;WACiB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5D;;OAEG;IACH,WAAkB,YAAY,IAAI,MAAM,CAEvC;IAED,8BAA8B;WAChB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IASnD,2BAA2B;WACb,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAK7C,iDAAiD;IACjD,WAAkB,qBAAqB,IAAI,eAAe,GAAG,SAAS,CAErE;IAED;;;OAGG;IACH,WAAkB,0BAA0B,IAAI,cAAc,GAAG,SAAS,CAGzE;IAED;;;OAGG;WACiB,eAAe,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlH;;OAEG;WACiB,qBAAqB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpF;;OAEG;WACW,mBAAmB,CAAC,eAAe,EAAE,mBAAmB,GAAG,IAAI;IAI7E,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAQlC;OACG;WACW,oBAAoB,IAAI,IAAI;IAe1C,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAoBjC,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAI9C;OACG;WACW,qBAAqB,IAAI,IAAI;IAI3C;;OAEG;IACH,WAAkB,qBAAqB,IAAI,mBAAmB,GAAG,SAAS,CAQzE;IAED;;OAEG;IACH,WAAkB,oBAAoB,IAAI,MAAM,CAE/C;IAED;;;OAGG;WACW,sBAAsB,CAAC,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB;IAIhG;;;;OAIG;WACW,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO;IAY3E;;;OAGG;WACW,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAUjE;;OAEG;WACiB,oBAAoB,CAAC,gBAAgB,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IASxF,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAInC;OACG;WACiB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAW1D,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAIlC;;OAEG;IACH,WAAkB,sBAAsB,IAAI,aAAa,GAAG,SAAS,CAMpE;IAED;;OAEG;IACH,WAAkB,qBAAqB,IAAI,MAAM,CAEhD;CAEF"}
|
|
1
|
+
{"version":3,"file":"FrontstageManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/FrontstageManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -127,6 +127,10 @@ export class FrontstageManager {
|
|
|
127
127
|
static set nineZoneSize(size) {
|
|
128
128
|
FrontstageManager._nineZoneSize = size;
|
|
129
129
|
}
|
|
130
|
+
/** @internal */
|
|
131
|
+
static get frontstageDefs() {
|
|
132
|
+
return this._frontstageDefs;
|
|
133
|
+
}
|
|
130
134
|
/** Get Nine-zone State Manager. */
|
|
131
135
|
static get NineZoneManager() {
|
|
132
136
|
const id = FrontstageManager.activeFrontstageId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrontstageManager.js","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/FrontstageManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/* 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 { IModelApp, IModelConnection, InteractiveTool, SelectedViewportChangedArgs, StartOrResume, Tool } from \"@itwin/core-frontend\";\r\nimport { WidgetState } from \"@itwin/appui-abstract\";\r\nimport { Size, UiEvent } from \"@itwin/core-react\";\r\nimport { NineZoneManager } from \"@itwin/appui-layout-react\";\r\nimport { ContentControlActivatedEvent } from \"../content/ContentControl\";\r\nimport { ContentGroup } from \"../content/ContentGroup\";\r\nimport { ContentLayoutActivatedEvent, ContentLayoutDef } from \"../content/ContentLayout\";\r\nimport { NavigationAidActivatedEvent } from \"../navigationaids/NavigationAidControl\";\r\nimport { PanelSizeChangedEvent, PanelStateChangedEvent } from \"../stagepanels/StagePanelDef\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { UiShowHideManager } from \"../utils/UiShowHideManager\";\r\nimport { WidgetChangedEventArgs, WidgetDef, WidgetEventArgs, WidgetStateChangedEvent } from \"../widgets/WidgetDef\";\r\nimport { ToolInformation } from \"../zones/toolsettings/ToolInformation\";\r\nimport { SyncToolSettingsPropertiesEventArgs, ToolSettingsManager } from \"../zones/toolsettings/ToolSettingsManager\";\r\nimport { ToolUiProvider } from \"../zones/toolsettings/ToolUiProvider\";\r\nimport { FrontstageDef, FrontstageEventArgs, FrontstageNineZoneStateChangedEventArgs } from \"./FrontstageDef\";\r\nimport { FrontstageProvider } from \"./FrontstageProvider\";\r\nimport { TimeTracker } from \"../configurableui/TimeTracker\";\r\nimport { ContentLayoutManager } from \"../content/ContentLayoutManager\";\r\n\r\n// -----------------------------------------------------------------------------\r\n// Frontstage Events\r\n// -----------------------------------------------------------------------------\r\n\r\n/** Frontstage Activated Event Args interface.\r\n * @public\r\n */\r\nexport interface FrontstageActivatedEventArgs {\r\n deactivatedFrontstageDef?: FrontstageDef;\r\n activatedFrontstageDef: FrontstageDef;\r\n}\r\n\r\n/** Frontstage Activated Event class.\r\n * @public\r\n */\r\nexport class FrontstageActivatedEvent extends UiEvent<FrontstageActivatedEventArgs> { }\r\n\r\n/** Frontstage Deactivated Event Args interface.\r\n * @public\r\n */\r\nexport interface FrontstageDeactivatedEventArgs {\r\n /** Frontstage being deactivated */\r\n deactivatedFrontstageDef: FrontstageDef;\r\n /** Frontstage being activated */\r\n activatedFrontstageDef?: FrontstageDef;\r\n\r\n /** Total time spent in frontstage */\r\n totalTime: number;\r\n /** Engagement time spent in frontstage */\r\n engagementTime: number;\r\n /** Idle time spent in frontstage */\r\n idleTime: number;\r\n}\r\n\r\n/** Frontstage Deactivated Event class.\r\n * @public\r\n */\r\nexport class FrontstageDeactivatedEvent extends UiEvent<FrontstageDeactivatedEventArgs> { }\r\n\r\n/** Frontstage Ready Event Args interface.\r\n * @public\r\n */\r\nexport interface FrontstageReadyEventArgs {\r\n frontstageDef: FrontstageDef;\r\n}\r\n\r\n/** Frontstage Ready Event class.\r\n * @public\r\n */\r\nexport class FrontstageReadyEvent extends UiEvent<FrontstageReadyEventArgs> { }\r\n\r\n/** Modal Frontstage Changed Event Args interface.\r\n * @public\r\n */\r\nexport interface ModalFrontstageChangedEventArgs {\r\n modalFrontstageCount: number;\r\n}\r\n\r\n/** Modal Frontstage Stack Changed Event class.\r\n * @public\r\n */\r\nexport class ModalFrontstageChangedEvent extends UiEvent<ModalFrontstageChangedEventArgs> { }\r\n\r\n/** Modal Frontstage Closed Event Args interface.\r\n * @public\r\n */\r\nexport interface ModalFrontstageClosedEventArgs {\r\n /** Modal Frontstage being closed */\r\n modalFrontstage: ModalFrontstageInfo;\r\n\r\n /** Total time spent in frontstage */\r\n totalTime: number;\r\n /** Engagement time spent in frontstage */\r\n engagementTime: number;\r\n /** Idle time spent in frontstage */\r\n idleTime: number;\r\n}\r\n\r\n/** Modal Frontstage Requested Close Event class. Notifies the modal stage that the close button was\r\n * pressed and passes the function to actually close the modal stage. This allows stage to do any\r\n * saving of unsaved data prior to closing the stage. If the ModalFrontstageInfo sets notifyCloseRequest\r\n * to true it is up to the stage to register for this event and call the stageCloseFunc once it has saved\r\n * any unsaved data.\r\n * @alpha\r\n */\r\nexport class ModalFrontstageRequestedCloseEvent extends UiEvent<ModalFrontstageRequestedCloseEventArgs> { }\r\n\r\n/** Modal Frontstage RequestedClose Event Args interface.\r\n * @alpha\r\n */\r\nexport interface ModalFrontstageRequestedCloseEventArgs {\r\n /** Modal Frontstage that is to be closed */\r\n modalFrontstage: ModalFrontstageInfo;\r\n /** Function to call to close the stage */\r\n stageCloseFunc: () => void;\r\n}\r\n\r\n/** Modal Frontstage Closed Event class.\r\n * @public\r\n */\r\nexport class ModalFrontstageClosedEvent extends UiEvent<ModalFrontstageClosedEventArgs> { }\r\n\r\n/** Tool Activated Event Args interface.\r\n * @public\r\n */\r\nexport interface ToolActivatedEventArgs {\r\n toolId: string;\r\n}\r\n\r\n/** Tool Activated Event class.\r\n * @public\r\n */\r\nexport class ToolActivatedEvent extends UiEvent<ToolActivatedEventArgs> { }\r\n\r\n/** Tool Icon Changed Event Args interface.\r\n * @public\r\n */\r\nexport interface ToolIconChangedEventArgs {\r\n iconSpec: string;\r\n}\r\n\r\n/** Tool Icon Changed Event class.\r\n * @public\r\n */\r\nexport class ToolIconChangedEvent extends UiEvent<ToolIconChangedEventArgs> { }\r\n\r\n/** Modal Frontstage information interface.\r\n * @public\r\n */\r\nexport interface ModalFrontstageInfo {\r\n title: string;\r\n content: React.ReactNode;\r\n appBarRight?: React.ReactNode;\r\n /** Set notifyCloseRequest to true on stages that register to listen for `onCloseModalFrontstageRequestedEvent` so\r\n * that the stage can save unsaved data before closing. Used by the ModalSettingsStage.\r\n * @alpha */\r\n notifyCloseRequest?: boolean;\r\n}\r\n\r\n/** Modal Frontstage array item interface.\r\n * @internal\r\n */\r\ninterface ModalFrontstageItem {\r\n modalFrontstage: ModalFrontstageInfo;\r\n timeTracker: TimeTracker;\r\n}\r\n\r\n// -----------------------------------------------------------------------------\r\n// FrontstageManager class\r\n// -----------------------------------------------------------------------------\r\n\r\n/** Frontstage Manager class.\r\n * @public\r\n */\r\nexport class FrontstageManager {\r\n private static _initialized = false;\r\n private static _isLoading = false;\r\n private static _activeToolId = \"\";\r\n private static _activeFrontstageDef: FrontstageDef | undefined;\r\n private static _frontstageDefs = new Map<string, FrontstageDef>();\r\n private static _modalFrontstages: ModalFrontstageItem[] = new Array<ModalFrontstageItem>();\r\n private static _nineZoneManagers = new Map<string, NineZoneManager>();\r\n private static _frontstageProviders = new Map<string, FrontstageProvider>();\r\n private static _nineZoneSize: Size | undefined = undefined;\r\n\r\n private static _nestedFrontstages: FrontstageDef[] = new Array<FrontstageDef>();\r\n private static _activePrimaryFrontstageDef: FrontstageDef | undefined;\r\n private static _toolInformationMap: Map<string, ToolInformation> = new Map<string, ToolInformation>();\r\n\r\n /** This should only be called within FrontstageManager and its tests.\r\n * @internal\r\n */\r\n public static ensureToolInformationIsSet(toolId: string): void {\r\n // istanbul ignore else\r\n if (!FrontstageManager._toolInformationMap.get(toolId))\r\n FrontstageManager._toolInformationMap.set(toolId, new ToolInformation(toolId));\r\n }\r\n\r\n // pass on SyncToolSettingsPropertiesEvent from ToolAdmin so they are treated as DialogItemSync events\r\n private static handleSyncToolSettingsPropertiesEvent(args: SyncToolSettingsPropertiesEventArgs): void {\r\n FrontstageManager.activeToolSettingsProvider && FrontstageManager.activeToolSettingsProvider.syncToolSettingsProperties(args);\r\n }\r\n\r\n // pass on ReloadToolSettingsEvent from ToolAdmin so they are treated by UiProviders\r\n private static handleReloadToolSettingsEvent(): void {\r\n // istanbul ignore else\r\n if (FrontstageManager.activeToolSettingsProvider) {\r\n FrontstageManager.activeToolSettingsProvider.reloadPropertiesFromTool();\r\n }\r\n }\r\n\r\n /** Initializes the FrontstageManager */\r\n public static initialize() {\r\n if (this._initialized)\r\n return;\r\n\r\n // istanbul ignore else\r\n if (IModelApp && IModelApp.toolAdmin) {\r\n IModelApp.toolAdmin.activeToolChanged.addListener((tool: Tool, _start: StartOrResume) => {\r\n // make sure tool settings properties are cached before creating ToolInformation\r\n ToolSettingsManager.clearToolSettingsData();\r\n // istanbul ignore else\r\n if (tool instanceof InteractiveTool)\r\n ToolSettingsManager.initializeDataForTool(tool);\r\n\r\n // if the tool data is not already cached then see if there is data to cache\r\n FrontstageManager.ensureToolInformationIsSet(tool.toolId);\r\n FrontstageManager.setActiveTool(tool);\r\n });\r\n ToolSettingsManager.onSyncToolSettingsProperties.addListener(FrontstageManager.handleSyncToolSettingsPropertiesEvent);\r\n ToolSettingsManager.onReloadToolSettingsProperties.addListener(FrontstageManager.handleReloadToolSettingsEvent);\r\n }\r\n\r\n // istanbul ignore else\r\n if (IModelApp && IModelApp.viewManager) {\r\n IModelApp.viewManager.onSelectedViewportChanged.addListener(FrontstageManager._handleSelectedViewportChanged);\r\n }\r\n\r\n this._initialized = true;\r\n }\r\n\r\n /** Handles a Viewport change & sets the active view accordingly */\r\n private static _handleSelectedViewportChanged = (args: SelectedViewportChangedArgs) => {\r\n // istanbul ignore else\r\n if (args.current && FrontstageManager.activeFrontstageDef && !FrontstageManager.isLoading) {\r\n FrontstageManager.activeFrontstageDef.setActiveViewFromViewport(args.current);\r\n }\r\n };\r\n\r\n /** @internal */\r\n public static get isInitialized(): boolean { return FrontstageManager._initialized; }\r\n public static set isInitialized(v: boolean) { FrontstageManager._initialized = v; }\r\n\r\n /** Returns true if Frontstage is loading its controls. If false the Frontstage content and controls have been created. */\r\n public static get isLoading(): boolean { return FrontstageManager._isLoading; }\r\n\r\n /** @internal */\r\n public static get nineZoneSize() { return FrontstageManager._nineZoneSize; }\r\n\r\n public static set nineZoneSize(size) {\r\n FrontstageManager._nineZoneSize = size;\r\n }\r\n\r\n /** Get Frontstage Deactivated event. */\r\n public static readonly onFrontstageDeactivatedEvent = new FrontstageDeactivatedEvent();\r\n\r\n /** Get Frontstage Activated event. */\r\n public static readonly onFrontstageActivatedEvent = new FrontstageActivatedEvent();\r\n\r\n /** Get Frontstage Activated event. */\r\n public static readonly onFrontstageReadyEvent = new FrontstageReadyEvent();\r\n\r\n /** Get Modal Frontstage Changed event. */\r\n public static readonly onModalFrontstageChangedEvent = new ModalFrontstageChangedEvent();\r\n\r\n /** Get Modal Frontstage Closed event. */\r\n public static readonly onModalFrontstageClosedEvent = new ModalFrontstageClosedEvent();\r\n\r\n /** Get Modal Frontstage Requested Closed event.\r\n * @alpha\r\n */\r\n public static readonly onCloseModalFrontstageRequestedEvent = new ModalFrontstageRequestedCloseEvent();\r\n\r\n /** Get Tool Activated event. */\r\n public static readonly onToolActivatedEvent = new ToolActivatedEvent();\r\n\r\n /** Get ToolSetting Reload event. */\r\n public static readonly onToolSettingsReloadEvent = new UiEvent<void>();\r\n\r\n /** Get Tool Panel Opened event.\r\n * @internal\r\n */\r\n public static readonly onToolPanelOpenedEvent = new UiEvent<void>();\r\n\r\n /** Get Tool Icon Changed event. */\r\n public static readonly onToolIconChangedEvent = new ToolIconChangedEvent();\r\n\r\n /** Get Content Layout Activated event. */\r\n public static readonly onContentLayoutActivatedEvent = new ContentLayoutActivatedEvent();\r\n\r\n /** Get Content Control Activated event. */\r\n public static readonly onContentControlActivatedEvent = new ContentControlActivatedEvent();\r\n\r\n /** Get Navigation Aid Activated event. */\r\n public static readonly onNavigationAidActivatedEvent = new NavigationAidActivatedEvent();\r\n\r\n /** Get Widget State Changed event. */\r\n public static readonly onWidgetStateChangedEvent = new WidgetStateChangedEvent();\r\n\r\n /** @internal */\r\n public static readonly onWidgetLabelChangedEvent = new UiEvent<WidgetChangedEventArgs>();\r\n\r\n /** @internal */\r\n public static readonly onWidgetShowEvent = new UiEvent<WidgetEventArgs>();\r\n\r\n /** @internal */\r\n public static readonly onWidgetExpandEvent = new UiEvent<WidgetEventArgs>();\r\n\r\n /** @internal */\r\n public static readonly onWidgetDefsUpdatedEvent = new UiEvent<void>();\r\n\r\n /** @internal */\r\n public static readonly onFrontstageNineZoneStateChangedEvent = new UiEvent<FrontstageNineZoneStateChangedEventArgs>();\r\n\r\n /** @internal */\r\n public static readonly onFrontstageRestoreLayoutEvent = new UiEvent<FrontstageEventArgs>();\r\n\r\n /** Get Widget State Changed event.\r\n * @alpha\r\n */\r\n public static readonly onPanelStateChangedEvent = new PanelStateChangedEvent();\r\n\r\n /** @internal */\r\n public static readonly onPanelSizeChangedEvent = new PanelSizeChangedEvent();\r\n\r\n /** Get Nine-zone State Manager. */\r\n public static get NineZoneManager() {\r\n const id = FrontstageManager.activeFrontstageId;\r\n let manager = FrontstageManager._nineZoneManagers.get(id);\r\n if (!manager) {\r\n manager = new NineZoneManager();\r\n FrontstageManager._nineZoneManagers.set(id, manager);\r\n }\r\n return manager;\r\n }\r\n\r\n /** Clears the Frontstage map.\r\n */\r\n public static clearFrontstageDefs(): void {\r\n FrontstageManager._frontstageDefs.clear();\r\n FrontstageManager._activeFrontstageDef = undefined;\r\n }\r\n\r\n /** Clears the Frontstage Providers and the defs that may have been created from them.\r\n */\r\n public static clearFrontstageProviders(): void {\r\n FrontstageManager._frontstageProviders.clear();\r\n FrontstageManager.clearFrontstageDefs();\r\n }\r\n\r\n private static getFrontstageKey(frontstageId: string) {\r\n const provider = FrontstageManager._frontstageProviders.get(frontstageId);\r\n let isIModelIndependent = false;\r\n if (provider) {\r\n isIModelIndependent = !!provider.frontstage.props.isIModelIndependent;\r\n }\r\n const imodelId = UiFramework.getIModelConnection()?.iModelId ?? \"noImodel\";\r\n const key = isIModelIndependent ? frontstageId : `[${imodelId}]${frontstageId}`;\r\n return key;\r\n }\r\n\r\n /** Add a Frontstage via a definition.\r\n * @param frontstageDef Definition of the Frontstage to add\r\n */\r\n private static addFrontstageDef(frontstageDef: FrontstageDef): void {\r\n const key = FrontstageManager.getFrontstageKey(frontstageDef.id);\r\n FrontstageManager._frontstageDefs.set(key, frontstageDef);\r\n }\r\n\r\n /** @internal */\r\n public static clearFrontstageDefsForIModelId(iModelId: string | undefined) {\r\n // istanbul ignore next\r\n if (!iModelId)\r\n return;\r\n const keysToRemove: string[] = [];\r\n FrontstageManager._frontstageDefs.forEach((_: FrontstageDef, key: string) => {\r\n if (key.startsWith(`[${iModelId}]`))\r\n keysToRemove.push(key);\r\n });\r\n keysToRemove.forEach((keyValue) => {\r\n FrontstageManager._frontstageDefs.delete(keyValue);\r\n });\r\n }\r\n\r\n /** Add a Frontstage via a [[FrontstageProvider]].\r\n * @param frontstageProvider FrontstageProvider representing the Frontstage to add\r\n */\r\n public static addFrontstageProvider(frontstageProvider: FrontstageProvider): void {\r\n const key = FrontstageManager.getFrontstageKey(frontstageProvider.id);\r\n key && FrontstageManager._frontstageDefs.delete(key);\r\n FrontstageManager._frontstageProviders.set(frontstageProvider.id, frontstageProvider);\r\n }\r\n\r\n /** Find a loaded Frontstage with a given id. If the id is not provided, the active Frontstage is returned.\r\n * If the FrontstageDef has not been cached by FrontstageDef then it will not be found. See async function\r\n * `getFrontstageDef` to get a FrontstageDef.\r\n * @param id Id of the Frontstage to find\r\n * @returns FrontstageDef with a given id if found, or undefined if not found.\r\n */\r\n private static findFrontstageDef(id: string): FrontstageDef | undefined {\r\n const key = FrontstageManager.getFrontstageKey(id);\r\n const frontstageDef = FrontstageManager._frontstageDefs.get(key);\r\n if (frontstageDef instanceof FrontstageDef)\r\n return frontstageDef;\r\n return undefined;\r\n }\r\n\r\n private static findFrontstageProvider(id?: string): FrontstageProvider | undefined {\r\n return id ? FrontstageManager._frontstageProviders.get(id) : undefined;\r\n }\r\n\r\n /** Find a loaded Frontstage with a given id. If the id is not provided, the active Frontstage is returned. If\r\n * no cached FrontstageDef is found but a FrontstageProvider is registered a FrontstageDef will be created, cached, and\r\n * returned.\r\n * @param id Id of the Frontstage to find\r\n * @returns FrontstageDef with a given id if found, or undefined if not found.\r\n */\r\n public static async getFrontstageDef(id?: string): Promise<FrontstageDef | undefined> {\r\n if (!id)\r\n return FrontstageManager.activeFrontstageDef;\r\n\r\n let frontstageDef = FrontstageManager.findFrontstageDef(id);\r\n if (frontstageDef)\r\n return frontstageDef;\r\n\r\n // istanbul ignore else\r\n if (id) {\r\n const frontstageProvider = FrontstageManager.findFrontstageProvider(id);\r\n if (frontstageProvider) {\r\n frontstageDef = await FrontstageDef.create(frontstageProvider);\r\n // istanbul ignore else\r\n if (frontstageDef) {\r\n const key = FrontstageManager.getFrontstageKey(frontstageDef.id);\r\n FrontstageManager._frontstageDefs.set(key, frontstageDef);\r\n }\r\n return frontstageDef;\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Gets the active FrontstageDef. If a Frontstage is not active, undefined is returned.\r\n * @return Active FrontstageDef, or undefined if one is not active.\r\n */\r\n public static get activeFrontstageDef(): FrontstageDef | undefined {\r\n return FrontstageManager._activeFrontstageDef;\r\n }\r\n\r\n /** Gets the Id of the active FrontstageDef. If a Frontstage is not active, blank is returned.\r\n * @return Id of the active FrontstageDef, or blank if one is not active.\r\n */\r\n public static get activeFrontstageId(): string {\r\n const activeFrontstage = FrontstageManager._activeFrontstageDef;\r\n return (activeFrontstage) ? activeFrontstage.id : \"\";\r\n }\r\n\r\n public static hasFrontstage(frontstageId: string) {\r\n if (FrontstageManager.findFrontstageDef(frontstageId))\r\n return true;\r\n if (FrontstageManager.findFrontstageProvider(frontstageId))\r\n return true;\r\n return false;\r\n }\r\n\r\n /** Sets the active FrontstageDef give the stageId.\r\n * @param frontstageId Id of the Frontstage to set active.\r\n * @returns A Promise that is fulfilled when the [[Frontstage]] is ready.\r\n */\r\n public static async setActiveFrontstage(frontstageId: string): Promise<void> {\r\n const frontstageDef = await FrontstageManager.getFrontstageDef(frontstageId);\r\n if (!frontstageDef) {\r\n Logger.logError(UiFramework.loggerCategory(this), `setActiveFrontstage: Could not load a FrontstageDef with id of '${frontstageId}'`);\r\n return;\r\n }\r\n\r\n return FrontstageManager.setActiveFrontstageDef(frontstageDef);\r\n }\r\n\r\n /** Sets the active FrontstageDef.\r\n * @param frontstageDef FrontstageDef to set active.\r\n * @returns A Promise that is fulfilled when the [[FrontstageDef]] is ready.\r\n */\r\n public static async setActiveFrontstageDef(frontstageDef: FrontstageDef | undefined): Promise<void> {\r\n if (FrontstageManager._activeFrontstageDef === frontstageDef)\r\n return;\r\n\r\n FrontstageManager._isLoading = true;\r\n\r\n const deactivatedFrontstageDef = FrontstageManager._activeFrontstageDef;\r\n if (deactivatedFrontstageDef) {\r\n await deactivatedFrontstageDef.onDeactivated();\r\n\r\n const timeTracker = deactivatedFrontstageDef.timeTracker;\r\n FrontstageManager.onFrontstageDeactivatedEvent.emit({\r\n deactivatedFrontstageDef,\r\n activatedFrontstageDef: frontstageDef,\r\n totalTime: timeTracker.getTotalTimeSeconds(),\r\n engagementTime: timeTracker.getEngagementTimeSeconds(),\r\n idleTime: timeTracker.getIdleTimeSeconds(),\r\n });\r\n }\r\n\r\n FrontstageManager._activeFrontstageDef = frontstageDef;\r\n\r\n if (frontstageDef) {\r\n await frontstageDef.onActivated();\r\n\r\n FrontstageManager.onFrontstageActivatedEvent.emit({ activatedFrontstageDef: frontstageDef, deactivatedFrontstageDef });\r\n\r\n await frontstageDef.waitUntilReady();\r\n FrontstageManager._isLoading = false;\r\n frontstageDef.onFrontstageReady();\r\n FrontstageManager.onFrontstageReadyEvent.emit({ frontstageDef });\r\n UiShowHideManager.handleFrontstageReady();\r\n\r\n frontstageDef.startDefaultTool();\r\n\r\n await frontstageDef.setActiveContent();\r\n }\r\n\r\n FrontstageManager._isLoading = false;\r\n }\r\n\r\n /** Deactivates the active FrontstageDef.\r\n */\r\n public static async deactivateFrontstageDef(): Promise<void> {\r\n await this.setActiveFrontstageDef(undefined);\r\n }\r\n\r\n /** Gets the Id of the active tool. If a tool is not active, blank is returned.\r\n * @return Id of the active tool, or blank if one is not active.\r\n */\r\n public static get activeToolId(): string {\r\n return FrontstageManager._activeToolId;\r\n }\r\n\r\n /** Sets the active tool id */\r\n public static setActiveToolId(toolId: string): void {\r\n FrontstageManager._activeToolId = toolId;\r\n const toolSettingsProvider = FrontstageManager.activeToolSettingsProvider;\r\n // ensure the toolSettingsProvider is initialized before emitting onToolActivatedEvent\r\n if (toolSettingsProvider)\r\n toolSettingsProvider.initialize();\r\n FrontstageManager.onToolActivatedEvent.emit({ toolId });\r\n }\r\n\r\n /** Sets the active tool */\r\n public static setActiveTool(tool: Tool): void {\r\n FrontstageManager.setActiveToolId(tool.toolId);\r\n FrontstageManager.onToolIconChangedEvent.emit({ iconSpec: tool.iconSpec });\r\n }\r\n\r\n /** Gets the active tool's [[ToolInformation]] */\r\n public static get activeToolInformation(): ToolInformation | undefined {\r\n return FrontstageManager._toolInformationMap.get(FrontstageManager.activeToolId);\r\n }\r\n\r\n /** Gets the Tool Setting React node of the active tool.\r\n * @return Tool Setting React node of the active tool, or undefined if there is no active tool or Tool Settings for the active tool.\r\n * @internal\r\n */\r\n public static get activeToolSettingsProvider(): ToolUiProvider | undefined {\r\n const activeToolInformation = FrontstageManager.activeToolInformation;\r\n return (activeToolInformation) ? activeToolInformation.toolUiProvider : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n /** Sets the active layout, content group and active content.\r\n * @param contentLayoutDef Content layout to make active\r\n * @param contentGroup Content Group to make active\r\n */\r\n public static async setActiveLayout(contentLayoutDef: ContentLayoutDef, contentGroup: ContentGroup): Promise<void> {\r\n const activeFrontstageDef = FrontstageManager.activeFrontstageDef;\r\n // istanbul ignore else\r\n if (activeFrontstageDef) {\r\n FrontstageManager._isLoading = false;\r\n\r\n activeFrontstageDef.setContentLayoutAndGroup(contentLayoutDef, contentGroup);\r\n FrontstageManager.onContentLayoutActivatedEvent.emit({ contentLayout: contentLayoutDef, contentGroup });\r\n\r\n await activeFrontstageDef.waitUntilReady();\r\n FrontstageManager._isLoading = false;\r\n\r\n await activeFrontstageDef.setActiveContent();\r\n }\r\n }\r\n\r\n /** Sets the active layout, content group and active content.\r\n * @param contentGroup Content Group to make active\r\n */\r\n public static async setActiveContentGroup(contentGroup: ContentGroup): Promise<void> {\r\n const contentLayoutDef = ContentLayoutManager.getLayoutForGroup(contentGroup);\r\n if (contentLayoutDef) {\r\n await FrontstageManager.setActiveLayout(contentLayoutDef, contentGroup);\r\n }\r\n }\r\n\r\n /** Opens a modal Frontstage. Modal Frontstages can be stacked.\r\n * @param modalFrontstage Information about the modal Frontstage\r\n */\r\n public static openModalFrontstage(modalFrontstage: ModalFrontstageInfo): void {\r\n FrontstageManager.pushModalFrontstage(modalFrontstage);\r\n }\r\n\r\n private static pushModalFrontstage(modalFrontstage: ModalFrontstageInfo): void {\r\n const timeTracker = new TimeTracker();\r\n timeTracker.startTiming();\r\n const frontstageItem: ModalFrontstageItem = { modalFrontstage, timeTracker };\r\n FrontstageManager._modalFrontstages.push(frontstageItem);\r\n FrontstageManager.emitModalFrontstageChangedEvent();\r\n }\r\n\r\n /** Closes the top-most modal Frontstage.\r\n */\r\n public static closeModalFrontstage(): void {\r\n // istanbul ignore else\r\n if (FrontstageManager._modalFrontstages.length > 0) {\r\n const topMostStageItem = FrontstageManager._modalFrontstages[FrontstageManager._modalFrontstages.length - 1];\r\n if (topMostStageItem.modalFrontstage.notifyCloseRequest)\r\n FrontstageManager.onCloseModalFrontstageRequestedEvent.emit(\r\n {\r\n modalFrontstage: topMostStageItem.modalFrontstage,\r\n stageCloseFunc: FrontstageManager.popModalFrontstage,\r\n });\r\n else\r\n FrontstageManager.popModalFrontstage();\r\n }\r\n }\r\n\r\n private static popModalFrontstage(): void {\r\n const frontstageItem = FrontstageManager._modalFrontstages.pop();\r\n // istanbul ignore else\r\n if (frontstageItem) {\r\n const modalFrontstage = frontstageItem.modalFrontstage;\r\n const timeTracker = frontstageItem.timeTracker;\r\n timeTracker.stopTiming();\r\n FrontstageManager.onModalFrontstageClosedEvent.emit({\r\n modalFrontstage,\r\n totalTime: timeTracker.getTotalTimeSeconds(),\r\n engagementTime: timeTracker.getEngagementTimeSeconds(),\r\n idleTime: timeTracker.getIdleTimeSeconds(),\r\n });\r\n }\r\n\r\n FrontstageManager.emitModalFrontstageChangedEvent();\r\n\r\n UiShowHideManager.handleFrontstageReady();\r\n }\r\n\r\n private static emitModalFrontstageChangedEvent(): void {\r\n FrontstageManager.onModalFrontstageChangedEvent.emit({ modalFrontstageCount: FrontstageManager.modalFrontstageCount });\r\n }\r\n\r\n /** Updates the top-most modal Frontstage.\r\n */\r\n public static updateModalFrontstage(): void {\r\n FrontstageManager.emitModalFrontstageChangedEvent();\r\n }\r\n\r\n /** Gets the top-most modal Frontstage.\r\n * @returns Top-most modal Frontstage, or undefined if there is none.\r\n */\r\n public static get activeModalFrontstage(): ModalFrontstageInfo | undefined {\r\n if (FrontstageManager._modalFrontstages.length > 0) {\r\n const frontstageItem = FrontstageManager._modalFrontstages[FrontstageManager._modalFrontstages.length - 1];\r\n const modalFrontstage = frontstageItem.modalFrontstage;\r\n return modalFrontstage;\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n /** Gets the number of modal Frontstages.\r\n * @returns Modal Frontstage count\r\n */\r\n public static get modalFrontstageCount(): number {\r\n return FrontstageManager._modalFrontstages.length;\r\n }\r\n\r\n /** Sets the active Navigation Aid via its Id.\r\n * @param navigationAidId Id of the Navigation Aid to set as active\r\n * @param iModelConnection IModelConnection to query for view data\r\n */\r\n public static setActiveNavigationAid(navigationAidId: string, iModelConnection: IModelConnection) {\r\n FrontstageManager.onNavigationAidActivatedEvent.emit({ navigationAidId, iModelConnection });\r\n }\r\n\r\n /** Sets the state of the widget with the given id\r\n * @param widgetId Id of the Widget for which to set the state\r\n * @param state New state of the widget\r\n * @returns true if the widget state was set successfully, or false if not.\r\n */\r\n public static setWidgetState(widgetId: string, state: WidgetState): boolean {\r\n const widgetDef = FrontstageManager.findWidget(widgetId);\r\n if (widgetDef) {\r\n widgetDef.setWidgetState(state);\r\n return true;\r\n } else {\r\n Logger.logError(UiFramework.loggerCategory(this), `setWidgetState: Could not find Widget with id of '${widgetId}'`);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /** Finds a widget with the given id in the active frontstage\r\n * @param widgetId Id of the Widget to find\r\n * @returns The WidgetDef with the given id, or undefined if not found.\r\n */\r\n public static findWidget(widgetId: string): WidgetDef | undefined {\r\n const activeFrontstageDef = FrontstageManager.activeFrontstageDef;\r\n\r\n // istanbul ignore else\r\n if (activeFrontstageDef)\r\n return activeFrontstageDef.findWidgetDef(widgetId);\r\n\r\n return undefined;\r\n }\r\n\r\n /** Opens a nested Frontstage. Nested Frontstages can be stacked.\r\n * @param nestedFrontstage Information about the nested Frontstage\r\n */\r\n public static async openNestedFrontstage(nestedFrontstage: FrontstageDef): Promise<void> {\r\n if (FrontstageManager.nestedFrontstageCount === 0)\r\n FrontstageManager._activePrimaryFrontstageDef = FrontstageManager._activeFrontstageDef;\r\n\r\n FrontstageManager.pushNestedFrontstage(nestedFrontstage);\r\n\r\n await FrontstageManager.setActiveFrontstageDef(nestedFrontstage);\r\n }\r\n\r\n private static pushNestedFrontstage(nestedFrontstage: FrontstageDef): void {\r\n FrontstageManager._nestedFrontstages.push(nestedFrontstage);\r\n }\r\n\r\n /** Closes the top-most nested Frontstage.\r\n */\r\n public static async closeNestedFrontstage(): Promise<void> {\r\n FrontstageManager.popNestedFrontstage();\r\n\r\n if (FrontstageManager.nestedFrontstageCount > 0) {\r\n await FrontstageManager.setActiveFrontstageDef(FrontstageManager.activeNestedFrontstage);\r\n } else {\r\n await FrontstageManager.setActiveFrontstageDef(FrontstageManager._activePrimaryFrontstageDef);\r\n FrontstageManager._activePrimaryFrontstageDef = undefined;\r\n }\r\n }\r\n\r\n private static popNestedFrontstage(): void {\r\n FrontstageManager._nestedFrontstages.pop();\r\n }\r\n\r\n /** Gets the top-most nested Frontstage.\r\n * @returns Top-most nested Frontstage, or undefined if there is none.\r\n */\r\n public static get activeNestedFrontstage(): FrontstageDef | undefined {\r\n // istanbul ignore else\r\n if (FrontstageManager._nestedFrontstages.length > 0)\r\n return FrontstageManager._nestedFrontstages[FrontstageManager._nestedFrontstages.length - 1];\r\n\r\n return undefined;\r\n }\r\n\r\n /** Gets the number of nested Frontstages.\r\n * @returns Nested Frontstage count\r\n */\r\n public static get nestedFrontstageCount(): number {\r\n return FrontstageManager._nestedFrontstages.length;\r\n }\r\n\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"FrontstageManager.js","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/FrontstageManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/* 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 { IModelApp, IModelConnection, InteractiveTool, SelectedViewportChangedArgs, StartOrResume, Tool } from \"@itwin/core-frontend\";\r\nimport { WidgetState } from \"@itwin/appui-abstract\";\r\nimport { Size, UiEvent } from \"@itwin/core-react\";\r\nimport { NineZoneManager } from \"@itwin/appui-layout-react\";\r\nimport { ContentControlActivatedEvent } from \"../content/ContentControl\";\r\nimport { ContentGroup } from \"../content/ContentGroup\";\r\nimport { ContentLayoutActivatedEvent, ContentLayoutDef } from \"../content/ContentLayout\";\r\nimport { NavigationAidActivatedEvent } from \"../navigationaids/NavigationAidControl\";\r\nimport { PanelSizeChangedEvent, PanelStateChangedEvent } from \"../stagepanels/StagePanelDef\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { UiShowHideManager } from \"../utils/UiShowHideManager\";\r\nimport { WidgetChangedEventArgs, WidgetDef, WidgetEventArgs, WidgetStateChangedEvent } from \"../widgets/WidgetDef\";\r\nimport { ToolInformation } from \"../zones/toolsettings/ToolInformation\";\r\nimport { SyncToolSettingsPropertiesEventArgs, ToolSettingsManager } from \"../zones/toolsettings/ToolSettingsManager\";\r\nimport { ToolUiProvider } from \"../zones/toolsettings/ToolUiProvider\";\r\nimport { FrontstageDef, FrontstageEventArgs, FrontstageNineZoneStateChangedEventArgs } from \"./FrontstageDef\";\r\nimport { FrontstageProvider } from \"./FrontstageProvider\";\r\nimport { TimeTracker } from \"../configurableui/TimeTracker\";\r\nimport { ContentLayoutManager } from \"../content/ContentLayoutManager\";\r\n\r\n// -----------------------------------------------------------------------------\r\n// Frontstage Events\r\n// -----------------------------------------------------------------------------\r\n\r\n/** Frontstage Activated Event Args interface.\r\n * @public\r\n */\r\nexport interface FrontstageActivatedEventArgs {\r\n deactivatedFrontstageDef?: FrontstageDef;\r\n activatedFrontstageDef: FrontstageDef;\r\n}\r\n\r\n/** Frontstage Activated Event class.\r\n * @public\r\n */\r\nexport class FrontstageActivatedEvent extends UiEvent<FrontstageActivatedEventArgs> { }\r\n\r\n/** Frontstage Deactivated Event Args interface.\r\n * @public\r\n */\r\nexport interface FrontstageDeactivatedEventArgs {\r\n /** Frontstage being deactivated */\r\n deactivatedFrontstageDef: FrontstageDef;\r\n /** Frontstage being activated */\r\n activatedFrontstageDef?: FrontstageDef;\r\n\r\n /** Total time spent in frontstage */\r\n totalTime: number;\r\n /** Engagement time spent in frontstage */\r\n engagementTime: number;\r\n /** Idle time spent in frontstage */\r\n idleTime: number;\r\n}\r\n\r\n/** Frontstage Deactivated Event class.\r\n * @public\r\n */\r\nexport class FrontstageDeactivatedEvent extends UiEvent<FrontstageDeactivatedEventArgs> { }\r\n\r\n/** Frontstage Ready Event Args interface.\r\n * @public\r\n */\r\nexport interface FrontstageReadyEventArgs {\r\n frontstageDef: FrontstageDef;\r\n}\r\n\r\n/** Frontstage Ready Event class.\r\n * @public\r\n */\r\nexport class FrontstageReadyEvent extends UiEvent<FrontstageReadyEventArgs> { }\r\n\r\n/** Modal Frontstage Changed Event Args interface.\r\n * @public\r\n */\r\nexport interface ModalFrontstageChangedEventArgs {\r\n modalFrontstageCount: number;\r\n}\r\n\r\n/** Modal Frontstage Stack Changed Event class.\r\n * @public\r\n */\r\nexport class ModalFrontstageChangedEvent extends UiEvent<ModalFrontstageChangedEventArgs> { }\r\n\r\n/** Modal Frontstage Closed Event Args interface.\r\n * @public\r\n */\r\nexport interface ModalFrontstageClosedEventArgs {\r\n /** Modal Frontstage being closed */\r\n modalFrontstage: ModalFrontstageInfo;\r\n\r\n /** Total time spent in frontstage */\r\n totalTime: number;\r\n /** Engagement time spent in frontstage */\r\n engagementTime: number;\r\n /** Idle time spent in frontstage */\r\n idleTime: number;\r\n}\r\n\r\n/** Modal Frontstage Requested Close Event class. Notifies the modal stage that the close button was\r\n * pressed and passes the function to actually close the modal stage. This allows stage to do any\r\n * saving of unsaved data prior to closing the stage. If the ModalFrontstageInfo sets notifyCloseRequest\r\n * to true it is up to the stage to register for this event and call the stageCloseFunc once it has saved\r\n * any unsaved data.\r\n * @alpha\r\n */\r\nexport class ModalFrontstageRequestedCloseEvent extends UiEvent<ModalFrontstageRequestedCloseEventArgs> { }\r\n\r\n/** Modal Frontstage RequestedClose Event Args interface.\r\n * @alpha\r\n */\r\nexport interface ModalFrontstageRequestedCloseEventArgs {\r\n /** Modal Frontstage that is to be closed */\r\n modalFrontstage: ModalFrontstageInfo;\r\n /** Function to call to close the stage */\r\n stageCloseFunc: () => void;\r\n}\r\n\r\n/** Modal Frontstage Closed Event class.\r\n * @public\r\n */\r\nexport class ModalFrontstageClosedEvent extends UiEvent<ModalFrontstageClosedEventArgs> { }\r\n\r\n/** Tool Activated Event Args interface.\r\n * @public\r\n */\r\nexport interface ToolActivatedEventArgs {\r\n toolId: string;\r\n}\r\n\r\n/** Tool Activated Event class.\r\n * @public\r\n */\r\nexport class ToolActivatedEvent extends UiEvent<ToolActivatedEventArgs> { }\r\n\r\n/** Tool Icon Changed Event Args interface.\r\n * @public\r\n */\r\nexport interface ToolIconChangedEventArgs {\r\n iconSpec: string;\r\n}\r\n\r\n/** Tool Icon Changed Event class.\r\n * @public\r\n */\r\nexport class ToolIconChangedEvent extends UiEvent<ToolIconChangedEventArgs> { }\r\n\r\n/** Modal Frontstage information interface.\r\n * @public\r\n */\r\nexport interface ModalFrontstageInfo {\r\n title: string;\r\n content: React.ReactNode;\r\n appBarRight?: React.ReactNode;\r\n /** Set notifyCloseRequest to true on stages that register to listen for `onCloseModalFrontstageRequestedEvent` so\r\n * that the stage can save unsaved data before closing. Used by the ModalSettingsStage.\r\n * @alpha */\r\n notifyCloseRequest?: boolean;\r\n}\r\n\r\n/** Modal Frontstage array item interface.\r\n * @internal\r\n */\r\ninterface ModalFrontstageItem {\r\n modalFrontstage: ModalFrontstageInfo;\r\n timeTracker: TimeTracker;\r\n}\r\n\r\n// -----------------------------------------------------------------------------\r\n// FrontstageManager class\r\n// -----------------------------------------------------------------------------\r\n\r\n/** Frontstage Manager class.\r\n * @public\r\n */\r\nexport class FrontstageManager {\r\n private static _initialized = false;\r\n private static _isLoading = false;\r\n private static _activeToolId = \"\";\r\n private static _activeFrontstageDef: FrontstageDef | undefined;\r\n private static _frontstageDefs = new Map<string, FrontstageDef>();\r\n private static _modalFrontstages: ModalFrontstageItem[] = new Array<ModalFrontstageItem>();\r\n private static _nineZoneManagers = new Map<string, NineZoneManager>();\r\n private static _frontstageProviders = new Map<string, FrontstageProvider>();\r\n private static _nineZoneSize: Size | undefined = undefined;\r\n\r\n private static _nestedFrontstages: FrontstageDef[] = new Array<FrontstageDef>();\r\n private static _activePrimaryFrontstageDef: FrontstageDef | undefined;\r\n private static _toolInformationMap: Map<string, ToolInformation> = new Map<string, ToolInformation>();\r\n\r\n /** This should only be called within FrontstageManager and its tests.\r\n * @internal\r\n */\r\n public static ensureToolInformationIsSet(toolId: string): void {\r\n // istanbul ignore else\r\n if (!FrontstageManager._toolInformationMap.get(toolId))\r\n FrontstageManager._toolInformationMap.set(toolId, new ToolInformation(toolId));\r\n }\r\n\r\n // pass on SyncToolSettingsPropertiesEvent from ToolAdmin so they are treated as DialogItemSync events\r\n private static handleSyncToolSettingsPropertiesEvent(args: SyncToolSettingsPropertiesEventArgs): void {\r\n FrontstageManager.activeToolSettingsProvider && FrontstageManager.activeToolSettingsProvider.syncToolSettingsProperties(args);\r\n }\r\n\r\n // pass on ReloadToolSettingsEvent from ToolAdmin so they are treated by UiProviders\r\n private static handleReloadToolSettingsEvent(): void {\r\n // istanbul ignore else\r\n if (FrontstageManager.activeToolSettingsProvider) {\r\n FrontstageManager.activeToolSettingsProvider.reloadPropertiesFromTool();\r\n }\r\n }\r\n\r\n /** Initializes the FrontstageManager */\r\n public static initialize() {\r\n if (this._initialized)\r\n return;\r\n\r\n // istanbul ignore else\r\n if (IModelApp && IModelApp.toolAdmin) {\r\n IModelApp.toolAdmin.activeToolChanged.addListener((tool: Tool, _start: StartOrResume) => {\r\n // make sure tool settings properties are cached before creating ToolInformation\r\n ToolSettingsManager.clearToolSettingsData();\r\n // istanbul ignore else\r\n if (tool instanceof InteractiveTool)\r\n ToolSettingsManager.initializeDataForTool(tool);\r\n\r\n // if the tool data is not already cached then see if there is data to cache\r\n FrontstageManager.ensureToolInformationIsSet(tool.toolId);\r\n FrontstageManager.setActiveTool(tool);\r\n });\r\n ToolSettingsManager.onSyncToolSettingsProperties.addListener(FrontstageManager.handleSyncToolSettingsPropertiesEvent);\r\n ToolSettingsManager.onReloadToolSettingsProperties.addListener(FrontstageManager.handleReloadToolSettingsEvent);\r\n }\r\n\r\n // istanbul ignore else\r\n if (IModelApp && IModelApp.viewManager) {\r\n IModelApp.viewManager.onSelectedViewportChanged.addListener(FrontstageManager._handleSelectedViewportChanged);\r\n }\r\n\r\n this._initialized = true;\r\n }\r\n\r\n /** Handles a Viewport change & sets the active view accordingly */\r\n private static _handleSelectedViewportChanged = (args: SelectedViewportChangedArgs) => {\r\n // istanbul ignore else\r\n if (args.current && FrontstageManager.activeFrontstageDef && !FrontstageManager.isLoading) {\r\n FrontstageManager.activeFrontstageDef.setActiveViewFromViewport(args.current);\r\n }\r\n };\r\n\r\n /** @internal */\r\n public static get isInitialized(): boolean { return FrontstageManager._initialized; }\r\n public static set isInitialized(v: boolean) { FrontstageManager._initialized = v; }\r\n\r\n /** Returns true if Frontstage is loading its controls. If false the Frontstage content and controls have been created. */\r\n public static get isLoading(): boolean { return FrontstageManager._isLoading; }\r\n\r\n /** @internal */\r\n public static get nineZoneSize() { return FrontstageManager._nineZoneSize; }\r\n\r\n public static set nineZoneSize(size) {\r\n FrontstageManager._nineZoneSize = size;\r\n }\r\n\r\n /** @internal */\r\n public static get frontstageDefs(): ReadonlyMap<string, FrontstageDef> {\r\n return this._frontstageDefs;\r\n }\r\n\r\n /** Get Frontstage Deactivated event. */\r\n public static readonly onFrontstageDeactivatedEvent = new FrontstageDeactivatedEvent();\r\n\r\n /** Get Frontstage Activated event. */\r\n public static readonly onFrontstageActivatedEvent = new FrontstageActivatedEvent();\r\n\r\n /** Get Frontstage Activated event. */\r\n public static readonly onFrontstageReadyEvent = new FrontstageReadyEvent();\r\n\r\n /** Get Modal Frontstage Changed event. */\r\n public static readonly onModalFrontstageChangedEvent = new ModalFrontstageChangedEvent();\r\n\r\n /** Get Modal Frontstage Closed event. */\r\n public static readonly onModalFrontstageClosedEvent = new ModalFrontstageClosedEvent();\r\n\r\n /** Get Modal Frontstage Requested Closed event.\r\n * @alpha\r\n */\r\n public static readonly onCloseModalFrontstageRequestedEvent = new ModalFrontstageRequestedCloseEvent();\r\n\r\n /** Get Tool Activated event. */\r\n public static readonly onToolActivatedEvent = new ToolActivatedEvent();\r\n\r\n /** Get ToolSetting Reload event. */\r\n public static readonly onToolSettingsReloadEvent = new UiEvent<void>();\r\n\r\n /** Get Tool Panel Opened event.\r\n * @internal\r\n */\r\n public static readonly onToolPanelOpenedEvent = new UiEvent<void>();\r\n\r\n /** Get Tool Icon Changed event. */\r\n public static readonly onToolIconChangedEvent = new ToolIconChangedEvent();\r\n\r\n /** Get Content Layout Activated event. */\r\n public static readonly onContentLayoutActivatedEvent = new ContentLayoutActivatedEvent();\r\n\r\n /** Get Content Control Activated event. */\r\n public static readonly onContentControlActivatedEvent = new ContentControlActivatedEvent();\r\n\r\n /** Get Navigation Aid Activated event. */\r\n public static readonly onNavigationAidActivatedEvent = new NavigationAidActivatedEvent();\r\n\r\n /** Get Widget State Changed event. */\r\n public static readonly onWidgetStateChangedEvent = new WidgetStateChangedEvent();\r\n\r\n /** @internal */\r\n public static readonly onWidgetLabelChangedEvent = new UiEvent<WidgetChangedEventArgs>();\r\n\r\n /** @internal */\r\n public static readonly onWidgetShowEvent = new UiEvent<WidgetEventArgs>();\r\n\r\n /** @internal */\r\n public static readonly onWidgetExpandEvent = new UiEvent<WidgetEventArgs>();\r\n\r\n /** @internal */\r\n public static readonly onWidgetDefsUpdatedEvent = new UiEvent<void>();\r\n\r\n /** @internal */\r\n public static readonly onFrontstageNineZoneStateChangedEvent = new UiEvent<FrontstageNineZoneStateChangedEventArgs>();\r\n\r\n /** @internal */\r\n public static readonly onFrontstageRestoreLayoutEvent = new UiEvent<FrontstageEventArgs>();\r\n\r\n /** Get Widget State Changed event.\r\n * @alpha\r\n */\r\n public static readonly onPanelStateChangedEvent = new PanelStateChangedEvent();\r\n\r\n /** @internal */\r\n public static readonly onPanelSizeChangedEvent = new PanelSizeChangedEvent();\r\n\r\n /** Get Nine-zone State Manager. */\r\n public static get NineZoneManager() {\r\n const id = FrontstageManager.activeFrontstageId;\r\n let manager = FrontstageManager._nineZoneManagers.get(id);\r\n if (!manager) {\r\n manager = new NineZoneManager();\r\n FrontstageManager._nineZoneManagers.set(id, manager);\r\n }\r\n return manager;\r\n }\r\n\r\n /** Clears the Frontstage map.\r\n */\r\n public static clearFrontstageDefs(): void {\r\n FrontstageManager._frontstageDefs.clear();\r\n FrontstageManager._activeFrontstageDef = undefined;\r\n }\r\n\r\n /** Clears the Frontstage Providers and the defs that may have been created from them.\r\n */\r\n public static clearFrontstageProviders(): void {\r\n FrontstageManager._frontstageProviders.clear();\r\n FrontstageManager.clearFrontstageDefs();\r\n }\r\n\r\n private static getFrontstageKey(frontstageId: string) {\r\n const provider = FrontstageManager._frontstageProviders.get(frontstageId);\r\n let isIModelIndependent = false;\r\n if (provider) {\r\n isIModelIndependent = !!provider.frontstage.props.isIModelIndependent;\r\n }\r\n const imodelId = UiFramework.getIModelConnection()?.iModelId ?? \"noImodel\";\r\n const key = isIModelIndependent ? frontstageId : `[${imodelId}]${frontstageId}`;\r\n return key;\r\n }\r\n\r\n /** Add a Frontstage via a definition.\r\n * @param frontstageDef Definition of the Frontstage to add\r\n */\r\n private static addFrontstageDef(frontstageDef: FrontstageDef): void {\r\n const key = FrontstageManager.getFrontstageKey(frontstageDef.id);\r\n FrontstageManager._frontstageDefs.set(key, frontstageDef);\r\n }\r\n\r\n /** @internal */\r\n public static clearFrontstageDefsForIModelId(iModelId: string | undefined) {\r\n // istanbul ignore next\r\n if (!iModelId)\r\n return;\r\n const keysToRemove: string[] = [];\r\n FrontstageManager._frontstageDefs.forEach((_: FrontstageDef, key: string) => {\r\n if (key.startsWith(`[${iModelId}]`))\r\n keysToRemove.push(key);\r\n });\r\n keysToRemove.forEach((keyValue) => {\r\n FrontstageManager._frontstageDefs.delete(keyValue);\r\n });\r\n }\r\n\r\n /** Add a Frontstage via a [[FrontstageProvider]].\r\n * @param frontstageProvider FrontstageProvider representing the Frontstage to add\r\n */\r\n public static addFrontstageProvider(frontstageProvider: FrontstageProvider): void {\r\n const key = FrontstageManager.getFrontstageKey(frontstageProvider.id);\r\n key && FrontstageManager._frontstageDefs.delete(key);\r\n FrontstageManager._frontstageProviders.set(frontstageProvider.id, frontstageProvider);\r\n }\r\n\r\n /** Find a loaded Frontstage with a given id. If the id is not provided, the active Frontstage is returned.\r\n * If the FrontstageDef has not been cached by FrontstageDef then it will not be found. See async function\r\n * `getFrontstageDef` to get a FrontstageDef.\r\n * @param id Id of the Frontstage to find\r\n * @returns FrontstageDef with a given id if found, or undefined if not found.\r\n */\r\n private static findFrontstageDef(id: string): FrontstageDef | undefined {\r\n const key = FrontstageManager.getFrontstageKey(id);\r\n const frontstageDef = FrontstageManager._frontstageDefs.get(key);\r\n if (frontstageDef instanceof FrontstageDef)\r\n return frontstageDef;\r\n return undefined;\r\n }\r\n\r\n private static findFrontstageProvider(id?: string): FrontstageProvider | undefined {\r\n return id ? FrontstageManager._frontstageProviders.get(id) : undefined;\r\n }\r\n\r\n /** Find a loaded Frontstage with a given id. If the id is not provided, the active Frontstage is returned. If\r\n * no cached FrontstageDef is found but a FrontstageProvider is registered a FrontstageDef will be created, cached, and\r\n * returned.\r\n * @param id Id of the Frontstage to find\r\n * @returns FrontstageDef with a given id if found, or undefined if not found.\r\n */\r\n public static async getFrontstageDef(id?: string): Promise<FrontstageDef | undefined> {\r\n if (!id)\r\n return FrontstageManager.activeFrontstageDef;\r\n\r\n let frontstageDef = FrontstageManager.findFrontstageDef(id);\r\n if (frontstageDef)\r\n return frontstageDef;\r\n\r\n // istanbul ignore else\r\n if (id) {\r\n const frontstageProvider = FrontstageManager.findFrontstageProvider(id);\r\n if (frontstageProvider) {\r\n frontstageDef = await FrontstageDef.create(frontstageProvider);\r\n // istanbul ignore else\r\n if (frontstageDef) {\r\n const key = FrontstageManager.getFrontstageKey(frontstageDef.id);\r\n FrontstageManager._frontstageDefs.set(key, frontstageDef);\r\n }\r\n return frontstageDef;\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Gets the active FrontstageDef. If a Frontstage is not active, undefined is returned.\r\n * @return Active FrontstageDef, or undefined if one is not active.\r\n */\r\n public static get activeFrontstageDef(): FrontstageDef | undefined {\r\n return FrontstageManager._activeFrontstageDef;\r\n }\r\n\r\n /** Gets the Id of the active FrontstageDef. If a Frontstage is not active, blank is returned.\r\n * @return Id of the active FrontstageDef, or blank if one is not active.\r\n */\r\n public static get activeFrontstageId(): string {\r\n const activeFrontstage = FrontstageManager._activeFrontstageDef;\r\n return (activeFrontstage) ? activeFrontstage.id : \"\";\r\n }\r\n\r\n public static hasFrontstage(frontstageId: string) {\r\n if (FrontstageManager.findFrontstageDef(frontstageId))\r\n return true;\r\n if (FrontstageManager.findFrontstageProvider(frontstageId))\r\n return true;\r\n return false;\r\n }\r\n\r\n /** Sets the active FrontstageDef give the stageId.\r\n * @param frontstageId Id of the Frontstage to set active.\r\n * @returns A Promise that is fulfilled when the [[Frontstage]] is ready.\r\n */\r\n public static async setActiveFrontstage(frontstageId: string): Promise<void> {\r\n const frontstageDef = await FrontstageManager.getFrontstageDef(frontstageId);\r\n if (!frontstageDef) {\r\n Logger.logError(UiFramework.loggerCategory(this), `setActiveFrontstage: Could not load a FrontstageDef with id of '${frontstageId}'`);\r\n return;\r\n }\r\n\r\n return FrontstageManager.setActiveFrontstageDef(frontstageDef);\r\n }\r\n\r\n /** Sets the active FrontstageDef.\r\n * @param frontstageDef FrontstageDef to set active.\r\n * @returns A Promise that is fulfilled when the [[FrontstageDef]] is ready.\r\n */\r\n public static async setActiveFrontstageDef(frontstageDef: FrontstageDef | undefined): Promise<void> {\r\n if (FrontstageManager._activeFrontstageDef === frontstageDef)\r\n return;\r\n\r\n FrontstageManager._isLoading = true;\r\n\r\n const deactivatedFrontstageDef = FrontstageManager._activeFrontstageDef;\r\n if (deactivatedFrontstageDef) {\r\n await deactivatedFrontstageDef.onDeactivated();\r\n\r\n const timeTracker = deactivatedFrontstageDef.timeTracker;\r\n FrontstageManager.onFrontstageDeactivatedEvent.emit({\r\n deactivatedFrontstageDef,\r\n activatedFrontstageDef: frontstageDef,\r\n totalTime: timeTracker.getTotalTimeSeconds(),\r\n engagementTime: timeTracker.getEngagementTimeSeconds(),\r\n idleTime: timeTracker.getIdleTimeSeconds(),\r\n });\r\n }\r\n\r\n FrontstageManager._activeFrontstageDef = frontstageDef;\r\n\r\n if (frontstageDef) {\r\n await frontstageDef.onActivated();\r\n\r\n FrontstageManager.onFrontstageActivatedEvent.emit({ activatedFrontstageDef: frontstageDef, deactivatedFrontstageDef });\r\n\r\n await frontstageDef.waitUntilReady();\r\n FrontstageManager._isLoading = false;\r\n frontstageDef.onFrontstageReady();\r\n FrontstageManager.onFrontstageReadyEvent.emit({ frontstageDef });\r\n UiShowHideManager.handleFrontstageReady();\r\n\r\n frontstageDef.startDefaultTool();\r\n\r\n await frontstageDef.setActiveContent();\r\n }\r\n\r\n FrontstageManager._isLoading = false;\r\n }\r\n\r\n /** Deactivates the active FrontstageDef.\r\n */\r\n public static async deactivateFrontstageDef(): Promise<void> {\r\n await this.setActiveFrontstageDef(undefined);\r\n }\r\n\r\n /** Gets the Id of the active tool. If a tool is not active, blank is returned.\r\n * @return Id of the active tool, or blank if one is not active.\r\n */\r\n public static get activeToolId(): string {\r\n return FrontstageManager._activeToolId;\r\n }\r\n\r\n /** Sets the active tool id */\r\n public static setActiveToolId(toolId: string): void {\r\n FrontstageManager._activeToolId = toolId;\r\n const toolSettingsProvider = FrontstageManager.activeToolSettingsProvider;\r\n // ensure the toolSettingsProvider is initialized before emitting onToolActivatedEvent\r\n if (toolSettingsProvider)\r\n toolSettingsProvider.initialize();\r\n FrontstageManager.onToolActivatedEvent.emit({ toolId });\r\n }\r\n\r\n /** Sets the active tool */\r\n public static setActiveTool(tool: Tool): void {\r\n FrontstageManager.setActiveToolId(tool.toolId);\r\n FrontstageManager.onToolIconChangedEvent.emit({ iconSpec: tool.iconSpec });\r\n }\r\n\r\n /** Gets the active tool's [[ToolInformation]] */\r\n public static get activeToolInformation(): ToolInformation | undefined {\r\n return FrontstageManager._toolInformationMap.get(FrontstageManager.activeToolId);\r\n }\r\n\r\n /** Gets the Tool Setting React node of the active tool.\r\n * @return Tool Setting React node of the active tool, or undefined if there is no active tool or Tool Settings for the active tool.\r\n * @internal\r\n */\r\n public static get activeToolSettingsProvider(): ToolUiProvider | undefined {\r\n const activeToolInformation = FrontstageManager.activeToolInformation;\r\n return (activeToolInformation) ? activeToolInformation.toolUiProvider : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n /** Sets the active layout, content group and active content.\r\n * @param contentLayoutDef Content layout to make active\r\n * @param contentGroup Content Group to make active\r\n */\r\n public static async setActiveLayout(contentLayoutDef: ContentLayoutDef, contentGroup: ContentGroup): Promise<void> {\r\n const activeFrontstageDef = FrontstageManager.activeFrontstageDef;\r\n // istanbul ignore else\r\n if (activeFrontstageDef) {\r\n FrontstageManager._isLoading = false;\r\n\r\n activeFrontstageDef.setContentLayoutAndGroup(contentLayoutDef, contentGroup);\r\n FrontstageManager.onContentLayoutActivatedEvent.emit({ contentLayout: contentLayoutDef, contentGroup });\r\n\r\n await activeFrontstageDef.waitUntilReady();\r\n FrontstageManager._isLoading = false;\r\n\r\n await activeFrontstageDef.setActiveContent();\r\n }\r\n }\r\n\r\n /** Sets the active layout, content group and active content.\r\n * @param contentGroup Content Group to make active\r\n */\r\n public static async setActiveContentGroup(contentGroup: ContentGroup): Promise<void> {\r\n const contentLayoutDef = ContentLayoutManager.getLayoutForGroup(contentGroup);\r\n if (contentLayoutDef) {\r\n await FrontstageManager.setActiveLayout(contentLayoutDef, contentGroup);\r\n }\r\n }\r\n\r\n /** Opens a modal Frontstage. Modal Frontstages can be stacked.\r\n * @param modalFrontstage Information about the modal Frontstage\r\n */\r\n public static openModalFrontstage(modalFrontstage: ModalFrontstageInfo): void {\r\n FrontstageManager.pushModalFrontstage(modalFrontstage);\r\n }\r\n\r\n private static pushModalFrontstage(modalFrontstage: ModalFrontstageInfo): void {\r\n const timeTracker = new TimeTracker();\r\n timeTracker.startTiming();\r\n const frontstageItem: ModalFrontstageItem = { modalFrontstage, timeTracker };\r\n FrontstageManager._modalFrontstages.push(frontstageItem);\r\n FrontstageManager.emitModalFrontstageChangedEvent();\r\n }\r\n\r\n /** Closes the top-most modal Frontstage.\r\n */\r\n public static closeModalFrontstage(): void {\r\n // istanbul ignore else\r\n if (FrontstageManager._modalFrontstages.length > 0) {\r\n const topMostStageItem = FrontstageManager._modalFrontstages[FrontstageManager._modalFrontstages.length - 1];\r\n if (topMostStageItem.modalFrontstage.notifyCloseRequest)\r\n FrontstageManager.onCloseModalFrontstageRequestedEvent.emit(\r\n {\r\n modalFrontstage: topMostStageItem.modalFrontstage,\r\n stageCloseFunc: FrontstageManager.popModalFrontstage,\r\n });\r\n else\r\n FrontstageManager.popModalFrontstage();\r\n }\r\n }\r\n\r\n private static popModalFrontstage(): void {\r\n const frontstageItem = FrontstageManager._modalFrontstages.pop();\r\n // istanbul ignore else\r\n if (frontstageItem) {\r\n const modalFrontstage = frontstageItem.modalFrontstage;\r\n const timeTracker = frontstageItem.timeTracker;\r\n timeTracker.stopTiming();\r\n FrontstageManager.onModalFrontstageClosedEvent.emit({\r\n modalFrontstage,\r\n totalTime: timeTracker.getTotalTimeSeconds(),\r\n engagementTime: timeTracker.getEngagementTimeSeconds(),\r\n idleTime: timeTracker.getIdleTimeSeconds(),\r\n });\r\n }\r\n\r\n FrontstageManager.emitModalFrontstageChangedEvent();\r\n\r\n UiShowHideManager.handleFrontstageReady();\r\n }\r\n\r\n private static emitModalFrontstageChangedEvent(): void {\r\n FrontstageManager.onModalFrontstageChangedEvent.emit({ modalFrontstageCount: FrontstageManager.modalFrontstageCount });\r\n }\r\n\r\n /** Updates the top-most modal Frontstage.\r\n */\r\n public static updateModalFrontstage(): void {\r\n FrontstageManager.emitModalFrontstageChangedEvent();\r\n }\r\n\r\n /** Gets the top-most modal Frontstage.\r\n * @returns Top-most modal Frontstage, or undefined if there is none.\r\n */\r\n public static get activeModalFrontstage(): ModalFrontstageInfo | undefined {\r\n if (FrontstageManager._modalFrontstages.length > 0) {\r\n const frontstageItem = FrontstageManager._modalFrontstages[FrontstageManager._modalFrontstages.length - 1];\r\n const modalFrontstage = frontstageItem.modalFrontstage;\r\n return modalFrontstage;\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n /** Gets the number of modal Frontstages.\r\n * @returns Modal Frontstage count\r\n */\r\n public static get modalFrontstageCount(): number {\r\n return FrontstageManager._modalFrontstages.length;\r\n }\r\n\r\n /** Sets the active Navigation Aid via its Id.\r\n * @param navigationAidId Id of the Navigation Aid to set as active\r\n * @param iModelConnection IModelConnection to query for view data\r\n */\r\n public static setActiveNavigationAid(navigationAidId: string, iModelConnection: IModelConnection) {\r\n FrontstageManager.onNavigationAidActivatedEvent.emit({ navigationAidId, iModelConnection });\r\n }\r\n\r\n /** Sets the state of the widget with the given id\r\n * @param widgetId Id of the Widget for which to set the state\r\n * @param state New state of the widget\r\n * @returns true if the widget state was set successfully, or false if not.\r\n */\r\n public static setWidgetState(widgetId: string, state: WidgetState): boolean {\r\n const widgetDef = FrontstageManager.findWidget(widgetId);\r\n if (widgetDef) {\r\n widgetDef.setWidgetState(state);\r\n return true;\r\n } else {\r\n Logger.logError(UiFramework.loggerCategory(this), `setWidgetState: Could not find Widget with id of '${widgetId}'`);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /** Finds a widget with the given id in the active frontstage\r\n * @param widgetId Id of the Widget to find\r\n * @returns The WidgetDef with the given id, or undefined if not found.\r\n */\r\n public static findWidget(widgetId: string): WidgetDef | undefined {\r\n const activeFrontstageDef = FrontstageManager.activeFrontstageDef;\r\n\r\n // istanbul ignore else\r\n if (activeFrontstageDef)\r\n return activeFrontstageDef.findWidgetDef(widgetId);\r\n\r\n return undefined;\r\n }\r\n\r\n /** Opens a nested Frontstage. Nested Frontstages can be stacked.\r\n * @param nestedFrontstage Information about the nested Frontstage\r\n */\r\n public static async openNestedFrontstage(nestedFrontstage: FrontstageDef): Promise<void> {\r\n if (FrontstageManager.nestedFrontstageCount === 0)\r\n FrontstageManager._activePrimaryFrontstageDef = FrontstageManager._activeFrontstageDef;\r\n\r\n FrontstageManager.pushNestedFrontstage(nestedFrontstage);\r\n\r\n await FrontstageManager.setActiveFrontstageDef(nestedFrontstage);\r\n }\r\n\r\n private static pushNestedFrontstage(nestedFrontstage: FrontstageDef): void {\r\n FrontstageManager._nestedFrontstages.push(nestedFrontstage);\r\n }\r\n\r\n /** Closes the top-most nested Frontstage.\r\n */\r\n public static async closeNestedFrontstage(): Promise<void> {\r\n FrontstageManager.popNestedFrontstage();\r\n\r\n if (FrontstageManager.nestedFrontstageCount > 0) {\r\n await FrontstageManager.setActiveFrontstageDef(FrontstageManager.activeNestedFrontstage);\r\n } else {\r\n await FrontstageManager.setActiveFrontstageDef(FrontstageManager._activePrimaryFrontstageDef);\r\n FrontstageManager._activePrimaryFrontstageDef = undefined;\r\n }\r\n }\r\n\r\n private static popNestedFrontstage(): void {\r\n FrontstageManager._nestedFrontstages.pop();\r\n }\r\n\r\n /** Gets the top-most nested Frontstage.\r\n * @returns Top-most nested Frontstage, or undefined if there is none.\r\n */\r\n public static get activeNestedFrontstage(): FrontstageDef | undefined {\r\n // istanbul ignore else\r\n if (FrontstageManager._nestedFrontstages.length > 0)\r\n return FrontstageManager._nestedFrontstages[FrontstageManager._nestedFrontstages.length - 1];\r\n\r\n return undefined;\r\n }\r\n\r\n /** Gets the number of nested Frontstages.\r\n * @returns Nested Frontstage count\r\n */\r\n public static get nestedFrontstageCount(): number {\r\n return FrontstageManager._nestedFrontstages.length;\r\n }\r\n\r\n}\r\n"]}
|
|
@@ -15,4 +15,13 @@ export declare class RestoreFrontstageLayoutTool extends Tool {
|
|
|
15
15
|
run(frontstageId?: string): Promise<boolean>;
|
|
16
16
|
parseAndRun(...args: string[]): Promise<boolean>;
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.
|
|
20
|
+
* @alpha
|
|
21
|
+
*/
|
|
22
|
+
export declare class RestoreFrontstagesLayoutTool extends Tool {
|
|
23
|
+
static toolId: string;
|
|
24
|
+
static iconSpec: string;
|
|
25
|
+
run(): Promise<boolean>;
|
|
26
|
+
}
|
|
18
27
|
//# sourceMappingURL=RestoreLayoutTool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestoreLayoutTool.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/tools/RestoreLayoutTool.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,EAA0D,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAKpG;;;;GAIG;AACH,qBAAa,2BAA4B,SAAQ,IAAI;IACnD,OAAuB,MAAM,SAA6B;IAC1D,OAAuB,QAAQ,SAAuB;IAGtD,WAA2B,OAAO,WAAgB;IAElD,WAA2B,OAAO,WAAgB;IAE5B,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB5C,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAGvE"}
|
|
1
|
+
{"version":3,"file":"RestoreLayoutTool.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/tools/RestoreLayoutTool.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,EAA0D,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAKpG;;;;GAIG;AACH,qBAAa,2BAA4B,SAAQ,IAAI;IACnD,OAAuB,MAAM,SAA6B;IAC1D,OAAuB,QAAQ,SAAuB;IAGtD,WAA2B,OAAO,WAAgB;IAElD,WAA2B,OAAO,WAAgB;IAE5B,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB5C,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAGvE;AAED;;;GAGG;AACH,qBAAa,4BAA6B,SAAQ,IAAI;IACpD,OAAuB,MAAM,SAA8B;IAC3D,OAAuB,QAAQ,SAAuB;IAEhC,GAAG;CAO1B"}
|
|
@@ -38,4 +38,19 @@ export class RestoreFrontstageLayoutTool extends Tool {
|
|
|
38
38
|
}
|
|
39
39
|
RestoreFrontstageLayoutTool.toolId = "RestoreFrontstageLayout";
|
|
40
40
|
RestoreFrontstageLayoutTool.iconSpec = "icon-view-layouts";
|
|
41
|
+
/**
|
|
42
|
+
* Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.
|
|
43
|
+
* @alpha
|
|
44
|
+
*/
|
|
45
|
+
export class RestoreFrontstagesLayoutTool extends Tool {
|
|
46
|
+
async run() {
|
|
47
|
+
const frontstages = FrontstageManager.frontstageDefs;
|
|
48
|
+
for (const [, frontstage] of frontstages) {
|
|
49
|
+
frontstage.restoreLayout();
|
|
50
|
+
}
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
RestoreFrontstagesLayoutTool.toolId = "RestoreFrontstagesLayout";
|
|
55
|
+
RestoreFrontstagesLayoutTool.iconSpec = "icon-view-layouts";
|
|
41
56
|
//# sourceMappingURL=RestoreLayoutTool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestoreLayoutTool.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/RestoreLayoutTool.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;GAIG;AACH,MAAM,OAAO,2BAA4B,SAAQ,IAAI;IAInD,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,CAAC,GAAG,CAAC,YAAqB;QAC7C,IAAI,aAAwC,CAAC;QAE7C,IAAI,YAAY,EAAE;YAChB,aAAa,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;SACxE;aAAM;YACL,aAAa,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;SACvD;QAED,IAAI,aAAa;YACf,aAAa,CAAC,aAAa,EAAE,CAAC;;YAE9B,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,oBAAoB,CAAC,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,4CAA4C,CAAC,CAAC,CAAC,CAAC;QACnK,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AA1BsB,kCAAM,GAAG,yBAAyB,CAAC;AACnC,oCAAQ,GAAG,mBAAmB,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 Tools\r\n */\r\nimport { IModelApp, NotifyMessageDetails, OutputMessagePriority, Tool } from \"@itwin/core-frontend\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { FrontstageDef } from \"../frontstage/FrontstageDef\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n/**\r\n * Immediate tool that will reset the layout to that specified in the stage definition. A stage Id\r\n * may be passed in, if not the active stage is used. The stage Id is case sensitive.\r\n * @alpha\r\n */\r\nexport class RestoreFrontstageLayoutTool extends Tool {\r\n public static override toolId = \"RestoreFrontstageLayout\";\r\n public static override iconSpec = \"icon-view-layouts\";\r\n\r\n // istanbul ignore next\r\n public static override get minArgs() { return 0; }\r\n // istanbul ignore next\r\n public static override get maxArgs() { return 1; }\r\n\r\n public override async run(frontstageId?: string): Promise<boolean> {\r\n let frontstageDef: FrontstageDef | undefined;\r\n\r\n if (frontstageId) {\r\n frontstageDef = await FrontstageManager.getFrontstageDef(frontstageId);\r\n } else {\r\n frontstageDef = FrontstageManager.activeFrontstageDef;\r\n }\r\n\r\n if (frontstageDef)\r\n frontstageDef.restoreLayout();\r\n else\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, UiFramework.translate(\"tools.RestoreFrontstageLayout.noStageFound\")));\r\n return true;\r\n }\r\n\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n return this.run(args[0]);\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"RestoreLayoutTool.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/RestoreLayoutTool.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;GAIG;AACH,MAAM,OAAO,2BAA4B,SAAQ,IAAI;IAInD,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD,uBAAuB;IAChB,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,CAAC,GAAG,CAAC,YAAqB;QAC7C,IAAI,aAAwC,CAAC;QAE7C,IAAI,YAAY,EAAE;YAChB,aAAa,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;SACxE;aAAM;YACL,aAAa,GAAG,iBAAiB,CAAC,mBAAmB,CAAC;SACvD;QAED,IAAI,aAAa;YACf,aAAa,CAAC,aAAa,EAAE,CAAC;;YAE9B,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,oBAAoB,CAAC,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,4CAA4C,CAAC,CAAC,CAAC,CAAC;QACnK,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AA1BsB,kCAAM,GAAG,yBAAyB,CAAC;AACnC,oCAAQ,GAAG,mBAAmB,CAAC;AA4BxD;;;GAGG;AACH,MAAM,OAAO,4BAA6B,SAAQ,IAAI;IAIpC,KAAK,CAAC,GAAG;QACvB,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,CAAC;QACrD,KAAK,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE;YACxC,UAAU,CAAC,aAAa,EAAE,CAAC;SAC5B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AATsB,mCAAM,GAAG,0BAA0B,CAAC;AACpC,qCAAQ,GAAG,mBAAmB,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 Tools\r\n */\r\nimport { IModelApp, NotifyMessageDetails, OutputMessagePriority, Tool } from \"@itwin/core-frontend\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { FrontstageDef } from \"../frontstage/FrontstageDef\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n/**\r\n * Immediate tool that will reset the layout to that specified in the stage definition. A stage Id\r\n * may be passed in, if not the active stage is used. The stage Id is case sensitive.\r\n * @alpha\r\n */\r\nexport class RestoreFrontstageLayoutTool extends Tool {\r\n public static override toolId = \"RestoreFrontstageLayout\";\r\n public static override iconSpec = \"icon-view-layouts\";\r\n\r\n // istanbul ignore next\r\n public static override get minArgs() { return 0; }\r\n // istanbul ignore next\r\n public static override get maxArgs() { return 1; }\r\n\r\n public override async run(frontstageId?: string): Promise<boolean> {\r\n let frontstageDef: FrontstageDef | undefined;\r\n\r\n if (frontstageId) {\r\n frontstageDef = await FrontstageManager.getFrontstageDef(frontstageId);\r\n } else {\r\n frontstageDef = FrontstageManager.activeFrontstageDef;\r\n }\r\n\r\n if (frontstageDef)\r\n frontstageDef.restoreLayout();\r\n else\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, UiFramework.translate(\"tools.RestoreFrontstageLayout.noStageFound\")));\r\n return true;\r\n }\r\n\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n return this.run(args[0]);\r\n }\r\n}\r\n\r\n/**\r\n * Immediate tool that will reset the layout of all frontstages to that specified in the stage definition.\r\n * @alpha\r\n */\r\nexport class RestoreFrontstagesLayoutTool extends Tool {\r\n public static override toolId = \"RestoreFrontstagesLayout\";\r\n public static override iconSpec = \"icon-view-layouts\";\r\n\r\n public override async run() {\r\n const frontstages = FrontstageManager.frontstageDefs;\r\n for (const [, frontstage] of frontstages) {\r\n frontstage.restoreLayout();\r\n }\r\n return true;\r\n }\r\n}\r\n"]}
|
|
@@ -171,7 +171,7 @@
|
|
|
171
171
|
"animateToolSettingsDescription": "Animate tool settings when they appear in the docked bar.",
|
|
172
172
|
"useToolAsToolSettingsLabelTitle": "Use tool as tool settings label",
|
|
173
173
|
"useToolAsToolSettingsLabelDescription": "Use active tool name as the Tool Settings tab label, if false, will always be titled 'Tool Settings'."
|
|
174
|
-
|
|
174
|
+
}
|
|
175
175
|
},
|
|
176
176
|
"tools": {
|
|
177
177
|
"clearSelection": "Clear Selection",
|
|
@@ -185,7 +185,7 @@
|
|
|
185
185
|
"isolateModels": "Isolate Models",
|
|
186
186
|
"emphasizeSelected": "Emphasize Selected",
|
|
187
187
|
"clearVisibility": "Clear Isolated, Hidden, and Emphasized Elements",
|
|
188
|
-
"noToolSettings": "No settings for this tool."
|
|
188
|
+
"noToolSettings": "No settings for this tool.",
|
|
189
189
|
"sectionTools": "Section Tools",
|
|
190
190
|
"sectionClear": "Clear Sections",
|
|
191
191
|
"sectionPanelLabel": "Section",
|
|
@@ -205,7 +205,7 @@
|
|
|
205
205
|
"description": "Turn on/off use of camera in active view",
|
|
206
206
|
"flyover": "Toggle Camera",
|
|
207
207
|
"turnOnFlyover": "Turn Camera On",
|
|
208
|
-
"turnOffFlyover":"Turn Camera Off"
|
|
208
|
+
"turnOffFlyover": "Turn Camera Off"
|
|
209
209
|
}
|
|
210
210
|
},
|
|
211
211
|
"OpenSettings": {
|
|
@@ -217,6 +217,11 @@
|
|
|
217
217
|
"flyover": "Restore Stage to Default Layout",
|
|
218
218
|
"noStageFound": "Specified stage not found."
|
|
219
219
|
},
|
|
220
|
+
"RestoreFrontstagesLayout": {
|
|
221
|
+
"keyin": "restore frontstages layout",
|
|
222
|
+
"description": "Restore all Frontstages to Default Layout",
|
|
223
|
+
"flyover": "Restore all Stages to Default Layout"
|
|
224
|
+
},
|
|
220
225
|
"ClearKeyinPaletteHistory": {
|
|
221
226
|
"keyin": "clear keyin history",
|
|
222
227
|
"description": "Clear keyin palette history",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/appui-react",
|
|
3
|
-
"version": "3.5.0-dev.
|
|
3
|
+
"version": "3.5.0-dev.12",
|
|
4
4
|
"description": "UI framework",
|
|
5
5
|
"main": "lib/cjs/appui-react.js",
|
|
6
6
|
"module": "lib/esm/appui-react.js",
|
|
@@ -20,19 +20,19 @@
|
|
|
20
20
|
"url": "http://www.bentley.com"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"@itwin/appui-abstract": "^3.5.0-dev.
|
|
24
|
-
"@itwin/appui-layout-react": "^3.5.0-dev.
|
|
25
|
-
"@itwin/components-react": "^3.5.0-dev.
|
|
26
|
-
"@itwin/core-bentley": "^3.5.0-dev.
|
|
27
|
-
"@itwin/core-common": "^3.5.0-dev.
|
|
28
|
-
"@itwin/core-frontend": "^3.5.0-dev.
|
|
29
|
-
"@itwin/core-geometry": "^3.5.0-dev.
|
|
30
|
-
"@itwin/core-markup": "^3.5.0-dev.
|
|
31
|
-
"@itwin/core-quantity": "^3.5.0-dev.
|
|
32
|
-
"@itwin/core-react": "^3.5.0-dev.
|
|
33
|
-
"@itwin/imodel-components-react": "^3.5.0-dev.
|
|
34
|
-
"@itwin/presentation-common": "^3.5.0-dev.
|
|
35
|
-
"@itwin/presentation-frontend": "^3.5.0-dev.
|
|
23
|
+
"@itwin/appui-abstract": "^3.5.0-dev.12",
|
|
24
|
+
"@itwin/appui-layout-react": "^3.5.0-dev.12",
|
|
25
|
+
"@itwin/components-react": "^3.5.0-dev.12",
|
|
26
|
+
"@itwin/core-bentley": "^3.5.0-dev.12",
|
|
27
|
+
"@itwin/core-common": "^3.5.0-dev.12",
|
|
28
|
+
"@itwin/core-frontend": "^3.5.0-dev.12",
|
|
29
|
+
"@itwin/core-geometry": "^3.5.0-dev.12",
|
|
30
|
+
"@itwin/core-markup": "^3.5.0-dev.12",
|
|
31
|
+
"@itwin/core-quantity": "^3.5.0-dev.12",
|
|
32
|
+
"@itwin/core-react": "^3.5.0-dev.12",
|
|
33
|
+
"@itwin/imodel-components-react": "^3.5.0-dev.12",
|
|
34
|
+
"@itwin/presentation-common": "^3.5.0-dev.12",
|
|
35
|
+
"@itwin/presentation-frontend": "^3.5.0-dev.12",
|
|
36
36
|
"react": "^17.0.0",
|
|
37
37
|
"react-dom": "^17.0.0",
|
|
38
38
|
"react-redux": "^7.2.2",
|
|
@@ -43,22 +43,22 @@
|
|
|
43
43
|
"NOTE: All tools used by scripts in this package must be listed as devDependencies"
|
|
44
44
|
],
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@itwin/appui-abstract": "3.5.0-dev.
|
|
47
|
-
"@itwin/appui-layout-react": "3.5.0-dev.
|
|
48
|
-
"@itwin/build-tools": "3.5.0-dev.
|
|
49
|
-
"@itwin/components-react": "3.5.0-dev.
|
|
50
|
-
"@itwin/core-bentley": "3.5.0-dev.
|
|
51
|
-
"@itwin/core-common": "3.5.0-dev.
|
|
52
|
-
"@itwin/core-frontend": "3.5.0-dev.
|
|
53
|
-
"@itwin/core-geometry": "3.5.0-dev.
|
|
54
|
-
"@itwin/core-markup": "3.5.0-dev.
|
|
55
|
-
"@itwin/core-quantity": "3.5.0-dev.
|
|
56
|
-
"@itwin/core-react": "3.5.0-dev.
|
|
57
|
-
"@itwin/eslint-plugin": "3.5.0-dev.
|
|
58
|
-
"@itwin/imodel-components-react": "3.5.0-dev.
|
|
59
|
-
"@itwin/presentation-common": "3.5.0-dev.
|
|
60
|
-
"@itwin/presentation-frontend": "3.5.0-dev.
|
|
61
|
-
"@itwin/presentation-testing": "3.5.0-dev.
|
|
46
|
+
"@itwin/appui-abstract": "3.5.0-dev.12",
|
|
47
|
+
"@itwin/appui-layout-react": "3.5.0-dev.12",
|
|
48
|
+
"@itwin/build-tools": "3.5.0-dev.12",
|
|
49
|
+
"@itwin/components-react": "3.5.0-dev.12",
|
|
50
|
+
"@itwin/core-bentley": "3.5.0-dev.12",
|
|
51
|
+
"@itwin/core-common": "3.5.0-dev.12",
|
|
52
|
+
"@itwin/core-frontend": "3.5.0-dev.12",
|
|
53
|
+
"@itwin/core-geometry": "3.5.0-dev.12",
|
|
54
|
+
"@itwin/core-markup": "3.5.0-dev.12",
|
|
55
|
+
"@itwin/core-quantity": "3.5.0-dev.12",
|
|
56
|
+
"@itwin/core-react": "3.5.0-dev.12",
|
|
57
|
+
"@itwin/eslint-plugin": "3.5.0-dev.12",
|
|
58
|
+
"@itwin/imodel-components-react": "3.5.0-dev.12",
|
|
59
|
+
"@itwin/presentation-common": "3.5.0-dev.12",
|
|
60
|
+
"@itwin/presentation-frontend": "3.5.0-dev.12",
|
|
61
|
+
"@itwin/presentation-testing": "3.5.0-dev.12",
|
|
62
62
|
"@testing-library/react": "^12.0.0",
|
|
63
63
|
"@testing-library/react-hooks": "^7.0.2",
|
|
64
64
|
"@testing-library/user-event": "^14.4.2",
|
|
@@ -114,8 +114,8 @@
|
|
|
114
114
|
"dependencies": {
|
|
115
115
|
"@bentley/icons-generic": "^1.0.15",
|
|
116
116
|
"@bentley/icons-generic-webfont": "^1.0.15",
|
|
117
|
-
"@itwin/core-telemetry": "3.5.0-dev.
|
|
118
|
-
"@itwin/presentation-components": "3.5.0-dev.
|
|
117
|
+
"@itwin/core-telemetry": "3.5.0-dev.12",
|
|
118
|
+
"@itwin/presentation-components": "3.5.0-dev.12",
|
|
119
119
|
"@itwin/itwinui-css": "0.x",
|
|
120
120
|
"@itwin/itwinui-react": "~1.42.0",
|
|
121
121
|
"@itwin/itwinui-icons-react": "^1.8.0",
|