@itwin/tree-widget-react 4.0.0-alpha.6 → 4.0.0-alpha.7

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.
Files changed (159) hide show
  1. package/CHANGELOG.md +22 -1
  2. package/README.md +2 -1
  3. package/lib/esm/tree-widget-react/TreeWidget.js +1 -1
  4. package/lib/esm/tree-widget-react/TreeWidget.js.map +1 -1
  5. package/lib/esm/tree-widget-react/components/tree-header/SearchBox.d.ts +1 -0
  6. package/lib/esm/tree-widget-react/components/tree-header/SearchBox.js +1 -0
  7. package/lib/esm/tree-widget-react/components/tree-header/SearchBox.js.map +1 -1
  8. package/lib/esm/tree-widget-react/components/tree-header/SelectableTree.css +2 -0
  9. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTreeButtons.d.ts +9 -2
  10. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTreeButtons.js +50 -4
  11. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTreeButtons.js.map +1 -1
  12. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTreeComponent.js +1 -1
  13. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTreeComponent.js.map +1 -1
  14. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTreeDefinition.d.ts +17 -3
  15. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTreeDefinition.js +561 -161
  16. package/lib/esm/tree-widget-react/components/trees/categories-tree/CategoriesTreeDefinition.js.map +1 -1
  17. package/lib/esm/tree-widget-react/components/trees/categories-tree/UseCategoriesTree.d.ts +6 -2
  18. package/lib/esm/tree-widget-react/components/trees/categories-tree/UseCategoriesTree.js +115 -40
  19. package/lib/esm/tree-widget-react/components/trees/categories-tree/UseCategoriesTree.js.map +1 -1
  20. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeIdsCache.d.ts +30 -15
  21. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeIdsCache.js +192 -38
  22. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeIdsCache.js.map +1 -1
  23. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeNode.d.ts +18 -3
  24. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeNode.js +30 -3
  25. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeNode.js.map +1 -1
  26. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeVisibilityHandler.d.ts +24 -0
  27. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeVisibilityHandler.js +785 -0
  28. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeVisibilityHandler.js.map +1 -0
  29. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/FilteredTree.d.ts +39 -0
  30. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/FilteredTree.js +221 -0
  31. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/FilteredTree.js.map +1 -0
  32. package/lib/esm/tree-widget-react/components/trees/common/CategoriesVisibilityUtils.d.ts +5 -17
  33. package/lib/esm/tree-widget-react/components/trees/common/CategoriesVisibilityUtils.js +5 -62
  34. package/lib/esm/tree-widget-react/components/trees/common/CategoriesVisibilityUtils.js.map +1 -1
  35. package/lib/esm/tree-widget-react/components/trees/common/UseHierarchyVisibility.d.ts +2 -0
  36. package/lib/esm/tree-widget-react/components/trees/common/UseHierarchyVisibility.js +4 -2
  37. package/lib/esm/tree-widget-react/components/trees/common/UseHierarchyVisibility.js.map +1 -1
  38. package/lib/esm/tree-widget-react/components/trees/common/UseNodeHighlighting.d.ts +1 -0
  39. package/lib/esm/tree-widget-react/components/trees/common/UseNodeHighlighting.js +2 -1
  40. package/lib/esm/tree-widget-react/components/trees/common/UseNodeHighlighting.js.map +1 -1
  41. package/lib/esm/tree-widget-react/components/trees/common/UseTelemetryContext.d.ts +1 -0
  42. package/lib/esm/tree-widget-react/components/trees/common/UseTelemetryContext.js +2 -1
  43. package/lib/esm/tree-widget-react/components/trees/common/UseTelemetryContext.js.map +1 -1
  44. package/lib/esm/tree-widget-react/components/trees/common/Utils.d.ts +33 -23
  45. package/lib/esm/tree-widget-react/components/trees/common/Utils.js +60 -47
  46. package/lib/esm/tree-widget-react/components/trees/common/Utils.js.map +1 -1
  47. package/lib/esm/tree-widget-react/components/trees/common/components/BaseTreeRenderer.js +3 -3
  48. package/lib/esm/tree-widget-react/components/trees/common/components/BaseTreeRenderer.js.map +1 -1
  49. package/lib/esm/tree-widget-react/components/trees/common/components/Delayed.d.ts +1 -0
  50. package/lib/esm/tree-widget-react/components/trees/common/components/Delayed.js +1 -0
  51. package/lib/esm/tree-widget-react/components/trees/common/components/Delayed.js.map +1 -1
  52. package/lib/esm/tree-widget-react/components/trees/common/components/ProgressOverlay.d.ts +1 -0
  53. package/lib/esm/tree-widget-react/components/trees/common/components/ProgressOverlay.js +1 -0
  54. package/lib/esm/tree-widget-react/components/trees/common/components/ProgressOverlay.js.map +1 -1
  55. package/lib/esm/tree-widget-react/components/trees/common/components/Tree.css +2 -1
  56. package/lib/esm/tree-widget-react/components/trees/common/components/Tree.js +4 -4
  57. package/lib/esm/tree-widget-react/components/trees/common/components/Tree.js.map +1 -1
  58. package/lib/esm/tree-widget-react/components/trees/common/components/UseVisibilityButtonHandler.d.ts +1 -0
  59. package/lib/esm/tree-widget-react/components/trees/common/components/UseVisibilityButtonHandler.js +1 -0
  60. package/lib/esm/tree-widget-react/components/trees/common/components/UseVisibilityButtonHandler.js.map +1 -1
  61. package/lib/esm/tree-widget-react/components/trees/common/components/VisibilityTree.js +1 -1
  62. package/lib/esm/tree-widget-react/components/trees/common/components/VisibilityTree.js.map +1 -1
  63. package/lib/esm/tree-widget-react/components/trees/common/components/VisibilityTreeRenderer.js.map +1 -1
  64. package/lib/esm/tree-widget-react/components/trees/common/internal/AlwaysAndNeverDrawnElementInfo.d.ts +44 -0
  65. package/lib/esm/tree-widget-react/components/trees/{models-tree → common}/internal/AlwaysAndNeverDrawnElementInfo.js +81 -31
  66. package/lib/esm/tree-widget-react/components/trees/common/internal/AlwaysAndNeverDrawnElementInfo.js.map +1 -0
  67. package/lib/esm/tree-widget-react/components/trees/common/internal/ClassNameDefinitions.d.ts +33 -0
  68. package/lib/esm/tree-widget-react/components/trees/common/internal/ClassNameDefinitions.js +37 -0
  69. package/lib/esm/tree-widget-react/components/trees/common/internal/ClassNameDefinitions.js.map +1 -0
  70. package/lib/esm/tree-widget-react/components/trees/common/internal/ModelCategoryElementsCountCache.d.ts +16 -0
  71. package/lib/esm/tree-widget-react/components/trees/common/internal/ModelCategoryElementsCountCache.js +72 -0
  72. package/lib/esm/tree-widget-react/components/trees/common/internal/ModelCategoryElementsCountCache.js.map +1 -0
  73. package/lib/esm/tree-widget-react/components/trees/common/{Rxjs.d.ts → internal/Rxjs.d.ts} +9 -2
  74. package/lib/esm/tree-widget-react/components/trees/common/{Rxjs.js → internal/Rxjs.js} +9 -2
  75. package/lib/esm/tree-widget-react/components/trees/common/internal/Rxjs.js.map +1 -0
  76. package/lib/esm/tree-widget-react/components/trees/common/{Tooltip.d.ts → internal/Tooltip.d.ts} +5 -1
  77. package/lib/esm/tree-widget-react/components/trees/common/{Tooltip.js → internal/Tooltip.js} +7 -1
  78. package/lib/esm/tree-widget-react/components/trees/common/internal/Tooltip.js.map +1 -0
  79. package/lib/esm/tree-widget-react/components/trees/common/internal/Types.d.ts +14 -0
  80. package/lib/esm/tree-widget-react/components/trees/{categories-tree/internal/ClassNameDefinitions.js → common/internal/Types.js} +2 -7
  81. package/lib/esm/tree-widget-react/components/trees/common/internal/Types.js.map +1 -0
  82. package/lib/esm/tree-widget-react/components/trees/common/internal/UseActiveViewport.js.map +1 -0
  83. package/lib/esm/tree-widget-react/components/trees/common/{UseHierarchiesLocalization.d.ts → internal/UseHierarchiesLocalization.d.ts} +1 -0
  84. package/lib/esm/tree-widget-react/components/trees/common/{UseHierarchiesLocalization.js → internal/UseHierarchiesLocalization.js} +6 -2
  85. package/lib/esm/tree-widget-react/components/trees/common/internal/UseHierarchiesLocalization.js.map +1 -0
  86. package/lib/esm/tree-widget-react/components/trees/common/{UseHierarchyFiltering.d.ts → internal/UseHierarchyFiltering.d.ts} +1 -0
  87. package/lib/esm/tree-widget-react/components/trees/common/{UseHierarchyFiltering.js → internal/UseHierarchyFiltering.js} +4 -3
  88. package/lib/esm/tree-widget-react/components/trees/common/internal/UseHierarchyFiltering.js.map +1 -0
  89. package/lib/esm/tree-widget-react/components/trees/common/{UseIModelChangeListener.d.ts → internal/UseIModelChangeListener.d.ts} +1 -0
  90. package/lib/esm/tree-widget-react/components/trees/common/{UseIModelChangeListener.js → internal/UseIModelChangeListener.js} +1 -0
  91. package/lib/esm/tree-widget-react/components/trees/common/internal/UseIModelChangeListener.js.map +1 -0
  92. package/lib/esm/tree-widget-react/components/trees/common/internal/Utils.d.ts +47 -0
  93. package/lib/esm/tree-widget-react/components/trees/common/internal/Utils.js +101 -0
  94. package/lib/esm/tree-widget-react/components/trees/common/internal/Utils.js.map +1 -0
  95. package/lib/esm/tree-widget-react/components/trees/common/internal/VisibilityChangeEventListener.d.ts +20 -0
  96. package/lib/esm/tree-widget-react/components/trees/{models-tree → common}/internal/VisibilityChangeEventListener.js +17 -9
  97. package/lib/esm/tree-widget-react/components/trees/common/internal/VisibilityChangeEventListener.js.map +1 -0
  98. package/lib/esm/tree-widget-react/components/trees/common/internal/VisibilityUtils.d.ts +82 -0
  99. package/lib/esm/tree-widget-react/components/trees/common/internal/VisibilityUtils.js +234 -0
  100. package/lib/esm/tree-widget-react/components/trees/common/internal/VisibilityUtils.js.map +1 -0
  101. package/lib/esm/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTree.js.map +1 -1
  102. package/lib/esm/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js.map +1 -1
  103. package/lib/esm/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTreeDefinition.d.ts +1 -0
  104. package/lib/esm/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTreeDefinition.js +1 -0
  105. package/lib/esm/tree-widget-react/components/trees/external-sources-tree/ExternalSourcesTreeDefinition.js.map +1 -1
  106. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/IModelContentTree.d.ts +3 -1
  107. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/IModelContentTree.js +13 -9
  108. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/IModelContentTree.js.map +1 -1
  109. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/IModelContentTreeComponent.d.ts +1 -1
  110. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/IModelContentTreeComponent.js.map +1 -1
  111. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/IModelContentTreeDefinition.d.ts +13 -0
  112. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/IModelContentTreeDefinition.js +39 -38
  113. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/IModelContentTreeDefinition.js.map +1 -1
  114. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.d.ts +5 -5
  115. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js +25 -24
  116. package/lib/esm/tree-widget-react/components/trees/imodel-content-tree/internal/IModelContentTreeIdsCache.js.map +1 -1
  117. package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTreeButtons.js +9 -5
  118. package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTreeButtons.js.map +1 -1
  119. package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTreeComponent.js +1 -1
  120. package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTreeComponent.js.map +1 -1
  121. package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTreeDefinition.d.ts +7 -2
  122. package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTreeDefinition.js +73 -70
  123. package/lib/esm/tree-widget-react/components/trees/models-tree/ModelsTreeDefinition.js.map +1 -1
  124. package/lib/esm/tree-widget-react/components/trees/models-tree/UseModelsTree.js +47 -29
  125. package/lib/esm/tree-widget-react/components/trees/models-tree/UseModelsTree.js.map +1 -1
  126. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/FilteredTree.d.ts +7 -9
  127. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/FilteredTree.js +4 -6
  128. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/FilteredTree.js.map +1 -1
  129. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/ModelsTreeIdsCache.d.ts +4 -5
  130. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/ModelsTreeIdsCache.js +54 -104
  131. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/ModelsTreeIdsCache.js.map +1 -1
  132. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.d.ts +0 -26
  133. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js +75 -291
  134. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/ModelsTreeVisibilityHandler.js.map +1 -1
  135. package/lib/public/locales/en/TreeWidget.json +51 -6
  136. package/package.json +17 -18
  137. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/CategoriesVisibilityHandler.d.ts +0 -37
  138. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/CategoriesVisibilityHandler.js +0 -214
  139. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/CategoriesVisibilityHandler.js.map +0 -1
  140. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/ClassNameDefinitions.d.ts +0 -7
  141. package/lib/esm/tree-widget-react/components/trees/categories-tree/internal/ClassNameDefinitions.js.map +0 -1
  142. package/lib/esm/tree-widget-react/components/trees/common/Rxjs.js.map +0 -1
  143. package/lib/esm/tree-widget-react/components/trees/common/Tooltip.js.map +0 -1
  144. package/lib/esm/tree-widget-react/components/trees/common/UseActiveViewport.js.map +0 -1
  145. package/lib/esm/tree-widget-react/components/trees/common/UseFiltering.d.ts +0 -11
  146. package/lib/esm/tree-widget-react/components/trees/common/UseFiltering.js +0 -24
  147. package/lib/esm/tree-widget-react/components/trees/common/UseFiltering.js.map +0 -1
  148. package/lib/esm/tree-widget-react/components/trees/common/UseHierarchiesLocalization.js.map +0 -1
  149. package/lib/esm/tree-widget-react/components/trees/common/UseHierarchyFiltering.js.map +0 -1
  150. package/lib/esm/tree-widget-react/components/trees/common/UseIModelChangeListener.js.map +0 -1
  151. package/lib/esm/tree-widget-react/components/trees/models-tree/Utils.d.ts +0 -7
  152. package/lib/esm/tree-widget-react/components/trees/models-tree/Utils.js +0 -21
  153. package/lib/esm/tree-widget-react/components/trees/models-tree/Utils.js.map +0 -1
  154. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.d.ts +0 -29
  155. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/AlwaysAndNeverDrawnElementInfo.js.map +0 -1
  156. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/VisibilityChangeEventListener.d.ts +0 -12
  157. package/lib/esm/tree-widget-react/components/trees/models-tree/internal/VisibilityChangeEventListener.js.map +0 -1
  158. /package/lib/esm/tree-widget-react/components/trees/common/{UseActiveViewport.d.ts → internal/UseActiveViewport.d.ts} +0 -0
  159. /package/lib/esm/tree-widget-react/components/trees/common/{UseActiveViewport.js → internal/UseActiveViewport.js} +0 -0
