@itwin/tree-widget-react 0.10.0 → 1.0.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/CHANGELOG.md +331 -0
  2. package/README.md +146 -29
  3. package/lib/cjs/TreeWidget.d.ts +0 -1
  4. package/lib/cjs/TreeWidget.js +1 -6
  5. package/lib/cjs/TreeWidget.js.map +1 -1
  6. package/lib/cjs/components/TreeFilteringState.d.ts +3 -1
  7. package/lib/cjs/components/TreeFilteringState.js +19 -40
  8. package/lib/cjs/components/TreeFilteringState.js.map +1 -1
  9. package/lib/cjs/components/TreeWidgetComponent.d.ts +29 -5
  10. package/lib/cjs/components/TreeWidgetComponent.js +85 -29
  11. package/lib/cjs/components/TreeWidgetComponent.js.map +1 -1
  12. package/lib/cjs/components/TreeWidgetComponent.scss +4 -24
  13. package/lib/cjs/components/TreeWidgetUiItemsProvider.d.ts +25 -2
  14. package/lib/cjs/components/TreeWidgetUiItemsProvider.js +31 -46
  15. package/lib/cjs/components/TreeWidgetUiItemsProvider.js.map +1 -1
  16. package/lib/cjs/components/tree-header/TreeHeader.d.ts +26 -0
  17. package/lib/cjs/components/tree-header/TreeHeader.js +43 -0
  18. package/lib/cjs/components/tree-header/TreeHeader.js.map +1 -0
  19. package/lib/cjs/components/tree-header/TreeHeader.scss +69 -0
  20. package/lib/cjs/components/trees/CategoriesVisibilityUtils.d.ts +12 -6
  21. package/lib/cjs/components/trees/CategoriesVisibilityUtils.js +10 -4
  22. package/lib/cjs/components/trees/CategoriesVisibilityUtils.js.map +1 -1
  23. package/lib/cjs/components/trees/Common.d.ts +2 -2
  24. package/lib/cjs/components/trees/Common.js +1 -1
  25. package/lib/cjs/components/trees/Common.js.map +1 -1
  26. package/lib/cjs/components/trees/VisibilityTreeBase.scss +66 -10
  27. package/lib/cjs/components/trees/VisibilityTreeEventHandler.d.ts +13 -12
  28. package/lib/cjs/components/trees/VisibilityTreeEventHandler.js +6 -17
  29. package/lib/cjs/components/trees/VisibilityTreeEventHandler.js.map +1 -1
  30. package/lib/cjs/components/trees/VisibilityTreeRenderer.d.ts +38 -14
  31. package/lib/cjs/components/trees/VisibilityTreeRenderer.js +35 -41
  32. package/lib/cjs/components/trees/VisibilityTreeRenderer.js.map +1 -1
  33. package/lib/cjs/components/trees/category-tree/CategoriesTree.d.ts +12 -11
  34. package/lib/cjs/components/trees/category-tree/CategoriesTree.js +17 -41
  35. package/lib/cjs/components/trees/category-tree/CategoriesTree.js.map +1 -1
  36. package/lib/cjs/components/trees/category-tree/CategoriesTreeComponent.d.ts +67 -6
  37. package/lib/cjs/components/trees/category-tree/CategoriesTreeComponent.js +61 -72
  38. package/lib/cjs/components/trees/category-tree/CategoriesTreeComponent.js.map +1 -1
  39. package/lib/cjs/components/trees/category-tree/CategoryVisibilityHandler.d.ts +30 -8
  40. package/lib/cjs/components/trees/category-tree/CategoryVisibilityHandler.js +61 -34
  41. package/lib/cjs/components/trees/category-tree/CategoryVisibilityHandler.js.map +1 -1
  42. package/lib/cjs/components/trees/external-sources-tree/ExternalSources.json +230 -0
  43. package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTree.d.ts +27 -0
  44. package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTree.js +61 -0
  45. package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTree.js.map +1 -0
  46. package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeComponent.d.ts +20 -0
  47. package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js +39 -0
  48. package/lib/cjs/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js.map +1 -0
  49. package/lib/cjs/components/trees/imodel-content-tree/IModelContentTree.d.ts +30 -0
  50. package/lib/cjs/components/trees/imodel-content-tree/IModelContentTree.js +39 -0
  51. package/lib/cjs/components/trees/imodel-content-tree/IModelContentTree.js.map +1 -0
  52. package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeComponent.d.ts +26 -0
  53. package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeComponent.js +35 -0
  54. package/lib/cjs/components/trees/imodel-content-tree/IModelContentTreeComponent.js.map +1 -0
  55. package/lib/cjs/components/trees/index.d.ts +5 -1
  56. package/lib/cjs/components/trees/index.js +10 -2
  57. package/lib/cjs/components/trees/index.js.map +1 -1
  58. package/lib/cjs/components/trees/models-tree/ModelsTree.d.ts +26 -18
  59. package/lib/cjs/components/trees/models-tree/ModelsTree.js +22 -50
  60. package/lib/cjs/components/trees/models-tree/ModelsTree.js.map +1 -1
  61. package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.d.ts +70 -2
  62. package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.js +68 -105
  63. package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.js.map +1 -1
  64. package/lib/cjs/components/trees/models-tree/ModelsVisibilityHandler.d.ts +40 -12
  65. package/lib/cjs/components/trees/models-tree/ModelsVisibilityHandler.js +65 -5
  66. package/lib/cjs/components/trees/models-tree/ModelsVisibilityHandler.js.map +1 -1
  67. package/lib/cjs/components/trees/models-tree/Utils.d.ts +12 -0
  68. package/lib/cjs/components/trees/models-tree/Utils.js +625 -1
  69. package/lib/cjs/components/trees/models-tree/Utils.js.map +1 -1
  70. package/lib/cjs/components/utils/AutoSizer.d.ts +6 -3
  71. package/lib/cjs/components/utils/AutoSizer.js +9 -29
  72. package/lib/cjs/components/utils/AutoSizer.js.map +1 -1
  73. package/lib/cjs/components/utils/IsPromiseLike.d.ts +4 -1
  74. package/lib/cjs/components/utils/IsPromiseLike.js +6 -3
  75. package/lib/cjs/components/utils/IsPromiseLike.js.map +1 -1
  76. package/lib/cjs/tree-widget-react.d.ts +0 -1
  77. package/lib/cjs/tree-widget-react.js +5 -2
  78. package/lib/cjs/tree-widget-react.js.map +1 -1
  79. package/lib/esm/TreeWidget.d.ts +0 -1
  80. package/lib/esm/TreeWidget.js +2 -7
  81. package/lib/esm/TreeWidget.js.map +1 -1
  82. package/lib/esm/components/TreeFilteringState.d.ts +3 -1
  83. package/lib/esm/components/TreeFilteringState.js +17 -19
  84. package/lib/esm/components/TreeFilteringState.js.map +1 -1
  85. package/lib/esm/components/TreeWidgetComponent.d.ts +29 -5
  86. package/lib/esm/components/TreeWidgetComponent.js +82 -7
  87. package/lib/esm/components/TreeWidgetComponent.js.map +1 -1
  88. package/lib/esm/components/TreeWidgetComponent.scss +4 -24
  89. package/lib/esm/components/TreeWidgetUiItemsProvider.d.ts +25 -2
  90. package/lib/esm/components/TreeWidgetUiItemsProvider.js +29 -41
  91. package/lib/esm/components/TreeWidgetUiItemsProvider.js.map +1 -1
  92. package/lib/esm/components/tree-header/TreeHeader.d.ts +26 -0
  93. package/lib/esm/components/tree-header/TreeHeader.js +36 -0
  94. package/lib/esm/components/tree-header/TreeHeader.js.map +1 -0
  95. package/lib/esm/components/tree-header/TreeHeader.scss +69 -0
  96. package/lib/esm/components/trees/CategoriesVisibilityUtils.d.ts +12 -6
  97. package/lib/esm/components/trees/CategoriesVisibilityUtils.js +10 -4
  98. package/lib/esm/components/trees/CategoriesVisibilityUtils.js.map +1 -1
  99. package/lib/esm/components/trees/Common.d.ts +2 -2
  100. package/lib/esm/components/trees/Common.js +1 -1
  101. package/lib/esm/components/trees/Common.js.map +1 -1
  102. package/lib/esm/components/trees/VisibilityTreeBase.scss +66 -10
  103. package/lib/esm/components/trees/VisibilityTreeEventHandler.d.ts +13 -12
  104. package/lib/esm/components/trees/VisibilityTreeEventHandler.js +6 -17
  105. package/lib/esm/components/trees/VisibilityTreeEventHandler.js.map +1 -1
  106. package/lib/esm/components/trees/VisibilityTreeRenderer.d.ts +38 -14
  107. package/lib/esm/components/trees/VisibilityTreeRenderer.js +29 -19
  108. package/lib/esm/components/trees/VisibilityTreeRenderer.js.map +1 -1
  109. package/lib/esm/components/trees/category-tree/CategoriesTree.d.ts +12 -11
  110. package/lib/esm/components/trees/category-tree/CategoriesTree.js +16 -21
  111. package/lib/esm/components/trees/category-tree/CategoriesTree.js.map +1 -1
  112. package/lib/esm/components/trees/category-tree/CategoriesTreeComponent.d.ts +67 -6
  113. package/lib/esm/components/trees/category-tree/CategoriesTreeComponent.js +60 -52
  114. package/lib/esm/components/trees/category-tree/CategoriesTreeComponent.js.map +1 -1
  115. package/lib/esm/components/trees/category-tree/CategoryVisibilityHandler.d.ts +30 -8
  116. package/lib/esm/components/trees/category-tree/CategoryVisibilityHandler.js +57 -14
  117. package/lib/esm/components/trees/category-tree/CategoryVisibilityHandler.js.map +1 -1
  118. package/lib/esm/components/trees/external-sources-tree/ExternalSources.json +230 -0
  119. package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTree.d.ts +27 -0
  120. package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTree.js +34 -0
  121. package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTree.js.map +1 -0
  122. package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeComponent.d.ts +20 -0
  123. package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js +35 -0
  124. package/lib/esm/components/trees/external-sources-tree/ExternalSourcesTreeComponent.js.map +1 -0
  125. package/lib/esm/components/trees/imodel-content-tree/IModelContentTree.d.ts +30 -0
  126. package/lib/esm/components/trees/imodel-content-tree/IModelContentTree.js +32 -0
  127. package/lib/esm/components/trees/imodel-content-tree/IModelContentTree.js.map +1 -0
  128. package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeComponent.d.ts +26 -0
  129. package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeComponent.js +31 -0
  130. package/lib/esm/components/trees/imodel-content-tree/IModelContentTreeComponent.js.map +1 -0
  131. package/lib/esm/components/trees/index.d.ts +5 -1
  132. package/lib/esm/components/trees/index.js +5 -1
  133. package/lib/esm/components/trees/index.js.map +1 -1
  134. package/lib/esm/components/trees/models-tree/ModelsTree.d.ts +26 -18
  135. package/lib/esm/components/trees/models-tree/ModelsTree.js +23 -32
  136. package/lib/esm/components/trees/models-tree/ModelsTree.js.map +1 -1
  137. package/lib/esm/components/trees/models-tree/ModelsTreeComponent.d.ts +70 -2
  138. package/lib/esm/components/trees/models-tree/ModelsTreeComponent.js +66 -84
  139. package/lib/esm/components/trees/models-tree/ModelsTreeComponent.js.map +1 -1
  140. package/lib/esm/components/trees/models-tree/ModelsVisibilityHandler.d.ts +40 -12
  141. package/lib/esm/components/trees/models-tree/ModelsVisibilityHandler.js +60 -5
  142. package/lib/esm/components/trees/models-tree/ModelsVisibilityHandler.js.map +1 -1
  143. package/lib/esm/components/trees/models-tree/Utils.d.ts +12 -0
  144. package/lib/esm/components/trees/models-tree/Utils.js +622 -0
  145. package/lib/esm/components/trees/models-tree/Utils.js.map +1 -1
  146. package/lib/esm/components/utils/AutoSizer.d.ts +6 -3
  147. package/lib/esm/components/utils/AutoSizer.js +9 -10
  148. package/lib/esm/components/utils/AutoSizer.js.map +1 -1
  149. package/lib/esm/components/utils/IsPromiseLike.d.ts +4 -1
  150. package/lib/esm/components/utils/IsPromiseLike.js +4 -1
  151. package/lib/esm/components/utils/IsPromiseLike.js.map +1 -1
  152. package/lib/esm/tree-widget-react.d.ts +0 -1
  153. package/lib/esm/tree-widget-react.js +0 -1
  154. package/lib/esm/tree-widget-react.js.map +1 -1
  155. package/lib/public/locales/en/TreeWidget.json +13 -4
  156. package/package.json +42 -47
  157. package/lib/cjs/components/rulesets/ClassificationSystems.json +0 -122
  158. package/lib/cjs/components/search-bar/SearchBar.d.ts +0 -48
  159. package/lib/cjs/components/search-bar/SearchBar.js +0 -86
  160. package/lib/cjs/components/search-bar/SearchBar.js.map +0 -1
  161. package/lib/cjs/components/search-bar/SearchBar.scss +0 -118
  162. package/lib/cjs/components/search-bar/SearchBox.d.ts +0 -70
  163. package/lib/cjs/components/search-bar/SearchBox.js +0 -186
  164. package/lib/cjs/components/search-bar/SearchBox.js.map +0 -1
  165. package/lib/cjs/components/search-bar/SearchBox.scss +0 -70
  166. package/lib/cjs/components/trees/IModelContentTree.d.ts +0 -4
  167. package/lib/cjs/components/trees/IModelContentTree.js +0 -50
  168. package/lib/cjs/components/trees/IModelContentTree.js.map +0 -1
  169. package/lib/cjs/components/trees/models-tree/Hierarchy.GroupedByClass.json +0 -391
  170. package/lib/cjs/components/trees/models-tree/Hierarchy.json +0 -386
  171. package/lib/cjs/components/trees/models-tree/ModelsTreeSearch.json +0 -239
  172. package/lib/cjs/types.d.ts +0 -44
  173. package/lib/cjs/types.js +0 -11
  174. package/lib/cjs/types.js.map +0 -1
  175. package/lib/esm/components/rulesets/ClassificationSystems.json +0 -122
  176. package/lib/esm/components/search-bar/SearchBar.d.ts +0 -48
  177. package/lib/esm/components/search-bar/SearchBar.js +0 -60
  178. package/lib/esm/components/search-bar/SearchBar.js.map +0 -1
  179. package/lib/esm/components/search-bar/SearchBar.scss +0 -118
  180. package/lib/esm/components/search-bar/SearchBox.d.ts +0 -70
  181. package/lib/esm/components/search-bar/SearchBox.js +0 -160
  182. package/lib/esm/components/search-bar/SearchBox.js.map +0 -1
  183. package/lib/esm/components/search-bar/SearchBox.scss +0 -70
  184. package/lib/esm/components/trees/IModelContentTree.d.ts +0 -4
  185. package/lib/esm/components/trees/IModelContentTree.js +0 -24
  186. package/lib/esm/components/trees/IModelContentTree.js.map +0 -1
  187. package/lib/esm/components/trees/models-tree/Hierarchy.GroupedByClass.json +0 -391
  188. package/lib/esm/components/trees/models-tree/Hierarchy.json +0 -386
  189. package/lib/esm/components/trees/models-tree/ModelsTreeSearch.json +0 -239
  190. package/lib/esm/types.d.ts +0 -44
  191. package/lib/esm/types.js +0 -8
  192. package/lib/esm/types.js.map +0 -1
  193. /package/lib/cjs/components/{rulesets → trees/imodel-content-tree}/IModelContent.json +0 -0
  194. /package/lib/esm/components/{rulesets → trees/imodel-content-tree}/IModelContent.json +0 -0
