@itwin/tree-widget-react 0.10.0-dev.1 → 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 +61 -66
  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,391 +0,0 @@
1
- {
2
- "$schema": "../../../../node_modules/@itwin/presentation-common/Ruleset.schema.json",
3
- "id": "tree-widget-react/ModelsTree.GroupedByClass",
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": true,
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": true,
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": "ImageIdOverride",
365
- "condition": "ThisNode.IsClassGroupingNode",
366
- "imageIdExpression": "\"icon-ec-class\""
367
- },
368
- {
369
- "ruleType": "Content",
370
- "condition": "ContentDisplayType = \"AssemblyElementsRequest\"",
371
- "specifications": [
372
- {
373
- "specType": "SelectedNodeInstances"
374
- },
375
- {
376
- "specType": "ContentRelatedInstances",
377
- "relationshipPaths": [
378
- {
379
- "relationship": {
380
- "schemaName": "BisCore",
381
- "className": "ElementOwnsChildElements"
382
- },
383
- "direction": "Forward",
384
- "count": "*"
385
- }
386
- ]
387
- }
388
- ]
389
- }
390
- ]
391
- }