@@ -1,3 +1,4 @@
1
+ import type { Id64String } from "@itwin/core-bentley";
1
2
  import type { HierarchyNodeKey } from "@itwin/presentation-hierarchies";
2
3
  interface CategoriesTreeNode {
3
4
  key: HierarchyNodeKey;
@@ -5,9 +6,7 @@ interface CategoriesTreeNode {
5
6
  [id: string]: any;
6
7
  };
7
8
  }
8
- /**
9
- * @internal
10
- */
9
+ /** @internal */
11
10
  export declare namespace CategoriesTreeNode {
12
11
  /**
13
12
  * Determines if node represents a definition container.
@@ -17,10 +16,26 @@ export declare namespace CategoriesTreeNode {
17
16
  * Determines if node represents a category.
18
17
  */
19
18
  const isCategoryNode: (node: Pick<CategoriesTreeNode, "extendedData">) => boolean | undefined;
19
+ /**
20
+ * Determines if node represents a model.
21
+ */
22
+ const isModelNode: (node: Pick<CategoriesTreeNode, "extendedData">) => boolean | undefined;
23
+ /**
24
+ * Determines if node represents an element.
25
+ */
26
+ const isElementNode: (node: Pick<CategoriesTreeNode, "extendedData">) => boolean | undefined;
20
27
  /**
21
28
  * Determines if node represents a sub-category.
22
29
  */
23
30
  const isSubCategoryNode: (node: Pick<CategoriesTreeNode, "extendedData">) => boolean | undefined;
31
+ /**
32
+ * Retrieves model ID from node's extended data.
33
+ */
34
+ const getModelId: (node: Pick<CategoriesTreeNode, "extendedData">) => Id64String | undefined;
35
+ /**
36
+ * Retrieves category ID from node's extended data.
37
+ */
38
+ const getCategoryId: (node: Pick<CategoriesTreeNode, "extendedData">) => Id64String | undefined;
24
39
  }
