@itwin/tree-widget-react 0.4.7 → 0.6.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 (116) hide show
  1. package/lib/cjs/TreeWidget.js +4 -2
  2. package/lib/cjs/TreeWidget.js.map +1 -1
  3. package/lib/cjs/components/TreeWidgetUiItemsProvider.js +20 -12
  4. package/lib/cjs/components/TreeWidgetUiItemsProvider.js.map +1 -1
  5. package/lib/cjs/components/rulesets/ClassificationSystems.json +122 -0
  6. package/lib/cjs/components/rulesets/IModelContent.json +407 -407
  7. package/lib/cjs/components/trees/Common.d.ts +21 -0
  8. package/lib/cjs/components/trees/Common.js +21 -0
  9. package/lib/cjs/components/trees/Common.js.map +1 -0
  10. package/lib/cjs/components/trees/VisibilityTreeBase.scss +53 -0
  11. package/lib/cjs/components/trees/VisibilityTreeEventHandler.d.ts +67 -0
  12. package/lib/cjs/components/trees/VisibilityTreeEventHandler.js +147 -0
  13. package/lib/cjs/components/trees/VisibilityTreeEventHandler.js.map +1 -0
  14. package/lib/cjs/components/trees/VisibilityTreeRenderer.d.ts +43 -0
  15. package/lib/cjs/components/trees/VisibilityTreeRenderer.js +81 -0
  16. package/lib/cjs/components/trees/VisibilityTreeRenderer.js.map +1 -0
  17. package/lib/cjs/components/trees/category-tree/Categories.json +102 -0
  18. package/lib/cjs/components/trees/category-tree/CategoriesTree.d.ts +65 -0
  19. package/lib/cjs/components/trees/category-tree/CategoriesTree.js +121 -0
  20. package/lib/cjs/components/trees/category-tree/CategoriesTree.js.map +1 -0
  21. package/lib/{esm/components/trees → cjs/components/trees/category-tree}/CategoriesTree.scss +5 -0
  22. package/lib/cjs/components/trees/{CategoriesTree.d.ts → category-tree/CategoriesTreeComponent.d.ts} +2 -2
  23. package/lib/cjs/components/trees/{CategoriesTree.js → category-tree/CategoriesTreeComponent.js} +14 -13
  24. package/lib/cjs/components/trees/category-tree/CategoriesTreeComponent.js.map +1 -0
  25. package/lib/cjs/components/trees/category-tree/CategoryVisibilityHandler.d.ts +54 -0
  26. package/lib/cjs/components/trees/category-tree/CategoryVisibilityHandler.js +213 -0
  27. package/lib/cjs/components/trees/category-tree/CategoryVisibilityHandler.js.map +1 -0
  28. package/lib/cjs/components/trees/index.d.ts +10 -3
  29. package/lib/cjs/components/trees/index.js +13 -6
  30. package/lib/cjs/components/trees/index.js.map +1 -1
  31. package/lib/cjs/components/trees/models-tree/Hierarchy.GroupedByClass.json +392 -0
  32. package/lib/cjs/components/trees/models-tree/Hierarchy.json +387 -0
  33. package/lib/cjs/components/trees/models-tree/ModelsTree.d.ts +82 -0
  34. package/lib/cjs/components/trees/models-tree/ModelsTree.js +144 -0
  35. package/lib/cjs/components/trees/models-tree/ModelsTree.js.map +1 -0
  36. package/lib/cjs/components/trees/{ModelsTree.scss → models-tree/ModelsTree.scss} +5 -1
  37. package/lib/{esm/components/trees/ModelsTree.d.ts → cjs/components/trees/models-tree/ModelsTreeComponent.d.ts} +2 -2
  38. package/lib/cjs/components/trees/{ModelsTree.js → models-tree/ModelsTreeComponent.js} +6 -5
  39. package/lib/cjs/components/trees/models-tree/ModelsTreeComponent.js.map +1 -0
  40. package/lib/cjs/components/trees/models-tree/ModelsTreeSearch.json +239 -0
  41. package/lib/cjs/components/trees/models-tree/ModelsVisibilityHandler.d.ts +100 -0
  42. package/lib/cjs/components/trees/models-tree/ModelsVisibilityHandler.js +477 -0
  43. package/lib/cjs/components/trees/models-tree/ModelsVisibilityHandler.js.map +1 -0
  44. package/lib/cjs/components/trees/models-tree/Utils.d.ts +10 -0
  45. package/lib/cjs/components/trees/models-tree/Utils.js +27 -0
  46. package/lib/cjs/components/trees/models-tree/Utils.js.map +1 -0
  47. package/lib/cjs/components/trees/{SpatialTree.d.ts → spatial-tree/SpatialTreeComponent.d.ts} +2 -2
  48. package/lib/cjs/components/trees/{SpatialTree.js → spatial-tree/SpatialTreeComponent.js} +2 -2
  49. package/lib/cjs/components/trees/spatial-tree/SpatialTreeComponent.js.map +1 -0
  50. package/lib/cjs/tree-widget-react.js +3 -3
  51. package/lib/cjs/tree-widget-react.js.map +1 -1
  52. package/lib/cjs/types.d.ts +7 -1
  53. package/lib/cjs/types.js +4 -0
  54. package/lib/cjs/types.js.map +1 -1
  55. package/lib/esm/TreeWidget.js +4 -2
  56. package/lib/esm/TreeWidget.js.map +1 -1
  57. package/lib/esm/components/TreeWidgetUiItemsProvider.js +17 -9
  58. package/lib/esm/components/TreeWidgetUiItemsProvider.js.map +1 -1
  59. package/lib/esm/components/rulesets/ClassificationSystems.json +122 -0
  60. package/lib/esm/components/rulesets/IModelContent.json +407 -407
  61. package/lib/esm/components/trees/Common.d.ts +21 -0
  62. package/lib/esm/components/trees/Common.js +18 -0
  63. package/lib/esm/components/trees/Common.js.map +1 -0
  64. package/lib/esm/components/trees/VisibilityTreeBase.scss +53 -0
  65. package/lib/esm/components/trees/VisibilityTreeEventHandler.d.ts +67 -0
  66. package/lib/esm/components/trees/VisibilityTreeEventHandler.js +143 -0
  67. package/lib/esm/components/trees/VisibilityTreeEventHandler.js.map +1 -0
  68. package/lib/esm/components/trees/VisibilityTreeRenderer.d.ts +43 -0
  69. package/lib/esm/components/trees/VisibilityTreeRenderer.js +54 -0
  70. package/lib/esm/components/trees/VisibilityTreeRenderer.js.map +1 -0
  71. package/lib/esm/components/trees/category-tree/Categories.json +102 -0
  72. package/lib/esm/components/trees/category-tree/CategoriesTree.d.ts +65 -0
  73. package/lib/esm/components/trees/category-tree/CategoriesTree.js +96 -0
  74. package/lib/esm/components/trees/category-tree/CategoriesTree.js.map +1 -0
  75. package/lib/{cjs/components/trees → esm/components/trees/category-tree}/CategoriesTree.scss +5 -0
  76. package/lib/esm/components/trees/{CategoriesTree.d.ts → category-tree/CategoriesTreeComponent.d.ts} +2 -2
  77. package/lib/esm/components/trees/{CategoriesTree.js → category-tree/CategoriesTreeComponent.js} +8 -7
  78. package/lib/esm/components/trees/category-tree/CategoriesTreeComponent.js.map +1 -0
  79. package/lib/esm/components/trees/category-tree/CategoryVisibilityHandler.d.ts +54 -0
  80. package/lib/esm/components/trees/category-tree/CategoryVisibilityHandler.js +188 -0
  81. package/lib/esm/components/trees/category-tree/CategoryVisibilityHandler.js.map +1 -0
  82. package/lib/esm/components/trees/index.d.ts +10 -3
  83. package/lib/esm/components/trees/index.js +13 -6
  84. package/lib/esm/components/trees/index.js.map +1 -1
  85. package/lib/esm/components/trees/models-tree/Hierarchy.GroupedByClass.json +392 -0
  86. package/lib/esm/components/trees/models-tree/Hierarchy.json +387 -0
  87. package/lib/esm/components/trees/models-tree/ModelsTree.d.ts +82 -0
  88. package/lib/esm/components/trees/models-tree/ModelsTree.js +121 -0
  89. package/lib/esm/components/trees/models-tree/ModelsTree.js.map +1 -0
  90. package/lib/esm/components/trees/{ModelsTree.scss → models-tree/ModelsTree.scss} +5 -1
  91. package/lib/{cjs/components/trees/ModelsTree.d.ts → esm/components/trees/models-tree/ModelsTreeComponent.d.ts} +2 -2
  92. package/lib/esm/components/trees/{ModelsTree.js → models-tree/ModelsTreeComponent.js} +6 -5
  93. package/lib/esm/components/trees/models-tree/ModelsTreeComponent.js.map +1 -0
  94. package/lib/esm/components/trees/models-tree/ModelsTreeSearch.json +239 -0
  95. package/lib/esm/components/trees/models-tree/ModelsVisibilityHandler.d.ts +100 -0
  96. package/lib/esm/components/trees/models-tree/ModelsVisibilityHandler.js +472 -0
  97. package/lib/esm/components/trees/models-tree/ModelsVisibilityHandler.js.map +1 -0
  98. package/lib/esm/components/trees/models-tree/Utils.d.ts +10 -0
  99. package/lib/esm/components/trees/models-tree/Utils.js +23 -0
  100. package/lib/esm/components/trees/models-tree/Utils.js.map +1 -0
  101. package/lib/esm/components/trees/{SpatialTree.d.ts → spatial-tree/SpatialTreeComponent.d.ts} +2 -2
  102. package/lib/esm/components/trees/{SpatialTree.js → spatial-tree/SpatialTreeComponent.js} +2 -2
  103. package/lib/esm/components/trees/spatial-tree/SpatialTreeComponent.js.map +1 -0
  104. package/lib/esm/tree-widget-react.js +3 -3
  105. package/lib/esm/tree-widget-react.js.map +1 -1
  106. package/lib/esm/types.d.ts +7 -1
  107. package/lib/esm/types.js +3 -1
  108. package/lib/esm/types.js.map +1 -1
  109. package/lib/public/locales/en/TreeWidget.json +39 -2
  110. package/package.json +54 -32
  111. package/lib/cjs/components/trees/CategoriesTree.js.map +0 -1
  112. package/lib/cjs/components/trees/ModelsTree.js.map +0 -1
  113. package/lib/cjs/components/trees/SpatialTree.js.map +0 -1
  114. package/lib/esm/components/trees/CategoriesTree.js.map +0 -1
  115. package/lib/esm/components/trees/ModelsTree.js.map +0 -1
  116. package/lib/esm/components/trees/SpatialTree.js.map +0 -1
