@itwin/appui-react 3.0.0-dev.129 → 3.0.0-dev.134

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.
@@ -1 +1 @@
1
- {"version":3,"file":"MarkupToolDefinitions.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/MarkupToolDefinitions.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,oDAE4B;AAC5B,uDAAoD;AAEpD;;;GAGG;AACH,uBAAuB;AACvB,MAAa,WAAW;IACf,MAAM,KAAK,aAAa;QAC7B,OAAO,yBAAW,CAAC,iBAAiB,CAAC,wBAAU,EAAE,aAAa,CAAC,CAAC;IAClE,CAAC;IAEM,MAAM,KAAK,WAAW;QAC3B,OAAO,yBAAW,CAAC,iBAAiB,CAAC,sBAAQ,CAAC,CAAC;IACjD,CAAC;IAEM,MAAM,KAAK,gBAAgB;QAChC,OAAO,yBAAW,CAAC,iBAAiB,CAAC,2BAAa,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM,KAAK,cAAc;QAC9B,OAAO,yBAAW,CAAC,iBAAiB,CAAC,yBAAW,CAAC,CAAC;IACpD,CAAC;IAEM,MAAM,KAAK,YAAY;QAC5B,OAAO,yBAAW,CAAC,iBAAiB,CAAC,uBAAS,CAAC,CAAC;IAClD,CAAC;IAEM,MAAM,KAAK,cAAc;QAC9B,OAAO,yBAAW,CAAC,iBAAiB,CAAC,yBAAW,CAAC,CAAC;IACpD,CAAC;IAEM,MAAM,KAAK,YAAY;QAC5B,OAAO,yBAAW,CAAC,iBAAiB,CAAC,uBAAS,CAAC,CAAC;IAClD,CAAC;IAEM,MAAM,KAAK,eAAe;QAC/B,OAAO,yBAAW,CAAC,iBAAiB,CAAC,0BAAY,CAAC,CAAC;IACrD,CAAC;IAEM,MAAM,KAAK,aAAa;QAC7B,OAAO,yBAAW,CAAC,iBAAiB,CAAC,wBAAU,CAAC,CAAC;IACnD,CAAC;IAEM,MAAM,KAAK,gBAAgB;QAChC,OAAO,yBAAW,CAAC,iBAAiB,CAAC,2BAAa,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM,KAAK,aAAa;QAC7B,OAAO,yBAAW,CAAC,iBAAiB,CAAC,wBAAU,CAAC,CAAC;IACnD,CAAC;CACF;AA5CD,kCA4CC","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\n\r\nimport {\r\n ArrowTool, CloudTool, DistanceTool, EllipseTool, LineTool, PlaceTextTool, PolygonTool, RectangleTool, SelectTool, SketchTool, SymbolTool,\r\n} from \"@itwin/core-markup\";\r\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\r\n\r\n/** Utility Class that provides definitions of tools provided by imodeljs-markup package. These definitions can be used to populate the UI.\r\n * Note: Application must call 'MarkupApp.initialize()' or 'MarkupApp.start()' before using these definitions.\r\n * @public\r\n */\r\n// istanbul ignore next\r\nexport class MarkupTools {\r\n public static get selectToolDef() {\r\n return ToolItemDef.getItemDefForTool(SelectTool, \"icon-cursor\");\r\n }\r\n\r\n public static get lineToolDef() {\r\n return ToolItemDef.getItemDefForTool(LineTool);\r\n }\r\n\r\n public static get rectangleToolDef() {\r\n return ToolItemDef.getItemDefForTool(RectangleTool);\r\n }\r\n\r\n public static get polygonToolDef() {\r\n return ToolItemDef.getItemDefForTool(PolygonTool);\r\n }\r\n\r\n public static get cloudToolDef() {\r\n return ToolItemDef.getItemDefForTool(CloudTool);\r\n }\r\n\r\n public static get ellipseToolDef() {\r\n return ToolItemDef.getItemDefForTool(EllipseTool);\r\n }\r\n\r\n public static get arrowToolDef() {\r\n return ToolItemDef.getItemDefForTool(ArrowTool);\r\n }\r\n\r\n public static get distanceToolDef() {\r\n return ToolItemDef.getItemDefForTool(DistanceTool);\r\n }\r\n\r\n public static get sketchToolDef() {\r\n return ToolItemDef.getItemDefForTool(SketchTool);\r\n }\r\n\r\n public static get placeTextToolDef() {\r\n return ToolItemDef.getItemDefForTool(PlaceTextTool);\r\n }\r\n\r\n public static get symbolToolDef() {\r\n return ToolItemDef.getItemDefForTool(SymbolTool);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"MarkupToolDefinitions.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/MarkupToolDefinitions.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,oDAE4B;AAC5B,uDAAoD;AAEpD;;;GAGG;AACH,uBAAuB;AACvB,MAAa,WAAW;IACf,MAAM,KAAK,aAAa;QAC7B,OAAO,yBAAW,CAAC,iBAAiB,CAAC,wBAAU,EAAE,aAAa,CAAC,CAAC;IAClE,CAAC;IAEM,MAAM,KAAK,WAAW;QAC3B,OAAO,yBAAW,CAAC,iBAAiB,CAAC,sBAAQ,CAAC,CAAC;IACjD,CAAC;IAEM,MAAM,KAAK,gBAAgB;QAChC,OAAO,yBAAW,CAAC,iBAAiB,CAAC,2BAAa,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM,KAAK,cAAc;QAC9B,OAAO,yBAAW,CAAC,iBAAiB,CAAC,yBAAW,CAAC,CAAC;IACpD,CAAC;IAEM,MAAM,KAAK,YAAY;QAC5B,OAAO,yBAAW,CAAC,iBAAiB,CAAC,uBAAS,CAAC,CAAC;IAClD,CAAC;IAEM,MAAM,KAAK,cAAc;QAC9B,OAAO,yBAAW,CAAC,iBAAiB,CAAC,yBAAW,CAAC,CAAC;IACpD,CAAC;IAEM,MAAM,KAAK,YAAY;QAC5B,OAAO,yBAAW,CAAC,iBAAiB,CAAC,uBAAS,CAAC,CAAC;IAClD,CAAC;IAEM,MAAM,KAAK,eAAe;QAC/B,OAAO,yBAAW,CAAC,iBAAiB,CAAC,0BAAY,CAAC,CAAC;IACrD,CAAC;IAEM,MAAM,KAAK,aAAa;QAC7B,OAAO,yBAAW,CAAC,iBAAiB,CAAC,wBAAU,CAAC,CAAC;IACnD,CAAC;IAEM,MAAM,KAAK,gBAAgB;QAChC,OAAO,yBAAW,CAAC,iBAAiB,CAAC,2BAAa,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM,KAAK,aAAa;QAC7B,OAAO,yBAAW,CAAC,iBAAiB,CAAC,wBAAU,CAAC,CAAC;IACnD,CAAC;CACF;AA5CD,kCA4CC","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\n\r\nimport {\r\n ArrowTool, CloudTool, DistanceTool, EllipseTool, LineTool, PlaceTextTool, PolygonTool, RectangleTool, SelectTool, SketchTool, SymbolTool,\r\n} from \"@itwin/core-markup\";\r\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\r\n\r\n/** Utility Class that provides definitions of tools provided by @itwin/core-markup package. These definitions can be used to populate the UI.\r\n * Note: Application must call 'MarkupApp.initialize()' or 'MarkupApp.start()' before using these definitions.\r\n * @public @deprecated Use the tools directly from the @itwin/core-markup package.\r\n */\r\n// istanbul ignore next\r\nexport class MarkupTools {\r\n public static get selectToolDef() {\r\n return ToolItemDef.getItemDefForTool(SelectTool, \"icon-cursor\");\r\n }\r\n\r\n public static get lineToolDef() {\r\n return ToolItemDef.getItemDefForTool(LineTool);\r\n }\r\n\r\n public static get rectangleToolDef() {\r\n return ToolItemDef.getItemDefForTool(RectangleTool);\r\n }\r\n\r\n public static get polygonToolDef() {\r\n return ToolItemDef.getItemDefForTool(PolygonTool);\r\n }\r\n\r\n public static get cloudToolDef() {\r\n return ToolItemDef.getItemDefForTool(CloudTool);\r\n }\r\n\r\n public static get ellipseToolDef() {\r\n return ToolItemDef.getItemDefForTool(EllipseTool);\r\n }\r\n\r\n public static get arrowToolDef() {\r\n return ToolItemDef.getItemDefForTool(ArrowTool);\r\n }\r\n\r\n public static get distanceToolDef() {\r\n return ToolItemDef.getItemDefForTool(DistanceTool);\r\n }\r\n\r\n public static get sketchToolDef() {\r\n return ToolItemDef.getItemDefForTool(SketchTool);\r\n }\r\n\r\n public static get placeTextToolDef() {\r\n return ToolItemDef.getItemDefForTool(PlaceTextTool);\r\n }\r\n\r\n public static get symbolToolDef() {\r\n return ToolItemDef.getItemDefForTool(SymbolTool);\r\n }\r\n}\r\n"]}
@@ -269,10 +269,6 @@ export * from "./appui-react/zones/ZoneDef";
269
269
  * @docs-group-description Dialog
270
270
  * Classes for working with a dialog
271
271
  */
272
- /**
273
- * @docs-group-description DragDrop
274
- * Classes for managing DragDrop API drag layers
275
- */
276
272
  /**
277
273
  * @docs-group-description Frontstage
278
274
  * Classes for working with a Frontstage
@@ -301,10 +297,6 @@ export * from "./appui-react/zones/ZoneDef";
301
297
  * @docs-group-description Notification
302
298
  * Classes for working with a Notification or Message
303
299
  */
304
- /**
305
- * @docs-group-description ChildWindow
306
- * Classes for working with child windows.
307
- */
308
300
  /**
309
301
  * @docs-group-description ChildWindowManager
310
302
  * Classes for working with child windows.
@@ -1 +1 @@
1
- {"version":3,"file":"appui-react.d.ts","sourceRoot":"","sources":["../../src/appui-react.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"appui-react.d.ts","sourceRoot":"","sources":["../../src/appui-react.ts"],"names":[],"mappings":"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"}
@@ -286,10 +286,6 @@ __exportStar(require("./appui-react/zones/ZoneDef"), exports);
286
286
  * @docs-group-description Dialog
287
287
  * Classes for working with a dialog
288
288
  */
289
- /**
290
- * @docs-group-description DragDrop
291
- * Classes for managing DragDrop API drag layers
292
- */
293
289
  /**
294
290
  * @docs-group-description Frontstage
295
291
  * Classes for working with a Frontstage
@@ -318,10 +314,6 @@ __exportStar(require("./appui-react/zones/ZoneDef"), exports);
318
314
  * @docs-group-description Notification
319
315
  * Classes for working with a Notification or Message
320
316
  */