25
40
  export {};
26
41
  //# sourceMappingURL=CategoriesTreeNode.d.ts.map
@@ -2,9 +2,7 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
- /**
6
- * @internal
7
- */
5
+ /** @internal */
8
6
  export var CategoriesTreeNode;
9
7
  (function (CategoriesTreeNode) {
10
8
  /**
@@ -15,9 +13,38 @@ export var CategoriesTreeNode;
15
13
  * Determines if node represents a category.
16
14
  */
17
15
  CategoriesTreeNode.isCategoryNode = (node) => node.extendedData && "isCategory" in node.extendedData && !!node.extendedData.isCategory;
16
+ /**
17
+ * Determines if node represents a model.
18
+ */
19
+ CategoriesTreeNode.isModelNode = (node) => node.extendedData && "isModel" in node.extendedData && !!node.extendedData.isModel;
20
+ /**
21
+ * Determines if node represents an element.
22
+ */
23
+ CategoriesTreeNode.isElementNode = (node) => node.extendedData && "isElement" in node.extendedData && !!node.extendedData.isElement;
18
24
  /**
19
25
  * Determines if node represents a sub-category.
20
26
  */
21
27
  CategoriesTreeNode.isSubCategoryNode = (node) => node.extendedData && "isSubCategory" in node.extendedData && !!node.extendedData.isSubCategory;
28
+ /**
29
+ * Retrieves model ID from node's extended data.
30
+ */
31
+ CategoriesTreeNode.getModelId = (node) => {
32
+ // Elements have modelId property set
33
+ if (node.extendedData?.modelId) {
34
+ return node.extendedData?.modelId;
35
+ }
36
+ // This is for categories:
37
+ // a) If category is at root, then it won't have 'modelId' or 'modelIds' set - it will return undefined;
38
+ // b) If category is under subModel then it will have 'modelIds' set just like in models tree.
39
+ const modelIds = node.extendedData?.modelIds?.[0];
40
+ return modelIds && (Array.isArray(modelIds) ? modelIds[0] : modelIds);
41
+ };
42
+ /**
43
+ * Retrieves category ID from node's extended data.
44
+ */
45
+ CategoriesTreeNode.getCategoryId = (node) => {
46
+ // Elements have categoryId property set
47
+ return node.extendedData?.categoryId;
48
+ };
22
49
  })(CategoriesTreeNode || (CategoriesTreeNode = {}));
