@itwin/appui-react 3.1.0-dev.6 → 3.2.0-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +122 -16
- package/lib/cjs/appui-react/backstage/Backstage.d.ts +0 -2
- package/lib/cjs/appui-react/backstage/Backstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/Backstage.js +0 -1
- package/lib/cjs/appui-react/backstage/Backstage.js.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts +1 -0
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +2 -2
- package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +2 -0
- package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js +6 -1
- package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentControl.d.ts +6 -0
- package/lib/cjs/appui-react/content/ContentControl.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/ContentControl.js +11 -1
- package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentLayout.d.ts +8 -0
- package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/ContentLayout.js +43 -36
- package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/cjs/appui-react/content/ContentLayout.scss +27 -27
- package/lib/cjs/appui-react/content/ContentViewManager.d.ts +7 -0
- package/lib/cjs/appui-react/content/ContentViewManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/ContentViewManager.js +46 -22
- package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
- package/lib/cjs/appui-react/content/FloatingViewportContent.css +9 -0
- package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts +25 -0
- package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts.map +1 -0
- package/lib/cjs/appui-react/content/FloatingViewportContent.js +73 -0
- package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -0
- package/lib/cjs/appui-react/content/IModelViewport.d.ts +1 -1
- package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/IModelViewport.js +1 -1
- package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/cjs/appui-react/content/ViewportContentControl.d.ts +9 -0
- package/lib/cjs/appui-react/content/ViewportContentControl.d.ts.map +1 -1
- package/lib/cjs/appui-react/content/ViewportContentControl.js +24 -1
- package/lib/cjs/appui-react/content/ViewportContentControl.js.map +1 -1
- package/lib/cjs/appui-react/dialog/ContentDialog.d.ts +24 -0
- package/lib/cjs/appui-react/dialog/ContentDialog.d.ts.map +1 -0
- package/lib/cjs/appui-react/dialog/ContentDialog.js +72 -0
- package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -0
- package/lib/cjs/appui-react/dialog/ContentDialog.scss +25 -0
- package/lib/cjs/appui-react/dialog/ContentDialogManager.d.ts +65 -0
- package/lib/cjs/appui-react/dialog/ContentDialogManager.d.ts.map +1 -0
- package/lib/cjs/appui-react/dialog/ContentDialogManager.js +148 -0
- package/lib/cjs/appui-react/dialog/ContentDialogManager.js.map +1 -0
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +9 -0
- package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js +65 -7
- package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts +3 -0
- package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
- package/lib/cjs/appui-react/frontstage/FrontstageManager.js +8 -0
- package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
- package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts +6 -0
- package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts.map +1 -0
- package/lib/cjs/appui-react/hooks/useUiVisibility.js +27 -0
- package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -0
- package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
- package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +2 -1
- package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
- package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +3 -3
- package/lib/cjs/appui-react/popup/CardPopup.scss +3 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +2 -3
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +2 -3
- package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts +3 -0
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +20 -5
- package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js +1 -1
- package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
- package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +3 -0
- package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Content.js +2 -2
- package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
- package/lib/cjs/appui-react/widget-panels/Frontstage.js +25 -7
- package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js +2 -2
- package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts +0 -2
- package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/BasicToolWidget.js +3 -17
- package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js +2 -2
- package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js +2 -2
- package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +2 -0
- package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/cjs/appui-react/widgets/WidgetDef.js +2 -0
- package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/cjs/appui-react.d.ts +4 -0
- package/lib/cjs/appui-react.d.ts.map +1 -1
- package/lib/cjs/appui-react.js +4 -0
- package/lib/cjs/appui-react.js.map +1 -1
- package/lib/esm/appui-react/backstage/Backstage.d.ts +0 -2
- package/lib/esm/appui-react/backstage/Backstage.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/Backstage.js +0 -1
- package/lib/esm/appui-react/backstage/Backstage.js.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts +1 -0
- package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js +2 -2
- package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +2 -0
- package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiManager.d.ts.map +1 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js +6 -1
- package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
- package/lib/esm/appui-react/content/ContentControl.d.ts +6 -0
- package/lib/esm/appui-react/content/ContentControl.d.ts.map +1 -1
- package/lib/esm/appui-react/content/ContentControl.js +10 -1
- package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
- package/lib/esm/appui-react/content/ContentLayout.d.ts +8 -0
- package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
- package/lib/esm/appui-react/content/ContentLayout.js +41 -35
- package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
- package/lib/esm/appui-react/content/ContentLayout.scss +27 -27
- package/lib/esm/appui-react/content/ContentViewManager.d.ts +7 -0
- package/lib/esm/appui-react/content/ContentViewManager.d.ts.map +1 -1
- package/lib/esm/appui-react/content/ContentViewManager.js +46 -22
- package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
- package/lib/esm/appui-react/content/FloatingViewportContent.css +9 -0
- package/lib/esm/appui-react/content/FloatingViewportContent.d.ts +25 -0
- package/lib/esm/appui-react/content/FloatingViewportContent.d.ts.map +1 -0
- package/lib/esm/appui-react/content/FloatingViewportContent.js +69 -0
- package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -0
- package/lib/esm/appui-react/content/IModelViewport.d.ts +1 -1
- package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
- package/lib/esm/appui-react/content/IModelViewport.js +1 -1
- package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
- package/lib/esm/appui-react/content/ViewportContentControl.d.ts +9 -0
- package/lib/esm/appui-react/content/ViewportContentControl.d.ts.map +1 -1
- package/lib/esm/appui-react/content/ViewportContentControl.js +23 -1
- package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
- package/lib/esm/appui-react/dialog/ContentDialog.d.ts +24 -0
- package/lib/esm/appui-react/dialog/ContentDialog.d.ts.map +1 -0
- package/lib/esm/appui-react/dialog/ContentDialog.js +67 -0
- package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -0
- package/lib/esm/appui-react/dialog/ContentDialog.scss +25 -0
- package/lib/esm/appui-react/dialog/ContentDialogManager.d.ts +65 -0
- package/lib/esm/appui-react/dialog/ContentDialogManager.d.ts.map +1 -0
- package/lib/esm/appui-react/dialog/ContentDialogManager.js +142 -0
- package/lib/esm/appui-react/dialog/ContentDialogManager.js.map +1 -0
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +9 -0
- package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageDef.js +66 -8
- package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts +3 -0
- package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
- package/lib/esm/appui-react/frontstage/FrontstageManager.js +8 -0
- package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
- package/lib/esm/appui-react/hooks/useUiVisibility.d.ts +6 -0
- package/lib/esm/appui-react/hooks/useUiVisibility.d.ts.map +1 -0
- package/lib/esm/appui-react/hooks/useUiVisibility.js +23 -0
- package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -0
- package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
- package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +2 -1
- package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
- package/lib/esm/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +3 -3
- package/lib/esm/appui-react/popup/CardPopup.scss +3 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +2 -3
- package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js +1 -2
- package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts +3 -0
- package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
- package/lib/esm/appui-react/statusbar/StatusBarComposer.js +20 -5
- package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
- package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js +1 -1
- package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
- package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +3 -0
- package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/Content.js +2 -2
- package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
- package/lib/esm/appui-react/widget-panels/Frontstage.js +25 -7
- package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
- package/lib/esm/appui-react/widgets/BasicNavigationWidget.js +1 -1
- package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts +0 -2
- package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/BasicToolWidget.js +1 -14
- package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
- package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js +1 -1
- package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
- package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts +2 -0
- package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
- package/lib/esm/appui-react/widgets/WidgetDef.js +2 -0
- package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
- package/lib/esm/appui-react.d.ts +4 -0
- package/lib/esm/appui-react.d.ts.map +1 -1
- package/lib/esm/appui-react.js +4 -0
- package/lib/esm/appui-react.js.map +1 -1
- package/package.json +34 -35
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
/** @packageDocumentation
|
|
7
|
+
* @module Dialog
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.ContentDialogRenderer = exports.ContentDialogManager = exports.ContentDialogChangedEvent = void 0;
|
|
11
|
+
const React = require("react");
|
|
12
|
+
const core_bentley_1 = require("@itwin/core-bentley");
|
|
13
|
+
const core_react_1 = require("@itwin/core-react");
|
|
14
|
+
const UiFramework_1 = require("../UiFramework");
|
|
15
|
+
const DialogManagerBase_1 = require("./DialogManagerBase");
|
|
16
|
+
const core_frontend_1 = require("@itwin/core-frontend");
|
|
17
|
+
// cSpell:ignore ZINDEX modeless
|
|
18
|
+
/** Content Dialog Changed Event class.
|
|
19
|
+
* @public
|
|
20
|
+
*/
|
|
21
|
+
class ContentDialogChangedEvent extends DialogManagerBase_1.DialogChangedEvent {
|
|
22
|
+
}
|
|
23
|
+
exports.ContentDialogChangedEvent = ContentDialogChangedEvent;
|
|
24
|
+
/** Used if the 'dialog' z-index CSS variable cannot be read */
|
|
25
|
+
const CONTENT_DIALOG_ZINDEX_DEFAULT = 2000;
|
|
26
|
+
/** Content Dialog Manager class displays and manages multiple modeless dialogs
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
class ContentDialogManager {
|
|
30
|
+
/** Get the array of modeless dialogs */
|
|
31
|
+
static get dialogs() { return ContentDialogManager.dialogManager.dialogs; }
|
|
32
|
+
/** Initialize the modeless dialog manager */
|
|
33
|
+
static initialize() {
|
|
34
|
+
ContentDialogManager._topZIndex = ContentDialogManager.getDialogZIndexDefault();
|
|
35
|
+
}
|
|
36
|
+
static getDialogZIndexDefault() {
|
|
37
|
+
const variable = "--uicore-z-index-view-content-dialog";
|
|
38
|
+
const value = (0, core_react_1.getCssVariableAsNumber)(variable);
|
|
39
|
+
// istanbul ignore next
|
|
40
|
+
if (!isNaN(value))
|
|
41
|
+
return value;
|
|
42
|
+
core_bentley_1.Logger.logError(UiFramework_1.UiFramework.loggerCategory(this), `'${variable}' CSS variable not found`);
|
|
43
|
+
return CONTENT_DIALOG_ZINDEX_DEFAULT;
|
|
44
|
+
}
|
|
45
|
+
/** Open a modeless dialog
|
|
46
|
+
* @param dialog The Dialog to open
|
|
47
|
+
* @param id The id of the Dialog to open
|
|
48
|
+
*/
|
|
49
|
+
static openDialog(dialog, id, parentDocument = document) {
|
|
50
|
+
const dialogInfo = ContentDialogManager._dialogMap.get(id);
|
|
51
|
+
if (dialogInfo) {
|
|
52
|
+
const message = `Dialog with id of '${id}' already opened`;
|
|
53
|
+
core_bentley_1.Logger.logInfo(UiFramework_1.UiFramework.loggerCategory(this), `openDialog: ${message}`);
|
|
54
|
+
core_frontend_1.IModelApp.notifications.outputMessage(new core_frontend_1.NotifyMessageDetails(core_frontend_1.OutputMessagePriority.Info, message, undefined, core_frontend_1.OutputMessageType.Toast));
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
ContentDialogManager._dialogMap.set(id, { reactNode: dialog, zIndex: ++ContentDialogManager._topZIndex, parentDocument });
|
|
58
|
+
ContentDialogManager._idArray.push(id);
|
|
59
|
+
ContentDialogManager.dialogManager.openDialog(dialog, id, parentDocument);
|
|
60
|
+
}
|
|
61
|
+
/** Close a modeless dialog
|
|
62
|
+
* @param id The id of the Dialog to close.
|
|
63
|
+
*/
|
|
64
|
+
static closeDialog(id) {
|
|
65
|
+
const dialogInfo = ContentDialogManager._dialogMap.get(id);
|
|
66
|
+
if (dialogInfo) {
|
|
67
|
+
ContentDialogManager.dialogManager.removeDialog(dialogInfo.reactNode);
|
|
68
|
+
ContentDialogManager._dialogMap.delete(id);
|
|
69
|
+
const index = ContentDialogManager._idArray.indexOf(id);
|
|
70
|
+
// istanbul ignore else
|
|
71
|
+
if (index >= 0)
|
|
72
|
+
ContentDialogManager._idArray.splice(index, 1);
|
|
73
|
+
if (ContentDialogManager.activeDialog === undefined)
|
|
74
|
+
ContentDialogManager._topZIndex = ContentDialogManager.getDialogZIndexDefault();
|
|
75
|
+
this.update();
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
core_bentley_1.Logger.logError(UiFramework_1.UiFramework.loggerCategory(this), `closeDialog: Could not find dialog with id of '${id}'`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/** @internal */
|
|
82
|
+
static closeAll() {
|
|
83
|
+
ContentDialogManager.dialogManager.closeAll();
|
|
84
|
+
}
|
|
85
|
+
/** Update the dialogs */
|
|
86
|
+
static update() {
|
|
87
|
+
ContentDialogManager.dialogManager.update();
|
|
88
|
+
}
|
|
89
|
+
/** Get the active modeless dialog */
|
|
90
|
+
static get activeDialog() {
|
|
91
|
+
if (ContentDialogManager._idArray.length > 0) {
|
|
92
|
+
const id = ContentDialogManager._idArray[ContentDialogManager._idArray.length - 1];
|
|
93
|
+
const dialogInfo = ContentDialogManager._dialogMap.get(id);
|
|
94
|
+
// istanbul ignore else
|
|
95
|
+
if (dialogInfo)
|
|
96
|
+
return dialogInfo.reactNode;
|
|
97
|
+
}
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
/** Get the count of modeless dialogs */
|
|
101
|
+
static get dialogCount() {
|
|
102
|
+
return ContentDialogManager.dialogManager.dialogCount;
|
|
103
|
+
}
|
|
104
|
+
/** Handle a pointer down event on a modeless dialog */
|
|
105
|
+
static handlePointerDownEvent(_event, id, updateFunc) {
|
|
106
|
+
const dialogInfo = ContentDialogManager._dialogMap.get(id);
|
|
107
|
+
if (dialogInfo && dialogInfo.reactNode !== ContentDialogManager.activeDialog) {
|
|
108
|
+
dialogInfo.zIndex = ++ContentDialogManager._topZIndex;
|
|
109
|
+
ContentDialogManager._idArray.splice(ContentDialogManager._idArray.indexOf(id), 1);
|
|
110
|
+
ContentDialogManager._idArray.push(id);
|
|
111
|
+
updateFunc();
|
|
112
|
+
this.update();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/** Get the z-index for a modeless dialog */
|
|
116
|
+
static getDialogZIndex(id) {
|
|
117
|
+
let zIndex = ContentDialogManager.getDialogZIndexDefault();
|
|
118
|
+
const dialogInfo = ContentDialogManager._dialogMap.get(id);
|
|
119
|
+
// istanbul ignore else
|
|
120
|
+
if (dialogInfo)
|
|
121
|
+
zIndex = dialogInfo.zIndex;
|
|
122
|
+
return zIndex;
|
|
123
|
+
}
|
|
124
|
+
static getDialogInfo(id) {
|
|
125
|
+
return ContentDialogManager._dialogMap.get(id);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
exports.ContentDialogManager = ContentDialogManager;
|
|
129
|
+
/** Content Dialog Changed Event */
|
|
130
|
+
ContentDialogManager.onContentDialogChangedEvent = new ContentDialogChangedEvent();
|
|
131
|
+
/** @internal */
|
|
132
|
+
ContentDialogManager.dialogManager = new DialogManagerBase_1.DialogManagerBase(ContentDialogManager.onContentDialogChangedEvent);
|
|
133
|
+
ContentDialogManager._dialogMap = new Map();
|
|
134
|
+
ContentDialogManager._idArray = new Array();
|
|
135
|
+
ContentDialogManager._topZIndex = CONTENT_DIALOG_ZINDEX_DEFAULT;
|
|
136
|
+
/** ContentDialogRenderer React component renders modeless dialogs.
|
|
137
|
+
* @public
|
|
138
|
+
*/
|
|
139
|
+
class ContentDialogRenderer extends React.PureComponent {
|
|
140
|
+
constructor(props) {
|
|
141
|
+
super(props);
|
|
142
|
+
}
|
|
143
|
+
render() {
|
|
144
|
+
return (React.createElement(DialogManagerBase_1.DialogRendererBase, { ...this.props, dialogManager: ContentDialogManager.dialogManager }));
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
exports.ContentDialogRenderer = ContentDialogRenderer;
|
|
148
|
+
//# sourceMappingURL=ContentDialogManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentDialogManager.js","sourceRoot":"","sources":["../../../../src/appui-react/dialog/ContentDialogManager.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Dialog\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { CommonProps, getCssVariableAsNumber } from \"@itwin/core-react\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { DialogChangedEvent, DialogManagerBase, DialogRendererBase } from \"./DialogManagerBase\";\r\nimport { IModelApp, NotifyMessageDetails, OutputMessagePriority, OutputMessageType } from \"@itwin/core-frontend\";\r\n\r\n// cSpell:ignore ZINDEX modeless\r\n\r\n/** Content Dialog Changed Event class.\r\n * @public\r\n */\r\nexport class ContentDialogChangedEvent extends DialogChangedEvent { }\r\n\r\n/** @internal */\r\ninterface ContentDialogInfo {\r\n reactNode: React.ReactNode;\r\n zIndex: number;\r\n parentDocument: Document;\r\n}\r\n\r\n/** Used if the 'dialog' z-index CSS variable cannot be read */\r\nconst CONTENT_DIALOG_ZINDEX_DEFAULT = 2000;\r\n\r\n/** Content Dialog Manager class displays and manages multiple modeless dialogs\r\n * @public\r\n */\r\nexport class ContentDialogManager {\r\n /** Content Dialog Changed Event */\r\n public static readonly onContentDialogChangedEvent = new ContentDialogChangedEvent();\r\n\r\n /** @internal */\r\n public static readonly dialogManager: DialogManagerBase = new DialogManagerBase(ContentDialogManager.onContentDialogChangedEvent);\r\n\r\n /** Get the array of modeless dialogs */\r\n public static get dialogs() { return ContentDialogManager.dialogManager.dialogs; }\r\n\r\n private static _dialogMap = new Map<string, ContentDialogInfo>();\r\n private static _idArray = new Array<string>();\r\n\r\n private static _topZIndex = CONTENT_DIALOG_ZINDEX_DEFAULT;\r\n\r\n /** Initialize the modeless dialog manager */\r\n public static initialize(): void {\r\n ContentDialogManager._topZIndex = ContentDialogManager.getDialogZIndexDefault();\r\n }\r\n\r\n private static getDialogZIndexDefault(): number {\r\n const variable = \"--uicore-z-index-view-content-dialog\";\r\n const value = getCssVariableAsNumber(variable);\r\n\r\n // istanbul ignore next\r\n if (!isNaN(value))\r\n return value;\r\n\r\n Logger.logError(UiFramework.loggerCategory(this), `'${variable}' CSS variable not found`);\r\n return CONTENT_DIALOG_ZINDEX_DEFAULT;\r\n }\r\n\r\n /** Open a modeless dialog\r\n * @param dialog The Dialog to open\r\n * @param id The id of the Dialog to open\r\n */\r\n public static openDialog(dialog: React.ReactNode, id: string, parentDocument = document): void {\r\n const dialogInfo = ContentDialogManager._dialogMap.get(id);\r\n if (dialogInfo) {\r\n const message = `Dialog with id of '${id}' already opened`;\r\n Logger.logInfo(UiFramework.loggerCategory(this), `openDialog: ${message}`);\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, message, undefined, OutputMessageType.Toast));\r\n return;\r\n }\r\n ContentDialogManager._dialogMap.set(id, { reactNode: dialog, zIndex: ++ContentDialogManager._topZIndex, parentDocument });\r\n ContentDialogManager._idArray.push(id);\r\n ContentDialogManager.dialogManager.openDialog(dialog, id, parentDocument);\r\n }\r\n\r\n /** Close a modeless dialog\r\n * @param id The id of the Dialog to close.\r\n */\r\n public static closeDialog(id: string): void {\r\n const dialogInfo = ContentDialogManager._dialogMap.get(id);\r\n if (dialogInfo) {\r\n ContentDialogManager.dialogManager.removeDialog(dialogInfo.reactNode);\r\n ContentDialogManager._dialogMap.delete(id);\r\n const index = ContentDialogManager._idArray.indexOf(id);\r\n // istanbul ignore else\r\n if (index >= 0)\r\n ContentDialogManager._idArray.splice(index, 1);\r\n\r\n if (ContentDialogManager.activeDialog === undefined)\r\n ContentDialogManager._topZIndex = ContentDialogManager.getDialogZIndexDefault();\r\n\r\n this.update();\r\n } else {\r\n Logger.logError(UiFramework.loggerCategory(this), `closeDialog: Could not find dialog with id of '${id}'`);\r\n }\r\n }\r\n\r\n /** @internal */\r\n public static closeAll(): void {\r\n ContentDialogManager.dialogManager.closeAll();\r\n }\r\n\r\n /** Update the dialogs */\r\n public static update(): void {\r\n ContentDialogManager.dialogManager.update();\r\n }\r\n\r\n /** Get the active modeless dialog */\r\n public static get activeDialog(): React.ReactNode | undefined {\r\n if (ContentDialogManager._idArray.length > 0) {\r\n const id = ContentDialogManager._idArray[ContentDialogManager._idArray.length - 1];\r\n const dialogInfo = ContentDialogManager._dialogMap.get(id);\r\n // istanbul ignore else\r\n if (dialogInfo)\r\n return dialogInfo.reactNode;\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /** Get the count of modeless dialogs */\r\n public static get dialogCount(): number {\r\n return ContentDialogManager.dialogManager.dialogCount;\r\n }\r\n\r\n /** Handle a pointer down event on a modeless dialog */\r\n public static handlePointerDownEvent(_event: React.PointerEvent, id: string, updateFunc: () => void): void {\r\n const dialogInfo = ContentDialogManager._dialogMap.get(id);\r\n if (dialogInfo && dialogInfo.reactNode !== ContentDialogManager.activeDialog) {\r\n dialogInfo.zIndex = ++ContentDialogManager._topZIndex;\r\n\r\n ContentDialogManager._idArray.splice(ContentDialogManager._idArray.indexOf(id), 1);\r\n ContentDialogManager._idArray.push(id);\r\n\r\n updateFunc();\r\n this.update();\r\n }\r\n }\r\n\r\n /** Get the z-index for a modeless dialog */\r\n public static getDialogZIndex(id: string): number {\r\n let zIndex = ContentDialogManager.getDialogZIndexDefault();\r\n const dialogInfo = ContentDialogManager._dialogMap.get(id);\r\n // istanbul ignore else\r\n if (dialogInfo)\r\n zIndex = dialogInfo.zIndex;\r\n return zIndex;\r\n }\r\n\r\n public static getDialogInfo(id: string): ContentDialogInfo | undefined {\r\n return ContentDialogManager._dialogMap.get(id);\r\n }\r\n}\r\n\r\n/** ContentDialogRenderer React component renders modeless dialogs.\r\n * @public\r\n */\r\nexport class ContentDialogRenderer extends React.PureComponent<CommonProps> {\r\n\r\n constructor(props: CommonProps) {\r\n super(props);\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n return (\r\n <DialogRendererBase {...this.props} dialogManager={ContentDialogManager.dialogManager} />\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -59,6 +59,7 @@ export declare class FrontstageDef {
|
|
|
59
59
|
private _timeTracker;
|
|
60
60
|
private _nineZoneState?;
|
|
61
61
|
private _contentGroupProvider?;
|
|
62
|
+
private _floatingContentControls?;
|
|
62
63
|
get id(): string;
|
|
63
64
|
get defaultTool(): ToolItemDef | undefined;
|
|
64
65
|
get defaultContentId(): string;
|
|
@@ -67,6 +68,7 @@ export declare class FrontstageDef {
|
|
|
67
68
|
get usage(): string;
|
|
68
69
|
get version(): number;
|
|
69
70
|
get contentGroupProvider(): ContentGroupProvider | undefined;
|
|
71
|
+
get floatingContentControls(): ContentControl[] | undefined;
|
|
70
72
|
get topLeft(): ZoneDef | undefined;
|
|
71
73
|
get topCenter(): ZoneDef | undefined;
|
|
72
74
|
get topRight(): ZoneDef | undefined;
|
|
@@ -147,6 +149,8 @@ export declare class FrontstageDef {
|
|
|
147
149
|
findWidgetDef(id: string): WidgetDef | undefined;
|
|
148
150
|
/** Gets the list of [[WidgetControl]]s */
|
|
149
151
|
private get _widgetControls();
|
|
152
|
+
addFloatingContentControl(contentControl?: ContentControl): void;
|
|
153
|
+
dropFloatingContentControl(contentControl?: ContentControl): void;
|
|
150
154
|
/** Gets the list of [[ContentControl]]s */
|
|
151
155
|
get contentControls(): ContentControl[];
|
|
152
156
|
/** Initializes a FrontstageDef from FrontstageProps
|
|
@@ -176,6 +180,11 @@ export declare class FrontstageDef {
|
|
|
176
180
|
* @beta
|
|
177
181
|
*/
|
|
178
182
|
floatWidget(widgetId: string, point?: PointProps, size?: SizeProps): void;
|
|
183
|
+
/** Check widget and panel state to determine whether the widget is currently displayed
|
|
184
|
+
* @param widgetId case-sensitive Widget Id
|
|
185
|
+
* @public
|
|
186
|
+
*/
|
|
187
|
+
isWidgetDisplayed(widgetId: string): boolean;
|
|
179
188
|
/** Opens window for specified PopoutWidget container. Used to reopen popout when running in Electron.
|
|
180
189
|
* @internal */
|
|
181
190
|
openPopoutWidgetContainer(state: NineZoneState, widgetContainerId: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrontstageDef.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/FrontstageDef.tsx"],"names":[],"mappings":"AAKA;;GAEG;AAKH,OAAO,EAAa,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAuB,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAEL,oBAAoB,EAAE,aAAa,EACpC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAe,MAAM,8BAA8B,CAAC;AAG3F,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAc,eAAe,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"FrontstageDef.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/frontstage/FrontstageDef.tsx"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,7 @@ const PopoutWidget_1 = require("../childwindow/PopoutWidget");
|
|
|
27
27
|
const timers_1 = require("timers");
|
|
28
28
|
const Frontstage_2 = require("../widget-panels/Frontstage");
|
|
29
29
|
const core_bentley_1 = require("@itwin/core-bentley");
|
|
30
|
+
const ContentDialogManager_1 = require("../dialog/ContentDialogManager");
|
|
30
31
|
/** FrontstageDef class provides an API for a Frontstage.
|
|
31
32
|
* @public
|
|
32
33
|
*/
|
|
@@ -49,6 +50,7 @@ class FrontstageDef {
|
|
|
49
50
|
get usage() { return this._usage !== undefined ? this._usage : appui_abstract_1.StageUsage.General; }
|
|
50
51
|
get version() { return this._version; }
|
|
51
52
|
get contentGroupProvider() { return this._contentGroupProvider; }
|
|
53
|
+
get floatingContentControls() { return this._floatingContentControls; }
|
|
52
54
|
get topLeft() { return this._topLeft; }
|
|
53
55
|
get topCenter() { return this._topCenter; }
|
|
54
56
|
get topRight() { return this._topRight; }
|
|
@@ -229,6 +231,10 @@ class FrontstageDef {
|
|
|
229
231
|
this._timeTracker.stopTiming();
|
|
230
232
|
this._isStageClosing = true; // this keeps widgets in child windows from automatically re-docking
|
|
231
233
|
UiFramework_1.UiFramework.childWindowManager.closeAllChildWindows();
|
|
234
|
+
if (this._floatingContentControls) {
|
|
235
|
+
ContentDialogManager_1.ContentDialogManager.closeAll();
|
|
236
|
+
this._floatingContentControls = undefined;
|
|
237
|
+
}
|
|
232
238
|
await this._onDeactivated();
|
|
233
239
|
this._isStageClosing = false;
|
|
234
240
|
}
|
|
@@ -453,15 +459,37 @@ class FrontstageDef {
|
|
|
453
459
|
});
|
|
454
460
|
return widgetControls;
|
|
455
461
|
}
|
|
462
|
+
addFloatingContentControl(contentControl) {
|
|
463
|
+
// istanbul ignore next
|
|
464
|
+
if (!contentControl)
|
|
465
|
+
return;
|
|
466
|
+
if (!this._floatingContentControls)
|
|
467
|
+
this._floatingContentControls = new Array();
|
|
468
|
+
this._floatingContentControls.push(contentControl);
|
|
469
|
+
ContentViewManager_1.ContentViewManager.onAvailableContentChangedEvent.emit({ contentId: contentControl.uniqueId });
|
|
470
|
+
}
|
|
471
|
+
dropFloatingContentControl(contentControl) {
|
|
472
|
+
// istanbul ignore next
|
|
473
|
+
if (!contentControl || !this._floatingContentControls)
|
|
474
|
+
return;
|
|
475
|
+
const index = this._floatingContentControls.indexOf(contentControl);
|
|
476
|
+
// istanbul ignore else
|
|
477
|
+
if (index > -1) {
|
|
478
|
+
this._floatingContentControls.splice(index, 1);
|
|
479
|
+
ContentViewManager_1.ContentViewManager.onAvailableContentChangedEvent.emit({ contentId: contentControl.uniqueId });
|
|
480
|
+
}
|
|
481
|
+
}
|
|
456
482
|
/** Gets the list of [[ContentControl]]s */
|
|
457
483
|
get contentControls() {
|
|
484
|
+
const contentControls = new Array();
|
|
458
485
|
// istanbul ignore else
|
|
459
486
|
if (this.contentGroup) {
|
|
460
|
-
|
|
487
|
+
contentControls.push(...this.contentGroup.getContentControls());
|
|
461
488
|
}
|
|
462
|
-
|
|
463
|
-
|
|
489
|
+
if (this._floatingContentControls) {
|
|
490
|
+
contentControls.push(...this._floatingContentControls);
|
|
464
491
|
}
|
|
492
|
+
return contentControls;
|
|
465
493
|
}
|
|
466
494
|
/** Initializes a FrontstageDef from FrontstageProps
|
|
467
495
|
* @internal
|
|
@@ -546,8 +574,15 @@ class FrontstageDef {
|
|
|
546
574
|
// istanbul ignore next
|
|
547
575
|
if (!location)
|
|
548
576
|
return appui_abstract_1.WidgetState.Hidden;
|
|
577
|
+
if ((0, appui_layout_react_1.isFloatingLocation)(location))
|
|
578
|
+
return appui_abstract_1.WidgetState.Floating;
|
|
579
|
+
let collapsedPanel = false;
|
|
580
|
+
if ("side" in location) {
|
|
581
|
+
const panel = this.nineZoneState.panels[location.side];
|
|
582
|
+
collapsedPanel = panel.collapsed || undefined === panel.size || 0 === panel.size;
|
|
583
|
+
}
|
|
549
584
|
const widgetContainer = this.nineZoneState.widgets[location.widgetId];
|
|
550
|
-
if (widgetDef.id === widgetContainer.activeTabId)
|
|
585
|
+
if (widgetDef.id === widgetContainer.activeTabId && !collapsedPanel)
|
|
551
586
|
return appui_abstract_1.WidgetState.Open;
|
|
552
587
|
else
|
|
553
588
|
return appui_abstract_1.WidgetState.Closed;
|
|
@@ -559,13 +594,12 @@ class FrontstageDef {
|
|
|
559
594
|
*/
|
|
560
595
|
getPanelCurrentState(panelDef) {
|
|
561
596
|
var _a, _b;
|
|
562
|
-
// istanbul ignore
|
|
597
|
+
// istanbul ignore next
|
|
563
598
|
if (this.nineZoneState) {
|
|
564
599
|
const side = (0, StagePanelDef_1.toPanelSide)(panelDef.location);
|
|
565
600
|
const panel = this.nineZoneState.panels[side];
|
|
566
|
-
if (panel)
|
|
601
|
+
if (panel)
|
|
567
602
|
return [panel.collapsed ? StagePanelDef_1.StagePanelState.Minimized : StagePanelDef_1.StagePanelState.Open, (_a = panel.size) !== null && _a !== void 0 ? _a : 0];
|
|
568
|
-
}
|
|
569
603
|
return [StagePanelDef_1.StagePanelState.Off, 0];
|
|
570
604
|
}
|
|
571
605
|
return [panelDef.defaultState, (_b = panelDef.defaultSize) !== null && _b !== void 0 ? _b : 0];
|
|
@@ -618,6 +652,30 @@ class FrontstageDef {
|
|
|
618
652
|
}
|
|
619
653
|
}
|
|
620
654
|
}
|
|
655
|
+
/** Check widget and panel state to determine whether the widget is currently displayed
|
|
656
|
+
* @param widgetId case-sensitive Widget Id
|
|
657
|
+
* @public
|
|
658
|
+
*/
|
|
659
|
+
isWidgetDisplayed(widgetId) {
|
|
660
|
+
let widgetIsVisible = false;
|
|
661
|
+
if (this.nineZoneState) {
|
|
662
|
+
const tabLocation = (0, appui_layout_react_1.findTab)(this.nineZoneState, widgetId);
|
|
663
|
+
if (tabLocation) {
|
|
664
|
+
if ((0, appui_layout_react_1.isFloatingLocation)(tabLocation) || (0, appui_layout_react_1.isPopoutLocation)(tabLocation)) {
|
|
665
|
+
widgetIsVisible = true;
|
|
666
|
+
}
|
|
667
|
+
else {
|
|
668
|
+
if ((0, appui_layout_react_1.isPanelLocation)(tabLocation)) {
|
|
669
|
+
const panel = this.nineZoneState.panels[tabLocation.side];
|
|
670
|
+
const widgetDef = this.findWidgetDef(widgetId);
|
|
671
|
+
if (widgetDef && widgetDef.state === appui_abstract_1.WidgetState.Open && !panel.collapsed)
|
|
672
|
+
widgetIsVisible = true;
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
return widgetIsVisible;
|
|
678
|
+
}
|
|
621
679
|
/** Opens window for specified PopoutWidget container. Used to reopen popout when running in Electron.
|
|
622
680
|
* @internal */
|
|
623
681
|
openPopoutWidgetContainer(state, widgetContainerId) {
|