@@ -1,386 +0,0 @@
1
- {
2
- "$schema": "../../../../node_modules/@itwin/presentation-common/Ruleset.schema.json",
3
- "id": "tree-widget-react/ModelsTree",
4
- "requiredSchemas": [
5
- {
6
- "name": "BisCore"
7
- }
8
- ],
9
- "rules": [
10
- {
11
- "ruleType": "RootNodes",
12
- "autoExpand": true,
13
- "specifications": [
14
- {
15
- "specType": "InstanceNodesOfSpecificClasses",
16
- "classes": [
17
- {
18
- "schemaName": "BisCore",
19
- "classNames": [
20
- "Subject"
21
- ]
22
- }
23
- ],
24
- "instanceFilter": "this.Parent = NULL",
25
- "arePolymorphic": false,
26
- "groupByClass": false,
27
- "groupByLabel": false
28
- }
29
- ],
30
- "customizationRules": [
31
- {
32
- "ruleType": "ExtendedData",
33
- "items": {
34
- "isSubject": "true"
35
- }
36
- }
37
- ]
38
- },
39
- {
40
- "ruleType": "ChildNodes",
41
- "condition": "ParentNode.IsOfClass(\"Subject\", \"BisCore\")",
42
- "specifications": [
43
- {
44
- "specType": "RelatedInstanceNodes",
45
- "relationshipPaths": [
46
- {
47
- "relationship": {
48
- "schemaName": "BisCore",
49
- "className": "SubjectOwnsSubjects"
50
- },
51
- "direction": "Forward",
52
- "targetClass": {
53
- "schemaName": "BisCore",
54
- "className": "Subject"
55
- }
56
- }
57
- ],
58
- "instanceFilter": "json_extract(this.JsonProperties, \"$.Subject.Job.Bridge\") <> NULL OR ifnull(json_extract(this.JsonProperties, \"$.Subject.Model.Type\"), \"\") = \"Hierarchy\"",
59
- "hideNodesInHierarchy": true,
60
- "groupByClass": false,
61
- "groupByLabel": false
62
- },
63
- {
64
- "specType": "RelatedInstanceNodes",
65
- "relationshipPaths": [
66
- {
67
- "relationship": {
68
- "schemaName": "BisCore",
69
- "className": "SubjectOwnsSubjects"
70
- },
71
- "direction": "Forward",
72
- "targetClass": {
73
- "schemaName": "BisCore",
74
- "className": "Subject"
75
- }
76
- }
77
- ],
78
- "instanceFilter": "json_extract(this.JsonProperties, \"$.Subject.Job.Bridge\") = NULL AND ifnull(json_extract(this.JsonProperties, \"$.Subject.Model.Type\"), \"\") <> \"Hierarchy\"",
79
- "hideIfNoChildren": true,
80
- "groupByClass": false,
81
- "groupByLabel": false
82
- }
83
- ],
84
- "customizationRules": [
85
- {
86
- "ruleType": "ExtendedData",
87
- "items": {
88
- "isSubject": "true"
89
- }
90
- }
91
- ]
92
- },
93
- {
94
- "ruleType": "ChildNodes",
95
- "condition": "ParentNode.IsOfClass(\"Subject\", \"BisCore\")",
96
- "specifications": [
97
- {
98
- "specType": "InstanceNodesOfSpecificClasses",
99
- "classes": {
100
- "schemaName": "BisCore",
101
- "classNames": [
102
- "GeometricModel3d"
103
- ]
104
- },
105
- "arePolymorphic": true,
106
- "relatedInstances": [
107
- {
108
- "relationshipPath": {
109
- "relationship": {
110
- "schemaName": "BisCore",
111
- "className": "ModelModelsElement"
112
- },
113
- "direction": "Forward",
114
- "targetClass": {
115
- "schemaName": "BisCore",
116
- "className": "InformationPartitionElement"
117
- }
118
- },
119
- "alias": "partition",
120
- "isRequired": true
121
- }
122
- ],
123
- "instanceFilter": "(parent.ECInstanceId = partition.Parent.Id OR json_extract(parent.JsonProperties, \"$.Subject.Model.TargetPartition\") = printf(\"0x%x\", partition.ECInstanceId)) AND NOT this.IsPrivate AND json_extract(partition.JsonProperties, \"$.PhysicalPartition.Model.Content\") = NULL AND json_extract(partition.JsonProperties, \"$.GraphicalPartition3d.Model.Content\") = NULL AND this.HasRelatedInstance(\"BisCore:ModelContainsElements\", \"Forward\", \"BisCore:GeometricElement3d\")",
124
- "hasChildren": "Always",
125
- "hideIfNoChildren": true,
126
- "groupByClass": false,
127
- "groupByLabel": false
128
- },
129
- {
130
- "specType": "InstanceNodesOfSpecificClasses",
131
- "classes": {
132
- "schemaName": "BisCore",
133
- "classNames": [
134
- "GeometricModel3d"
135
- ]
136
- },
137
- "arePolymorphic": true,
138
- "relatedInstances": [
139
- {
140
- "relationshipPath": {
141
- "relationship": {
142
- "schemaName": "BisCore",
143
- "className": "ModelModelsElement"
144
- },
145
- "direction": "Forward",
146
- "targetClass": {
147
- "schemaName": "BisCore",
148
- "className": "InformationPartitionElement"
149
- }
150
- },
151
- "alias": "partition",
152
- "isRequired": true
153
- }
154
- ],
155
- "instanceFilter": "(parent.ECInstanceId = partition.Parent.Id OR json_extract(parent.JsonProperties, \"$.Subject.Model.TargetPartition\") = printf(\"0x%x\", partition.ECInstanceId)) AND NOT this.IsPrivate AND (json_extract(partition.JsonProperties, \"$.PhysicalPartition.Model.Content\") <> NULL OR json_extract(partition.JsonProperties, \"$.GraphicalPartition3d.Model.Content\") <> NULL) AND this.HasRelatedInstance(\"BisCore:ModelContainsElements\", \"Forward\", \"BisCore:GeometricElement3d\")",
156
- "hasChildren": "Always",
157
- "hideNodesInHierarchy": true,
158
- "groupByClass": false,
159
- "groupByLabel": false
160
- }
161
- ],
162
- "customizationRules": [
163
- {
164
- "ruleType": "ExtendedData",
165
- "items": {
166
- "isModel": "true"
167
- }
168
- }
169
- ]
170
- },
171
- {
172
- "ruleType": "ChildNodes",
173
- "condition": "ParentNode.IsOfClass(\"ISubModeledElement\", \"BisCore\")",
174
- "specifications": [
175
- {
176
- "specType": "RelatedInstanceNodes",
177
- "relationshipPaths": [
178
- {
179
- "relationship": {
180
- "schemaName": "BisCore",
181
- "className": "ModelModelsElement"
182
- },
183
- "direction": "Backward"
184
- }
185
- ],
186
- "instanceFilter": "NOT this.IsPrivate AND this.HasRelatedInstance(\"BisCore:ModelContainsElements\", \"Forward\", \"BisCore:GeometricElement3d\")",
187
- "hideNodesInHierarchy": true,
188
- "groupByClass": false,
189
- "groupByLabel": false
190
- }
191
- ],
192
- "customizationRules": [
193
- {
194
- "ruleType": "ExtendedData",
195
- "items": {
196
- "isModel": "true"
197
- }
198
- }
199
- ]
200
- },
201
- {
202
- "ruleType": "ChildNodes",
203
- "condition": "ParentNode.IsOfClass(\"GeometricModel3d\", \"BisCore\")",
204
- "specifications": [
205
- {
206
- "specType": "RelatedInstanceNodes",
207
- "relationshipPaths": [
208
- [
209
- {
210
- "relationship": {
211
- "schemaName": "BisCore",
212
- "className": "ModelContainsElements"
213
- },
214
- "direction": "Forward",
215
- "targetClass": {
216
- "schemaName": "BisCore",
217
- "className": "GeometricElement3d"
218
- }
219
- },
220
- {
221
- "relationship": {
222
- "schemaName": "BisCore",
223
- "className": "GeometricElement3dIsInCategory"
224
- },
225
- "direction": "Forward",
226
- "targetClass": {
227
- "schemaName": "BisCore",
228
- "className": "SpatialCategory"
229
- }
230
- }
231
- ]
232
- ],
233
- "instanceFilter": "NOT this.IsPrivate",
234
- "suppressSimilarAncestorsCheck": true,
235
- "hideIfNoChildren": true,
236
- "groupByClass": false,
237
- "groupByLabel": false
238
- }
239
- ],
240
- "customizationRules": [
241
- {
242
- "ruleType": "ExtendedData",
243
- "items": {
244
- "isCategory": "true",
245
- "modelId": "ParentNode.InstanceId"
246
- }
247
- }
248
- ]
249
- },
250
- {
251
- "ruleType": "ChildNodes",
252
- "condition": "ParentNode.IsOfClass(\"SpatialCategory\", \"BisCore\")",
253
- "specifications": [
254
- {
255
- "specType": "RelatedInstanceNodes",
256
- "relationshipPaths": [
257
- {
258
- "relationship": {
259
- "schemaName": "BisCore",
260
- "className": "GeometricElement3dIsInCategory"
261
- },
262
- "direction": "Backward",
263
- "targetClass": {
264
- "schemaName": "BisCore",
265
- "className": "GeometricElement3d"
266
- }
267
- }
268
- ],
269
- "instanceFilter": "this.Model.Id = parent.parent.ECInstanceId ANDALSO this.Parent = NULL",
270
- "groupByClass": false,
271
- "groupByLabel": false
272
- }
273
- ],
274
- "customizationRules": [
275
- {
276
- "ruleType": "ExtendedData",
277
- "items": {
278
- "modelId": "this.Model.Id",
279
- "categoryId": "this.Category.Id"
280
- }
281
- }
282
- ]
283
- },
284
- {
285
- "ruleType": "ChildNodes",
286
- "condition": "ParentNode.IsOfClass(\"GeometricElement3d\", \"BisCore\")",
287
- "specifications": [
288
- {
289
- "specType": "RelatedInstanceNodes",
290
- "relationshipPaths": [
291
- {
292
- "relationship": {
293
- "schemaName": "BisCore",
294
- "className": "ElementOwnsChildElements"
295
- },
296
- "direction": "Forward",
297
- "targetClass": {
298
- "schemaName": "BisCore",
299
- "className": "GeometricElement3d"
300
- }
301
- }
302
- ],
303
- "groupByClass": false,
304
- "groupByLabel": false
305
- }
306
- ],
307
- "customizationRules": [
308
- {
309
- "ruleType": "ExtendedData",
310
- "items": {
311
- "modelId": "this.Model.Id",
312
- "categoryId": "this.Category.Id"
313
- }
314
- }
315
- ]
316
- },
317
- {
318
- "ruleType": "Grouping",
319
- "class": {
320
- "schemaName": "BisCore",
321
- "className": "Subject"
322
- },
323
- "groups": [
324
- {
325
- "specType": "SameLabelInstance",
326
- "applicationStage": "PostProcess"
327
- }
328
- ]
329
- },
330
- {
331
- "ruleType": "Grouping",
332
- "class": {
333
- "schemaName": "BisCore",
334
- "className": "SpatialCategory"
335
- },
336
- "groups": [
337
- {
338
- "specType": "SameLabelInstance",
339
- "applicationStage": "PostProcess"
340
- }
341
- ]
342
- },
343
- {
344
- "ruleType": "ImageIdOverride",
345
- "condition": "ThisNode.IsInstanceNode ANDALSO ThisNode.IsOfClass(\"Subject\", \"BisCore\")",
346
- "imageIdExpression": "IIF(this.Parent.Id = NULL, \"icon-imodel-hollow-2\", \"icon-folder\")"
347
- },
348
- {
349
- "ruleType": "ImageIdOverride",
350
- "condition": "ThisNode.IsInstanceNode ANDALSO ThisNode.IsOfClass(\"Model\", \"BisCore\")",
351
- "imageIdExpression": "\"icon-model\""
352
- },
353
- {
354
- "ruleType": "ImageIdOverride",
355
- "condition": "ThisNode.IsInstanceNode ANDALSO ThisNode.IsOfClass(\"Category\", \"BisCore\")",
356
- "imageIdExpression": "\"icon-layers\""
357
- },
358
- {
359
- "ruleType": "ImageIdOverride",
360
- "condition": "ThisNode.IsInstanceNode ANDALSO ThisNode.IsOfClass(\"Element\", \"BisCore\")",
361
- "imageIdExpression": "\"icon-item\""
362
- },
363
- {
364
- "ruleType": "Content",
365
- "condition": "ContentDisplayType = \"AssemblyElementsRequest\"",
366
- "specifications": [
367
- {
368
- "specType": "SelectedNodeInstances"
369
- },
370
- {
371
- "specType": "ContentRelatedInstances",
372
- "relationshipPaths": [
373
- {
374
- "relationship": {
375
- "schemaName": "BisCore",
376
- "className": "ElementOwnsChildElements"
377
- },
378
- "direction": "Forward",
379
- "count": "*"
380
- }
381
- ]
382
- }
383
- ]
384
- }
385
- ]
386
- }
@@ -1,239 +0,0 @@
1
- {
2
- "$schema": "../../../../node_modules/@itwin/presentation-common/Ruleset.schema.json",
3
- "id": "tree-widget-react/ModelsTreeSearch",
4
- "rules": [
5
- {
6
- "ruleType": "RootNodes",
7
- "specifications": [
8
- {
9
- "specType": "InstanceNodesOfSpecificClasses",
10
- "classes": [
11
- {
12
- "schemaName": "BisCore",
13
- "classNames": [
14
- "Subject"
15
- ]
16
- }
17
- ],
18
- "instanceFilter": "this.Parent = NULL",
19
- "arePolymorphic": false,
20
- "groupByClass": false,
21
- "groupByLabel": false
22
- }
23
- ],
24
- "customizationRules": [
25
- {
26
- "ruleType": "ExtendedData",
27
- "items": {
28
- "isSubject": "true"
29
- }
30
- }
31
- ]
32
- },
33
- {
34
- "ruleType": "ChildNodes",
35
- "condition": "ParentNode.IsOfClass(\"Subject\", \"BisCore\")",
36
- "specifications": [
37
- {
38
- "specType": "RelatedInstanceNodes",
39
- "relationshipPaths": [
40
- {
41
- "relationship": {
42
- "schemaName": "BisCore",
43
- "className": "SubjectOwnsSubjects"
44
- },
45
- "direction": "Forward",
46
- "targetClass": {
47
- "schemaName": "BisCore",
48
- "className": "Subject"
49
- }
50
- }
51
- ],
52
- "instanceFilter": "json_extract(this.JsonProperties, \"$.Subject.Job.Bridge\") <> NULL OR ifnull(json_extract(this.JsonProperties, \"$.Subject.Model.Type\"), \"\") = \"Hierarchy\"",
53
- "hideNodesInHierarchy": true,
54
- "groupByClass": false,
55
- "groupByLabel": false
56
- },
57
- {
58
- "specType": "RelatedInstanceNodes",
59
- "relationshipPaths": [
60
- {
61
- "relationship": {
62
- "schemaName": "BisCore",
63
- "className": "SubjectOwnsSubjects"
64
- },
65
- "direction": "Forward",
66
- "targetClass": {
67
- "schemaName": "BisCore",
68
- "className": "Subject"
69
- }
70
- }
71
- ],
72
- "instanceFilter": "json_extract(this.JsonProperties, \"$.Subject.Job.Bridge\") = NULL AND ifnull(json_extract(this.JsonProperties, \"$.Subject.Model.Type\"), \"\") <> \"Hierarchy\"",
73
- "hideExpression": "NOT ThisNode.HasChildren ANDALSO NOT ThisNode.ChildrenArtifacts.AnyMatches(x => x.isContentModel)",
74
- "groupByClass": false,
75
- "groupByLabel": false
76
- }
77
- ],
78
- "customizationRules": [
79
- {
80
- "ruleType": "ExtendedData",
81
- "items": {
82
- "isSubject": "true"
83
- }
84
- },
85
- {
86
- "ruleType": "Grouping",
87
- "class": {
88
- "schemaName": "BisCore",
89
- "className": "Subject"
90
- },
91
- "groups": [
92
- {
93
- "specType": "SameLabelInstance",
94
- "applicationStage": "PostProcess"
95
- }
96
- ]
97
- }
98
- ]
99
- },
100
- {
101
- "ruleType": "ChildNodes",
102
- "condition": "ParentNode.IsOfClass(\"Subject\", \"BisCore\")",
103
- "specifications": [
104
- {
105
- "specType": "InstanceNodesOfSpecificClasses",
106
- "classes": {
107
- "schemaName": "BisCore",
108
- "classNames": [
109
- "GeometricModel3d"
110
- ]
111
- },
112
- "arePolymorphic": true,
113
- "relatedInstances": [
114
- {
115
- "relationshipPath": {
116
- "relationship": {
117
- "schemaName": "BisCore",
118
- "className": "ModelModelsElement"
119
- },
120
- "direction": "Forward",
121
- "targetClass": {
122
- "schemaName": "BisCore",
123
- "className": "InformationPartitionElement"
124
- }
125
- },
126
- "alias": "partition",
127
- "isRequired": true
128
- }
129
- ],
130
- "instanceFilter": "(parent.ECInstanceId = partition.Parent.Id OR json_extract(parent.JsonProperties, \"$.Subject.Model.TargetPartition\") = printf(\"0x%x\", partition.ECInstanceId)) AND NOT this.IsPrivate AND json_extract(partition.JsonProperties, \"$.PhysicalPartition.Model.Content\") = NULL AND json_extract(partition.JsonProperties, \"$.GraphicalPartition3d.Model.Content\") = NULL AND this.HasRelatedInstance(\"BisCore:ModelContainsElements\", \"Forward\", \"BisCore:Element\")",
131
- "groupByClass": false,
132
- "groupByLabel": false
133
- }
134
- ],
135
- "customizationRules": [
136
- {
137
- "ruleType": "ExtendedData",
138
- "items": {
139
- "isModel": "true"
140
- }
141
- }
142
- ]
143
- },
144
- {
145
- "ruleType": "ChildNodes",
146
- "condition": "ParentNode.IsOfClass(\"Subject\", \"BisCore\")",
147
- "specifications": [
148
- {
149
- "specType": "InstanceNodesOfSpecificClasses",
150
- "classes": {
151
- "schemaName": "BisCore",
152
- "classNames": [
153
- "GeometricModel3d"
154
- ]
155
- },
156
- "arePolymorphic": true,
157
- "relatedInstances": [
158
- {
159
- "relationshipPath": {
160
- "relationship": {
161
- "schemaName": "BisCore",
162
- "className": "ModelModelsElement"
163
- },
164
- "direction": "Forward",
165
- "targetClass": {
166
- "schemaName": "BisCore",
167
- "className": "InformationPartitionElement"
168
- }
169
- },
170
- "alias": "partition",
171
- "isRequired": true
172
- }
173
- ],
174
- "instanceFilter": "(parent.ECInstanceId = partition.Parent.Id OR json_extract(parent.JsonProperties, \"$.Subject.Model.TargetPartition\") = printf(\"0x%x\", partition.ECInstanceId)) AND NOT this.IsPrivate AND (json_extract(partition.JsonProperties, \"$.PhysicalPartition.Model.Content\") <> NULL OR json_extract(partition.JsonProperties, \"$.GraphicalPartition3d.Model.Content\") <> NULL) AND this.HasRelatedInstance(\"BisCore:ModelContainsElements\", \"Forward\", \"BisCore:Element\")",
175
- "hideNodesInHierarchy": true,
176
- "groupByClass": false,
177
- "groupByLabel": false
178
- }
179
- ],
180
- "customizationRules": [
181
- {
182
- "ruleType": "NodeArtifacts",
183
- "items": {
184
- "isContentModel": "true"
185
- }
186
- },
187
- {
188
- "ruleType": "ExtendedData",
189
- "items": {
190
- "isModel": "true"
191
- }
192
- }
193
- ]
194
- },
195
- {
196
- "ruleType": "ChildNodes",
197
- "condition": "ParentNode.IsOfClass(\"GeometricModel3d\", \"BisCore\")",
198
- "specifications": [
199
- {
200
- "specType": "RelatedInstanceNodes",
201
- "relationshipPaths": [
202
- {
203
- "relationship": {
204
- "schemaName": "BisCore",
205
- "className": "ModelOwnsSubModel"
206
- },
207
- "direction": "Forward",
208
- "targetClass": {
209
- "schemaName": "BisCore",
210
- "className": "GeometricModel3d"
211
- }
212
- }
213
- ],
214
- "instanceFilter": "NOT this.IsPrivate AND this.HasRelatedInstance(\"BisCore:ModelContainsElements\", \"Forward\", \"BisCore:Element\")",
215
- "groupByClass": false,
216
- "groupByLabel": false
217
- }
218
- ],
219
- "customizationRules": [
220
- {
221
- "ruleType": "ExtendedData",
222
- "items": {
223
- "isModel": "true"
224
- }
225
- }
226
- ]
227
- },
228
- {
229
- "ruleType": "ImageIdOverride",
230
- "condition": "ThisNode.IsOfClass(\"Subject\", \"BisCore\")",
231
- "imageIdExpression": "IIF(this.Parent.Id = NULL, \"icon-imodel-hollow-2\", \"icon-folder\")"
232
- },
233
- {
234
- "ruleType": "ImageIdOverride",
235
- "condition": "ThisNode.IsOfClass(\"Model\", \"BisCore\")",
236
- "imageIdExpression": "\"icon-model\""
237
- }
238
- ]
239
- }
@@ -1,44 +0,0 @@
1
- /// <reference types="react" />
2
- import { StagePanelLocation, StagePanelSection } from "@itwin/appui-react";
3
- import type { SelectableContentDefinition } from "@itwin/components-react";
4
- import type { IModelConnection, ScreenViewport } from "@itwin/core-frontend";
5
- import type { CategoryTreeProps } from "./components/trees/category-tree/CategoriesTree";
6
- import type { ModelsTreeProps } from "./components/trees/models-tree/ModelsTree";
7
- import type { CategoryInfo, ModelInfo } from "./tree-widget-react";
8
- export interface TreeHeaderButtonProps {
9
- viewport: ScreenViewport;
10
- }
11
- export interface ModelsTreeHeaderButtonProps extends TreeHeaderButtonProps {
12
- models: ModelInfo[];
13
- }
14
- export interface CategoriesTreeHeaderButtonProps extends TreeHeaderButtonProps {
15
- categories: CategoryInfo[];
16
- filteredCategories?: CategoryInfo[];
17
- }
18
- export interface IModelContentTreeProps extends Omit<React.AllHTMLAttributes<HTMLDivElement>, "children"> {
19
- iModel: IModelConnection;
20
- }
21
- export interface ModelTreeProps extends Omit<ModelsTreeProps, "iModel" | "activeView" | "width" | "height" | "filterInfo" | "onFilterApplied"> {
22
- headerButtons?: Array<(props: ModelsTreeHeaderButtonProps) => React.ReactNode>;
23
- }
24
- export interface CategoriesTreeProps extends Omit<CategoryTreeProps, "iModel" | "activeView" | "width" | "height" | "filterInfo" | "onFilterApplied" | "categories"> {
25
- headerButtons?: Array<(props: CategoriesTreeHeaderButtonProps) => React.ReactNode>;
26
- }
27
- export declare const ModelsTreeId = "models-tree";
28
- export declare const CategoriesTreeId = "categories-tree";
29
- export declare const SpatialContainmentTreeId = "spatial-containment-tree";
30
- export interface TreeWidgetOptions {
31
- defaultPanelLocation?: StagePanelLocation;
32
- defaultPanelSection?: StagePanelSection;
33
- defaultTreeWidgetPriority?: number;
34
- enableElementsClassGrouping?: boolean;
35
- additionalTrees?: SelectableContentDefinition[];
36
- modelsTreeProps?: ModelTreeProps;
37
- categoriesTreeProps?: CategoriesTreeProps;
38
- defaultTreeId?: string;
39
- hideTrees?: {
40
- modelsTree?: boolean;
41
- categoriesTree?: boolean;
42
- };
43
- }
44
- //# sourceMappingURL=types.d.ts.map
package/lib/esm/types.js DELETED
@@ -1,8 +0,0 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- export const ModelsTreeId = "models-tree";
6
- export const CategoriesTreeId = "categories-tree";
7
- export const SpatialContainmentTreeId = "spatial-containment-tree";
8
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AA8C/F,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAElD,MAAM,CAAC,MAAM,wBAAwB,GAAG,0BAA0B,CAAC","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 { StagePanelLocation, StagePanelSection } from \"@itwin/appui-react\";\nimport type { SelectableContentDefinition } from \"@itwin/components-react\";\nimport type { IModelConnection, ScreenViewport } from \"@itwin/core-frontend\";\nimport type { CategoryTreeProps } from \"./components/trees/category-tree/CategoriesTree\";\nimport type { ModelsTreeProps } from \"./components/trees/models-tree/ModelsTree\";\nimport type { CategoryInfo, ModelInfo } from \"./tree-widget-react\";\n\nexport interface TreeHeaderButtonProps {\n viewport: ScreenViewport;\n}\n\nexport interface ModelsTreeHeaderButtonProps extends TreeHeaderButtonProps {\n models: ModelInfo[];\n}\n\nexport interface CategoriesTreeHeaderButtonProps extends TreeHeaderButtonProps {\n categories: CategoryInfo[];\n filteredCategories?: CategoryInfo[];\n}\n\nexport interface IModelContentTreeProps\n extends Omit<React.AllHTMLAttributes<HTMLDivElement>, \"children\"> {\n iModel: IModelConnection;\n}\n\nexport interface ModelTreeProps extends Omit<ModelsTreeProps,\n| \"iModel\"\n| \"activeView\"\n| \"width\"\n| \"height\"\n| \"filterInfo\"\n| \"onFilterApplied\"\n> { headerButtons?: Array<(props: ModelsTreeHeaderButtonProps) => React.ReactNode> }\n\nexport interface CategoriesTreeProps extends Omit<CategoryTreeProps,\n| \"iModel\"\n| \"activeView\"\n| \"width\"\n| \"height\"\n| \"filterInfo\"\n| \"onFilterApplied\"\n| \"categories\"\n> { headerButtons?: Array<(props: CategoriesTreeHeaderButtonProps) => React.ReactNode> }\n\nexport const ModelsTreeId = \"models-tree\";\n\nexport const CategoriesTreeId = \"categories-tree\";\n\nexport const SpatialContainmentTreeId = \"spatial-containment-tree\";\n\nexport interface TreeWidgetOptions {\n defaultPanelLocation?: StagePanelLocation;\n defaultPanelSection?: StagePanelSection;\n defaultTreeWidgetPriority?: number;\n enableElementsClassGrouping?: boolean;\n additionalTrees?: SelectableContentDefinition[];\n modelsTreeProps?: ModelTreeProps;\n categoriesTreeProps?: CategoriesTreeProps;\n defaultTreeId?: string;\n hideTrees?: {\n modelsTree?: boolean;\n categoriesTree?: boolean;\n };\n}\n"]}