@@ -1,443 +1,443 @@
1
1
  {
2
- "$schema": "../../node_modules/@itwin/presentation-common/Ruleset.schema.json",
3
- "id": "tree-widget-react/imodel-content",
4
- "requiredSchemas": [
2
+ "$schema": "../../node_modules/@itwin/presentation-common/Ruleset.schema.json",
3
+ "id": "tree-widget-react/imodel-content",
4
+ "requiredSchemas": [
5
+ {
6
+ "name": "BisCore"
7
+ }
8
+ ],
9
+ "rules": [
10
+ {
11
+ "ruleType": "RootNodes",
12
+ "autoExpand": true,
13
+ "specifications": [
5
14
  {
6
- "name": "BisCore"
15
+ "specType": "InstanceNodesOfSpecificClasses",
16
+ "classes": [
17
+ {
18
+ "schemaName": "BisCore",
19
+ "classNames": ["Subject"],
20
+ "arePolymorphic": false
21
+ }
22
+ ],
23
+ "instanceFilter": "this.Parent = NULL",
24
+ "groupByClass": false,
25
+ "groupByLabel": false
7
26
  }
8
- ],
9
- "rules": [
27
+ ]
28
+ },
29
+ {
30
+ "ruleType": "ChildNodes",
31
+ "condition": "ParentNode.IsOfClass(\"Subject\", \"BisCore\")",
32
+ "specifications": [
10
33
  {
11
- "ruleType": "RootNodes",
12
- "autoExpand": true,
13
- "specifications": [
14
- {
15
- "specType": "InstanceNodesOfSpecificClasses",
16
- "classes": [
17
- {
18
- "schemaName": "BisCore",
19
- "classNames": ["Subject"],
20
- "arePolymorphic": false
21
- }
22
- ],
23
- "instanceFilter": "this.Parent = NULL",
24
- "groupByClass": false,
25
- "groupByLabel": false
26
- }
27
- ]
34
+ "specType": "RelatedInstanceNodes",
35
+ "relationshipPaths": [
36
+ {
37
+ "relationship": {
38
+ "schemaName": "BisCore",
39
+ "className": "SubjectOwnsSubjects"
40
+ },
41
+ "direction": "Forward",
42
+ "targetClass": {
43
+ "schemaName": "BisCore",
44
+ "className": "Subject"
45
+ }
46
+ }
47
+ ],
48
+ "instanceFilter": "json_extract(this.JsonProperties, \"$.Subject.Job.Bridge\") <> NULL OR ifnull(json_extract(this.JsonProperties, \"$.Subject.Model.Type\"), \"\") = \"Hierarchy\"",
49
+ "hideNodesInHierarchy": true,
50
+ "groupByClass": false,
51
+ "groupByLabel": false
28
52
  },
29
53
  {
30
- "ruleType": "ChildNodes",
31
- "condition": "ParentNode.IsOfClass(\"Subject\", \"BisCore\")",
32
- "specifications": [
33
- {
34
- "specType": "RelatedInstanceNodes",
35
- "relationshipPaths": [
36
- {
37
- "relationship": {
38
- "schemaName": "BisCore",
39
- "className": "SubjectOwnsSubjects"
40
- },
41
- "direction": "Forward",
42
- "targetClass": {
43
- "schemaName": "BisCore",
44
- "className": "Subject"
45
- }
46
- }
47
- ],
48
- "instanceFilter": "json_extract(this.JsonProperties, \"$.Subject.Job.Bridge\") <> NULL OR ifnull(json_extract(this.JsonProperties, \"$.Subject.Model.Type\"), \"\") = \"Hierarchy\"",
49
- "hideNodesInHierarchy": true,
50
- "groupByClass": false,
51
- "groupByLabel": false
54
+ "specType": "RelatedInstanceNodes",
55
+ "relationshipPaths": [
56
+ {
57
+ "relationship": {
58
+ "schemaName": "BisCore",
59
+ "className": "SubjectOwnsSubjects"
60
+ },
61
+ "direction": "Forward",
62
+ "targetClass": {
63
+ "schemaName": "BisCore",
64
+ "className": "Subject"
65
+ }
66
+ }
67
+ ],
68
+ "instanceFilter": "json_extract(this.JsonProperties, \"$.Subject.Job.Bridge\") = NULL AND ifnull(json_extract(this.JsonProperties, \"$.Subject.Model.Type\"), \"\") <> \"Hierarchy\"",
69
+ "groupByClass": false,
70
+ "groupByLabel": false
71
+ }
72
+ ]
73
+ },
74
+ {
75
+ "ruleType": "ChildNodes",
76
+ "condition": "ParentNode.IsOfClass(\"Subject\", \"BisCore\")",
77
+ "specifications": [
78
+ {
79
+ "specType": "InstanceNodesOfSpecificClasses",
80
+ "classes": {
81
+ "schemaName": "BisCore",
82
+ "classNames": ["Model"],
83
+ "arePolymorphic": true
84
+ },
85
+ "relatedInstances": [
86
+ {
87
+ "relationshipPath": {
88
+ "relationship": {
89
+ "schemaName": "BisCore",
90
+ "className": "ModelModelsElement"
52
91
  },
53
- {
54
- "specType": "RelatedInstanceNodes",
55
- "relationshipPaths": [
56
- {
57
- "relationship": {
58
- "schemaName": "BisCore",
59
- "className": "SubjectOwnsSubjects"
60
- },
61
- "direction": "Forward",
62
- "targetClass": {
63
- "schemaName": "BisCore",
64
- "className": "Subject"
65
- }
66
- }
67
- ],
68
- "instanceFilter": "json_extract(this.JsonProperties, \"$.Subject.Job.Bridge\") = NULL AND ifnull(json_extract(this.JsonProperties, \"$.Subject.Model.Type\"), \"\") <> \"Hierarchy\"",
69
- "groupByClass": false,
70
- "groupByLabel": false
92
+ "direction": "Forward",
93
+ "targetClass": {
94
+ "schemaName": "BisCore",
95
+ "className": "InformationPartitionElement"
71
96
  }
72
- ]
97
+ },
98
+ "alias": "partition",
99
+ "isRequired": true
100
+ }
101
+ ],
102
+ "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",
103
+ "groupByClass": false,
104
+ "groupByLabel": false
73
105
  },
74
106
  {
75
- "ruleType": "ChildNodes",
76
- "condition": "ParentNode.IsOfClass(\"Subject\", \"BisCore\")",
77
- "specifications": [
78
- {
79
- "specType": "InstanceNodesOfSpecificClasses",
80
- "classes": {
81
- "schemaName": "BisCore",
82
- "classNames": ["Model"],
83
- "arePolymorphic": true
84
- },
85
- "relatedInstances": [
86
- {
87
- "relationshipPath": {
88
- "relationship": {
89
- "schemaName": "BisCore",
90
- "className": "ModelModelsElement"
91
- },
92
- "direction": "Forward",
93
- "targetClass": {
94
- "schemaName": "BisCore",
95
- "className": "InformationPartitionElement"
96
- }
97
- },
98
- "alias": "partition",
99
- "isRequired": true
100
- }
101
- ],
102
- "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",
103
- "groupByClass": false,
104
- "groupByLabel": false
107
+ "specType": "InstanceNodesOfSpecificClasses",
108
+ "classes": {
109
+ "schemaName": "BisCore",
110
+ "classNames": ["Model"],
111
+ "arePolymorphic": true
112
+ },
113
+ "relatedInstances": [
114
+ {
115
+ "relationshipPath": {
116
+ "relationship": {
117
+ "schemaName": "BisCore",
118
+ "className": "ModelModelsElement"
105
119
  },
106
- {
107
- "specType": "InstanceNodesOfSpecificClasses",
108
- "classes": {
109
- "schemaName": "BisCore",
110
- "classNames": ["Model"],
111
- "arePolymorphic": true
112
- },
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 OR json_extract(partition.JsonProperties, \"$.GraphicalPartition3d.Model.Content\") <> NULL)",
131
- "hideNodesInHierarchy": true,
132
- "groupByClass": false,
133
- "groupByLabel": false
120
+ "direction": "Forward",
121
+ "targetClass": {
122
+ "schemaName": "BisCore",
123
+ "className": "InformationPartitionElement"
134
124
  }
135
- ]
136
- },
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 OR json_extract(partition.JsonProperties, \"$.GraphicalPartition3d.Model.Content\") <> NULL)",
131
+ "hideNodesInHierarchy": true,
132
+ "groupByClass": false,
133
+ "groupByLabel": false
134
+ }
135
+ ]
136
+ },
137
+ {
138
+ "ruleType": "ChildNodes",
139
+ "condition": "ParentNode.IsOfClass(\"ISubModeledElement\", \"BisCore\")",
140
+ "specifications": [
137
141
  {
138
- "ruleType": "ChildNodes",
139
- "condition": "ParentNode.IsOfClass(\"ISubModeledElement\", \"BisCore\")",
140
- "specifications": [
141
- {
142
- "specType": "RelatedInstanceNodes",
143
- "relationshipPaths": [
144
- {
145
- "relationship": {
146
- "schemaName": "BisCore",
147
- "className": "ModelModelsElement"
148
- },
149
- "direction": "Backward"
150
- }
151
- ],
152
- "instanceFilter": "NOT this.IsPrivate",
153
- "hideNodesInHierarchy": true,
154
- "groupByClass": false,
155
- "groupByLabel": false
156
- }
157
- ]
158
- },
142
+ "specType": "RelatedInstanceNodes",
143
+ "relationshipPaths": [
144
+ {
145
+ "relationship": {
146
+ "schemaName": "BisCore",
147
+ "className": "ModelModelsElement"
148
+ },
149
+ "direction": "Backward"
150
+ }
151
+ ],
152
+ "instanceFilter": "NOT this.IsPrivate",
153
+ "hideNodesInHierarchy": true,
154
+ "groupByClass": false,
155
+ "groupByLabel": false
156
+ }
157
+ ]
158
+ },
159
+ {
160
+ "ruleType": "ChildNodes",
161
+ "condition": "ParentNode.IsOfClass(\"GeometricModel3d\", \"BisCore\")",
162
+ "specifications": [
159
163
  {
160
- "ruleType": "ChildNodes",
161
- "condition": "ParentNode.IsOfClass(\"GeometricModel3d\", \"BisCore\")",
162
- "specifications": [
163
- {
164
- "specType": "RelatedInstanceNodes",
165
- "relationshipPaths": [
166
- [
167
- {
168
- "relationship": {
169
- "schemaName": "BisCore",
170
- "className": "ModelContainsElements"
171
- },
172
- "direction": "Forward",
173
- "targetClass": {
174
- "schemaName": "BisCore",
175
- "className": "GeometricElement3d"
176
- }
177
- },
178
- {
179
- "relationship": {
180
- "schemaName": "BisCore",
181
- "className": "GeometricElement3dIsInCategory"
182
- },
183
- "direction": "Forward"
184
- }
185
- ]
186
- ],
187
- "suppressSimilarAncestorsCheck": true,
188
- "groupByClass": false,
189
- "groupByLabel": false,
190
- "nestedRules": [
191
- {
192
- "ruleType": "ChildNodes",
193
- "condition": "ParentNode.IsOfClass(\"SpatialCategory\", \"BisCore\")",
194
- "specifications": [
195
- {
196
- "specType": "RelatedInstanceNodes",
197
- "relationshipPaths": [
198
- {
199
- "relationship": {
200
- "schemaName": "BisCore",
201
- "className": "GeometricElement3dIsInCategory"
202
- },
203
- "direction": "Backward"
204
- }
205
- ],
206
- "instanceFilter": "this.Model.Id = parent.parent.ECInstanceId ANDALSO this.Parent = NULL",
207
- "groupByClass": true,
208
- "groupByLabel": false
209
- }
210
- ]
211
- }
212
- ]
164
+ "specType": "RelatedInstanceNodes",
165
+ "relationshipPaths": [
166
+ [
167
+ {
168
+ "relationship": {
169
+ "schemaName": "BisCore",
170
+ "className": "ModelContainsElements"
213
171
  },
214
- {
215
- "specType": "RelatedInstanceNodes",
216
- "relationshipPaths": [
217
- {
218
- "relationship": {
219
- "schemaName": "BisCore",
220
- "className": "ModelContainsElements"
221
- },
222
- "direction": "Forward",
223
- "targetClass": {
224
- "schemaName": "BisCore",
225
- "className": "InformationContentElement"
226
- }
227
- }
228
- ],
229
- "groupByClass": true,
230
- "groupByLabel": false
172
+ "direction": "Forward",
173
+ "targetClass": {
174
+ "schemaName": "BisCore",
175
+ "className": "GeometricElement3d"
231
176
  }
232
- ]
233
- },
234
- {
235
- "ruleType": "ChildNodes",
236
- "condition": "ParentNode.IsOfClass(\"GeometricModel2d\", \"BisCore\")",
237
- "specifications": [
238
- {
239
- "specType": "RelatedInstanceNodes",
240
- "relationshipPaths": [
241
- [
242
- {
243
- "relationship": {
244
- "schemaName": "BisCore",
245
- "className": "ModelContainsElements"
246
- },
247
- "direction": "Forward",
248
- "targetClass": {
249
- "schemaName": "BisCore",
250
- "className": "GeometricElement2d"
251
- }
252
- },
253
- {
254
- "relationship": {
255
- "schemaName": "BisCore",
256
- "className": "GeometricElement2dIsInCategory"
257
- },
258
- "direction": "Forward"
259
- }
260
- ]
261
- ],
262
- "suppressSimilarAncestorsCheck": true,
263
- "groupByClass": false,
264
- "groupByLabel": false,
265
- "nestedRules": [
266
- {
267
- "ruleType": "ChildNodes",
268
- "condition": "ParentNode.IsOfClass(\"DrawingCategory\", \"BisCore\")",
269
- "specifications": [
270
- {
271
- "specType": "RelatedInstanceNodes",
272
- "relationshipPaths": [
273
- {
274
- "relationship": {
275
- "schemaName": "BisCore",
276
- "className": "GeometricElement2dIsInCategory"
277
- },
278
- "direction": "Backward"
279
- }
280
- ],
281
- "instanceFilter": "this.Model.Id = parent.parent.ECInstanceId ANDALSO this.Parent = NULL",
282
- "groupByClass": true,
283
- "groupByLabel": false
284
- }
285
- ]
286
- }
287
- ]
177
+ },
178
+ {
179
+ "relationship": {
180
+ "schemaName": "BisCore",
181
+ "className": "GeometricElement3dIsInCategory"
288
182
  },
289
- {
290
- "specType": "RelatedInstanceNodes",
291
- "relationshipPaths": [
292
- {
293
- "relationship": {
294
- "schemaName": "BisCore",
295
- "className": "ModelContainsElements"
296
- },
297
- "direction": "Forward",
298
- "targetClass": {
299
- "schemaName": "BisCore",
300
- "className": "InformationContentElement"
301
- }
302
- }
303
- ],
304
- "groupByClass": true,
305
- "groupByLabel": false
306
- }
183
+ "direction": "Forward"
184
+ }
307
185
  ]
308
- },
309
- {
310
- "ruleType": "ChildNodes",
311
- "condition": "ParentNode.IsOfClass(\"Model\", \"BisCore\")",
312
- "onlyIfNotHandled": true,
313
- "specifications": [
186
+ ],
187
+ "suppressSimilarAncestorsCheck": true,
188
+ "groupByClass": false,
189
+ "groupByLabel": false,
190
+ "nestedRules": [
191
+ {
192
+ "ruleType": "ChildNodes",
193
+ "condition": "ParentNode.IsOfClass(\"SpatialCategory\", \"BisCore\")",
194
+ "specifications": [
314
195
  {
315
- "specType": "RelatedInstanceNodes",
316
- "relationshipPaths": [
317
- [
318
- {
319
- "relationship": {
320
- "schemaName": "BisCore",
321
- "className": "ModelContainsElements"
322
- },
323
- "direction": "Forward"
324
- }
325
- ]
326
- ],
327
- "instanceFilter": "this.Parent = NULL",
328
- "groupByClass": true,
329
- "groupByLabel": false
196
+ "specType": "RelatedInstanceNodes",
197
+ "relationshipPaths": [
198
+ {
199
+ "relationship": {
200
+ "schemaName": "BisCore",
201
+ "className": "GeometricElement3dIsInCategory"
202
+ },
203
+ "direction": "Backward"
204
+ }
205
+ ],
206
+ "instanceFilter": "this.Model.Id = parent.parent.ECInstanceId ANDALSO this.Parent = NULL",
207
+ "groupByClass": true,
208
+ "groupByLabel": false
330
209
  }
331
- ]
210
+ ]
211
+ }
212
+ ]
332
213
  },
333
214
  {
334
- "ruleType": "ChildNodes",
335
- "condition": "ParentNode.IsOfClass(\"GroupInformationElement\", \"BisCore\")",
336
- "onlyIfNotHandled": true,
337
- "specifications": [
338
- {
339
- "specType": "CustomNode",
340
- "type": "T_CHILDREN",
341
- "label": "Children",
342
- "imageId": "icon-hierarchy-tree",
343
- "hideIfNoChildren": true,
344
- "nestedRules": [
345
- {
346
- "ruleType": "ChildNodes",
347
- "specifications": [
348
- {
349
- "specType": "RelatedInstanceNodes",
350
- "relationshipPaths": [
351
- {
352
- "relationship": {
353
- "schemaName": "BisCore",
354
- "className": "ElementOwnsChildElements"
355
- },
356
- "direction": "Forward"
357
- }
358
- ],
359
- "groupByClass": true,
360
- "groupByLabel": false
361
- }
362
- ]
363
- }
364
- ]
215
+ "specType": "RelatedInstanceNodes",
216
+ "relationshipPaths": [
217
+ {
218
+ "relationship": {
219
+ "schemaName": "BisCore",
220
+ "className": "ModelContainsElements"
221
+ },
222
+ "direction": "Forward",
223
+ "targetClass": {
224
+ "schemaName": "BisCore",
225
+ "className": "InformationContentElement"
226
+ }
227
+ }
228
+ ],
229
+ "groupByClass": true,
230
+ "groupByLabel": false
231
+ }
232
+ ]
233
+ },
234
+ {
235
+ "ruleType": "ChildNodes",
236
+ "condition": "ParentNode.IsOfClass(\"GeometricModel2d\", \"BisCore\")",
237
+ "specifications": [
238
+ {
239
+ "specType": "RelatedInstanceNodes",
240
+ "relationshipPaths": [
241
+ [
242
+ {
243
+ "relationship": {
244
+ "schemaName": "BisCore",
245
+ "className": "ModelContainsElements"
365
246
  },
366
- {
367
- "specType": "CustomNode",
368
- "type": "T_GROUPED_MEMBERS",
369
- "label": "Members",
370
- "imageId": "icon-group",
371
- "hideIfNoChildren": true,
372
- "nestedRules": [
373
- {
374
- "ruleType": "ChildNodes",
375
- "specifications": [
376
- {
377
- "specType": "RelatedInstanceNodes",
378
- "relationshipPaths": [
379
- {
380
- "relationship": {
381
- "schemaName": "BisCore",
382
- "className": "ElementGroupsMembers"
383
- },
384
- "direction": "Forward"
385
- }
386
- ],
387
- "groupByClass": true,
388
- "groupByLabel": false
389
- }
390
- ]
391
- }
392
- ]
247
+ "direction": "Forward",
248
+ "targetClass": {
249
+ "schemaName": "BisCore",
250
+ "className": "GeometricElement2d"
393
251
  }
252
+ },
253
+ {
254
+ "relationship": {
255
+ "schemaName": "BisCore",
256
+ "className": "GeometricElement2dIsInCategory"
257
+ },
258
+ "direction": "Forward"
259
+ }
394
260
  ]
395
- },
396
- {
397
- "ruleType": "ChildNodes",
398
- "condition": "ParentNode.IsOfClass(\"Element\", \"BisCore\")",
399
- "onlyIfNotHandled": true,
400
- "specifications": [
261
+ ],
262
+ "suppressSimilarAncestorsCheck": true,
263
+ "groupByClass": false,
264
+ "groupByLabel": false,
265
+ "nestedRules": [
266
+ {
267
+ "ruleType": "ChildNodes",
268
+ "condition": "ParentNode.IsOfClass(\"DrawingCategory\", \"BisCore\")",
269
+ "specifications": [
401
270
  {
402
- "specType": "RelatedInstanceNodes",
403
- "relationshipPaths": [
404
- {
405
- "relationship": {
406
- "schemaName": "BisCore",
407
- "className": "ElementOwnsChildElements"
408
- },
409
- "direction": "Forward"
410
- }
411
- ],
412
- "groupByClass": true,
413
- "groupByLabel": false
271
+ "specType": "RelatedInstanceNodes",
272
+ "relationshipPaths": [
273
+ {
274
+ "relationship": {
275
+ "schemaName": "BisCore",
276
+ "className": "GeometricElement2dIsInCategory"
277
+ },
278
+ "direction": "Backward"
279
+ }
280
+ ],
281
+ "instanceFilter": "this.Model.Id = parent.parent.ECInstanceId ANDALSO this.Parent = NULL",
282
+ "groupByClass": true,
283
+ "groupByLabel": false
414
284
  }
415
- ]
285
+ ]
286
+ }
287
+ ]
416
288
  },
417
289
  {
418
- "ruleType": "ImageIdOverride",
419
- "condition": "ThisNode.IsInstanceNode ANDALSO ThisNode.IsOfClass(\"Subject\", \"BisCore\")",
420
- "imageIdExpression": "IIF(this.Parent.Id = NULL, \"icon-imodel-hollow-2\", \"icon-folder\")"
421
- },
290
+ "specType": "RelatedInstanceNodes",
291
+ "relationshipPaths": [
292
+ {
293
+ "relationship": {
294
+ "schemaName": "BisCore",
295
+ "className": "ModelContainsElements"
296
+ },
297
+ "direction": "Forward",
298
+ "targetClass": {
299
+ "schemaName": "BisCore",
300
+ "className": "InformationContentElement"
301
+ }
302
+ }
303
+ ],
304
+ "groupByClass": true,
305
+ "groupByLabel": false
306
+ }
307
+ ]
308
+ },
309
+ {
310
+ "ruleType": "ChildNodes",
311
+ "condition": "ParentNode.IsOfClass(\"Model\", \"BisCore\")",
312
+ "onlyIfNotHandled": true,
313
+ "specifications": [
422
314
  {
423
- "ruleType": "ImageIdOverride",
424
- "condition": "ThisNode.IsInstanceNode ANDALSO ThisNode.IsOfClass(\"Model\", \"BisCore\")",
425
- "imageIdExpression": "\"icon-model\""
426
- },
315
+ "specType": "RelatedInstanceNodes",
316
+ "relationshipPaths": [
317
+ [
318
+ {
319
+ "relationship": {
320
+ "schemaName": "BisCore",
321
+ "className": "ModelContainsElements"
322
+ },
323
+ "direction": "Forward"
324
+ }
325
+ ]
326
+ ],
327
+ "instanceFilter": "this.Parent = NULL",
328
+ "groupByClass": true,
329
+ "groupByLabel": false
330
+ }
331
+ ]
332
+ },
333
+ {
334
+ "ruleType": "ChildNodes",
335
+ "condition": "ParentNode.IsOfClass(\"GroupInformationElement\", \"BisCore\")",
336
+ "onlyIfNotHandled": true,
337
+ "specifications": [
427
338
  {
428
- "ruleType": "ImageIdOverride",
429
- "condition": "ThisNode.IsInstanceNode ANDALSO ThisNode.IsOfClass(\"Category\", \"BisCore\")",
430
- "imageIdExpression": "\"icon-layers\""
339
+ "specType": "CustomNode",
340
+ "type": "T_CHILDREN",
341
+ "label": "Children",
342
+ "imageId": "icon-hierarchy-tree",
343
+ "hideIfNoChildren": true,
344
+ "nestedRules": [
345
+ {
346
+ "ruleType": "ChildNodes",
347
+ "specifications": [
348
+ {
349
+ "specType": "RelatedInstanceNodes",
350
+ "relationshipPaths": [
351
+ {
352
+ "relationship": {
353
+ "schemaName": "BisCore",
354
+ "className": "ElementOwnsChildElements"
355
+ },
356
+ "direction": "Forward"
357
+ }
358
+ ],
359
+ "groupByClass": true,
360
+ "groupByLabel": false
361
+ }
362
+ ]
363
+ }
364
+ ]
431
365
  },
432
366
  {
433
- "ruleType": "ImageIdOverride",
434
- "condition": "ThisNode.IsInstanceNode ANDALSO ThisNode.IsOfClass(\"Element\", \"BisCore\")",
435
- "imageIdExpression": "\"icon-item\""
436
- },
367
+ "specType": "CustomNode",
368
+ "type": "T_GROUPED_MEMBERS",
369
+ "label": "Members",
370
+ "imageId": "icon-group",
371
+ "hideIfNoChildren": true,
372
+ "nestedRules": [
373
+ {
374
+ "ruleType": "ChildNodes",
375
+ "specifications": [
376
+ {
377
+ "specType": "RelatedInstanceNodes",
378
+ "relationshipPaths": [
379
+ {
380
+ "relationship": {
381
+ "schemaName": "BisCore",
382
+ "className": "ElementGroupsMembers"
383
+ },
384
+ "direction": "Forward"
385
+ }
386
+ ],
387
+ "groupByClass": true,
388
+ "groupByLabel": false
389
+ }
390
+ ]
391
+ }
392
+ ]
393
+ }
394
+ ]
395
+ },
396
+ {
397
+ "ruleType": "ChildNodes",
398
+ "condition": "ParentNode.IsOfClass(\"Element\", \"BisCore\")",
399
+ "onlyIfNotHandled": true,
400
+ "specifications": [
437
401
  {
438
- "ruleType": "ImageIdOverride",
439
- "condition": "ThisNode.IsClassGroupingNode",
440
- "imageIdExpression": "\"icon-ec-class\""
402
+ "specType": "RelatedInstanceNodes",
403
+ "relationshipPaths": [
404
+ {
405
+ "relationship": {
406
+ "schemaName": "BisCore",
407
+ "className": "ElementOwnsChildElements"
408
+ },
409
+ "direction": "Forward"
410
+ }
411
+ ],
412
+ "groupByClass": true,
413
+ "groupByLabel": false
441
414
  }
442
- ]
415
+ ]
416
+ },
417
+ {
418
+ "ruleType": "ImageIdOverride",
419
+ "condition": "ThisNode.IsInstanceNode ANDALSO ThisNode.IsOfClass(\"Subject\", \"BisCore\")",
420
+ "imageIdExpression": "IIF(this.Parent.Id = NULL, \"icon-imodel-hollow-2\", \"icon-folder\")"
421
+ },
422
+ {
423
+ "ruleType": "ImageIdOverride",
424
+ "condition": "ThisNode.IsInstanceNode ANDALSO ThisNode.IsOfClass(\"Model\", \"BisCore\")",
425
+ "imageIdExpression": "\"icon-model\""
426
+ },
427
+ {
428
+ "ruleType": "ImageIdOverride",
429
+ "condition": "ThisNode.IsInstanceNode ANDALSO ThisNode.IsOfClass(\"Category\", \"BisCore\")",
430
+ "imageIdExpression": "\"icon-layers\""
431
+ },
432
+ {
433
+ "ruleType": "ImageIdOverride",
434
+ "condition": "ThisNode.IsInstanceNode ANDALSO ThisNode.IsOfClass(\"Element\", \"BisCore\")",
435
+ "imageIdExpression": "\"icon-item\""
436
+ },
437
+ {
438
+ "ruleType": "ImageIdOverride",
439
+ "condition": "ThisNode.IsClassGroupingNode",
440
+ "imageIdExpression": "\"icon-ec-class\""
441
+ }
442
+ ]
443
443
  }