23
50
  //# sourceMappingURL=CategoriesTreeNode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CategoriesTreeNode.js","sourceRoot":"","sources":["../../../../../../../src/tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeNode.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAShG;;GAEG;AACH,MAAM,KAAW,kBAAkB,CAkBlC;AAlBD,WAAiB,kBAAkB;IACjC;;OAEG;IACU,4CAAyB,GAAG,CAAC,IAA8C,EAAE,EAAE,CAC1F,IAAI,CAAC,YAAY,IAAI,uBAAuB,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC;IAEjH;;OAEG;IACU,iCAAc,GAAG,CAAC,IAA8C,EAAE,EAAE,CAC/E,IAAI,CAAC,YAAY,IAAI,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;IAE3F;;OAEG;IACU,oCAAiB,GAAG,CAAC,IAA8C,EAAE,EAAE,CAClF,IAAI,CAAC,YAAY,IAAI,eAAe,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;AACnG,CAAC,EAlBgB,kBAAkB,KAAlB,kBAAkB,QAkBlC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport type { HierarchyNodeKey } from \"@itwin/presentation-hierarchies\";\n\ninterface CategoriesTreeNode {\n key: HierarchyNodeKey;\n extendedData?: { [id: string]: any };\n}\n\n/**\n * @internal\n */\nexport namespace CategoriesTreeNode {\n /**\n * Determines if node represents a definition container.\n */\n export const isDefinitionContainerNode = (node: Pick<CategoriesTreeNode, \"extendedData\">) =>\n node.extendedData && \"isDefinitionContainer\" in node.extendedData && !!node.extendedData.isDefinitionContainer;\n\n /**\n * Determines if node represents a category.\n */\n export const isCategoryNode = (node: Pick<CategoriesTreeNode, \"extendedData\">) =>\n node.extendedData && \"isCategory\" in node.extendedData && !!node.extendedData.isCategory;\n\n /**\n * Determines if node represents a sub-category.\n */\n export const isSubCategoryNode = (node: Pick<CategoriesTreeNode, \"extendedData\">) =>\n node.extendedData && \"isSubCategory\" in node.extendedData && !!node.extendedData.isSubCategory;\n}\n"]}