321
- /**
322
- * @docs-group-description ChildWindow
323
- * Classes for working with child windows.
324
- */
325
317
  /**
326
318
  * @docs-group-description ChildWindowManager
327
319
  * Classes for working with child windows.
@@ -1 +1 @@
1
- {"version":3,"file":"appui-react.js","sourceRoot":"","sources":["../../src/appui-react.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n// cSpell:ignore safearea cursormenu clientservices oidc Textbox Modeless configurableui stagepanels dragdrop uiadmin itemsarbiter Popout\r\n\r\nexport * from \"./appui-react/UiFramework\"; // Please ensure that this line comes before all other exports.\r\n\r\nexport * from \"./appui-react/accudraw/AccuDrawCommandItems\";\r\nexport * from \"./appui-react/accudraw/AccuDrawDialog\";\r\nexport * from \"./appui-react/accudraw/AccuDrawKeyboardShortcuts\";\r\nexport * from \"./appui-react/accudraw/AccuDrawPopupManager\";\r\nexport * from \"./appui-react/accudraw/AccuDrawUiSettings\";\r\nexport * from \"./appui-react/accudraw/AccuDrawWidget\";\r\nexport * from \"./appui-react/accudraw/Calculator\";\r\nexport * from \"./appui-react/accudraw/CalculatorEngine\";\r\nexport * from \"./appui-react/accudraw/CalculatorPopup\";\r\nexport * from \"./appui-react/accudraw/FrameworkAccuDraw\";\r\nexport * from \"./appui-react/accudraw/MenuButton\";\r\nexport * from \"./appui-react/accudraw/MenuButtonPopup\";\r\n\r\nexport * from \"./appui-react/backstage/Backstage\";\r\nexport * from \"./appui-react/backstage/BackstageComposer\";\r\nexport * from \"./appui-react/backstage/BackstageComposerItem\";\r\nexport * from \"./appui-react/backstage/BackstageItemProps\";\r\nexport * from \"./appui-react/backstage/BackstageItemUtilities\";\r\nexport * from \"./appui-react/backstage/BackstageManager\";\r\nexport * from \"./appui-react/backstage/CommandLaunch\";\r\nexport * from \"./appui-react/backstage/FrontstageLaunch\";\r\nexport * from \"./appui-react/backstage/Separator\";\r\nexport * from \"./appui-react/backstage/useDefaultBackstageItems\";\r\nexport * from \"./appui-react/backstage/TaskLaunch\";\r\nexport * from \"./appui-react/backstage/useUiItemsProviderBackstageItems\";\r\n\r\nexport * from \"./appui-react/configurableui/ConfigurableUiContent\";\r\nexport * from \"./appui-react/configurableui/ConfigurableUiControl\";\r\nexport * from \"./appui-react/configurableui/ConfigurableUiManager\";\r\nexport * from \"./appui-react/configurableui/state\";\r\n\r\nexport * from \"./appui-react/content/ContentControl\";\r\nexport * from \"./appui-react/content/ContentGroup\";\r\nexport * from \"./appui-react/content/ContentLayout\";\r\nexport * from \"./appui-react/content/ContentLayoutManager\";\r\nexport * from \"./appui-react/content/ContentViewManager\";\r\nexport * from \"./appui-react/content/ViewStateHelper\";\r\nexport * from \"./appui-react/content/StageContentLayout\";\r\nexport * from \"./appui-react/content/ViewportContentControl\";\r\nexport * from \"./appui-react/content/IModelViewport\";\r\nexport * from \"./appui-react/content/DefaultViewOverlay\";\r\n\r\nexport * from \"./appui-react/cursor/CursorInformation\";\r\nexport * from \"./appui-react/cursor/cursorprompt/CursorPrompt\";\r\nexport * from \"./appui-react/cursor/cursorpopup/CursorPopup\";\r\nexport * from \"./appui-react/cursor/cursorpopup/CursorPopupManager\";\r\nexport * from \"./appui-react/cursor/cursormenu/CursorMenu\";\r\n\r\nexport * from \"./appui-react/dialog/DialogManagerBase\";\r\nexport * from \"./appui-react/dialog/ModalDialogManager\";\r\nexport * from \"./appui-react/dialog/ModelessDialog\";\r\nexport * from \"./appui-react/dialog/ModelessDialogManager\";\r\nexport * from \"./appui-react/dialog/StandardMessageBox\";\r\nexport * from \"./appui-react/dialog/UiDataProvidedDialog\";\r\n\r\nexport * from \"./appui-react/feedback/ValidationTextbox\";\r\nexport * from \"./appui-react/feedback/ElementTooltip\";\r\n\r\nexport * from \"./appui-react/frontstage/Frontstage\";\r\nexport * from \"./appui-react/frontstage/FrontstageComposer\";\r\nexport * from \"./appui-react/frontstage/FrontstageDef\";\r\nexport * from \"./appui-react/frontstage/FrontstageManager\";\r\nexport * from \"./appui-react/frontstage/FrontstageProvider\";\r\nexport * from \"./appui-react/frontstage/NestedFrontstage\";\r\nexport * from \"./appui-react/frontstage/ModalFrontstage\";\r\nexport * from \"./appui-react/frontstage/ModalSettingsStage\";\r\nexport * from \"./appui-react/frontstage/StandardFrontstageProvider\";\r\n\r\nexport * from \"./appui-react/hooks/useActiveIModelConnection\";\r\nexport * from \"./appui-react/hooks/useActiveStageId\";\r\nexport * from \"./appui-react/hooks/useActiveViewport\";\r\nexport * from \"./appui-react/hooks/useAvailableUiItemsProviders\";\r\nexport * from \"./appui-react/hooks/useAnalysisAnimationDataProvider\";\r\nexport * from \"./appui-react/hooks/useFrameworkVersion\";\r\nexport * from \"./appui-react/hooks/useScheduleAnimationDataProvider\";\r\nexport * from \"./appui-react/hooks/useSolarDataProvider\";\r\n\r\nexport * from \"./appui-react/imodel-components/spatial-tree/SpatialContainmentTree\";\r\nexport * from \"./appui-react/imodel-components/category-tree/CategoriesTree\";\r\nexport * from \"./appui-react/imodel-components/category-tree/CategoryVisibilityHandler\";\r\nexport * from \"./appui-react/imodel-components/models-tree/ModelsTree\";\r\nexport * from \"./appui-react/imodel-components/models-tree/ModelsVisibilityHandler\";\r\nexport * from \"./appui-react/imodel-components/Common\";\r\nexport * from \"./appui-react/imodel-components/VisibilityTreeEventHandler\";\r\nexport * from \"./appui-react/imodel-components/VisibilityTreeRenderer\";\r\n\r\nexport * from \"./appui-react/keyboardshortcut/KeyboardShortcut\";\r\nexport * from \"./appui-react/keyboardshortcut/KeyboardShortcutMenu\";\r\nexport * from \"./appui-react/keyinbrowser/KeyinBrowser\";\r\n\r\nexport * from \"./appui-react/messages/ActivityMessage\";\r\nexport * from \"./appui-react/messages/ActivityMessagePopup\";\r\nexport * from \"./appui-react/messages/AppNotificationManager\";\r\nexport * from \"./appui-react/messages/InputField\";\r\nexport * from \"./appui-react/messages/MessageManager\";\r\nexport * from \"./appui-react/messages/StatusMessageRenderer\";\r\nexport * from \"./appui-react/messages/Pointer\";\r\nexport * from \"./appui-react/messages/ReactNotifyMessageDetails\";\r\nexport * from \"./appui-react/messages/StickyMessage\";\r\nexport * from \"./appui-react/messages/ToastMessage\";\r\n\r\nexport * from \"./appui-react/navigationaids/CubeNavigationAidControl\";\r\nexport * from \"./appui-react/navigationaids/DrawingNavigationAidControl\";\r\nexport * from \"./appui-react/navigationaids/NavigationAidControl\";\r\nexport * from \"./appui-react/navigationaids/SheetNavigationAid\";\r\nexport * from \"./appui-react/navigationaids/SheetsModalFrontstage\";\r\nexport * from \"./appui-react/navigationaids/StandardRotationNavigationAid\";\r\n\r\nexport * from \"./appui-react/pickers/ListPicker\";\r\nexport * from \"./appui-react/pickers/ViewSelector\";\r\n\r\nexport * from \"./appui-react/childwindow/ChildWindowManager\";\r\n\r\nexport * from \"./appui-react/popup/KeyinPalettePanel\";\r\nexport * from \"./appui-react/popup/KeyinPalettePopup\";\r\nexport * from \"./appui-react/popup/HTMLElementPopup\";\r\nexport * from \"./appui-react/popup/InputEditorPopup\";\r\nexport * from \"./appui-react/popup/PopupManager\";\r\nexport * from \"./appui-react/popup/PositionPopup\";\r\nexport * from \"./appui-react/popup/ToolbarPopup\";\r\n\r\nexport * from \"./appui-react/redux/SessionState\";\r\nexport * from \"./appui-react/redux/StateManager\";\r\nexport * from \"./appui-react/redux/FrameworkState\";\r\nexport * from \"./appui-react/redux/connectIModel\";\r\nexport * from \"./appui-react/redux/ReducerRegistry\";\r\nexport * from \"./appui-react/redux/redux-ts\";\r\n\r\nexport * from \"./appui-react/safearea/SafeAreaContext\";\r\n\r\nexport * from \"./appui-react/selection/SelectionContextItemDef\";\r\nexport * from \"./appui-react/selection/HideIsolateEmphasizeManager\";\r\nexport * from \"./appui-react/selection/ClearEmphasisStatusField\";\r\n\r\nexport * from \"./appui-react/settings/ui/UiSettingsPage\";\r\nexport * from \"./appui-react/settings/quantityformatting/QuantityFormat\";\r\nexport * from \"./appui-react/settings/quantityformatting/UnitSystemSelector\";\r\n\r\nexport * from \"./appui-react/shared/ActionButtonItemDef\";\r\nexport * from \"./appui-react/shared/AnyItemDef\";\r\nexport * from \"./appui-react/shared/AnyToolbarItemDef\";\r\nexport * from \"./appui-react/shared/CommandItemDef\";\r\nexport * from \"./appui-react/shared/CustomItemDef\";\r\nexport * from \"./appui-react/shared/CustomItemProps\";\r\nexport * from \"./appui-react/shared/GroupItemProps\";\r\nexport * from \"./appui-react/shared/ItemDefBase\";\r\nexport * from \"./appui-react/shared/ItemMap\";\r\nexport * from \"./appui-react/shared/ItemProps\";\r\nexport * from \"./appui-react/shared/MenuItem\";\r\nexport * from \"./appui-react/shared/SelectionScope\";\r\nexport * from \"./appui-react/shared/ToolItemDef\";\r\n\r\nexport * from \"./appui-react/stagepanels/FrameworkStagePanel\";\r\nexport * from \"./appui-react/stagepanels/StagePanel\";\r\nexport * from \"./appui-react/stagepanels/StagePanelDef\";\r\nexport * from \"./appui-react/stagepanels/StagePanelHeader\";\r\n\r\nexport * from \"./appui-react/statusbar/StatusBar\";\r\nexport * from \"./appui-react/statusbar/StatusBarWidgetControl\";\r\nexport * from \"./appui-react/statusbar/StatusBarComposer\";\r\nexport * from \"./appui-react/statusbar/StatusBarItem\";\r\nexport * from \"./appui-react/statusbar/StatusBarItemsManager\";\r\nexport * from \"./appui-react/statusbar/StatusBarItemUtilities\";\r\nexport * from \"./appui-react/statusbar/StatusBarComposer\";\r\nexport * from \"./appui-react/statusbar/withMessageCenterFieldProps\";\r\nexport * from \"./appui-react/statusbar/useUiItemsProviderStatusBarItems\";\r\nexport * from \"./appui-react/statusbar/useDefaultStatusBarItems\";\r\nexport * from \"./appui-react/statusbar/withStatusFieldProps\";\r\n\r\nexport * from \"./appui-react/statusfields/tileloading/TileLoadingIndicator\";\r\nexport * from \"./appui-react/statusfields/ActivityCenter\";\r\nexport * from \"./appui-react/statusfields/ConditionalField\";\r\nexport * from \"./appui-react/statusfields/FooterModeField\";\r\nexport * from \"./appui-react/statusfields/Indicator\";\r\nexport * from \"./appui-react/statusfields/MessageCenter\";\r\nexport * from \"./appui-react/statusfields/PromptField\";\r\nexport * from \"./appui-react/statusfields/SectionsField\";\r\nexport * from \"./appui-react/statusfields/SelectionInfo\";\r\nexport * from \"./appui-react/statusfields/SelectionScope\";\r\nexport * from \"./appui-react/statusfields/SnapMode\";\r\nexport * from \"./appui-react/statusfields/StatusFieldProps\";\r\nexport * from \"./appui-react/statusfields/ViewAttributes\";\r\nexport * from \"./appui-react/statusfields/toolassistance/ToolAssistanceField\";\r\n\r\nexport * from \"./appui-react/syncui/SyncUiEventDispatcher\";\r\nexport * from \"./appui-react/syncui/BooleanListener\";\r\n\r\nexport * from \"./appui-react/theme/ThemeManager\";\r\n\r\nexport * from \"./appui-react/timeline/ScheduleAnimationProvider\";\r\nexport * from \"./appui-react/timeline/AnalysisAnimationProvider\";\r\nexport * from \"./appui-react/timeline/SolarTimelineDataProvider\";\r\n\r\nexport * from \"./appui-react/toolbar/ActionButtonItem\";\r\nexport * from \"./appui-react/toolbar/ActionItemButton\";\r\nexport * from \"./appui-react/toolbar/DragInteraction\";\r\nexport * from \"./appui-react/toolbar/ToolbarComposer\";\r\nexport * from \"./appui-react/toolbar/GroupButtonItem\";\r\nexport * from \"./appui-react/toolbar/GroupItem\";\r\nexport * from \"./appui-react/toolbar/PopupButton\";\r\nexport * from \"./appui-react/toolbar/Toolbar\";\r\nexport * from \"./appui-react/toolbar/ToolbarHelper\";\r\nexport * from \"./appui-react/toolbar/ToolButton\";\r\nexport * from \"./appui-react/toolbar/useUiItemsProviderToolbarItems\";\r\nexport * from \"./appui-react/toolbar/useDefaultToolbarItems\";\r\n\r\nexport * from \"./appui-react/tools/CoreToolDefinitions\";\r\nexport * from \"./appui-react/tools/FrameworkToolAdmin\";\r\nexport * from \"./appui-react/tools/MarkupToolDefinitions\";\r\nexport * from \"./appui-react/tools/RestoreLayoutTool\";\r\nexport * from \"./appui-react/tools/ToolSettingsTools\";\r\n\r\nexport * from \"./appui-react/uiadmin/FrameworkUiAdmin\";\r\n\r\nexport * from \"./appui-react/ui-items-provider/StandardContentToolsProvider\";\r\nexport * from \"./appui-react/ui-items-provider/StandardNavigationToolsProvider\";\r\nexport * from \"./appui-react/ui-items-provider/StandardStatusbarItemsProvider\";\r\nexport * from \"./appui-react/uiprovider/DefaultDialogGridContainer\";\r\n\r\nexport * from \"./appui-react/uisettings/AppUiSettings\";\r\nexport * from \"./appui-react/uisettings/UserSettingsStorage\";\r\nexport * from \"./appui-react/uisettings/useUiSettings\";\r\n\r\nexport * from \"./appui-react/UserInfo\";\r\n\r\nexport * from \"./appui-react/utils/ViewUtilities\";\r\nexport * from \"./appui-react/utils/PropsHelper\";\r\nexport * from \"./appui-react/utils/UiShowHideManager\";\r\nexport * from \"./appui-react/utils/ToolbarButtonHelper\";\r\n\r\nexport * from \"./appui-react/widget-panels/Content\";\r\nexport * from \"./appui-react/widget-panels/Frontstage\";\r\nexport * from \"./appui-react/widget-panels/FrontstageContent\";\r\nexport * from \"./appui-react/widget-panels/ModalFrontstageComposer\";\r\nexport * from \"./appui-react/widget-panels/StatusBar\";\r\nexport * from \"./appui-react/widget-panels/Tab\";\r\nexport * from \"./appui-react/widget-panels/Toolbars\";\r\nexport * from \"./appui-react/widget-panels/ToolSettings\";\r\nexport * from \"./appui-react/widget-panels/useWidgetDirection\";\r\n\r\nexport * from \"./appui-react/widgets/BackstageAppButton\";\r\nexport * from \"./appui-react/widgets/BasicNavigationWidget\";\r\nexport * from \"./appui-react/widgets/BasicToolWidget\";\r\nexport * from \"./appui-react/widgets/DefaultNavigationWidget\";\r\nexport * from \"./appui-react/widgets/NavigationWidget\";\r\nexport * from \"./appui-react/widgets/NavigationWidgetComposer\";\r\nexport * from \"./appui-react/widgets/ReviewToolWidget\";\r\nexport * from \"./appui-react/widgets/ViewToolWidgetComposer\";\r\nexport * from \"./appui-react/widgets/StatusBarWidgetComposerControl\";\r\nexport * from \"./appui-react/widgets/ContentToolWidgetComposer\";\r\nexport * from \"./appui-react/widgets/StableWidgetDef\";\r\nexport * from \"./appui-react/widgets/ToolbarWidgetBase\";\r\nexport * from \"./appui-react/widgets/ToolWidget\";\r\nexport * from \"./appui-react/widgets/ToolWidgetComposer\";\r\nexport * from \"./appui-react/widgets/Widget\";\r\nexport * from \"./appui-react/widgets/WidgetControl\";\r\nexport * from \"./appui-react/widgets/WidgetDef\";\r\nexport * from \"./appui-react/widgets/WidgetHost\";\r\nexport * from \"./appui-react/widgets/WidgetManager\";\r\nexport * from \"./appui-react/widgets/WidgetProps\";\r\nexport * from \"./appui-react/widgets/WidgetStack\";\r\n\r\nexport * from \"./appui-react/workflow/Task\";\r\nexport * from \"./appui-react/workflow/Workflow\";\r\n\r\nexport * from \"./appui-react/zones/FrameworkZone\";\r\nexport * from \"./appui-react/zones/StatusBarZone\";\r\nexport * from \"./appui-react/zones/toolsettings/ToolSettingsZone\";\r\nexport * from \"./appui-react/zones/toolsettings/ToolInformation\";\r\nexport * from \"./appui-react/zones/toolsettings/ToolSettingsManager\";\r\nexport * from \"./appui-react/zones/toolsettings/ToolUiProvider\";\r\nexport * from \"./appui-react/zones/toolsettings/DefaultToolSettingsProvider\";\r\nexport * from \"./appui-react/zones/Zone\";\r\nexport * from \"./appui-react/zones/ZoneDef\";\r\n\r\n/** @docs-package-description\r\n * The ui-framework package contains classes and components for specifying the application UI consisting of the\r\n * Backstage, Frontstages, Content Views, Tool Bars, Status Bars, Widgets and Panels.\r\n * For more information, see [learning about ui-framework]($docs/learning/ui/framework/index.md).\r\n */\r\n/**\r\n * @docs-group-description AccuDraw\r\n * Classes and components providing a UI for AccuDraw, an aide for entering coordinate data.\r\n */\r\n/**\r\n * @docs-group-description Admin\r\n * APIs for various UI components, such as toolbars, buttons and menus.\r\n */\r\n/**\r\n * @docs-group-description Backstage\r\n * Classes for working with a Backstage\r\n */\r\n/**\r\n * @docs-group-description ConfigurableUi\r\n * Classes for working with the Application UI Configuration\r\n */\r\n/**\r\n * @docs-group-description ContentView\r\n * Classes for working with a Content View, Group, Layout or Control\r\n */\r\n/**\r\n * @docs-group-description Cursor\r\n * Cursor related information, components and events\r\n */\r\n/**\r\n * @docs-group-description Dialog\r\n * Classes for working with a dialog\r\n */\r\n/**\r\n * @docs-group-description DragDrop\r\n * Classes for managing DragDrop API drag layers\r\n */\r\n/**\r\n * @docs-group-description Frontstage\r\n * Classes for working with a Frontstage\r\n */\r\n/**\r\n * @docs-group-description Hooks\r\n * Hook functions for use in Functional React Components.\r\n */\r\n/**\r\n * @docs-group-description IModelComponents\r\n * Classes for displaying information about an iModel\r\n */\r\n/**\r\n * @docs-group-description Item\r\n * Classes for working with an Item in a Tool Widget, Navigation Widget or Backstage\r\n */\r\n/**\r\n * @docs-group-description KeyboardShortcut\r\n * Classes for working with Keyboard Shortcuts\r\n */\r\n/**\r\n * @docs-group-description NavigationAids\r\n * Classes for working with Navigation Aids\r\n */\r\n/**\r\n * @docs-group-description Notification\r\n * Classes for working with a Notification or Message\r\n */\r\n\r\n/**\r\n * @docs-group-description ChildWindow\r\n * Classes for working with child windows.\r\n */\r\n/**\r\n * @docs-group-description ChildWindowManager\r\n * Classes for working with child windows.\r\n */\r\n/**\r\n * @docs-group-description Picker\r\n * Classes for working with various pickers\r\n */\r\n/**\r\n * @docs-group-description Popup\r\n * Classes for working with popup components\r\n */\r\n/**\r\n * @docs-group-description State\r\n * Classes for maintaining state\r\n */\r\n/**\r\n * @docs-group-description Settings\r\n * Classes and components used by settings pages displayed in the modal settings stage\r\n */\r\n/**\r\n * @docs-group-description StandardUiItemsProvider\r\n * Standard UiItemsProvider classes.\r\n */\r\n/**\r\n * @docs-group-description StatusBar\r\n * Classes for defining a StatusBar\r\n */\r\n/**\r\n * @docs-group-description SyncUi\r\n * Classes for informing UI components to sync/refresh their display\r\n */\r\n/**\r\n * @docs-group-description Timeline\r\n * Classes for working with a TimelineComponent\r\n */\r\n/**\r\n * @docs-group-description Toolbar\r\n * Classes used to construct a Toolbar\r\n */\r\n/**\r\n * @docs-group-description Tools\r\n * Core Tool definitions\r\n */\r\n/**\r\n * @docs-group-description ToolSettings\r\n * Classes for working Tool Settings. See learning documentation [Tool Settings]($docs/learning/ui/framework/toolsettings.md).\r\n */\r\n/**\r\n * @docs-group-description UiProvider\r\n * Interfaces and classes for specifying UI items to be inserted at runtime.\r\n */\r\n/**\r\n * @docs-group-description UiSettings\r\n * Interfaces and classes for persisting UI settings.\r\n */\r\n/**\r\n * @docs-group-description Utilities\r\n * Various utility classes for working with a UI and Redux.\r\n */\r\n/**\r\n * @docs-group-description Widget\r\n * Classes for working with a Widget\r\n */\r\n/**\r\n * @docs-group-description Zone\r\n * Classes for working with a Zone\r\n */\r\n"]}
1
+ {"version":3,"file":"appui-react.js","sourceRoot":"","sources":["../../src/appui-react.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n// cSpell:ignore safearea cursormenu clientservices oidc Textbox Modeless configurableui stagepanels dragdrop uiadmin itemsarbiter Popout\r\n\r\nexport * from \"./appui-react/UiFramework\"; // Please ensure that this line comes before all other exports.\r\n\r\nexport * from \"./appui-react/accudraw/AccuDrawCommandItems\";\r\nexport * from \"./appui-react/accudraw/AccuDrawDialog\";\r\nexport * from \"./appui-react/accudraw/AccuDrawKeyboardShortcuts\";\r\nexport * from \"./appui-react/accudraw/AccuDrawPopupManager\";\r\nexport * from \"./appui-react/accudraw/AccuDrawUiSettings\";\r\nexport * from \"./appui-react/accudraw/AccuDrawWidget\";\r\nexport * from \"./appui-react/accudraw/Calculator\";\r\nexport * from \"./appui-react/accudraw/CalculatorEngine\";\r\nexport * from \"./appui-react/accudraw/CalculatorPopup\";\r\nexport * from \"./appui-react/accudraw/FrameworkAccuDraw\";\r\nexport * from \"./appui-react/accudraw/MenuButton\";\r\nexport * from \"./appui-react/accudraw/MenuButtonPopup\";\r\n\r\nexport * from \"./appui-react/backstage/Backstage\";\r\nexport * from \"./appui-react/backstage/BackstageComposer\";\r\nexport * from \"./appui-react/backstage/BackstageComposerItem\";\r\nexport * from \"./appui-react/backstage/BackstageItemProps\";\r\nexport * from \"./appui-react/backstage/BackstageItemUtilities\";\r\nexport * from \"./appui-react/backstage/BackstageManager\";\r\nexport * from \"./appui-react/backstage/CommandLaunch\";\r\nexport * from \"./appui-react/backstage/FrontstageLaunch\";\r\nexport * from \"./appui-react/backstage/Separator\";\r\nexport * from \"./appui-react/backstage/useDefaultBackstageItems\";\r\nexport * from \"./appui-react/backstage/TaskLaunch\";\r\nexport * from \"./appui-react/backstage/useUiItemsProviderBackstageItems\";\r\n\r\nexport * from \"./appui-react/configurableui/ConfigurableUiContent\";\r\nexport * from \"./appui-react/configurableui/ConfigurableUiControl\";\r\nexport * from \"./appui-react/configurableui/ConfigurableUiManager\";\r\nexport * from \"./appui-react/configurableui/state\";\r\n\r\nexport * from \"./appui-react/content/ContentControl\";\r\nexport * from \"./appui-react/content/ContentGroup\";\r\nexport * from \"./appui-react/content/ContentLayout\";\r\nexport * from \"./appui-react/content/ContentLayoutManager\";\r\nexport * from \"./appui-react/content/ContentViewManager\";\r\nexport * from \"./appui-react/content/ViewStateHelper\";\r\nexport * from \"./appui-react/content/StageContentLayout\";\r\nexport * from \"./appui-react/content/ViewportContentControl\";\r\nexport * from \"./appui-react/content/IModelViewport\";\r\nexport * from \"./appui-react/content/DefaultViewOverlay\";\r\n\r\nexport * from \"./appui-react/cursor/CursorInformation\";\r\nexport * from \"./appui-react/cursor/cursorprompt/CursorPrompt\";\r\nexport * from \"./appui-react/cursor/cursorpopup/CursorPopup\";\r\nexport * from \"./appui-react/cursor/cursorpopup/CursorPopupManager\";\r\nexport * from \"./appui-react/cursor/cursormenu/CursorMenu\";\r\n\r\nexport * from \"./appui-react/dialog/DialogManagerBase\";\r\nexport * from \"./appui-react/dialog/ModalDialogManager\";\r\nexport * from \"./appui-react/dialog/ModelessDialog\";\r\nexport * from \"./appui-react/dialog/ModelessDialogManager\";\r\nexport * from \"./appui-react/dialog/StandardMessageBox\";\r\nexport * from \"./appui-react/dialog/UiDataProvidedDialog\";\r\n\r\nexport * from \"./appui-react/feedback/ValidationTextbox\";\r\nexport * from \"./appui-react/feedback/ElementTooltip\";\r\n\r\nexport * from \"./appui-react/frontstage/Frontstage\";\r\nexport * from \"./appui-react/frontstage/FrontstageComposer\";\r\nexport * from \"./appui-react/frontstage/FrontstageDef\";\r\nexport * from \"./appui-react/frontstage/FrontstageManager\";\r\nexport * from \"./appui-react/frontstage/FrontstageProvider\";\r\nexport * from \"./appui-react/frontstage/NestedFrontstage\";\r\nexport * from \"./appui-react/frontstage/ModalFrontstage\";\r\nexport * from \"./appui-react/frontstage/ModalSettingsStage\";\r\nexport * from \"./appui-react/frontstage/StandardFrontstageProvider\";\r\n\r\nexport * from \"./appui-react/hooks/useActiveIModelConnection\";\r\nexport * from \"./appui-react/hooks/useActiveStageId\";\r\nexport * from \"./appui-react/hooks/useActiveViewport\";\r\nexport * from \"./appui-react/hooks/useAvailableUiItemsProviders\";\r\nexport * from \"./appui-react/hooks/useAnalysisAnimationDataProvider\";\r\nexport * from \"./appui-react/hooks/useFrameworkVersion\";\r\nexport * from \"./appui-react/hooks/useScheduleAnimationDataProvider\";\r\nexport * from \"./appui-react/hooks/useSolarDataProvider\";\r\n\r\nexport * from \"./appui-react/imodel-components/spatial-tree/SpatialContainmentTree\";\r\nexport * from \"./appui-react/imodel-components/category-tree/CategoriesTree\";\r\nexport * from \"./appui-react/imodel-components/category-tree/CategoryVisibilityHandler\";\r\nexport * from \"./appui-react/imodel-components/models-tree/ModelsTree\";\r\nexport * from \"./appui-react/imodel-components/models-tree/ModelsVisibilityHandler\";\r\nexport * from \"./appui-react/imodel-components/Common\";\r\nexport * from \"./appui-react/imodel-components/VisibilityTreeEventHandler\";\r\nexport * from \"./appui-react/imodel-components/VisibilityTreeRenderer\";\r\n\r\nexport * from \"./appui-react/keyboardshortcut/KeyboardShortcut\";\r\nexport * from \"./appui-react/keyboardshortcut/KeyboardShortcutMenu\";\r\nexport * from \"./appui-react/keyinbrowser/KeyinBrowser\";\r\n\r\nexport * from \"./appui-react/messages/ActivityMessage\";\r\nexport * from \"./appui-react/messages/ActivityMessagePopup\";\r\nexport * from \"./appui-react/messages/AppNotificationManager\";\r\nexport * from \"./appui-react/messages/InputField\";\r\nexport * from \"./appui-react/messages/MessageManager\";\r\nexport * from \"./appui-react/messages/StatusMessageRenderer\";\r\nexport * from \"./appui-react/messages/Pointer\";\r\nexport * from \"./appui-react/messages/ReactNotifyMessageDetails\";\r\nexport * from \"./appui-react/messages/StickyMessage\";\r\nexport * from \"./appui-react/messages/ToastMessage\";\r\n\r\nexport * from \"./appui-react/navigationaids/CubeNavigationAidControl\";\r\nexport * from \"./appui-react/navigationaids/DrawingNavigationAidControl\";\r\nexport * from \"./appui-react/navigationaids/NavigationAidControl\";\r\nexport * from \"./appui-react/navigationaids/SheetNavigationAid\";\r\nexport * from \"./appui-react/navigationaids/SheetsModalFrontstage\";\r\nexport * from \"./appui-react/navigationaids/StandardRotationNavigationAid\";\r\n\r\nexport * from \"./appui-react/pickers/ListPicker\";\r\nexport * from \"./appui-react/pickers/ViewSelector\";\r\n\r\nexport * from \"./appui-react/childwindow/ChildWindowManager\";\r\n\r\nexport * from \"./appui-react/popup/KeyinPalettePanel\";\r\nexport * from \"./appui-react/popup/KeyinPalettePopup\";\r\nexport * from \"./appui-react/popup/HTMLElementPopup\";\r\nexport * from \"./appui-react/popup/InputEditorPopup\";\r\nexport * from \"./appui-react/popup/PopupManager\";\r\nexport * from \"./appui-react/popup/PositionPopup\";\r\nexport * from \"./appui-react/popup/ToolbarPopup\";\r\n\r\nexport * from \"./appui-react/redux/SessionState\";\r\nexport * from \"./appui-react/redux/StateManager\";\r\nexport * from \"./appui-react/redux/FrameworkState\";\r\nexport * from \"./appui-react/redux/connectIModel\";\r\nexport * from \"./appui-react/redux/ReducerRegistry\";\r\nexport * from \"./appui-react/redux/redux-ts\";\r\n\r\nexport * from \"./appui-react/safearea/SafeAreaContext\";\r\n\r\nexport * from \"./appui-react/selection/SelectionContextItemDef\";\r\nexport * from \"./appui-react/selection/HideIsolateEmphasizeManager\";\r\nexport * from \"./appui-react/selection/ClearEmphasisStatusField\";\r\n\r\nexport * from \"./appui-react/settings/ui/UiSettingsPage\";\r\nexport * from \"./appui-react/settings/quantityformatting/QuantityFormat\";\r\nexport * from \"./appui-react/settings/quantityformatting/UnitSystemSelector\";\r\n\r\nexport * from \"./appui-react/shared/ActionButtonItemDef\";\r\nexport * from \"./appui-react/shared/AnyItemDef\";\r\nexport * from \"./appui-react/shared/AnyToolbarItemDef\";\r\nexport * from \"./appui-react/shared/CommandItemDef\";\r\nexport * from \"./appui-react/shared/CustomItemDef\";\r\nexport * from \"./appui-react/shared/CustomItemProps\";\r\nexport * from \"./appui-react/shared/GroupItemProps\";\r\nexport * from \"./appui-react/shared/ItemDefBase\";\r\nexport * from \"./appui-react/shared/ItemMap\";\r\nexport * from \"./appui-react/shared/ItemProps\";\r\nexport * from \"./appui-react/shared/MenuItem\";\r\nexport * from \"./appui-react/shared/SelectionScope\";\r\nexport * from \"./appui-react/shared/ToolItemDef\";\r\n\r\nexport * from \"./appui-react/stagepanels/FrameworkStagePanel\";\r\nexport * from \"./appui-react/stagepanels/StagePanel\";\r\nexport * from \"./appui-react/stagepanels/StagePanelDef\";\r\nexport * from \"./appui-react/stagepanels/StagePanelHeader\";\r\n\r\nexport * from \"./appui-react/statusbar/StatusBar\";\r\nexport * from \"./appui-react/statusbar/StatusBarWidgetControl\";\r\nexport * from \"./appui-react/statusbar/StatusBarComposer\";\r\nexport * from \"./appui-react/statusbar/StatusBarItem\";\r\nexport * from \"./appui-react/statusbar/StatusBarItemsManager\";\r\nexport * from \"./appui-react/statusbar/StatusBarItemUtilities\";\r\nexport * from \"./appui-react/statusbar/StatusBarComposer\";\r\nexport * from \"./appui-react/statusbar/withMessageCenterFieldProps\";\r\nexport * from \"./appui-react/statusbar/useUiItemsProviderStatusBarItems\";\r\nexport * from \"./appui-react/statusbar/useDefaultStatusBarItems\";\r\nexport * from \"./appui-react/statusbar/withStatusFieldProps\";\r\n\r\nexport * from \"./appui-react/statusfields/tileloading/TileLoadingIndicator\";\r\nexport * from \"./appui-react/statusfields/ActivityCenter\";\r\nexport * from \"./appui-react/statusfields/ConditionalField\";\r\nexport * from \"./appui-react/statusfields/FooterModeField\";\r\nexport * from \"./appui-react/statusfields/Indicator\";\r\nexport * from \"./appui-react/statusfields/MessageCenter\";\r\nexport * from \"./appui-react/statusfields/PromptField\";\r\nexport * from \"./appui-react/statusfields/SectionsField\";\r\nexport * from \"./appui-react/statusfields/SelectionInfo\";\r\nexport * from \"./appui-react/statusfields/SelectionScope\";\r\nexport * from \"./appui-react/statusfields/SnapMode\";\r\nexport * from \"./appui-react/statusfields/StatusFieldProps\";\r\nexport * from \"./appui-react/statusfields/ViewAttributes\";\r\nexport * from \"./appui-react/statusfields/toolassistance/ToolAssistanceField\";\r\n\r\nexport * from \"./appui-react/syncui/SyncUiEventDispatcher\";\r\nexport * from \"./appui-react/syncui/BooleanListener\";\r\n\r\nexport * from \"./appui-react/theme/ThemeManager\";\r\n\r\nexport * from \"./appui-react/timeline/ScheduleAnimationProvider\";\r\nexport * from \"./appui-react/timeline/AnalysisAnimationProvider\";\r\nexport * from \"./appui-react/timeline/SolarTimelineDataProvider\";\r\n\r\nexport * from \"./appui-react/toolbar/ActionButtonItem\";\r\nexport * from \"./appui-react/toolbar/ActionItemButton\";\r\nexport * from \"./appui-react/toolbar/DragInteraction\";\r\nexport * from \"./appui-react/toolbar/ToolbarComposer\";\r\nexport * from \"./appui-react/toolbar/GroupButtonItem\";\r\nexport * from \"./appui-react/toolbar/GroupItem\";\r\nexport * from \"./appui-react/toolbar/PopupButton\";\r\nexport * from \"./appui-react/toolbar/Toolbar\";\r\nexport * from \"./appui-react/toolbar/ToolbarHelper\";\r\nexport * from \"./appui-react/toolbar/ToolButton\";\r\nexport * from \"./appui-react/toolbar/useUiItemsProviderToolbarItems\";\r\nexport * from \"./appui-react/toolbar/useDefaultToolbarItems\";\r\n\r\nexport * from \"./appui-react/tools/CoreToolDefinitions\";\r\nexport * from \"./appui-react/tools/FrameworkToolAdmin\";\r\nexport * from \"./appui-react/tools/MarkupToolDefinitions\";\r\nexport * from \"./appui-react/tools/RestoreLayoutTool\";\r\nexport * from \"./appui-react/tools/ToolSettingsTools\";\r\n\r\nexport * from \"./appui-react/uiadmin/FrameworkUiAdmin\";\r\n\r\nexport * from \"./appui-react/ui-items-provider/StandardContentToolsProvider\";\r\nexport * from \"./appui-react/ui-items-provider/StandardNavigationToolsProvider\";\r\nexport * from \"./appui-react/ui-items-provider/StandardStatusbarItemsProvider\";\r\nexport * from \"./appui-react/uiprovider/DefaultDialogGridContainer\";\r\n\r\nexport * from \"./appui-react/uisettings/AppUiSettings\";\r\nexport * from \"./appui-react/uisettings/UserSettingsStorage\";\r\nexport * from \"./appui-react/uisettings/useUiSettings\";\r\n\r\nexport * from \"./appui-react/UserInfo\";\r\n\r\nexport * from \"./appui-react/utils/ViewUtilities\";\r\nexport * from \"./appui-react/utils/PropsHelper\";\r\nexport * from \"./appui-react/utils/UiShowHideManager\";\r\nexport * from \"./appui-react/utils/ToolbarButtonHelper\";\r\n\r\nexport * from \"./appui-react/widget-panels/Content\";\r\nexport * from \"./appui-react/widget-panels/Frontstage\";\r\nexport * from \"./appui-react/widget-panels/FrontstageContent\";\r\nexport * from \"./appui-react/widget-panels/ModalFrontstageComposer\";\r\nexport * from \"./appui-react/widget-panels/StatusBar\";\r\nexport * from \"./appui-react/widget-panels/Tab\";\r\nexport * from \"./appui-react/widget-panels/Toolbars\";\r\nexport * from \"./appui-react/widget-panels/ToolSettings\";\r\nexport * from \"./appui-react/widget-panels/useWidgetDirection\";\r\n\r\nexport * from \"./appui-react/widgets/BackstageAppButton\";\r\nexport * from \"./appui-react/widgets/BasicNavigationWidget\";\r\nexport * from \"./appui-react/widgets/BasicToolWidget\";\r\nexport * from \"./appui-react/widgets/DefaultNavigationWidget\";\r\nexport * from \"./appui-react/widgets/NavigationWidget\";\r\nexport * from \"./appui-react/widgets/NavigationWidgetComposer\";\r\nexport * from \"./appui-react/widgets/ReviewToolWidget\";\r\nexport * from \"./appui-react/widgets/ViewToolWidgetComposer\";\r\nexport * from \"./appui-react/widgets/StatusBarWidgetComposerControl\";\r\nexport * from \"./appui-react/widgets/ContentToolWidgetComposer\";\r\nexport * from \"./appui-react/widgets/StableWidgetDef\";\r\nexport * from \"./appui-react/widgets/ToolbarWidgetBase\";\r\nexport * from \"./appui-react/widgets/ToolWidget\";\r\nexport * from \"./appui-react/widgets/ToolWidgetComposer\";\r\nexport * from \"./appui-react/widgets/Widget\";\r\nexport * from \"./appui-react/widgets/WidgetControl\";\r\nexport * from \"./appui-react/widgets/WidgetDef\";\r\nexport * from \"./appui-react/widgets/WidgetHost\";\r\nexport * from \"./appui-react/widgets/WidgetManager\";\r\nexport * from \"./appui-react/widgets/WidgetProps\";\r\nexport * from \"./appui-react/widgets/WidgetStack\";\r\n\r\nexport * from \"./appui-react/workflow/Task\";\r\nexport * from \"./appui-react/workflow/Workflow\";\r\n\r\nexport * from \"./appui-react/zones/FrameworkZone\";\r\nexport * from \"./appui-react/zones/StatusBarZone\";\r\nexport * from \"./appui-react/zones/toolsettings/ToolSettingsZone\";\r\nexport * from \"./appui-react/zones/toolsettings/ToolInformation\";\r\nexport * from \"./appui-react/zones/toolsettings/ToolSettingsManager\";\r\nexport * from \"./appui-react/zones/toolsettings/ToolUiProvider\";\r\nexport * from \"./appui-react/zones/toolsettings/DefaultToolSettingsProvider\";\r\nexport * from \"./appui-react/zones/Zone\";\r\nexport * from \"./appui-react/zones/ZoneDef\";\r\n\r\n/** @docs-package-description\r\n * The ui-framework package contains classes and components for specifying the application UI consisting of the\r\n * Backstage, Frontstages, Content Views, Tool Bars, Status Bars, Widgets and Panels.\r\n * For more information, see [learning about ui-framework]($docs/learning/ui/framework/index.md).\r\n */\r\n/**\r\n * @docs-group-description AccuDraw\r\n * Classes and components providing a UI for AccuDraw, an aide for entering coordinate data.\r\n */\r\n/**\r\n * @docs-group-description Admin\r\n * APIs for various UI components, such as toolbars, buttons and menus.\r\n */\r\n/**\r\n * @docs-group-description Backstage\r\n * Classes for working with a Backstage\r\n */\r\n/**\r\n * @docs-group-description ConfigurableUi\r\n * Classes for working with the Application UI Configuration\r\n */\r\n/**\r\n * @docs-group-description ContentView\r\n * Classes for working with a Content View, Group, Layout or Control\r\n */\r\n/**\r\n * @docs-group-description Cursor\r\n * Cursor related information, components and events\r\n */\r\n/**\r\n * @docs-group-description Dialog\r\n * Classes for working with a dialog\r\n */\r\n/**\r\n * @docs-group-description Frontstage\r\n * Classes for working with a Frontstage\r\n */\r\n/**\r\n * @docs-group-description Hooks\r\n * Hook functions for use in Functional React Components.\r\n */\r\n/**\r\n * @docs-group-description IModelComponents\r\n * Classes for displaying information about an iModel\r\n */\r\n/**\r\n * @docs-group-description Item\r\n * Classes for working with an Item in a Tool Widget, Navigation Widget or Backstage\r\n */\r\n/**\r\n * @docs-group-description KeyboardShortcut\r\n * Classes for working with Keyboard Shortcuts\r\n */\r\n/**\r\n * @docs-group-description NavigationAids\r\n * Classes for working with Navigation Aids\r\n */\r\n/**\r\n * @docs-group-description Notification\r\n * Classes for working with a Notification or Message\r\n */\r\n/**\r\n * @docs-group-description ChildWindowManager\r\n * Classes for working with child windows.\r\n */\r\n/**\r\n * @docs-group-description Picker\r\n * Classes for working with various pickers\r\n */\r\n/**\r\n * @docs-group-description Popup\r\n * Classes for working with popup components\r\n */\r\n/**\r\n * @docs-group-description State\r\n * Classes for maintaining state\r\n */\r\n/**\r\n * @docs-group-description Settings\r\n * Classes and components used by settings pages displayed in the modal settings stage\r\n */\r\n/**\r\n * @docs-group-description StandardUiItemsProvider\r\n * Standard UiItemsProvider classes.\r\n */\r\n/**\r\n * @docs-group-description StatusBar\r\n * Classes for defining a StatusBar\r\n */\r\n/**\r\n * @docs-group-description SyncUi\r\n * Classes for informing UI components to sync/refresh their display\r\n */\r\n/**\r\n * @docs-group-description Timeline\r\n * Classes for working with a TimelineComponent\r\n */\r\n/**\r\n * @docs-group-description Toolbar\r\n * Classes used to construct a Toolbar\r\n */\r\n/**\r\n * @docs-group-description Tools\r\n * Core Tool definitions\r\n */\r\n/**\r\n * @docs-group-description ToolSettings\r\n * Classes for working Tool Settings. See learning documentation [Tool Settings]($docs/learning/ui/framework/toolsettings.md).\r\n */\r\n/**\r\n * @docs-group-description UiProvider\r\n * Interfaces and classes for specifying UI items to be inserted at runtime.\r\n */\r\n/**\r\n * @docs-group-description UiSettings\r\n * Interfaces and classes for persisting UI settings.\r\n */\r\n/**\r\n * @docs-group-description Utilities\r\n * Various utility classes for working with a UI and Redux.\r\n */\r\n/**\r\n * @docs-group-description Widget\r\n * Classes for working with a Widget\r\n */\r\n/**\r\n * @docs-group-description Zone\r\n * Classes for working with a Zone\r\n */\r\n"]}
@@ -332,7 +332,7 @@ class SubjectModelIdsCache {
332
332
  async initSubjectsHierarchy() {
333
333
  this._subjectsHierarchy = new Map();
334
334
  const ecsql = `SELECT ECInstanceId id, Parent.Id parentId FROM bis.Subject WHERE Parent IS NOT NULL`;
335
- const result = this._imodel.query(ecsql, undefined, QueryRowFormat.UseJsPropertyNames);
335
+ const result = this._imodel.query(ecsql, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames });
336
336
  for await (const row of result) {
337
337
  let list = this._subjectsHierarchy.get(row.parentId);
338
338
  if (!list) {
@@ -350,7 +350,7 @@ class SubjectModelIdsCache {
350
350
  INNER JOIN bis.GeometricModel3d m ON m.ModeledElement.Id = p.ECInstanceId
351
351
  INNER JOIN bis.Subject s ON (s.ECInstanceId = p.Parent.Id OR json_extract(s.JsonProperties, '$.Subject.Model.TargetPartition') = printf('0x%x', p.ECInstanceId))
352
352
  WHERE NOT m.IsPrivate`;
353
- const result = this._imodel.query(ecsql, undefined, QueryRowFormat.UseJsPropertyNames);
353
+ const result = this._imodel.query(ecsql, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames });
354
354
  for await (const row of result) {
355
355
  let list = this._subjectModels.get(row.subjectId);
356
356
  if (!list) {
@@ -449,7 +449,7 @@ async function createGroupedElementsInfo(imodel, rulesetId, groupingNodeKey) {
449
449
  throw new Error("Invalid grouping node key");
450
450
  let modelId, categoryId;
451
451
  const query = `SELECT Model.Id AS modelId, Category.Id AS categoryId FROM bis.GeometricElement3d WHERE ECInstanceId = ? LIMIT 1`;
452
- for await (const modelAndCategoryIds of imodel.query(query, QueryBinder.from([elementId.value]), QueryRowFormat.UseJsPropertyNames)) {
452
+ for await (const modelAndCategoryIds of imodel.query(query, QueryBinder.from([elementId.value]), { rowFormat: QueryRowFormat.UseJsPropertyNames })) {
453
453
  modelId = modelAndCategoryIds.modelId;
454
454
  categoryId = modelAndCategoryIds.categoryId;
455
455
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"ModelsVisibilityHandler.js","sourceRoot":"","sources":["../../../../../src/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.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/** @packageDocumentation\r\n * @module IModelComponents\r\n */\r\n\r\nimport { TreeNodeItem } from \"@itwin/components-react\";\r\nimport { BeEvent, Id64String } from \"@itwin/core-bentley\";\r\nimport { QueryBinder, QueryRowFormat } from \"@itwin/core-common\";\r\nimport { IModelConnection, PerModelCategoryVisibility, Viewport } from \"@itwin/core-frontend\";\r\nimport { ECClassGroupingNodeKey, GroupingNodeKey, Keys, KeySet, NodeKey } from \"@itwin/presentation-common\";\r\nimport { IFilteredPresentationTreeDataProvider, IPresentationTreeDataProvider } from \"@itwin/presentation-components\";\r\nimport { Presentation } from \"@itwin/presentation-frontend\";\r\nimport { UiFramework } from \"../../UiFramework\";\r\nimport { IVisibilityHandler, VisibilityChangeListener, VisibilityStatus } from \"../VisibilityTreeEventHandler\";\r\n\r\n/**\r\n * Visibility tree node types.\r\n * @beta\r\n */\r\nexport enum ModelsTreeNodeType {\r\n Unknown,\r\n Subject,\r\n Model,\r\n Category,\r\n Element,\r\n Grouping,\r\n}\r\n\r\n/**\r\n * Type definition of predicate used to decide if node can be selected\r\n * @beta\r\n */\r\nexport type ModelsTreeSelectionPredicate = (key: NodeKey, type: ModelsTreeNodeType) => boolean;\r\n\r\n/**\r\n * Props for [[ModelsVisibilityHandler]]\r\n * @alpha\r\n */\r\nexport interface ModelsVisibilityHandlerProps {\r\n rulesetId: string;\r\n viewport: Viewport;\r\n hierarchyAutoUpdateEnabled?: boolean;\r\n}\r\n\r\n/**\r\n * Visibility handler used by [[ModelsTree]] to control visibility of the tree items.\r\n * @alpha\r\n */\r\nexport class ModelsVisibilityHandler implements IVisibilityHandler {\r\n private _props: ModelsVisibilityHandlerProps;\r\n private _pendingVisibilityChange: any | undefined;\r\n private _subjectModelIdsCache: SubjectModelIdsCache;\r\n private _filteredDataProvider?: IFilteredPresentationTreeDataProvider;\r\n private _elementIdsCache: ElementIdsCache;\r\n private _listeners = new Array<() => void>();\r\n\r\n constructor(props: ModelsVisibilityHandlerProps) {\r\n this._props = props;\r\n this._subjectModelIdsCache = new SubjectModelIdsCache(this._props.viewport.iModel);\r\n this._elementIdsCache = new ElementIdsCache(this._props.viewport.iModel, this._props.rulesetId);\r\n this._listeners.push(this._props.viewport.onViewedCategoriesPerModelChanged.addListener(this.onViewChanged));\r\n this._listeners.push(this._props.viewport.onViewedCategoriesChanged.addListener(this.onViewChanged));\r\n this._listeners.push(this._props.viewport.onViewedModelsChanged.addListener(this.onViewChanged));\r\n this._listeners.push(this._props.viewport.onAlwaysDrawnChanged.addListener(this.onElementAlwaysDrawnChanged));\r\n this._listeners.push(this._props.viewport.onNeverDrawnChanged.addListener(this.onElementNeverDrawnChanged));\r\n if (this._props.hierarchyAutoUpdateEnabled) {\r\n this._listeners.push(Presentation.presentation.onIModelHierarchyChanged.addListener(/* istanbul ignore next */() => this._elementIdsCache.clear()));\r\n }\r\n }\r\n\r\n public dispose() {\r\n this._listeners.forEach((remove) => remove());\r\n clearTimeout(this._pendingVisibilityChange);\r\n }\r\n\r\n public onVisibilityChange = new BeEvent<VisibilityChangeListener>();\r\n\r\n /** Sets data provider that is used to get filtered tree hierarchy. */\r\n public setFilteredDataProvider(provider: IFilteredPresentationTreeDataProvider | undefined) { this._filteredDataProvider = provider; }\r\n\r\n public static getNodeType(item: TreeNodeItem, dataProvider: IPresentationTreeDataProvider) {\r\n if (NodeKey.isClassGroupingNodeKey(dataProvider.getNodeKey(item)))\r\n return ModelsTreeNodeType.Grouping;\r\n\r\n if (!item.extendedData)\r\n return ModelsTreeNodeType.Unknown;\r\n\r\n if (this.isSubjectNode(item))\r\n return ModelsTreeNodeType.Subject;\r\n if (this.isModelNode(item))\r\n return ModelsTreeNodeType.Model;\r\n if (this.isCategoryNode(item))\r\n return ModelsTreeNodeType.Category;\r\n return ModelsTreeNodeType.Element;\r\n }\r\n\r\n public static isSubjectNode(node: TreeNodeItem) {\r\n return node.extendedData && node.extendedData.isSubject;\r\n }\r\n public static isModelNode(node: TreeNodeItem) {\r\n return node.extendedData && node.extendedData.isModel;\r\n }\r\n public static isCategoryNode(node: TreeNodeItem) {\r\n return node.extendedData && node.extendedData.isCategory;\r\n }\r\n\r\n /** Returns visibility status of the tree node. */\r\n public getVisibilityStatus(node: TreeNodeItem, nodeKey: NodeKey): VisibilityStatus | Promise<VisibilityStatus> {\r\n if (NodeKey.isClassGroupingNodeKey(nodeKey))\r\n return this.getElementGroupingNodeDisplayStatus(node.id, nodeKey);\r\n\r\n if (!NodeKey.isInstancesNodeKey(nodeKey))\r\n return { state: \"hidden\", isDisabled: true };\r\n\r\n if (ModelsVisibilityHandler.isSubjectNode(node)) {\r\n // note: subject nodes may be merged to represent multiple subject instances\r\n return this.getSubjectNodeVisibility(nodeKey.instanceKeys.map((key) => key.id), node);\r\n }\r\n if (ModelsVisibilityHandler.isModelNode(node))\r\n return this.getModelDisplayStatus(nodeKey.instanceKeys[0].id);\r\n if (ModelsVisibilityHandler.isCategoryNode(node))\r\n return this.getCategoryDisplayStatus(nodeKey.instanceKeys[0].id, this.getCategoryParentModelId(node));\r\n return this.getElementDisplayStatus(nodeKey.instanceKeys[0].id, this.getElementModelId(node), this.getElementCategoryId(node));\r\n }\r\n\r\n /** Changes visibility of the items represented by the tree node. */\r\n public async changeVisibility(node: TreeNodeItem, nodeKey: NodeKey, on: boolean) {\r\n if (NodeKey.isClassGroupingNodeKey(nodeKey)) {\r\n await this.changeElementGroupingNodeState(nodeKey, on);\r\n return;\r\n }\r\n\r\n if (!NodeKey.isInstancesNodeKey(nodeKey))\r\n return;\r\n\r\n if (ModelsVisibilityHandler.isSubjectNode(node)) {\r\n await this.changeSubjectNodeState(nodeKey.instanceKeys.map((key) => key.id), node, on);\r\n } else if (ModelsVisibilityHandler.isModelNode(node)) {\r\n await this.changeModelState(nodeKey.instanceKeys[0].id, on);\r\n } else if (ModelsVisibilityHandler.isCategoryNode(node)) {\r\n this.changeCategoryState(nodeKey.instanceKeys[0].id, this.getCategoryParentModelId(node), on);\r\n } else {\r\n await this.changeElementState(nodeKey.instanceKeys[0].id, this.getElementModelId(node), this.getElementCategoryId(node), on);\r\n }\r\n }\r\n\r\n protected async getSubjectNodeVisibility(ids: Id64String[], node: TreeNodeItem): Promise<VisibilityStatus> {\r\n if (!this._props.viewport.view.isSpatialView())\r\n return { isDisabled: true, state: \"hidden\", tooltip: createTooltip(\"disabled\", \"subject.nonSpatialView\") };\r\n\r\n if (this._filteredDataProvider)\r\n return this.getFilteredSubjectDisplayStatus(this._filteredDataProvider, ids, node);\r\n\r\n return this.getSubjectDisplayStatus(ids);\r\n }\r\n\r\n private async getSubjectDisplayStatus(ids: Id64String[]): Promise<VisibilityStatus> {\r\n const modelIds = await this.getSubjectModelIds(ids);\r\n const isDisplayed = modelIds.some((modelId) => this.getModelDisplayStatus(modelId).state === \"visible\");\r\n if (isDisplayed)\r\n return { state: \"visible\", tooltip: createTooltip(\"visible\", \"subject.atLeastOneModelVisible\") };\r\n return { state: \"hidden\", tooltip: createTooltip(\"hidden\", \"subject.allModelsHidden\") };\r\n }\r\n\r\n private async getFilteredSubjectDisplayStatus(provider: IFilteredPresentationTreeDataProvider, ids: Id64String[], node: TreeNodeItem): Promise<VisibilityStatus> {\r\n if (provider.nodeMatchesFilter(node))\r\n return this.getSubjectDisplayStatus(ids);\r\n\r\n const children = await provider.getNodes(node);\r\n const childrenDisplayStatuses = await Promise.all(children.map((childNode) => this.getVisibilityStatus(childNode, provider.getNodeKey(childNode))));\r\n if (childrenDisplayStatuses.some((status) => status.state === \"visible\"))\r\n return { state: \"visible\", tooltip: createTooltip(\"visible\", \"subject.atLeastOneModelVisible\") };\r\n return { state: \"hidden\", tooltip: createTooltip(\"hidden\", \"subject.allModelsHidden\") };\r\n }\r\n\r\n protected getModelDisplayStatus(id: Id64String): VisibilityStatus {\r\n if (!this._props.viewport.view.isSpatialView())\r\n return { isDisabled: true, state: \"hidden\", tooltip: createTooltip(\"disabled\", \"model.nonSpatialView\") };\r\n const isDisplayed = this._props.viewport.view.viewsModel(id);\r\n return { state: isDisplayed ? \"visible\" : \"hidden\", tooltip: createTooltip(isDisplayed ? \"visible\" : \"hidden\", undefined) };\r\n }\r\n\r\n protected getCategoryDisplayStatus(id: Id64String, parentModelId: Id64String | undefined): VisibilityStatus {\r\n if (parentModelId) {\r\n if (this.getModelDisplayStatus(parentModelId).state === \"hidden\")\r\n return { state: \"hidden\", isDisabled: true, tooltip: createTooltip(\"disabled\", \"category.modelNotDisplayed\") };\r\n\r\n const override = this._props.viewport.perModelCategoryVisibility.getOverride(parentModelId, id);\r\n switch (override) {\r\n case PerModelCategoryVisibility.Override.Show:\r\n return { state: \"visible\", tooltip: createTooltip(\"visible\", \"category.displayedThroughPerModelOverride\") };\r\n case PerModelCategoryVisibility.Override.Hide:\r\n return { state: \"hidden\", tooltip: createTooltip(\"hidden\", \"category.hiddenThroughPerModelOverride\") };\r\n }\r\n }\r\n const isDisplayed = this._props.viewport.view.viewsCategory(id);\r\n return {\r\n state: isDisplayed ? \"visible\" : \"hidden\",\r\n tooltip: isDisplayed\r\n ? createTooltip(\"visible\", \"category.displayedThroughCategorySelector\")\r\n : createTooltip(\"hidden\", \"category.hiddenThroughCategorySelector\"),\r\n };\r\n }\r\n\r\n protected async getElementGroupingNodeDisplayStatus(_id: string, key: ECClassGroupingNodeKey): Promise<VisibilityStatus> {\r\n const { modelId, categoryId, elementIds } = await this.getGroupedElementIds(key);\r\n\r\n if (!modelId || !this._props.viewport.view.viewsModel(modelId))\r\n return { isDisabled: true, state: \"hidden\", tooltip: createTooltip(\"disabled\", \"element.modelNotDisplayed\") };\r\n\r\n if (this._props.viewport.alwaysDrawn !== undefined && this._props.viewport.alwaysDrawn.size > 0) {\r\n let atLeastOneElementForceDisplayed = false;\r\n for await (const elementId of elementIds.getElementIds()) {\r\n if (this._props.viewport.alwaysDrawn.has(elementId)) {\r\n atLeastOneElementForceDisplayed = true;\r\n break;\r\n }\r\n }\r\n if (atLeastOneElementForceDisplayed)\r\n return { state: \"visible\", tooltip: createTooltip(\"visible\", \"element.displayedThroughAlwaysDrawnList\") };\r\n }\r\n\r\n if (this._props.viewport.alwaysDrawn !== undefined && this._props.viewport.alwaysDrawn.size !== 0 && this._props.viewport.isAlwaysDrawnExclusive)\r\n return { state: \"hidden\", tooltip: createTooltip(\"hidden\", \"element.hiddenDueToOtherElementsExclusivelyAlwaysDrawn\") };\r\n\r\n if (this._props.viewport.neverDrawn !== undefined && this._props.viewport.neverDrawn.size > 0) {\r\n let allElementsForceHidden = true;\r\n for await (const elementId of elementIds.getElementIds()) {\r\n if (!this._props.viewport.neverDrawn.has(elementId)) {\r\n allElementsForceHidden = false;\r\n break;\r\n }\r\n }\r\n if (allElementsForceHidden)\r\n return { state: \"hidden\", tooltip: createTooltip(\"visible\", \"element.hiddenThroughNeverDrawnList\") };\r\n }\r\n\r\n if (categoryId && this.getCategoryDisplayStatus(categoryId, modelId).state === \"visible\")\r\n return { state: \"visible\", tooltip: createTooltip(\"visible\", undefined) };\r\n\r\n return { state: \"hidden\", tooltip: createTooltip(\"hidden\", \"element.hiddenThroughCategory\") };\r\n }\r\n\r\n protected getElementDisplayStatus(elementId: Id64String, modelId: Id64String | undefined, categoryId: Id64String | undefined): VisibilityStatus {\r\n if (!modelId || !this._props.viewport.view.viewsModel(modelId))\r\n return { isDisabled: true, state: \"hidden\", tooltip: createTooltip(\"disabled\", \"element.modelNotDisplayed\") };\r\n if (this._props.viewport.neverDrawn !== undefined && this._props.viewport.neverDrawn.has(elementId))\r\n return { state: \"hidden\", tooltip: createTooltip(\"hidden\", \"element.hiddenThroughNeverDrawnList\") };\r\n if (this._props.viewport.alwaysDrawn !== undefined) {\r\n if (this._props.viewport.alwaysDrawn.has(elementId))\r\n return { state: \"visible\", tooltip: createTooltip(\"visible\", \"element.displayedThroughAlwaysDrawnList\") };\r\n if (this._props.viewport.alwaysDrawn.size !== 0 && this._props.viewport.isAlwaysDrawnExclusive)\r\n return { state: \"hidden\", tooltip: createTooltip(\"hidden\", \"element.hiddenDueToOtherElementsExclusivelyAlwaysDrawn\") };\r\n }\r\n if (categoryId && this.getCategoryDisplayStatus(categoryId, modelId).state === \"visible\")\r\n return { state: \"visible\", tooltip: createTooltip(\"visible\", undefined) };\r\n return { state: \"hidden\", tooltip: createTooltip(\"hidden\", \"element.hiddenThroughCategory\") };\r\n }\r\n\r\n protected async changeSubjectNodeState(ids: Id64String[], node: TreeNodeItem, on: boolean) {\r\n if (!this._props.viewport.view.isSpatialView())\r\n return;\r\n\r\n if (this._filteredDataProvider)\r\n return this.changeFilteredSubjectState(this._filteredDataProvider, ids, node, on);\r\n\r\n return this.changeSubjectState(ids, on);\r\n }\r\n\r\n private async changeFilteredSubjectState(provider: IFilteredPresentationTreeDataProvider, ids: Id64String[], node: TreeNodeItem, on: boolean) {\r\n if (provider.nodeMatchesFilter(node))\r\n return this.changeSubjectState(ids, on);\r\n\r\n const children = await provider.getNodes(node);\r\n return Promise.all(children.map(async (childNode) => this.changeVisibility(childNode, provider.getNodeKey(childNode), on)));\r\n }\r\n\r\n private async changeSubjectState(ids: Id64String[], on: boolean) {\r\n const modelIds = await this.getSubjectModelIds(ids);\r\n return this.changeModelsVisibility(modelIds, on);\r\n }\r\n\r\n protected async changeModelState(id: Id64String, on: boolean) {\r\n if (!this._props.viewport.view.isSpatialView())\r\n return;\r\n\r\n return this.changeModelsVisibility([id], on);\r\n }\r\n\r\n protected async changeModelsVisibility(ids: Id64String[], visible: boolean) {\r\n if (visible)\r\n return this._props.viewport.addViewedModels(ids);\r\n else\r\n this._props.viewport.changeModelDisplay(ids, false);\r\n }\r\n\r\n protected changeCategoryState(categoryId: Id64String, parentModelId: Id64String | undefined, on: boolean) {\r\n if (parentModelId) {\r\n const isDisplayedInSelector = this._props.viewport.view.viewsCategory(categoryId);\r\n const ovr = (on === isDisplayedInSelector) ? PerModelCategoryVisibility.Override.None\r\n : on ? PerModelCategoryVisibility.Override.Show : PerModelCategoryVisibility.Override.Hide;\r\n this._props.viewport.perModelCategoryVisibility.setOverride(parentModelId, categoryId, ovr);\r\n if (ovr === PerModelCategoryVisibility.Override.None && on) {\r\n // we took off the override which means the category is displayed in selector, but\r\n // doesn't mean all its subcategories are displayed - this call ensures that\r\n this._props.viewport.changeCategoryDisplay([categoryId], true, true);\r\n }\r\n return;\r\n }\r\n this._props.viewport.changeCategoryDisplay([categoryId], on, on ? true : false);\r\n }\r\n\r\n protected async changeElementGroupingNodeState(key: ECClassGroupingNodeKey, on: boolean) {\r\n const { modelId, categoryId, elementIds } = await this.getGroupedElementIds(key);\r\n await this.changeElementsState(modelId, categoryId, elementIds.getElementIds(), on);\r\n }\r\n\r\n protected async changeElementState(id: Id64String, modelId: Id64String | undefined, categoryId: Id64String | undefined, on: boolean) {\r\n const childIdsContainer = this.getAssemblyElementIds(id);\r\n async function* elementIds() {\r\n yield id;\r\n for await (const childId of childIdsContainer.getElementIds())\r\n yield childId;\r\n }\r\n await this.changeElementsState(modelId, categoryId, elementIds(), on);\r\n }\r\n\r\n protected async changeElementsState(modelId: Id64String | undefined, categoryId: Id64String | undefined, elementIds: AsyncGenerator<Id64String>, on: boolean) {\r\n const isDisplayedByDefault = modelId && this.getModelDisplayStatus(modelId).state === \"visible\"\r\n && categoryId && this.getCategoryDisplayStatus(categoryId, modelId).state === \"visible\";\r\n const isHiddenDueToExclusiveAlwaysDrawnElements = this._props.viewport.isAlwaysDrawnExclusive && this._props.viewport.alwaysDrawn && 0 !== this._props.viewport.alwaysDrawn.size;\r\n const currNeverDrawn = new Set(this._props.viewport.neverDrawn ? this._props.viewport.neverDrawn : []);\r\n const currAlwaysDrawn = new Set(this._props.viewport.alwaysDrawn ?\r\n this._props.viewport.alwaysDrawn : /* istanbul ignore next */[],\r\n );\r\n for await (const elementId of elementIds) {\r\n if (on) {\r\n currNeverDrawn.delete(elementId);\r\n if (!isDisplayedByDefault || isHiddenDueToExclusiveAlwaysDrawnElements)\r\n currAlwaysDrawn.add(elementId);\r\n } else {\r\n currAlwaysDrawn.delete(elementId);\r\n if (isDisplayedByDefault && !isHiddenDueToExclusiveAlwaysDrawnElements)\r\n currNeverDrawn.add(elementId);\r\n }\r\n }\r\n this._props.viewport.setNeverDrawn(currNeverDrawn);\r\n this._props.viewport.setAlwaysDrawn(currAlwaysDrawn, this._props.viewport.isAlwaysDrawnExclusive);\r\n }\r\n\r\n private onVisibilityChangeInternal() {\r\n if (this._pendingVisibilityChange)\r\n return;\r\n\r\n this._pendingVisibilityChange = setTimeout(() => {\r\n this.onVisibilityChange.raiseEvent();\r\n this._pendingVisibilityChange = undefined;\r\n }, 0);\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private onViewChanged = (_vp: Viewport) => {\r\n this.onVisibilityChangeInternal();\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private onElementAlwaysDrawnChanged = () => {\r\n this.onVisibilityChangeInternal();\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private onElementNeverDrawnChanged = () => {\r\n this.onVisibilityChangeInternal();\r\n };\r\n\r\n private getCategoryParentModelId(categoryNode: TreeNodeItem): Id64String | undefined {\r\n return categoryNode.extendedData ? categoryNode.extendedData.modelId : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n private getElementModelId(elementNode: TreeNodeItem): Id64String | undefined {\r\n return elementNode.extendedData ? elementNode.extendedData.modelId : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n private getElementCategoryId(elementNode: TreeNodeItem): Id64String | undefined {\r\n return elementNode.extendedData ? elementNode.extendedData.categoryId : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n private async getSubjectModelIds(subjectIds: Id64String[]) {\r\n return (await Promise.all(subjectIds.map(async (id) => this._subjectModelIdsCache.getSubjectModelIds(id))))\r\n .reduce((allModelIds: Id64String[], curr: Id64String[]) => [...allModelIds, ...curr], []);\r\n }\r\n\r\n // istanbul ignore next\r\n private getAssemblyElementIds(assemblyId: Id64String) {\r\n return this._elementIdsCache.getAssemblyElementIds(assemblyId);\r\n }\r\n\r\n // istanbul ignore next\r\n private async getGroupedElementIds(groupingNodeKey: GroupingNodeKey) {\r\n return this._elementIdsCache.getGroupedElementIds(groupingNodeKey);\r\n }\r\n}\r\n\r\ninterface ModelInfo {\r\n id: Id64String;\r\n isHidden: boolean;\r\n}\r\n\r\nclass SubjectModelIdsCache {\r\n private _imodel: IModelConnection;\r\n private _subjectsHierarchy: Map<Id64String, Id64String[]> | undefined;\r\n private _subjectModels: Map<Id64String, ModelInfo[]> | undefined;\r\n private _init: Promise<void> | undefined;\r\n\r\n constructor(imodel: IModelConnection) {\r\n this._imodel = imodel;\r\n }\r\n\r\n private async initSubjectsHierarchy() {\r\n this._subjectsHierarchy = new Map();\r\n const ecsql = `SELECT ECInstanceId id, Parent.Id parentId FROM bis.Subject WHERE Parent IS NOT NULL`;\r\n const result = this._imodel.query(ecsql, undefined, QueryRowFormat.UseJsPropertyNames);\r\n for await (const row of result) {\r\n let list = this._subjectsHierarchy.get(row.parentId);\r\n if (!list) {\r\n list = [];\r\n this._subjectsHierarchy.set(row.parentId, list);\r\n }\r\n list.push(row.id);\r\n }\r\n }\r\n\r\n private async initSubjectModels() {\r\n this._subjectModels = new Map();\r\n const ecsql = `\r\n SELECT p.ECInstanceId id, s.ECInstanceId subjectId, json_extract(p.JsonProperties, '$.PhysicalPartition.Model.Content') content\r\n FROM bis.InformationPartitionElement p\r\n INNER JOIN bis.GeometricModel3d m ON m.ModeledElement.Id = p.ECInstanceId\r\n INNER JOIN bis.Subject s ON (s.ECInstanceId = p.Parent.Id OR json_extract(s.JsonProperties, '$.Subject.Model.TargetPartition') = printf('0x%x', p.ECInstanceId))\r\n WHERE NOT m.IsPrivate`;\r\n const result = this._imodel.query(ecsql, undefined, QueryRowFormat.UseJsPropertyNames);\r\n for await (const row of result) {\r\n let list = this._subjectModels.get(row.subjectId);\r\n if (!list) {\r\n list = [];\r\n this._subjectModels.set(row.subjectId, list);\r\n }\r\n const isHidden = row.content !== undefined;\r\n list.push({ id: row.id, isHidden });\r\n }\r\n }\r\n\r\n private async initCache() {\r\n if (!this._init) {\r\n this._init = Promise.all([this.initSubjectModels(), this.initSubjectsHierarchy()]).then(() => { });\r\n }\r\n return this._init;\r\n }\r\n\r\n private appendSubjectModelsRecursively(modelIds: Id64String[], subjectId: Id64String) {\r\n const subjectModelIds = this._subjectModels!.get(subjectId);\r\n if (subjectModelIds)\r\n modelIds.push(...subjectModelIds.map((info) => info.id));\r\n\r\n const childSubjectIds = this._subjectsHierarchy!.get(subjectId);\r\n if (childSubjectIds)\r\n childSubjectIds.forEach((cs) => this.appendSubjectModelsRecursively(modelIds, cs));\r\n }\r\n\r\n public async getSubjectModelIds(subjectId: Id64String): Promise<Id64String[]> {\r\n await this.initCache();\r\n const modelIds = new Array<Id64String>();\r\n this.appendSubjectModelsRecursively(modelIds, subjectId);\r\n return modelIds;\r\n }\r\n}\r\n\r\ninterface GroupedElementIds {\r\n modelId?: string;\r\n categoryId?: string;\r\n elementIds: CachingElementIdsContainer;\r\n}\r\n\r\n// istanbul ignore next\r\nclass ElementIdsCache {\r\n private _assemblyElementIdsCache = new Map<string, CachingElementIdsContainer>();\r\n private _groupedElementIdsCache = new Map<string, GroupedElementIds>();\r\n\r\n constructor(private _imodel: IModelConnection, private _rulesetId: string) {\r\n }\r\n\r\n public clear() {\r\n this._assemblyElementIdsCache.clear();\r\n this._groupedElementIdsCache.clear();\r\n }\r\n\r\n public getAssemblyElementIds(assemblyId: Id64String) {\r\n const ids = this._assemblyElementIdsCache.get(assemblyId);\r\n if (ids)\r\n return ids;\r\n\r\n const container = createAssemblyElementIdsContainer(this._imodel, this._rulesetId, assemblyId);\r\n this._assemblyElementIdsCache.set(assemblyId, container);\r\n return container;\r\n }\r\n\r\n public async getGroupedElementIds(groupingNodeKey: GroupingNodeKey): Promise<GroupedElementIds> {\r\n const keyString = JSON.stringify(groupingNodeKey);\r\n const ids = this._groupedElementIdsCache.get(keyString);\r\n if (ids)\r\n return ids;\r\n const info = await createGroupedElementsInfo(this._imodel, this._rulesetId, groupingNodeKey);\r\n this._groupedElementIdsCache.set(keyString, info);\r\n return info;\r\n }\r\n}\r\n\r\nasync function* createInstanceIdsGenerator(imodel: IModelConnection, rulesetId: string, displayType: string, inputKeys: Keys) {\r\n const res = await Presentation.presentation.getContentInstanceKeys({\r\n imodel,\r\n rulesetOrId: rulesetId,\r\n displayType,\r\n keys: new KeySet(inputKeys),\r\n });\r\n for await (const key of res.items()) {\r\n yield key.id;\r\n }\r\n}\r\n\r\n// istanbul ignore next\r\nclass CachingElementIdsContainer {\r\n private _generator;\r\n private _ids;\r\n constructor(generator: AsyncGenerator<Id64String>) {\r\n this._generator = generator;\r\n this._ids = new Array<Id64String>();\r\n }\r\n public async* getElementIds() {\r\n for (const id of this._ids) {\r\n yield id;\r\n }\r\n for await (const id of this._generator) {\r\n this._ids.push(id);\r\n yield id;\r\n }\r\n }\r\n}\r\n\r\nfunction createAssemblyElementIdsContainer(imodel: IModelConnection, rulesetId: string, assemblyId: Id64String) {\r\n return new CachingElementIdsContainer(createInstanceIdsGenerator(imodel, rulesetId, \"AssemblyElementsRequest\", [{ className: \"BisCore:Element\", id: assemblyId }]));\r\n}\r\n\r\nasync function createGroupedElementsInfo(imodel: IModelConnection, rulesetId: string, groupingNodeKey: GroupingNodeKey) {\r\n const groupedElementIdsContainer = new CachingElementIdsContainer(createInstanceIdsGenerator(imodel, rulesetId, \"AssemblyElementsRequest\", [groupingNodeKey]));\r\n const elementId = await groupedElementIdsContainer.getElementIds().next();\r\n if (elementId.done)\r\n throw new Error(\"Invalid grouping node key\");\r\n\r\n let modelId, categoryId;\r\n const query = `SELECT Model.Id AS modelId, Category.Id AS categoryId FROM bis.GeometricElement3d WHERE ECInstanceId = ? LIMIT 1`;\r\n for await (const modelAndCategoryIds of imodel.query(query, QueryBinder.from([elementId.value]), QueryRowFormat.UseJsPropertyNames)) {\r\n modelId = modelAndCategoryIds.modelId;\r\n categoryId = modelAndCategoryIds.categoryId;\r\n break;\r\n }\r\n return { modelId, categoryId, elementIds: groupedElementIdsContainer };\r\n}\r\n\r\nconst createTooltip = (status: \"visible\" | \"hidden\" | \"disabled\", tooltipStringId: string | undefined): string => {\r\n const statusStringId = `UiFramework:modelTree.status.${status}`;\r\n const statusString = UiFramework.localization.getLocalizedString(statusStringId);\r\n if (!tooltipStringId)\r\n return statusString;\r\n\r\n tooltipStringId = `UiFramework:modelTree.tooltips.${tooltipStringId}`;\r\n const tooltipString = UiFramework.localization.getLocalizedString(tooltipStringId);\r\n return `${statusString}: ${tooltipString}`;\r\n};\r\n"]}
1
+ {"version":3,"file":"ModelsVisibilityHandler.js","sourceRoot":"","sources":["../../../../../src/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.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/** @packageDocumentation\r\n * @module IModelComponents\r\n */\r\n\r\nimport { TreeNodeItem } from \"@itwin/components-react\";\r\nimport { BeEvent, Id64String } from \"@itwin/core-bentley\";\r\nimport { QueryBinder, QueryRowFormat } from \"@itwin/core-common\";\r\nimport { IModelConnection, PerModelCategoryVisibility, Viewport } from \"@itwin/core-frontend\";\r\nimport { ECClassGroupingNodeKey, GroupingNodeKey, Keys, KeySet, NodeKey } from \"@itwin/presentation-common\";\r\nimport { IFilteredPresentationTreeDataProvider, IPresentationTreeDataProvider } from \"@itwin/presentation-components\";\r\nimport { Presentation } from \"@itwin/presentation-frontend\";\r\nimport { UiFramework } from \"../../UiFramework\";\r\nimport { IVisibilityHandler, VisibilityChangeListener, VisibilityStatus } from \"../VisibilityTreeEventHandler\";\r\n\r\n/**\r\n * Visibility tree node types.\r\n * @beta\r\n */\r\nexport enum ModelsTreeNodeType {\r\n Unknown,\r\n Subject,\r\n Model,\r\n Category,\r\n Element,\r\n Grouping,\r\n}\r\n\r\n/**\r\n * Type definition of predicate used to decide if node can be selected\r\n * @beta\r\n */\r\nexport type ModelsTreeSelectionPredicate = (key: NodeKey, type: ModelsTreeNodeType) => boolean;\r\n\r\n/**\r\n * Props for [[ModelsVisibilityHandler]]\r\n * @alpha\r\n */\r\nexport interface ModelsVisibilityHandlerProps {\r\n rulesetId: string;\r\n viewport: Viewport;\r\n hierarchyAutoUpdateEnabled?: boolean;\r\n}\r\n\r\n/**\r\n * Visibility handler used by [[ModelsTree]] to control visibility of the tree items.\r\n * @alpha\r\n */\r\nexport class ModelsVisibilityHandler implements IVisibilityHandler {\r\n private _props: ModelsVisibilityHandlerProps;\r\n private _pendingVisibilityChange: any | undefined;\r\n private _subjectModelIdsCache: SubjectModelIdsCache;\r\n private _filteredDataProvider?: IFilteredPresentationTreeDataProvider;\r\n private _elementIdsCache: ElementIdsCache;\r\n private _listeners = new Array<() => void>();\r\n\r\n constructor(props: ModelsVisibilityHandlerProps) {\r\n this._props = props;\r\n this._subjectModelIdsCache = new SubjectModelIdsCache(this._props.viewport.iModel);\r\n this._elementIdsCache = new ElementIdsCache(this._props.viewport.iModel, this._props.rulesetId);\r\n this._listeners.push(this._props.viewport.onViewedCategoriesPerModelChanged.addListener(this.onViewChanged));\r\n this._listeners.push(this._props.viewport.onViewedCategoriesChanged.addListener(this.onViewChanged));\r\n this._listeners.push(this._props.viewport.onViewedModelsChanged.addListener(this.onViewChanged));\r\n this._listeners.push(this._props.viewport.onAlwaysDrawnChanged.addListener(this.onElementAlwaysDrawnChanged));\r\n this._listeners.push(this._props.viewport.onNeverDrawnChanged.addListener(this.onElementNeverDrawnChanged));\r\n if (this._props.hierarchyAutoUpdateEnabled) {\r\n this._listeners.push(Presentation.presentation.onIModelHierarchyChanged.addListener(/* istanbul ignore next */() => this._elementIdsCache.clear()));\r\n }\r\n }\r\n\r\n public dispose() {\r\n this._listeners.forEach((remove) => remove());\r\n clearTimeout(this._pendingVisibilityChange);\r\n }\r\n\r\n public onVisibilityChange = new BeEvent<VisibilityChangeListener>();\r\n\r\n /** Sets data provider that is used to get filtered tree hierarchy. */\r\n public setFilteredDataProvider(provider: IFilteredPresentationTreeDataProvider | undefined) { this._filteredDataProvider = provider; }\r\n\r\n public static getNodeType(item: TreeNodeItem, dataProvider: IPresentationTreeDataProvider) {\r\n if (NodeKey.isClassGroupingNodeKey(dataProvider.getNodeKey(item)))\r\n return ModelsTreeNodeType.Grouping;\r\n\r\n if (!item.extendedData)\r\n return ModelsTreeNodeType.Unknown;\r\n\r\n if (this.isSubjectNode(item))\r\n return ModelsTreeNodeType.Subject;\r\n if (this.isModelNode(item))\r\n return ModelsTreeNodeType.Model;\r\n if (this.isCategoryNode(item))\r\n return ModelsTreeNodeType.Category;\r\n return ModelsTreeNodeType.Element;\r\n }\r\n\r\n public static isSubjectNode(node: TreeNodeItem) {\r\n return node.extendedData && node.extendedData.isSubject;\r\n }\r\n public static isModelNode(node: TreeNodeItem) {\r\n return node.extendedData && node.extendedData.isModel;\r\n }\r\n public static isCategoryNode(node: TreeNodeItem) {\r\n return node.extendedData && node.extendedData.isCategory;\r\n }\r\n\r\n /** Returns visibility status of the tree node. */\r\n public getVisibilityStatus(node: TreeNodeItem, nodeKey: NodeKey): VisibilityStatus | Promise<VisibilityStatus> {\r\n if (NodeKey.isClassGroupingNodeKey(nodeKey))\r\n return this.getElementGroupingNodeDisplayStatus(node.id, nodeKey);\r\n\r\n if (!NodeKey.isInstancesNodeKey(nodeKey))\r\n return { state: \"hidden\", isDisabled: true };\r\n\r\n if (ModelsVisibilityHandler.isSubjectNode(node)) {\r\n // note: subject nodes may be merged to represent multiple subject instances\r\n return this.getSubjectNodeVisibility(nodeKey.instanceKeys.map((key) => key.id), node);\r\n }\r\n if (ModelsVisibilityHandler.isModelNode(node))\r\n return this.getModelDisplayStatus(nodeKey.instanceKeys[0].id);\r\n if (ModelsVisibilityHandler.isCategoryNode(node))\r\n return this.getCategoryDisplayStatus(nodeKey.instanceKeys[0].id, this.getCategoryParentModelId(node));\r\n return this.getElementDisplayStatus(nodeKey.instanceKeys[0].id, this.getElementModelId(node), this.getElementCategoryId(node));\r\n }\r\n\r\n /** Changes visibility of the items represented by the tree node. */\r\n public async changeVisibility(node: TreeNodeItem, nodeKey: NodeKey, on: boolean) {\r\n if (NodeKey.isClassGroupingNodeKey(nodeKey)) {\r\n await this.changeElementGroupingNodeState(nodeKey, on);\r\n return;\r\n }\r\n\r\n if (!NodeKey.isInstancesNodeKey(nodeKey))\r\n return;\r\n\r\n if (ModelsVisibilityHandler.isSubjectNode(node)) {\r\n await this.changeSubjectNodeState(nodeKey.instanceKeys.map((key) => key.id), node, on);\r\n } else if (ModelsVisibilityHandler.isModelNode(node)) {\r\n await this.changeModelState(nodeKey.instanceKeys[0].id, on);\r\n } else if (ModelsVisibilityHandler.isCategoryNode(node)) {\r\n this.changeCategoryState(nodeKey.instanceKeys[0].id, this.getCategoryParentModelId(node), on);\r\n } else {\r\n await this.changeElementState(nodeKey.instanceKeys[0].id, this.getElementModelId(node), this.getElementCategoryId(node), on);\r\n }\r\n }\r\n\r\n protected async getSubjectNodeVisibility(ids: Id64String[], node: TreeNodeItem): Promise<VisibilityStatus> {\r\n if (!this._props.viewport.view.isSpatialView())\r\n return { isDisabled: true, state: \"hidden\", tooltip: createTooltip(\"disabled\", \"subject.nonSpatialView\") };\r\n\r\n if (this._filteredDataProvider)\r\n return this.getFilteredSubjectDisplayStatus(this._filteredDataProvider, ids, node);\r\n\r\n return this.getSubjectDisplayStatus(ids);\r\n }\r\n\r\n private async getSubjectDisplayStatus(ids: Id64String[]): Promise<VisibilityStatus> {\r\n const modelIds = await this.getSubjectModelIds(ids);\r\n const isDisplayed = modelIds.some((modelId) => this.getModelDisplayStatus(modelId).state === \"visible\");\r\n if (isDisplayed)\r\n return { state: \"visible\", tooltip: createTooltip(\"visible\", \"subject.atLeastOneModelVisible\") };\r\n return { state: \"hidden\", tooltip: createTooltip(\"hidden\", \"subject.allModelsHidden\") };\r\n }\r\n\r\n private async getFilteredSubjectDisplayStatus(provider: IFilteredPresentationTreeDataProvider, ids: Id64String[], node: TreeNodeItem): Promise<VisibilityStatus> {\r\n if (provider.nodeMatchesFilter(node))\r\n return this.getSubjectDisplayStatus(ids);\r\n\r\n const children = await provider.getNodes(node);\r\n const childrenDisplayStatuses = await Promise.all(children.map((childNode) => this.getVisibilityStatus(childNode, provider.getNodeKey(childNode))));\r\n if (childrenDisplayStatuses.some((status) => status.state === \"visible\"))\r\n return { state: \"visible\", tooltip: createTooltip(\"visible\", \"subject.atLeastOneModelVisible\") };\r\n return { state: \"hidden\", tooltip: createTooltip(\"hidden\", \"subject.allModelsHidden\") };\r\n }\r\n\r\n protected getModelDisplayStatus(id: Id64String): VisibilityStatus {\r\n if (!this._props.viewport.view.isSpatialView())\r\n return { isDisabled: true, state: \"hidden\", tooltip: createTooltip(\"disabled\", \"model.nonSpatialView\") };\r\n const isDisplayed = this._props.viewport.view.viewsModel(id);\r\n return { state: isDisplayed ? \"visible\" : \"hidden\", tooltip: createTooltip(isDisplayed ? \"visible\" : \"hidden\", undefined) };\r\n }\r\n\r\n protected getCategoryDisplayStatus(id: Id64String, parentModelId: Id64String | undefined): VisibilityStatus {\r\n if (parentModelId) {\r\n if (this.getModelDisplayStatus(parentModelId).state === \"hidden\")\r\n return { state: \"hidden\", isDisabled: true, tooltip: createTooltip(\"disabled\", \"category.modelNotDisplayed\") };\r\n\r\n const override = this._props.viewport.perModelCategoryVisibility.getOverride(parentModelId, id);\r\n switch (override) {\r\n case PerModelCategoryVisibility.Override.Show:\r\n return { state: \"visible\", tooltip: createTooltip(\"visible\", \"category.displayedThroughPerModelOverride\") };\r\n case PerModelCategoryVisibility.Override.Hide:\r\n return { state: \"hidden\", tooltip: createTooltip(\"hidden\", \"category.hiddenThroughPerModelOverride\") };\r\n }\r\n }\r\n const isDisplayed = this._props.viewport.view.viewsCategory(id);\r\n return {\r\n state: isDisplayed ? \"visible\" : \"hidden\",\r\n tooltip: isDisplayed\r\n ? createTooltip(\"visible\", \"category.displayedThroughCategorySelector\")\r\n : createTooltip(\"hidden\", \"category.hiddenThroughCategorySelector\"),\r\n };\r\n }\r\n\r\n protected async getElementGroupingNodeDisplayStatus(_id: string, key: ECClassGroupingNodeKey): Promise<VisibilityStatus> {\r\n const { modelId, categoryId, elementIds } = await this.getGroupedElementIds(key);\r\n\r\n if (!modelId || !this._props.viewport.view.viewsModel(modelId))\r\n return { isDisabled: true, state: \"hidden\", tooltip: createTooltip(\"disabled\", \"element.modelNotDisplayed\") };\r\n\r\n if (this._props.viewport.alwaysDrawn !== undefined && this._props.viewport.alwaysDrawn.size > 0) {\r\n let atLeastOneElementForceDisplayed = false;\r\n for await (const elementId of elementIds.getElementIds()) {\r\n if (this._props.viewport.alwaysDrawn.has(elementId)) {\r\n atLeastOneElementForceDisplayed = true;\r\n break;\r\n }\r\n }\r\n if (atLeastOneElementForceDisplayed)\r\n return { state: \"visible\", tooltip: createTooltip(\"visible\", \"element.displayedThroughAlwaysDrawnList\") };\r\n }\r\n\r\n if (this._props.viewport.alwaysDrawn !== undefined && this._props.viewport.alwaysDrawn.size !== 0 && this._props.viewport.isAlwaysDrawnExclusive)\r\n return { state: \"hidden\", tooltip: createTooltip(\"hidden\", \"element.hiddenDueToOtherElementsExclusivelyAlwaysDrawn\") };\r\n\r\n if (this._props.viewport.neverDrawn !== undefined && this._props.viewport.neverDrawn.size > 0) {\r\n let allElementsForceHidden = true;\r\n for await (const elementId of elementIds.getElementIds()) {\r\n if (!this._props.viewport.neverDrawn.has(elementId)) {\r\n allElementsForceHidden = false;\r\n break;\r\n }\r\n }\r\n if (allElementsForceHidden)\r\n return { state: \"hidden\", tooltip: createTooltip(\"visible\", \"element.hiddenThroughNeverDrawnList\") };\r\n }\r\n\r\n if (categoryId && this.getCategoryDisplayStatus(categoryId, modelId).state === \"visible\")\r\n return { state: \"visible\", tooltip: createTooltip(\"visible\", undefined) };\r\n\r\n return { state: \"hidden\", tooltip: createTooltip(\"hidden\", \"element.hiddenThroughCategory\") };\r\n }\r\n\r\n protected getElementDisplayStatus(elementId: Id64String, modelId: Id64String | undefined, categoryId: Id64String | undefined): VisibilityStatus {\r\n if (!modelId || !this._props.viewport.view.viewsModel(modelId))\r\n return { isDisabled: true, state: \"hidden\", tooltip: createTooltip(\"disabled\", \"element.modelNotDisplayed\") };\r\n if (this._props.viewport.neverDrawn !== undefined && this._props.viewport.neverDrawn.has(elementId))\r\n return { state: \"hidden\", tooltip: createTooltip(\"hidden\", \"element.hiddenThroughNeverDrawnList\") };\r\n if (this._props.viewport.alwaysDrawn !== undefined) {\r\n if (this._props.viewport.alwaysDrawn.has(elementId))\r\n return { state: \"visible\", tooltip: createTooltip(\"visible\", \"element.displayedThroughAlwaysDrawnList\") };\r\n if (this._props.viewport.alwaysDrawn.size !== 0 && this._props.viewport.isAlwaysDrawnExclusive)\r\n return { state: \"hidden\", tooltip: createTooltip(\"hidden\", \"element.hiddenDueToOtherElementsExclusivelyAlwaysDrawn\") };\r\n }\r\n if (categoryId && this.getCategoryDisplayStatus(categoryId, modelId).state === \"visible\")\r\n return { state: \"visible\", tooltip: createTooltip(\"visible\", undefined) };\r\n return { state: \"hidden\", tooltip: createTooltip(\"hidden\", \"element.hiddenThroughCategory\") };\r\n }\r\n\r\n protected async changeSubjectNodeState(ids: Id64String[], node: TreeNodeItem, on: boolean) {\r\n if (!this._props.viewport.view.isSpatialView())\r\n return;\r\n\r\n if (this._filteredDataProvider)\r\n return this.changeFilteredSubjectState(this._filteredDataProvider, ids, node, on);\r\n\r\n return this.changeSubjectState(ids, on);\r\n }\r\n\r\n private async changeFilteredSubjectState(provider: IFilteredPresentationTreeDataProvider, ids: Id64String[], node: TreeNodeItem, on: boolean) {\r\n if (provider.nodeMatchesFilter(node))\r\n return this.changeSubjectState(ids, on);\r\n\r\n const children = await provider.getNodes(node);\r\n return Promise.all(children.map(async (childNode) => this.changeVisibility(childNode, provider.getNodeKey(childNode), on)));\r\n }\r\n\r\n private async changeSubjectState(ids: Id64String[], on: boolean) {\r\n const modelIds = await this.getSubjectModelIds(ids);\r\n return this.changeModelsVisibility(modelIds, on);\r\n }\r\n\r\n protected async changeModelState(id: Id64String, on: boolean) {\r\n if (!this._props.viewport.view.isSpatialView())\r\n return;\r\n\r\n return this.changeModelsVisibility([id], on);\r\n }\r\n\r\n protected async changeModelsVisibility(ids: Id64String[], visible: boolean) {\r\n if (visible)\r\n return this._props.viewport.addViewedModels(ids);\r\n else\r\n this._props.viewport.changeModelDisplay(ids, false);\r\n }\r\n\r\n protected changeCategoryState(categoryId: Id64String, parentModelId: Id64String | undefined, on: boolean) {\r\n if (parentModelId) {\r\n const isDisplayedInSelector = this._props.viewport.view.viewsCategory(categoryId);\r\n const ovr = (on === isDisplayedInSelector) ? PerModelCategoryVisibility.Override.None\r\n : on ? PerModelCategoryVisibility.Override.Show : PerModelCategoryVisibility.Override.Hide;\r\n this._props.viewport.perModelCategoryVisibility.setOverride(parentModelId, categoryId, ovr);\r\n if (ovr === PerModelCategoryVisibility.Override.None && on) {\r\n // we took off the override which means the category is displayed in selector, but\r\n // doesn't mean all its subcategories are displayed - this call ensures that\r\n this._props.viewport.changeCategoryDisplay([categoryId], true, true);\r\n }\r\n return;\r\n }\r\n this._props.viewport.changeCategoryDisplay([categoryId], on, on ? true : false);\r\n }\r\n\r\n protected async changeElementGroupingNodeState(key: ECClassGroupingNodeKey, on: boolean) {\r\n const { modelId, categoryId, elementIds } = await this.getGroupedElementIds(key);\r\n await this.changeElementsState(modelId, categoryId, elementIds.getElementIds(), on);\r\n }\r\n\r\n protected async changeElementState(id: Id64String, modelId: Id64String | undefined, categoryId: Id64String | undefined, on: boolean) {\r\n const childIdsContainer = this.getAssemblyElementIds(id);\r\n async function* elementIds() {\r\n yield id;\r\n for await (const childId of childIdsContainer.getElementIds())\r\n yield childId;\r\n }\r\n await this.changeElementsState(modelId, categoryId, elementIds(), on);\r\n }\r\n\r\n protected async changeElementsState(modelId: Id64String | undefined, categoryId: Id64String | undefined, elementIds: AsyncGenerator<Id64String>, on: boolean) {\r\n const isDisplayedByDefault = modelId && this.getModelDisplayStatus(modelId).state === \"visible\"\r\n && categoryId && this.getCategoryDisplayStatus(categoryId, modelId).state === \"visible\";\r\n const isHiddenDueToExclusiveAlwaysDrawnElements = this._props.viewport.isAlwaysDrawnExclusive && this._props.viewport.alwaysDrawn && 0 !== this._props.viewport.alwaysDrawn.size;\r\n const currNeverDrawn = new Set(this._props.viewport.neverDrawn ? this._props.viewport.neverDrawn : []);\r\n const currAlwaysDrawn = new Set(this._props.viewport.alwaysDrawn ?\r\n this._props.viewport.alwaysDrawn : /* istanbul ignore next */[],\r\n );\r\n for await (const elementId of elementIds) {\r\n if (on) {\r\n currNeverDrawn.delete(elementId);\r\n if (!isDisplayedByDefault || isHiddenDueToExclusiveAlwaysDrawnElements)\r\n currAlwaysDrawn.add(elementId);\r\n } else {\r\n currAlwaysDrawn.delete(elementId);\r\n if (isDisplayedByDefault && !isHiddenDueToExclusiveAlwaysDrawnElements)\r\n currNeverDrawn.add(elementId);\r\n }\r\n }\r\n this._props.viewport.setNeverDrawn(currNeverDrawn);\r\n this._props.viewport.setAlwaysDrawn(currAlwaysDrawn, this._props.viewport.isAlwaysDrawnExclusive);\r\n }\r\n\r\n private onVisibilityChangeInternal() {\r\n if (this._pendingVisibilityChange)\r\n return;\r\n\r\n this._pendingVisibilityChange = setTimeout(() => {\r\n this.onVisibilityChange.raiseEvent();\r\n this._pendingVisibilityChange = undefined;\r\n }, 0);\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private onViewChanged = (_vp: Viewport) => {\r\n this.onVisibilityChangeInternal();\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private onElementAlwaysDrawnChanged = () => {\r\n this.onVisibilityChangeInternal();\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private onElementNeverDrawnChanged = () => {\r\n this.onVisibilityChangeInternal();\r\n };\r\n\r\n private getCategoryParentModelId(categoryNode: TreeNodeItem): Id64String | undefined {\r\n return categoryNode.extendedData ? categoryNode.extendedData.modelId : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n private getElementModelId(elementNode: TreeNodeItem): Id64String | undefined {\r\n return elementNode.extendedData ? elementNode.extendedData.modelId : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n private getElementCategoryId(elementNode: TreeNodeItem): Id64String | undefined {\r\n return elementNode.extendedData ? elementNode.extendedData.categoryId : /* istanbul ignore next */ undefined;\r\n }\r\n\r\n private async getSubjectModelIds(subjectIds: Id64String[]) {\r\n return (await Promise.all(subjectIds.map(async (id) => this._subjectModelIdsCache.getSubjectModelIds(id))))\r\n .reduce((allModelIds: Id64String[], curr: Id64String[]) => [...allModelIds, ...curr], []);\r\n }\r\n\r\n // istanbul ignore next\r\n private getAssemblyElementIds(assemblyId: Id64String) {\r\n return this._elementIdsCache.getAssemblyElementIds(assemblyId);\r\n }\r\n\r\n // istanbul ignore next\r\n private async getGroupedElementIds(groupingNodeKey: GroupingNodeKey) {\r\n return this._elementIdsCache.getGroupedElementIds(groupingNodeKey);\r\n }\r\n}\r\n\r\ninterface ModelInfo {\r\n id: Id64String;\r\n isHidden: boolean;\r\n}\r\n\r\nclass SubjectModelIdsCache {\r\n private _imodel: IModelConnection;\r\n private _subjectsHierarchy: Map<Id64String, Id64String[]> | undefined;\r\n private _subjectModels: Map<Id64String, ModelInfo[]> | undefined;\r\n private _init: Promise<void> | undefined;\r\n\r\n constructor(imodel: IModelConnection) {\r\n this._imodel = imodel;\r\n }\r\n\r\n private async initSubjectsHierarchy() {\r\n this._subjectsHierarchy = new Map();\r\n const ecsql = `SELECT ECInstanceId id, Parent.Id parentId FROM bis.Subject WHERE Parent IS NOT NULL`;\r\n const result = this._imodel.query(ecsql, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames });\r\n for await (const row of result) {\r\n let list = this._subjectsHierarchy.get(row.parentId);\r\n if (!list) {\r\n list = [];\r\n this._subjectsHierarchy.set(row.parentId, list);\r\n }\r\n list.push(row.id);\r\n }\r\n }\r\n\r\n private async initSubjectModels() {\r\n this._subjectModels = new Map();\r\n const ecsql = `\r\n SELECT p.ECInstanceId id, s.ECInstanceId subjectId, json_extract(p.JsonProperties, '$.PhysicalPartition.Model.Content') content\r\n FROM bis.InformationPartitionElement p\r\n INNER JOIN bis.GeometricModel3d m ON m.ModeledElement.Id = p.ECInstanceId\r\n INNER JOIN bis.Subject s ON (s.ECInstanceId = p.Parent.Id OR json_extract(s.JsonProperties, '$.Subject.Model.TargetPartition') = printf('0x%x', p.ECInstanceId))\r\n WHERE NOT m.IsPrivate`;\r\n const result = this._imodel.query(ecsql, undefined, { rowFormat: QueryRowFormat.UseJsPropertyNames });\r\n for await (const row of result) {\r\n let list = this._subjectModels.get(row.subjectId);\r\n if (!list) {\r\n list = [];\r\n this._subjectModels.set(row.subjectId, list);\r\n }\r\n const isHidden = row.content !== undefined;\r\n list.push({ id: row.id, isHidden });\r\n }\r\n }\r\n\r\n private async initCache() {\r\n if (!this._init) {\r\n this._init = Promise.all([this.initSubjectModels(), this.initSubjectsHierarchy()]).then(() => { });\r\n }\r\n return this._init;\r\n }\r\n\r\n private appendSubjectModelsRecursively(modelIds: Id64String[], subjectId: Id64String) {\r\n const subjectModelIds = this._subjectModels!.get(subjectId);\r\n if (subjectModelIds)\r\n modelIds.push(...subjectModelIds.map((info) => info.id));\r\n\r\n const childSubjectIds = this._subjectsHierarchy!.get(subjectId);\r\n if (childSubjectIds)\r\n childSubjectIds.forEach((cs) => this.appendSubjectModelsRecursively(modelIds, cs));\r\n }\r\n\r\n public async getSubjectModelIds(subjectId: Id64String): Promise<Id64String[]> {\r\n await this.initCache();\r\n const modelIds = new Array<Id64String>();\r\n this.appendSubjectModelsRecursively(modelIds, subjectId);\r\n return modelIds;\r\n }\r\n}\r\n\r\ninterface GroupedElementIds {\r\n modelId?: string;\r\n categoryId?: string;\r\n elementIds: CachingElementIdsContainer;\r\n}\r\n\r\n// istanbul ignore next\r\nclass ElementIdsCache {\r\n private _assemblyElementIdsCache = new Map<string, CachingElementIdsContainer>();\r\n private _groupedElementIdsCache = new Map<string, GroupedElementIds>();\r\n\r\n constructor(private _imodel: IModelConnection, private _rulesetId: string) {\r\n }\r\n\r\n public clear() {\r\n this._assemblyElementIdsCache.clear();\r\n this._groupedElementIdsCache.clear();\r\n }\r\n\r\n public getAssemblyElementIds(assemblyId: Id64String) {\r\n const ids = this._assemblyElementIdsCache.get(assemblyId);\r\n if (ids)\r\n return ids;\r\n\r\n const container = createAssemblyElementIdsContainer(this._imodel, this._rulesetId, assemblyId);\r\n this._assemblyElementIdsCache.set(assemblyId, container);\r\n return container;\r\n }\r\n\r\n public async getGroupedElementIds(groupingNodeKey: GroupingNodeKey): Promise<GroupedElementIds> {\r\n const keyString = JSON.stringify(groupingNodeKey);\r\n const ids = this._groupedElementIdsCache.get(keyString);\r\n if (ids)\r\n return ids;\r\n const info = await createGroupedElementsInfo(this._imodel, this._rulesetId, groupingNodeKey);\r\n this._groupedElementIdsCache.set(keyString, info);\r\n return info;\r\n }\r\n}\r\n\r\nasync function* createInstanceIdsGenerator(imodel: IModelConnection, rulesetId: string, displayType: string, inputKeys: Keys) {\r\n const res = await Presentation.presentation.getContentInstanceKeys({\r\n imodel,\r\n rulesetOrId: rulesetId,\r\n displayType,\r\n keys: new KeySet(inputKeys),\r\n });\r\n for await (const key of res.items()) {\r\n yield key.id;\r\n }\r\n}\r\n\r\n// istanbul ignore next\r\nclass CachingElementIdsContainer {\r\n private _generator;\r\n private _ids;\r\n constructor(generator: AsyncGenerator<Id64String>) {\r\n this._generator = generator;\r\n this._ids = new Array<Id64String>();\r\n }\r\n public async* getElementIds() {\r\n for (const id of this._ids) {\r\n yield id;\r\n }\r\n for await (const id of this._generator) {\r\n this._ids.push(id);\r\n yield id;\r\n }\r\n }\r\n}\r\n\r\nfunction createAssemblyElementIdsContainer(imodel: IModelConnection, rulesetId: string, assemblyId: Id64String) {\r\n return new CachingElementIdsContainer(createInstanceIdsGenerator(imodel, rulesetId, \"AssemblyElementsRequest\", [{ className: \"BisCore:Element\", id: assemblyId }]));\r\n}\r\n\r\nasync function createGroupedElementsInfo(imodel: IModelConnection, rulesetId: string, groupingNodeKey: GroupingNodeKey) {\r\n const groupedElementIdsContainer = new CachingElementIdsContainer(createInstanceIdsGenerator(imodel, rulesetId, \"AssemblyElementsRequest\", [groupingNodeKey]));\r\n const elementId = await groupedElementIdsContainer.getElementIds().next();\r\n if (elementId.done)\r\n throw new Error(\"Invalid grouping node key\");\r\n\r\n let modelId, categoryId;\r\n const query = `SELECT Model.Id AS modelId, Category.Id AS categoryId FROM bis.GeometricElement3d WHERE ECInstanceId = ? LIMIT 1`;\r\n for await (const modelAndCategoryIds of imodel.query(query, QueryBinder.from([elementId.value]), { rowFormat: QueryRowFormat.UseJsPropertyNames })) {\r\n modelId = modelAndCategoryIds.modelId;\r\n categoryId = modelAndCategoryIds.categoryId;\r\n break;\r\n }\r\n return { modelId, categoryId, elementIds: groupedElementIdsContainer };\r\n}\r\n\r\nconst createTooltip = (status: \"visible\" | \"hidden\" | \"disabled\", tooltipStringId: string | undefined): string => {\r\n const statusStringId = `UiFramework:modelTree.status.${status}`;\r\n const statusString = UiFramework.localization.getLocalizedString(statusStringId);\r\n if (!tooltipStringId)\r\n return statusString;\r\n\r\n tooltipStringId = `UiFramework:modelTree.tooltips.${tooltipStringId}`;\r\n const tooltipString = UiFramework.localization.getLocalizedString(tooltipStringId);\r\n return `${statusString}: ${tooltipString}`;\r\n};\r\n"]}
@@ -84,7 +84,7 @@ class SubjectModelIdsCache {
84
84
  async initSubjectsHierarchy() {
85
85
  this._subjectsHierarchy = new Map();
86
86
  const ecsql = `SELECT ECInstanceId id, Parent.Id parentId FROM bis.Subject WHERE Parent IS NOT NULL`;
87
- const result = this._imodel.query(ecsql, undefined, 1000);
87
+ const result = this._imodel.query(ecsql, undefined, { limit: { count: 1000 } });
88
88
  for await (const row of result) {
89
89
  let list = this._subjectsHierarchy.get(row.parentId);
90
90
  if (!list) {
@@ -97,7 +97,7 @@ class SubjectModelIdsCache {
97
97
  async initSubjectModels() {
98
98
  this._subjectModels = new Map();
99
99
  const ecsql = `SELECT p.ECInstanceId id, p.Parent.Id subjectId FROM bis.InformationPartitionElement p JOIN bis.Model m ON m.ModeledElement.Id = p.ECInstanceId`;
100
- const result = this._imodel.query(ecsql, undefined, 1000);
100
+ const result = this._imodel.query(ecsql, undefined, { limit: { count: 1000 } });
101
101
  for await (const row of result) {
102
102
  let list = this._subjectModels.get(row.subjectId);
103
103
  if (!list) {