@itwin/tree-widget-react 3.2.3 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -2
- package/lib/cjs/components/SelectableTree.js +4 -5
- package/lib/cjs/components/SelectableTree.js.map +1 -1
- package/lib/cjs/components/TreeSelector.d.ts +1 -1
- package/lib/cjs/components/TreeSelector.js.map +1 -1
- package/lib/cjs/components/TreeWidgetUiItemsProvider.d.ts +1 -1
- package/lib/cjs/components/TreeWidgetUiItemsProvider.js +5 -5
- package/lib/cjs/components/TreeWidgetUiItemsProvider.js.map +1 -1
- package/lib/cjs/components/tree-header/TreeHeader.js +8 -9
- package/lib/cjs/components/tree-header/TreeHeader.js.map +1 -1
- package/lib/cjs/components/tree-header/TreeWithHeader.d.ts +1 -1
- package/lib/cjs/components/tree-header/TreeWithHeader.js +2 -2
- package/lib/cjs/components/tree-header/TreeWithHeader.js.map +1 -1
- package/lib/cjs/components/trees/categories-tree/CategoriesTree.d.ts +2 -2
- package/lib/cjs/components/trees/categories-tree/CategoriesTree.js +5 -5
- package/lib/cjs/components/trees/categories-tree/CategoriesTree.js.map +1 -1
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeButtons.d.ts +2 -2
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeButtons.js +9 -9
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeButtons.js.map +1 -1
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeComponent.d.ts +2 -2
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeComponent.js +19 -19
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeComponent.js.map +1 -1
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeDefinition.js +27 -9
- package/lib/cjs/components/trees/categories-tree/CategoriesTreeDefinition.js.map +1 -1
- package/lib/cjs/components/trees/categories-tree/CategoriesVisibilityHandler.d.ts +1 -1
- package/lib/cjs/components/trees/categories-tree/CategoriesVisibilityHandler.js +6 -6
- package/lib/cjs/components/trees/categories-tree/CategoriesVisibilityHandler.js.map +1 -1
- package/lib/cjs/components/trees/categories-tree/UseCategoriesTree.d.ts +3 -3
- package/lib/cjs/components/trees/categories-tree/UseCategoriesTree.js +12 -12
- package/lib/cjs/components/trees/categories-tree/UseCategoriesTree.js.map +1 -1
- package/lib/cjs/components/trees/common/CategoriesVisibilityUtils.js +0 -1
- package/lib/cjs/components/trees/common/CategoriesVisibilityUtils.js.map +1 -1
- package/lib/cjs/components/trees/common/FocusedInstancesContextProvider.js +2 -2
- package/lib/cjs/components/trees/common/FocusedInstancesContextProvider.js.map +1 -1
- package/lib/cjs/components/trees/common/Tooltip.d.ts +1 -1
- package/lib/cjs/components/trees/common/Tooltip.js +3 -3
- package/lib/cjs/components/trees/common/Tooltip.js.map +1 -1
- package/lib/cjs/components/trees/common/UseHierarchiesLocalization.js +12 -12
- package/lib/cjs/components/trees/common/UseHierarchiesLocalization.js.map +1 -1
- package/lib/cjs/components/trees/common/UseHierarchyFiltering.js +8 -8
- package/lib/cjs/components/trees/common/UseHierarchyFiltering.js.map +1 -1
- package/lib/cjs/components/trees/common/UseHierarchyVisibility.d.ts +1 -1
- package/lib/cjs/components/trees/common/UseHierarchyVisibility.js +2 -2
- package/lib/cjs/components/trees/common/UseHierarchyVisibility.js.map +1 -1
- package/lib/cjs/components/trees/common/UseNodeHighlighting.js +4 -4
- package/lib/cjs/components/trees/common/UseNodeHighlighting.js.map +1 -1
- package/lib/cjs/components/trees/common/UseTelemetryContext.js +3 -3
- package/lib/cjs/components/trees/common/UseTelemetryContext.js.map +1 -1
- package/lib/cjs/components/trees/common/components/Tree.d.ts +3 -3
- package/lib/cjs/components/trees/common/components/Tree.js +21 -21
- package/lib/cjs/components/trees/common/components/Tree.js.map +1 -1
- package/lib/cjs/components/trees/common/components/TreeNodeCheckbox.js +4 -1
- package/lib/cjs/components/trees/common/components/TreeNodeCheckbox.js.map +1 -1
- package/lib/cjs/components/trees/common/components/TreeNodeRenderer.d.ts +1 -1
- package/lib/cjs/components/trees/common/components/TreeNodeRenderer.js +2 -2
- package/lib/cjs/components/trees/common/components/TreeNodeRenderer.js.map +1 -1
- package/lib/cjs/components/trees/common/components/TreeRenderer.d.ts +1 -1
- package/lib/cjs/components/trees/common/components/TreeRenderer.js +4 -4
- package/lib/cjs/components/trees/common/components/TreeRenderer.js.map +1 -1
- package/lib/cjs/components/trees/common/components/VisibilityTree.d.ts +4 -4
- package/lib/cjs/components/trees/common/components/VisibilityTree.js +6 -6
- package/lib/cjs/components/trees/common/components/VisibilityTree.js.map +1 -1
- package/lib/cjs/components/trees/common/components/VisibilityTreeRenderer.d.ts +2 -2
- package/lib/cjs/components/trees/common/components/VisibilityTreeRenderer.js +4 -4
- package/lib/cjs/components/trees/common/components/VisibilityTreeRenderer.js.map +1 -1
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTree.d.ts +1 -1
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTree.js +6 -6
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTree.js.map +1 -1
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeComponent.d.ts +1 -1
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js +5 -5
- package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js.map +1 -1
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTree.d.ts +1 -1
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTree.js +8 -8
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTree.js.map +1 -1
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeComponent.d.ts +1 -1
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeComponent.js +5 -5
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeComponent.js.map +1 -1
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeDefinition.d.ts +1 -1
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeDefinition.js +3 -3
- package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeDefinition.js.map +1 -1
- package/lib/cjs/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js +2 -2
- package/lib/cjs/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js.map +1 -1
- package/lib/cjs/components/trees/index.d.ts +16 -16
- package/lib/cjs/components/trees/index.js +28 -28
- package/lib/cjs/components/trees/index.js.map +1 -1
- package/lib/cjs/components/trees/models-tree/ModelsTree.d.ts +2 -2
- package/lib/cjs/components/trees/models-tree/ModelsTree.js +5 -5
- package/lib/cjs/components/trees/models-tree/ModelsTree.js.map +1 -1
- package/lib/cjs/components/trees/models-tree/ModelsTreeButtons.d.ts +1 -1
- package/lib/cjs/components/trees/models-tree/ModelsTreeButtons.js +22 -22
- package/lib/cjs/components/trees/models-tree/ModelsTreeButtons.js.map +1 -1
- package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.d.ts +2 -2
- package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.js +29 -29
- package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.js.map +1 -1
- package/lib/cjs/components/trees/models-tree/ModelsTreeDefinition.d.ts +1 -1
- package/lib/cjs/components/trees/models-tree/ModelsTreeDefinition.js +10 -10
- package/lib/cjs/components/trees/models-tree/ModelsTreeDefinition.js.map +1 -1
- package/lib/cjs/components/trees/models-tree/UseModelsTree.d.ts +4 -4
- package/lib/cjs/components/trees/models-tree/UseModelsTree.js +27 -27
- package/lib/cjs/components/trees/models-tree/UseModelsTree.js.map +1 -1
- package/lib/cjs/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js +2 -2
- package/lib/cjs/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js.map +1 -1
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeIdsCache.d.ts +1 -1
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeIdsCache.js +2 -2
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeIdsCache.js.map +1 -1
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.d.ts +2 -2
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js +72 -80
- package/lib/cjs/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js.map +1 -1
- package/lib/cjs/components/trees/models-tree/internal/VisibilityChangeEventListener.js +0 -1
- package/lib/cjs/components/trees/models-tree/internal/VisibilityChangeEventListener.js.map +1 -1
- package/lib/cjs/package.json +1 -0
- package/lib/cjs/tree-widget-react.d.ts +5 -5
- package/lib/cjs/tree-widget-react.js +10 -10
- package/lib/cjs/tree-widget-react.js.map +1 -1
- package/lib/esm/components/SelectableTree.js +2 -3
- package/lib/esm/components/SelectableTree.js.map +1 -1
- package/lib/esm/components/TreeSelector.d.ts +1 -1
- package/lib/esm/components/TreeSelector.js.map +1 -1
- package/lib/esm/components/TreeWidgetUiItemsProvider.d.ts +1 -1
- package/lib/esm/components/TreeWidgetUiItemsProvider.js +2 -2
- package/lib/esm/components/TreeWidgetUiItemsProvider.js.map +1 -1
- package/lib/esm/components/tree-header/TreeHeader.js +2 -3
- package/lib/esm/components/tree-header/TreeHeader.js.map +1 -1
- package/lib/esm/components/tree-header/TreeWithHeader.d.ts +1 -1
- package/lib/esm/components/tree-header/TreeWithHeader.js +1 -1
- package/lib/esm/components/tree-header/TreeWithHeader.js.map +1 -1
- package/lib/esm/components/trees/categories-tree/CategoriesTree.d.ts +2 -2
- package/lib/esm/components/trees/categories-tree/CategoriesTree.js +3 -3
- package/lib/esm/components/trees/categories-tree/CategoriesTree.js.map +1 -1
- package/lib/esm/components/trees/categories-tree/CategoriesTreeButtons.d.ts +2 -2
- package/lib/esm/components/trees/categories-tree/CategoriesTreeButtons.js +2 -2
- package/lib/esm/components/trees/categories-tree/CategoriesTreeButtons.js.map +1 -1
- package/lib/esm/components/trees/categories-tree/CategoriesTreeComponent.d.ts +2 -2
- package/lib/esm/components/trees/categories-tree/CategoriesTreeComponent.js +7 -7
- package/lib/esm/components/trees/categories-tree/CategoriesTreeComponent.js.map +1 -1
- package/lib/esm/components/trees/categories-tree/CategoriesTreeDefinition.js +26 -8
- package/lib/esm/components/trees/categories-tree/CategoriesTreeDefinition.js.map +1 -1
- package/lib/esm/components/trees/categories-tree/CategoriesVisibilityHandler.d.ts +1 -1
- package/lib/esm/components/trees/categories-tree/CategoriesVisibilityHandler.js +3 -3
- package/lib/esm/components/trees/categories-tree/CategoriesVisibilityHandler.js.map +1 -1
- package/lib/esm/components/trees/categories-tree/UseCategoriesTree.d.ts +3 -3
- package/lib/esm/components/trees/categories-tree/UseCategoriesTree.js +5 -5
- package/lib/esm/components/trees/categories-tree/UseCategoriesTree.js.map +1 -1
- package/lib/esm/components/trees/common/CategoriesVisibilityUtils.js +0 -1
- package/lib/esm/components/trees/common/CategoriesVisibilityUtils.js.map +1 -1
- package/lib/esm/components/trees/common/FocusedInstancesContextProvider.js +1 -1
- package/lib/esm/components/trees/common/FocusedInstancesContextProvider.js.map +1 -1
- package/lib/esm/components/trees/common/Tooltip.d.ts +1 -1
- package/lib/esm/components/trees/common/Tooltip.js +1 -1
- package/lib/esm/components/trees/common/Tooltip.js.map +1 -1
- package/lib/esm/components/trees/common/UseHierarchiesLocalization.js +1 -1
- package/lib/esm/components/trees/common/UseHierarchiesLocalization.js.map +1 -1
- package/lib/esm/components/trees/common/UseHierarchyFiltering.js +3 -3
- package/lib/esm/components/trees/common/UseHierarchyFiltering.js.map +1 -1
- package/lib/esm/components/trees/common/UseHierarchyVisibility.d.ts +1 -1
- package/lib/esm/components/trees/common/UseHierarchyVisibility.js +1 -1
- package/lib/esm/components/trees/common/UseHierarchyVisibility.js.map +1 -1
- package/lib/esm/components/trees/common/UseNodeHighlighting.js +1 -1
- package/lib/esm/components/trees/common/UseNodeHighlighting.js.map +1 -1
- package/lib/esm/components/trees/common/UseTelemetryContext.js +1 -1
- package/lib/esm/components/trees/common/UseTelemetryContext.js.map +1 -1
- package/lib/esm/components/trees/common/components/Tree.d.ts +3 -3
- package/lib/esm/components/trees/common/components/Tree.js +9 -9
- package/lib/esm/components/trees/common/components/Tree.js.map +1 -1
- package/lib/esm/components/trees/common/components/TreeNodeCheckbox.js +5 -2
- package/lib/esm/components/trees/common/components/TreeNodeCheckbox.js.map +1 -1
- package/lib/esm/components/trees/common/components/TreeNodeRenderer.d.ts +1 -1
- package/lib/esm/components/trees/common/components/TreeNodeRenderer.js +1 -1
- package/lib/esm/components/trees/common/components/TreeNodeRenderer.js.map +1 -1
- package/lib/esm/components/trees/common/components/TreeRenderer.d.ts +1 -1
- package/lib/esm/components/trees/common/components/TreeRenderer.js +2 -2
- package/lib/esm/components/trees/common/components/TreeRenderer.js.map +1 -1
- package/lib/esm/components/trees/common/components/VisibilityTree.d.ts +4 -4
- package/lib/esm/components/trees/common/components/VisibilityTree.js +3 -3
- package/lib/esm/components/trees/common/components/VisibilityTree.js.map +1 -1
- package/lib/esm/components/trees/common/components/VisibilityTreeRenderer.d.ts +2 -2
- package/lib/esm/components/trees/common/components/VisibilityTreeRenderer.js +2 -2
- package/lib/esm/components/trees/common/components/VisibilityTreeRenderer.js.map +1 -1
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTree.d.ts +1 -1
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTree.js +4 -4
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTree.js.map +1 -1
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeComponent.d.ts +1 -1
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js +3 -3
- package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js.map +1 -1
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTree.d.ts +1 -1
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTree.js +5 -5
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTree.js.map +1 -1
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeComponent.d.ts +1 -1
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeComponent.js +3 -3
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeComponent.js.map +1 -1
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeDefinition.d.ts +1 -1
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeDefinition.js +1 -1
- package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeDefinition.js.map +1 -1
- package/lib/esm/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js +1 -1
- package/lib/esm/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js.map +1 -1
- package/lib/esm/components/trees/index.d.ts +16 -16
- package/lib/esm/components/trees/index.js +14 -14
- package/lib/esm/components/trees/index.js.map +1 -1
- package/lib/esm/components/trees/models-tree/ModelsTree.d.ts +2 -2
- package/lib/esm/components/trees/models-tree/ModelsTree.js +3 -3
- package/lib/esm/components/trees/models-tree/ModelsTree.js.map +1 -1
- package/lib/esm/components/trees/models-tree/ModelsTreeButtons.d.ts +1 -1
- package/lib/esm/components/trees/models-tree/ModelsTreeButtons.js +3 -3
- package/lib/esm/components/trees/models-tree/ModelsTreeButtons.js.map +1 -1
- package/lib/esm/components/trees/models-tree/ModelsTreeComponent.d.ts +2 -2
- package/lib/esm/components/trees/models-tree/ModelsTreeComponent.js +9 -9
- package/lib/esm/components/trees/models-tree/ModelsTreeComponent.js.map +1 -1
- package/lib/esm/components/trees/models-tree/ModelsTreeDefinition.d.ts +1 -1
- package/lib/esm/components/trees/models-tree/ModelsTreeDefinition.js +4 -4
- package/lib/esm/components/trees/models-tree/ModelsTreeDefinition.js.map +1 -1
- package/lib/esm/components/trees/models-tree/UseModelsTree.d.ts +4 -4
- package/lib/esm/components/trees/models-tree/UseModelsTree.js +9 -9
- package/lib/esm/components/trees/models-tree/UseModelsTree.js.map +1 -1
- package/lib/esm/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js +1 -1
- package/lib/esm/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js.map +1 -1
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeIdsCache.d.ts +1 -1
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeIdsCache.js +1 -1
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeIdsCache.js.map +1 -1
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.d.ts +2 -2
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js +9 -17
- package/lib/esm/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js.map +1 -1
- package/lib/esm/components/trees/models-tree/internal/VisibilityChangeEventListener.js +0 -1
- package/lib/esm/components/trees/models-tree/internal/VisibilityChangeEventListener.js.map +1 -1
- package/lib/esm/tree-widget-react.d.ts +5 -5
- package/lib/esm/tree-widget-react.js +5 -5
- package/lib/esm/tree-widget-react.js.map +1 -1
- package/package.json +46 -40
|
@@ -9,15 +9,15 @@ const rxjs_1 = require("rxjs");
|
|
|
9
9
|
const core_bentley_1 = require("@itwin/core-bentley");
|
|
10
10
|
const core_frontend_1 = require("@itwin/core-frontend");
|
|
11
11
|
const presentation_hierarchies_1 = require("@itwin/presentation-hierarchies");
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
12
|
+
const CategoriesVisibilityUtils_js_1 = require("../../common/CategoriesVisibilityUtils.js");
|
|
13
|
+
const Rxjs_js_1 = require("../../common/Rxjs.js");
|
|
14
|
+
const Tooltip_js_1 = require("../../common/Tooltip.js");
|
|
15
|
+
const UseHierarchyVisibility_js_1 = require("../../common/UseHierarchyVisibility.js");
|
|
16
|
+
const Utils_js_1 = require("../Utils.js");
|
|
17
|
+
const AlwaysAndNeverDrawnElementInfo_js_1 = require("./AlwaysAndNeverDrawnElementInfo.js");
|
|
18
|
+
const FilteredTree_js_1 = require("./FilteredTree.js");
|
|
19
|
+
const ModelsTreeNode_js_1 = require("./ModelsTreeNode.js");
|
|
20
|
+
const VisibilityChangeEventListener_js_1 = require("./VisibilityChangeEventListener.js");
|
|
21
21
|
/**
|
|
22
22
|
* Creates an instance if `ModelsTreeVisibilityHandler`.
|
|
23
23
|
* @internal
|
|
@@ -32,13 +32,12 @@ class ModelsTreeVisibilityHandlerImpl {
|
|
|
32
32
|
this._elementChangeQueue = new rxjs_1.Subject();
|
|
33
33
|
this._subscriptions = [];
|
|
34
34
|
this._changeRequest = new rxjs_1.Subject();
|
|
35
|
-
this._eventListener = (0,
|
|
36
|
-
this._alwaysAndNeverDrawnElements = new
|
|
35
|
+
this._eventListener = (0, VisibilityChangeEventListener_js_1.createVisibilityChangeEventListener)(_props.viewport);
|
|
36
|
+
this._alwaysAndNeverDrawnElements = new AlwaysAndNeverDrawnElementInfo_js_1.AlwaysAndNeverDrawnElementInfo(_props.viewport);
|
|
37
37
|
this._idsCache = this._props.idsCache;
|
|
38
|
-
this._filteredTree = _props.filteredPaths ? (0,
|
|
38
|
+
this._filteredTree = _props.filteredPaths ? (0, FilteredTree_js_1.createFilteredTree)(this._props.imodelAccess, _props.filteredPaths) : undefined;
|
|
39
39
|
this._subscriptions.push(this._elementChangeQueue.pipe((0, rxjs_1.concatAll)()).subscribe());
|
|
40
40
|
}
|
|
41
|
-
// istanbul ignore next
|
|
42
41
|
get onVisibilityChange() {
|
|
43
42
|
return this._eventListener.onVisibilityChange;
|
|
44
43
|
}
|
|
@@ -68,7 +67,7 @@ class ModelsTreeVisibilityHandlerImpl {
|
|
|
68
67
|
this._alwaysAndNeverDrawnElements.resumeChangeEvents();
|
|
69
68
|
},
|
|
70
69
|
}));
|
|
71
|
-
return (0,
|
|
70
|
+
return (0, Rxjs_js_1.toVoidPromise)(changeObservable);
|
|
72
71
|
}
|
|
73
72
|
dispose() {
|
|
74
73
|
this._eventListener.dispose();
|
|
@@ -83,28 +82,28 @@ class ModelsTreeVisibilityHandlerImpl {
|
|
|
83
82
|
return this.getClassGroupingNodeDisplayStatus(node);
|
|
84
83
|
}
|
|
85
84
|
if (!presentation_hierarchies_1.HierarchyNode.isInstancesNode(node)) {
|
|
86
|
-
return (0, rxjs_1.of)((0,
|
|
85
|
+
return (0, rxjs_1.of)((0, Tooltip_js_1.createVisibilityStatus)("disabled"));
|
|
87
86
|
}
|
|
88
|
-
if (
|
|
87
|
+
if (ModelsTreeNode_js_1.ModelsTreeNode.isSubjectNode(node)) {
|
|
89
88
|
// note: subject nodes may be merged to represent multiple subject instances
|
|
90
89
|
return this.getSubjectNodeVisibilityStatus({ subjectIds: node.key.instanceKeys.map((key) => key.id) });
|
|
91
90
|
}
|
|
92
|
-
if (
|
|
91
|
+
if (ModelsTreeNode_js_1.ModelsTreeNode.isModelNode(node)) {
|
|
93
92
|
return this.getModelVisibilityStatus({ modelId: node.key.instanceKeys[0].id });
|
|
94
93
|
}
|
|
95
|
-
const modelId =
|
|
94
|
+
const modelId = ModelsTreeNode_js_1.ModelsTreeNode.getModelId(node);
|
|
96
95
|
if (!modelId) {
|
|
97
|
-
return (0, rxjs_1.of)((0,
|
|
96
|
+
return (0, rxjs_1.of)((0, Tooltip_js_1.createVisibilityStatus)("disabled"));
|
|
98
97
|
}
|
|
99
|
-
if (
|
|
98
|
+
if (ModelsTreeNode_js_1.ModelsTreeNode.isCategoryNode(node)) {
|
|
100
99
|
return this.getCategoryDisplayStatus({
|
|
101
100
|
categoryId: node.key.instanceKeys[0].id,
|
|
102
101
|
modelId,
|
|
103
102
|
});
|
|
104
103
|
}
|
|
105
|
-
const categoryId =
|
|
104
|
+
const categoryId = ModelsTreeNode_js_1.ModelsTreeNode.getCategoryId(node);
|
|
106
105
|
if (!categoryId) {
|
|
107
|
-
return (0, rxjs_1.of)((0,
|
|
106
|
+
return (0, rxjs_1.of)((0, Tooltip_js_1.createVisibilityStatus)("disabled"));
|
|
108
107
|
}
|
|
109
108
|
return this.getElementDisplayStatus({
|
|
110
109
|
elementId: node.key.instanceKeys[0].id,
|
|
@@ -123,26 +122,26 @@ class ModelsTreeVisibilityHandlerImpl {
|
|
|
123
122
|
}
|
|
124
123
|
if (categories?.size) {
|
|
125
124
|
observables.push((0, rxjs_1.from)(categories).pipe((0, rxjs_1.mergeMap)((key) => {
|
|
126
|
-
const { modelId, categoryId } = (0,
|
|
125
|
+
const { modelId, categoryId } = (0, FilteredTree_js_1.parseCategoryKey)(key);
|
|
127
126
|
return this.getCategoryDisplayStatus({ modelId, categoryId, ignoreTooltip: true });
|
|
128
127
|
})));
|
|
129
128
|
}
|
|
130
129
|
if (elements?.size) {
|
|
131
|
-
observables.push((0, rxjs_1.from)(elements).pipe((0,
|
|
132
|
-
const { modelId, categoryId } = (0,
|
|
133
|
-
return (0, rxjs_1.from)(elementIds).pipe((0,
|
|
130
|
+
observables.push((0, rxjs_1.from)(elements).pipe((0, Utils_js_1.releaseMainThreadOnItemsCount)(50), (0, rxjs_1.mergeMap)(([categoryKey, elementIds]) => {
|
|
131
|
+
const { modelId, categoryId } = (0, FilteredTree_js_1.parseCategoryKey)(categoryKey);
|
|
132
|
+
return (0, rxjs_1.from)(elementIds).pipe((0, Utils_js_1.releaseMainThreadOnItemsCount)(1000), (0, rxjs_1.mergeMap)((elementId) => this.getElementDisplayStatus({ modelId, categoryId, elementId, ignoreTooltip: true })));
|
|
134
133
|
})));
|
|
135
134
|
}
|
|
136
135
|
return (0, rxjs_1.merge)(...observables);
|
|
137
136
|
}), (0, rxjs_1.map)((x) => x.state), getVisibilityFromTreeNodeChildren, (0, rxjs_1.map)((x) => {
|
|
138
137
|
(0, core_bentley_1.assert)(x !== "empty");
|
|
139
|
-
return (0,
|
|
138
|
+
return (0, Tooltip_js_1.createVisibilityStatus)(x);
|
|
140
139
|
}));
|
|
141
140
|
}
|
|
142
141
|
getSubjectNodeVisibilityStatus({ subjectIds, ignoreTooltip }) {
|
|
143
142
|
const result = (0, rxjs_1.defer)(() => {
|
|
144
143
|
if (!this._props.viewport.view.isSpatialView()) {
|
|
145
|
-
return (0, rxjs_1.of)((0,
|
|
144
|
+
return (0, rxjs_1.of)((0, Tooltip_js_1.createVisibilityStatus)("disabled", getTooltipOptions("modelsTree.subject.nonSpatialView", ignoreTooltip)));
|
|
146
145
|
}
|
|
147
146
|
return (0, rxjs_1.from)(this._idsCache.getSubjectModelIds(subjectIds)).pipe((0, rxjs_1.concatAll)(), (0, rxjs_1.distinct)(), (0, rxjs_1.mergeMap)((modelId) => this.getModelVisibilityStatus({ modelId, ignoreTooltip: true })), (0, rxjs_1.map)((x) => x.state), getVisibilityStatusFromTreeNodeChildren({
|
|
148
147
|
visible: "modelsTree.subject.allModelsVisible",
|
|
@@ -150,44 +149,44 @@ class ModelsTreeVisibilityHandlerImpl {
|
|
|
150
149
|
partial: "modelsTree.subject.someModelsHidden",
|
|
151
150
|
}, ignoreTooltip));
|
|
152
151
|
});
|
|
153
|
-
return (0,
|
|
152
|
+
return (0, UseHierarchyVisibility_js_1.createVisibilityHandlerResult)(this, { ids: subjectIds }, result, this._props.overrides?.getSubjectNodeVisibility);
|
|
154
153
|
}
|
|
155
154
|
getModelVisibilityStatus({ modelId, ignoreTooltip }) {
|
|
156
155
|
const result = (0, rxjs_1.defer)(() => {
|
|
157
156
|
const viewport = this._props.viewport;
|
|
158
157
|
if (!viewport.view.isSpatialView()) {
|
|
159
|
-
return (0, rxjs_1.of)((0,
|
|
158
|
+
return (0, rxjs_1.of)((0, Tooltip_js_1.createVisibilityStatus)("disabled", getTooltipOptions("modelsTree.model.nonSpatialView", ignoreTooltip)));
|
|
160
159
|
}
|
|
161
160
|
if (!viewport.view.viewsModel(modelId)) {
|
|
162
|
-
return (0, rxjs_1.of)((0,
|
|
161
|
+
return (0, rxjs_1.of)((0, Tooltip_js_1.createVisibilityStatus)("hidden", getTooltipOptions("modelsTree.model.hiddenThroughModelSelector", ignoreTooltip)));
|
|
163
162
|
}
|
|
164
163
|
return (0, rxjs_1.from)(this._idsCache.getModelCategories(modelId)).pipe((0, rxjs_1.concatAll)(), (0, rxjs_1.mergeMap)((categoryId) => this.getCategoryDisplayStatus({ modelId, categoryId, ignoreTooltip: true })), (0, rxjs_1.map)((x) => x.state), getVisibilityFromTreeNodeChildren, (0, rxjs_1.map)((visibilityByCategories) => {
|
|
165
164
|
const state = visibilityByCategories === "empty" ? "visible" : visibilityByCategories;
|
|
166
|
-
return (0,
|
|
165
|
+
return (0, Tooltip_js_1.createVisibilityStatus)(state, getTooltipOptions(state === "partial" ? "modelsTree.model.someCategoriesHidden" : `modelsTree.model.allCategories${state ? "Visible" : "Hidden"}`, ignoreTooltip));
|
|
167
166
|
}));
|
|
168
167
|
});
|
|
169
|
-
return (0,
|
|
168
|
+
return (0, UseHierarchyVisibility_js_1.createVisibilityHandlerResult)(this, { id: modelId }, result, this._props.overrides?.getModelDisplayStatus);
|
|
170
169
|
}
|
|
171
170
|
getDefaultCategoryVisibilityStatus({ modelId, categoryId, ignoreTooltip, }) {
|
|
172
171
|
const viewport = this._props.viewport;
|
|
173
172
|
if (!viewport.view.viewsModel(modelId)) {
|
|
174
|
-
return (0,
|
|
173
|
+
return (0, Tooltip_js_1.createVisibilityStatus)("hidden", getTooltipOptions("modelsTree.category.hiddenThroughModel", ignoreTooltip));
|
|
175
174
|
}
|
|
176
175
|
switch (this._props.viewport.perModelCategoryVisibility.getOverride(modelId, categoryId)) {
|
|
177
176
|
case core_frontend_1.PerModelCategoryVisibility.Override.Show:
|
|
178
|
-
return (0,
|
|
177
|
+
return (0, Tooltip_js_1.createVisibilityStatus)("visible", getTooltipOptions("modelsTree.category.displayedThroughPerModelOverride", ignoreTooltip));
|
|
179
178
|
case core_frontend_1.PerModelCategoryVisibility.Override.Hide:
|
|
180
|
-
return (0,
|
|
179
|
+
return (0, Tooltip_js_1.createVisibilityStatus)("hidden", getTooltipOptions("modelsTree.category.hiddenThroughPerModelOverride", ignoreTooltip));
|
|
181
180
|
}
|
|
182
181
|
const isVisible = viewport.view.viewsCategory(categoryId);
|
|
183
182
|
return isVisible
|
|
184
|
-
? (0,
|
|
185
|
-
: (0,
|
|
183
|
+
? (0, Tooltip_js_1.createVisibilityStatus)("visible", getTooltipOptions("modelsTree.category.displayedThroughCategorySelector", ignoreTooltip))
|
|
184
|
+
: (0, Tooltip_js_1.createVisibilityStatus)("hidden", getTooltipOptions("modelsTree.category.hiddenThroughCategorySelector", ignoreTooltip));
|
|
186
185
|
}
|
|
187
186
|
getCategoryDisplayStatus({ ignoreTooltip, ...props }) {
|
|
188
187
|
const result = (0, rxjs_1.defer)(() => {
|
|
189
188
|
if (!this._props.viewport.view.viewsModel(props.modelId)) {
|
|
190
|
-
return (0, rxjs_1.of)((0,
|
|
189
|
+
return (0, rxjs_1.of)((0, Tooltip_js_1.createVisibilityStatus)("hidden", getTooltipOptions("modelsTree.category.hiddenThroughModel", ignoreTooltip)));
|
|
191
190
|
}
|
|
192
191
|
return this.getVisibilityFromAlwaysAndNeverDrawnElements({
|
|
193
192
|
queryProps: props,
|
|
@@ -201,20 +200,20 @@ class ModelsTreeVisibilityHandlerImpl {
|
|
|
201
200
|
ignoreTooltip,
|
|
202
201
|
});
|
|
203
202
|
});
|
|
204
|
-
return (0,
|
|
203
|
+
return (0, UseHierarchyVisibility_js_1.createVisibilityHandlerResult)(this, props, result, this._props.overrides?.getCategoryDisplayStatus);
|
|
205
204
|
}
|
|
206
205
|
getClassGroupingNodeDisplayStatus(node) {
|
|
207
206
|
const result = (0, rxjs_1.defer)(() => {
|
|
208
207
|
const info = this.getGroupingNodeInfo(node);
|
|
209
208
|
const { modelId, categoryId, elementIds } = info;
|
|
210
209
|
if (!this._props.viewport.view.viewsModel(modelId)) {
|
|
211
|
-
return (0, rxjs_1.of)((0,
|
|
210
|
+
return (0, rxjs_1.of)((0, Tooltip_js_1.createVisibilityStatus)("hidden"));
|
|
212
211
|
}
|
|
213
212
|
return this.getVisibilityFromAlwaysAndNeverDrawnElements({
|
|
214
213
|
elements: elementIds,
|
|
215
214
|
defaultStatus: () => {
|
|
216
215
|
const status = this.getDefaultCategoryVisibilityStatus({ categoryId, modelId, ignoreTooltip: true });
|
|
217
|
-
return (0,
|
|
216
|
+
return (0, Tooltip_js_1.createVisibilityStatus)(status.state, getTooltipOptions(`modelsTree.groupingNode.${status.state}ThroughCategory`));
|
|
218
217
|
},
|
|
219
218
|
tooltips: {
|
|
220
219
|
allElementsInAlwaysDrawnList: "modelsTree.groupingNode.allElementsVisible",
|
|
@@ -224,19 +223,19 @@ class ModelsTreeVisibilityHandlerImpl {
|
|
|
224
223
|
},
|
|
225
224
|
});
|
|
226
225
|
});
|
|
227
|
-
return (0,
|
|
226
|
+
return (0, UseHierarchyVisibility_js_1.createVisibilityHandlerResult)(this, { node }, result, this._props.overrides?.getElementGroupingNodeDisplayStatus);
|
|
228
227
|
}
|
|
229
228
|
getElementOverriddenVisibility(elementId, ignoreTooltip) {
|
|
230
229
|
const viewport = this._props.viewport;
|
|
231
230
|
if (viewport.neverDrawn?.has(elementId)) {
|
|
232
|
-
return (0,
|
|
231
|
+
return (0, Tooltip_js_1.createVisibilityStatus)("hidden", getTooltipOptions("modelsTree.element.hiddenThroughNeverDrawnList", ignoreTooltip));
|
|
233
232
|
}
|
|
234
233
|
if (viewport.alwaysDrawn?.size) {
|
|
235
234
|
if (viewport.alwaysDrawn.has(elementId)) {
|
|
236
|
-
return (0,
|
|
235
|
+
return (0, Tooltip_js_1.createVisibilityStatus)("visible", getTooltipOptions("modelsTree.element.displayedThroughAlwaysDrawnList", ignoreTooltip));
|
|
237
236
|
}
|
|
238
237
|
if (viewport.isAlwaysDrawnExclusive) {
|
|
239
|
-
return (0,
|
|
238
|
+
return (0, Tooltip_js_1.createVisibilityStatus)("hidden", getTooltipOptions("modelsTree.element.hiddenDueToOtherElementsExclusivelyAlwaysDrawn", ignoreTooltip));
|
|
240
239
|
}
|
|
241
240
|
}
|
|
242
241
|
return undefined;
|
|
@@ -246,16 +245,16 @@ class ModelsTreeVisibilityHandlerImpl {
|
|
|
246
245
|
const viewport = this._props.viewport;
|
|
247
246
|
const { elementId, modelId, categoryId } = props;
|
|
248
247
|
if (!viewport.view.viewsModel(modelId)) {
|
|
249
|
-
return (0, rxjs_1.of)((0,
|
|
248
|
+
return (0, rxjs_1.of)((0, Tooltip_js_1.createVisibilityStatus)("hidden", getTooltipOptions("modelsTree.element.hiddenThroughModel", ignoreTooltip)));
|
|
250
249
|
}
|
|
251
250
|
let status = this.getElementOverriddenVisibility(elementId, ignoreTooltip);
|
|
252
251
|
if (status) {
|
|
253
252
|
return (0, rxjs_1.of)(status);
|
|
254
253
|
}
|
|
255
254
|
status = this.getDefaultCategoryVisibilityStatus({ categoryId, modelId, ignoreTooltip: true });
|
|
256
|
-
return (0, rxjs_1.of)((0,
|
|
255
|
+
return (0, rxjs_1.of)((0, Tooltip_js_1.createVisibilityStatus)(status.state, getTooltipOptions(status.state === "visible" ? undefined : "modelsTree.element.hiddenThroughCategory", ignoreTooltip)));
|
|
257
256
|
});
|
|
258
|
-
return (0,
|
|
257
|
+
return (0, UseHierarchyVisibility_js_1.createVisibilityHandlerResult)(this, props, result, this._props.overrides?.getElementDisplayStatus);
|
|
259
258
|
}
|
|
260
259
|
/** Changes visibility of the items represented by the tree node. */
|
|
261
260
|
changeVisibilityObs(node, on) {
|
|
@@ -265,32 +264,28 @@ class ModelsTreeVisibilityHandlerImpl {
|
|
|
265
264
|
if (presentation_hierarchies_1.HierarchyNode.isClassGroupingNode(node)) {
|
|
266
265
|
return this.changeElementGroupingNodeState(node, on);
|
|
267
266
|
}
|
|
268
|
-
// istanbul ignore if
|
|
269
267
|
if (!presentation_hierarchies_1.HierarchyNode.isInstancesNode(node)) {
|
|
270
268
|
return rxjs_1.EMPTY;
|
|
271
269
|
}
|
|
272
|
-
if (
|
|
270
|
+
if (ModelsTreeNode_js_1.ModelsTreeNode.isSubjectNode(node)) {
|
|
273
271
|
return this.changeSubjectNodeState(node.key.instanceKeys.map((key) => key.id), on);
|
|
274
272
|
}
|
|
275
|
-
if (
|
|
273
|
+
if (ModelsTreeNode_js_1.ModelsTreeNode.isModelNode(node)) {
|
|
276
274
|
return this.changeModelState({ ids: node.key.instanceKeys[0].id, on });
|
|
277
275
|
}
|
|
278
|
-
const modelId =
|
|
279
|
-
// istanbul ignore if
|
|
276
|
+
const modelId = ModelsTreeNode_js_1.ModelsTreeNode.getModelId(node);
|
|
280
277
|
if (!modelId) {
|
|
281
278
|
return rxjs_1.EMPTY;
|
|
282
279
|
}
|
|
283
|
-
if (
|
|
280
|
+
if (ModelsTreeNode_js_1.ModelsTreeNode.isCategoryNode(node)) {
|
|
284
281
|
return this.changeCategoryState({
|
|
285
282
|
categoryId: node.key.instanceKeys[0].id,
|
|
286
283
|
modelId,
|
|
287
284
|
on,
|
|
288
285
|
});
|
|
289
286
|
}
|
|
290
|
-
const categoryId =
|
|
291
|
-
// istanbul ignore if
|
|
287
|
+
const categoryId = ModelsTreeNode_js_1.ModelsTreeNode.getCategoryId(node);
|
|
292
288
|
if (!categoryId) {
|
|
293
|
-
// istanbul ignore next
|
|
294
289
|
return rxjs_1.EMPTY;
|
|
295
290
|
}
|
|
296
291
|
return this.changeElementsState({
|
|
@@ -315,13 +310,13 @@ class ModelsTreeVisibilityHandlerImpl {
|
|
|
315
310
|
}
|
|
316
311
|
if (categories?.size) {
|
|
317
312
|
observables.push((0, rxjs_1.from)(categories).pipe((0, rxjs_1.mergeMap)((key) => {
|
|
318
|
-
const { modelId, categoryId } = (0,
|
|
313
|
+
const { modelId, categoryId } = (0, FilteredTree_js_1.parseCategoryKey)(key);
|
|
319
314
|
return this.changeCategoryState({ modelId, categoryId, on });
|
|
320
315
|
})));
|
|
321
316
|
}
|
|
322
317
|
if (elements?.size) {
|
|
323
318
|
observables.push((0, rxjs_1.from)(elements).pipe((0, rxjs_1.mergeMap)(([categoryKey, elementIds]) => {
|
|
324
|
-
const { modelId, categoryId } = (0,
|
|
319
|
+
const { modelId, categoryId } = (0, FilteredTree_js_1.parseCategoryKey)(categoryKey);
|
|
325
320
|
return this.changeElementsState({ modelId, categoryId, elementIds, on });
|
|
326
321
|
})));
|
|
327
322
|
}
|
|
@@ -330,18 +325,16 @@ class ModelsTreeVisibilityHandlerImpl {
|
|
|
330
325
|
}
|
|
331
326
|
changeSubjectNodeState(ids, on) {
|
|
332
327
|
const result = (0, rxjs_1.defer)(() => {
|
|
333
|
-
// istanbul ignore if
|
|
334
328
|
if (!this._props.viewport.view.isSpatialView()) {
|
|
335
329
|
return rxjs_1.EMPTY;
|
|
336
330
|
}
|
|
337
331
|
return (0, rxjs_1.from)(this._idsCache.getSubjectModelIds(ids)).pipe((0, rxjs_1.mergeMap)((modelIds) => this.changeModelState({ ids: modelIds, on })));
|
|
338
332
|
});
|
|
339
|
-
return (0,
|
|
333
|
+
return (0, UseHierarchyVisibility_js_1.createVisibilityHandlerResult)(this, { ids, on }, result, this._props.overrides?.changeSubjectNodeState);
|
|
340
334
|
}
|
|
341
335
|
changeModelState(props) {
|
|
342
336
|
const result = (0, rxjs_1.defer)(() => {
|
|
343
337
|
const viewport = this._props.viewport;
|
|
344
|
-
// istanbul ignore if
|
|
345
338
|
if (!viewport.view.isSpatialView()) {
|
|
346
339
|
return rxjs_1.EMPTY;
|
|
347
340
|
}
|
|
@@ -357,7 +350,7 @@ class ModelsTreeVisibilityHandlerImpl {
|
|
|
357
350
|
return (0, rxjs_1.from)(this._idsCache.getModelCategories(modelId)).pipe((0, rxjs_1.concatAll)(), (0, rxjs_1.mergeMap)((categoryId) => this.changeCategoryState({ categoryId, modelId, on: true })));
|
|
358
351
|
})));
|
|
359
352
|
});
|
|
360
|
-
return (0,
|
|
353
|
+
return (0, UseHierarchyVisibility_js_1.createVisibilityHandlerResult)(this, props, result, this._props.overrides?.changeModelState);
|
|
361
354
|
}
|
|
362
355
|
showModelWithoutAnyCategoriesOrElements(modelId) {
|
|
363
356
|
const viewport = this._props.viewport;
|
|
@@ -399,7 +392,7 @@ class ModelsTreeVisibilityHandlerImpl {
|
|
|
399
392
|
return this.clearAlwaysAndNeverDrawnElements(props);
|
|
400
393
|
}));
|
|
401
394
|
});
|
|
402
|
-
return (0,
|
|
395
|
+
return (0, UseHierarchyVisibility_js_1.createVisibilityHandlerResult)(this, props, result, this._props.overrides?.changeCategoryState);
|
|
403
396
|
}
|
|
404
397
|
/**
|
|
405
398
|
* Updates visibility of all grouping node's elements.
|
|
@@ -416,7 +409,7 @@ class ModelsTreeVisibilityHandlerImpl {
|
|
|
416
409
|
return this.queueElementsVisibilityChange(elementIds, on, isDisplayedByDefault);
|
|
417
410
|
}));
|
|
418
411
|
});
|
|
419
|
-
return (0,
|
|
412
|
+
return (0, UseHierarchyVisibility_js_1.createVisibilityHandlerResult)(this, { node, on }, result, this._props.overrides?.changeElementGroupingNodeState);
|
|
420
413
|
}
|
|
421
414
|
/**
|
|
422
415
|
* Updates visibility of an element and all its child elements by adding them to the always/never drawn list.
|
|
@@ -432,7 +425,7 @@ class ModelsTreeVisibilityHandlerImpl {
|
|
|
432
425
|
return this.queueElementsVisibilityChange(elementIds, on, isDisplayedByDefault);
|
|
433
426
|
}));
|
|
434
427
|
});
|
|
435
|
-
return (0,
|
|
428
|
+
return (0, UseHierarchyVisibility_js_1.createVisibilityHandlerResult)(this, props, result, this._props.overrides?.changeElementsState);
|
|
436
429
|
}
|
|
437
430
|
queueElementsVisibilityChange(elementIds, on, visibleByDefault) {
|
|
438
431
|
const finishedSubject = new rxjs_1.Subject();
|
|
@@ -460,7 +453,7 @@ class ModelsTreeVisibilityHandlerImpl {
|
|
|
460
453
|
return (elementIds) => {
|
|
461
454
|
const { on, isDisplayedByDefault } = props;
|
|
462
455
|
const isAlwaysDrawnExclusive = this._props.viewport.isAlwaysDrawnExclusive;
|
|
463
|
-
return elementIds.pipe((0,
|
|
456
|
+
return elementIds.pipe((0, Utils_js_1.releaseMainThreadOnItemsCount)(500), (0, rxjs_1.reduce)((acc, elementId) => {
|
|
464
457
|
if (acc.alwaysDrawn === undefined || acc.neverDrawn === undefined) {
|
|
465
458
|
acc.alwaysDrawn = new Set(this._props.viewport.alwaysDrawn || []);
|
|
466
459
|
acc.neverDrawn = new Set(this._props.viewport.neverDrawn || []);
|
|
@@ -498,20 +491,20 @@ class ModelsTreeVisibilityHandlerImpl {
|
|
|
498
491
|
getVisibilityFromAlwaysAndNeverDrawnElementsImpl(props) {
|
|
499
492
|
const { alwaysDrawn, neverDrawn, totalCount, ignoreTooltip } = props;
|
|
500
493
|
if (neverDrawn?.size === totalCount) {
|
|
501
|
-
return (0,
|
|
494
|
+
return (0, Tooltip_js_1.createVisibilityStatus)("hidden", getTooltipOptions(props.tooltips.allElementsInNeverDrawnList, ignoreTooltip));
|
|
502
495
|
}
|
|
503
496
|
if (alwaysDrawn?.size === totalCount) {
|
|
504
|
-
return (0,
|
|
497
|
+
return (0, Tooltip_js_1.createVisibilityStatus)("visible", getTooltipOptions(props.tooltips.allElementsInAlwaysDrawnList, ignoreTooltip));
|
|
505
498
|
}
|
|
506
499
|
const viewport = this._props.viewport;
|
|
507
500
|
if (viewport.isAlwaysDrawnExclusive && viewport.alwaysDrawn?.size) {
|
|
508
501
|
return alwaysDrawn?.size
|
|
509
|
-
? (0,
|
|
510
|
-
: (0,
|
|
502
|
+
? (0, Tooltip_js_1.createVisibilityStatus)("partial", getTooltipOptions(props.tooltips.elementsInBothAlwaysAndNeverDrawn, ignoreTooltip))
|
|
503
|
+
: (0, Tooltip_js_1.createVisibilityStatus)("hidden", getTooltipOptions(props.tooltips.noElementsInExclusiveAlwaysDrawnList, ignoreTooltip));
|
|
511
504
|
}
|
|
512
505
|
const status = props.defaultStatus();
|
|
513
506
|
if ((status.state === "visible" && neverDrawn?.size) || (status.state === "hidden" && alwaysDrawn?.size)) {
|
|
514
|
-
return (0,
|
|
507
|
+
return (0, Tooltip_js_1.createVisibilityStatus)("partial", getTooltipOptions(undefined, ignoreTooltip));
|
|
515
508
|
}
|
|
516
509
|
return status;
|
|
517
510
|
}
|
|
@@ -519,7 +512,7 @@ class ModelsTreeVisibilityHandlerImpl {
|
|
|
519
512
|
const viewport = this._props.viewport;
|
|
520
513
|
if (viewport.isAlwaysDrawnExclusive) {
|
|
521
514
|
if (!viewport?.alwaysDrawn?.size) {
|
|
522
|
-
return (0, rxjs_1.of)((0,
|
|
515
|
+
return (0, rxjs_1.of)((0, Tooltip_js_1.createVisibilityStatus)("hidden", getTooltipOptions(props.tooltips.noElementsInExclusiveAlwaysDrawnList, ignoreTooltip)));
|
|
523
516
|
}
|
|
524
517
|
}
|
|
525
518
|
else if (!viewport?.neverDrawn?.size && !viewport?.alwaysDrawn?.size) {
|
|
@@ -569,15 +562,15 @@ class ModelsTreeVisibilityHandlerImpl {
|
|
|
569
562
|
}));
|
|
570
563
|
}
|
|
571
564
|
getGroupingNodeInfo(node) {
|
|
572
|
-
const modelId =
|
|
573
|
-
const categoryId =
|
|
565
|
+
const modelId = ModelsTreeNode_js_1.ModelsTreeNode.getModelId(node);
|
|
566
|
+
const categoryId = ModelsTreeNode_js_1.ModelsTreeNode.getCategoryId(node);
|
|
574
567
|
(0, core_bentley_1.assert)(!!modelId && !!categoryId);
|
|
575
568
|
const elementIds = new Set(node.groupedInstanceKeys.map((key) => key.id));
|
|
576
569
|
return { modelId, categoryId, elementIds };
|
|
577
570
|
}
|
|
578
571
|
}
|
|
579
572
|
function getVisibilityFromTreeNodeChildren(obs) {
|
|
580
|
-
return obs.pipe((0,
|
|
573
|
+
return obs.pipe((0, Rxjs_js_1.reduceWhile)((x) => x.allVisible || x.allHidden, (acc, val) => {
|
|
581
574
|
acc.allVisible &&= val === "visible";
|
|
582
575
|
acc.allHidden &&= val === "hidden";
|
|
583
576
|
return acc;
|
|
@@ -594,7 +587,7 @@ function getVisibilityStatusFromTreeNodeChildren(tooltipMap, ignoreTooltip) {
|
|
|
594
587
|
if (visibility === "empty") {
|
|
595
588
|
visibility = "visible";
|
|
596
589
|
}
|
|
597
|
-
return (0,
|
|
590
|
+
return (0, Tooltip_js_1.createVisibilityStatus)(visibility, getTooltipOptions(tooltipMap[visibility], ignoreTooltip));
|
|
598
591
|
}));
|
|
599
592
|
};
|
|
600
593
|
}
|
|
@@ -617,7 +610,7 @@ async function showAllModels(models, viewport) {
|
|
|
617
610
|
await viewport.addViewedModels(models);
|
|
618
611
|
viewport.clearNeverDrawn();
|
|
619
612
|
viewport.clearAlwaysDrawn();
|
|
620
|
-
await (0,
|
|
613
|
+
await (0, CategoriesVisibilityUtils_js_1.toggleAllCategories)(viewport, true);
|
|
621
614
|
}
|
|
622
615
|
exports.showAllModels = showAllModels;
|
|
623
616
|
/**
|
|
@@ -652,7 +645,6 @@ exports.invertAllModels = invertAllModels;
|
|
|
652
645
|
* @public
|
|
653
646
|
*/
|
|
654
647
|
async function toggleModels(models, enable, viewport) {
|
|
655
|
-
// istanbul ignore if
|
|
656
648
|
if (!models) {
|
|
657
649
|
return;
|
|
658
650
|
}
|