1
+ {"version":3,"file":"CategoriesTreeNode.js","sourceRoot":"","sources":["../../../../../../../src/tree-widget-react/components/trees/categories-tree/internal/CategoriesTreeNode.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAUhG,gBAAgB;AAChB,MAAM,KAAW,kBAAkB,CAsDlC;AAtDD,WAAiB,kBAAkB;IACjC;;OAEG;IACU,4CAAyB,GAAG,CAAC,IAA8C,EAAE,EAAE,CAC1F,IAAI,CAAC,YAAY,IAAI,uBAAuB,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC;IAEjH;;OAEG;IACU,iCAAc,GAAG,CAAC,IAA8C,EAAE,EAAE,CAC/E,IAAI,CAAC,YAAY,IAAI,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;IAE3F;;OAEG;IACU,8BAAW,GAAG,CAAC,IAA8C,EAAE,EAAE,CAC5E,IAAI,CAAC,YAAY,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;IAErF;;OAEG;IACU,gCAAa,GAAG,CAAC,IAA8C,EAAE,EAAE,CAC9E,IAAI,CAAC,YAAY,IAAI,WAAW,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;IAEzF;;OAEG;IACU,oCAAiB,GAAG,CAAC,IAA8C,EAAE,EAAE,CAClF,IAAI,CAAC,YAAY,IAAI,eAAe,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;IAEjG;;OAEG;IACU,6BAAU,GAAG,CAAC,IAA8C,EAA0B,EAAE;QACnG,qCAAqC;QACrC,IAAI,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE;YAC9B,OAAO,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;SACnC;QAED,0BAA0B;QAC1B,wGAAwG;QACxG,8FAA8F;QAC9F,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxE,CAAC,CAAC;IAEF;;OAEG;IACU,gCAAa,GAAG,CAAC,IAA8C,EAA0B,EAAE;QACtG,wCAAwC;QACxC,OAAO,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC;IACvC,CAAC,CAAC;AACJ,CAAC,EAtDgB,kBAAkB,KAAlB,kBAAkB,QAsDlC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport type { Id64String } from \"@itwin/core-bentley\";\nimport type { HierarchyNodeKey } from \"@itwin/presentation-hierarchies\";\n\ninterface CategoriesTreeNode {\n key: HierarchyNodeKey;\n extendedData?: { [id: string]: any };\n}\n\n/** @internal */\nexport namespace CategoriesTreeNode {\n /**\n * Determines if node represents a definition container.\n */\n export const isDefinitionContainerNode = (node: Pick<CategoriesTreeNode, \"extendedData\">) =>\n node.extendedData && \"isDefinitionContainer\" in node.extendedData && !!node.extendedData.isDefinitionContainer;\n\n /**\n * Determines if node represents a category.\n */\n export const isCategoryNode = (node: Pick<CategoriesTreeNode, \"extendedData\">) =>\n node.extendedData && \"isCategory\" in node.extendedData && !!node.extendedData.isCategory;\n\n /**\n * Determines if node represents a model.\n */\n export const isModelNode = (node: Pick<CategoriesTreeNode, \"extendedData\">) =>\n node.extendedData && \"isModel\" in node.extendedData && !!node.extendedData.isModel;\n\n /**\n * Determines if node represents an element.\n */\n export const isElementNode = (node: Pick<CategoriesTreeNode, \"extendedData\">) =>\n node.extendedData && \"isElement\" in node.extendedData && !!node.extendedData.isElement;\n\n /**\n * Determines if node represents a sub-category.\n */\n export const isSubCategoryNode = (node: Pick<CategoriesTreeNode, \"extendedData\">) =>\n node.extendedData && \"isSubCategory\" in node.extendedData && !!node.extendedData.isSubCategory;\n\n /**\n * Retrieves model ID from node's extended data.\n */\n export const getModelId = (node: Pick<CategoriesTreeNode, \"extendedData\">): Id64String | undefined => {\n // Elements have modelId property set\n if (node.extendedData?.modelId) {\n return node.extendedData?.modelId;\n }\n\n // This is for categories:\n // a) If category is at root, then it won't have 'modelId' or 'modelIds' set - it will return undefined;\n // b) If category is under subModel then it will have 'modelIds' set just like in models tree.\n const modelIds = node.extendedData?.modelIds?.[0];\n return modelIds && (Array.isArray(modelIds) ? modelIds[0] : modelIds);\n };\n\n /**\n * Retrieves category ID from node's extended data.\n */\n export const getCategoryId = (node: Pick<CategoriesTreeNode, \"extendedData\">): Id64String | undefined => {\n // Elements have categoryId property set\n return node.extendedData?.categoryId;\n };\n}\n"]}
@@ -0,0 +1,24 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import type { Viewport } from "@itwin/core-frontend";
3
+ import type { HierarchyFilteringPath } from "@itwin/presentation-hierarchies";
4
+ import type { ECClassHierarchyInspector } from "@itwin/presentation-shared";
5
+ import type { HierarchyVisibilityHandler } from "../../common/UseHierarchyVisibility.js";
6
+ import type { CategoriesTreeHierarchyConfiguration } from "../CategoriesTreeDefinition.js";
7
+ import type { CategoriesTreeIdsCache } from "./CategoriesTreeIdsCache.js";
8
+ /**
9
+ * Props for `createCategoriesTreeVisibilityHandler`.
10
+ * @internal
11
+ */
12
+ export interface CategoriesTreeVisibilityHandlerProps {
13
+ viewport: Viewport;
14
+ idsCache: CategoriesTreeIdsCache;
15
+ imodelAccess: ECClassHierarchyInspector;
16
+ filteredPaths?: HierarchyFilteringPath[];
17
+ hierarchyConfig: CategoriesTreeHierarchyConfiguration;
18
+ }
19
+ /**
20
+ * Creates an instance if `CategoriesTreeVisibilityHandler`.
21
+ * @internal
22
+ */
23
+ export declare function createCategoriesTreeVisibilityHandler(props: CategoriesTreeVisibilityHandlerProps): HierarchyVisibilityHandler & Disposable;
24
+ //# sourceMappingURL=CategoriesTreeVisibilityHandler.d.ts.map