@itwin/presentation-common 3.2.0-dev.6 → 3.2.0-dev.62

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 (315) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/Ruleset.schema.json +297 -290
  3. package/lib/cjs/presentation-common/CommonLoggerCategory.d.ts +13 -0
  4. package/lib/cjs/presentation-common/CommonLoggerCategory.d.ts.map +1 -0
  5. package/lib/cjs/presentation-common/CommonLoggerCategory.js +21 -0
  6. package/lib/cjs/presentation-common/CommonLoggerCategory.js.map +1 -0
  7. package/lib/cjs/presentation-common/EC.d.ts +36 -0
  8. package/lib/cjs/presentation-common/EC.d.ts.map +1 -1
  9. package/lib/cjs/presentation-common/EC.js +38 -4
  10. package/lib/cjs/presentation-common/EC.js.map +1 -1
  11. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  12. package/lib/cjs/presentation-common/RpcRequestsHandler.js +26 -0
  13. package/lib/cjs/presentation-common/RpcRequestsHandler.js.map +1 -1
  14. package/lib/cjs/presentation-common/Utils.d.ts +0 -2
  15. package/lib/cjs/presentation-common/Utils.d.ts.map +1 -1
  16. package/lib/cjs/presentation-common/Utils.js +1 -25
  17. package/lib/cjs/presentation-common/Utils.js.map +1 -1
  18. package/lib/cjs/presentation-common/content/ContentTraverser.js +2 -2
  19. package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
  20. package/lib/cjs/presentation-common/content/Descriptor.d.ts +9 -6
  21. package/lib/cjs/presentation-common/content/Descriptor.d.ts.map +1 -1
  22. package/lib/cjs/presentation-common/content/Descriptor.js +4 -1
  23. package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
  24. package/lib/cjs/presentation-common/content/Fields.d.ts +3 -3
  25. package/lib/cjs/presentation-common/content/Fields.d.ts.map +1 -1
  26. package/lib/cjs/presentation-common/content/Fields.js +11 -3
  27. package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
  28. package/lib/cjs/presentation-common/content/Item.d.ts +7 -3
  29. package/lib/cjs/presentation-common/content/Item.d.ts.map +1 -1
  30. package/lib/cjs/presentation-common/content/Item.js +2 -2
  31. package/lib/cjs/presentation-common/content/Item.js.map +1 -1
  32. package/lib/cjs/presentation-common/hierarchy/Node.d.ts +35 -7
  33. package/lib/cjs/presentation-common/hierarchy/Node.d.ts.map +1 -1
  34. package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
  35. package/lib/cjs/presentation-common/rules/ClassSpecifications.d.ts +10 -8
  36. package/lib/cjs/presentation-common/rules/ClassSpecifications.d.ts.map +1 -1
  37. package/lib/cjs/presentation-common/rules/ClassSpecifications.js.map +1 -1
  38. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.d.ts +10 -62
  39. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.d.ts.map +1 -1
  40. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  41. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts +20 -13
  42. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts.map +1 -1
  43. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  44. package/lib/cjs/presentation-common/rules/Rule.d.ts +11 -12
  45. package/lib/cjs/presentation-common/rules/Rule.d.ts.map +1 -1
  46. package/lib/cjs/presentation-common/rules/Rule.js.map +1 -1
  47. package/lib/cjs/presentation-common/rules/Ruleset.d.ts +6 -5
  48. package/lib/cjs/presentation-common/rules/Ruleset.d.ts.map +1 -1
  49. package/lib/cjs/presentation-common/rules/Ruleset.js.map +1 -1
  50. package/lib/cjs/presentation-common/rules/SchemasSpecification.d.ts +5 -2
  51. package/lib/cjs/presentation-common/rules/SchemasSpecification.d.ts.map +1 -1
  52. package/lib/cjs/presentation-common/rules/SchemasSpecification.js.map +1 -1
  53. package/lib/cjs/presentation-common/rules/Variables.d.ts +3 -3
  54. package/lib/cjs/presentation-common/rules/Variables.js.map +1 -1
  55. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +12 -14
  56. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts.map +1 -1
  57. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  58. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +6 -8
  59. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts.map +1 -1
  60. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  61. package/lib/cjs/presentation-common/rules/content/ContentRule.d.ts +15 -10
  62. package/lib/cjs/presentation-common/rules/content/ContentRule.d.ts.map +1 -1
  63. package/lib/cjs/presentation-common/rules/content/ContentRule.js.map +1 -1
  64. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts +11 -5
  65. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts.map +1 -1
  66. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  67. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +3 -4
  68. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts.map +1 -1
  69. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  70. package/lib/cjs/presentation-common/rules/content/PropertySpecification.d.ts +45 -21
  71. package/lib/cjs/presentation-common/rules/content/PropertySpecification.d.ts.map +1 -1
  72. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  73. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +5 -10
  74. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts.map +1 -1
  75. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  76. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +7 -10
  77. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts.map +1 -1
  78. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  79. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.d.ts +22 -12
  80. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.d.ts.map +1 -1
  81. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  82. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +8 -2
  83. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts.map +1 -1
  84. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  85. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +30 -10
  86. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts.map +1 -1
  87. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  88. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +9 -4
  89. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts.map +1 -1
  90. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  91. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +25 -21
  92. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts.map +1 -1
  93. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +5 -7
  94. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  95. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts +8 -10
  96. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts.map +1 -1
  97. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
  98. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts +6 -3
  99. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts.map +1 -1
  100. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  101. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.d.ts +9 -24
  102. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.d.ts.map +1 -1
  103. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  104. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts +55 -72
  105. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts.map +1 -1
  106. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js +1 -1
  107. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  108. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts +9 -9
  109. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts.map +1 -1
  110. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
  111. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts +33 -22
  112. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts.map +1 -1
  113. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js +1 -1
  114. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  115. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts +14 -16
  116. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts.map +1 -1
  117. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js.map +1 -1
  118. package/lib/cjs/presentation-common/rules/customization/SortingRule.d.ts +16 -29
  119. package/lib/cjs/presentation-common/rules/customization/SortingRule.d.ts.map +1 -1
  120. package/lib/cjs/presentation-common/rules/customization/SortingRule.js.map +1 -1
  121. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts +11 -11
  122. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts.map +1 -1
  123. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js.map +1 -1
  124. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +4 -5
  125. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.d.ts.map +1 -1
  126. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  127. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +30 -32
  128. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts.map +1 -1
  129. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  130. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +11 -6
  131. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts.map +1 -1
  132. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  133. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +19 -20
  134. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts.map +1 -1
  135. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  136. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +14 -10
  137. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts.map +1 -1
  138. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  139. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.d.ts +16 -15
  140. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.d.ts.map +1 -1
  141. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  142. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +9 -28
  143. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts.map +1 -1
  144. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  145. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +8 -9
  146. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts.map +1 -1
  147. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  148. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.d.ts +3 -4
  149. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.d.ts.map +1 -1
  150. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  151. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.d.ts +17 -10
  152. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.d.ts.map +1 -1
  153. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  154. package/lib/cjs/presentation-common/selection/SelectionScope.d.ts +1 -1
  155. package/lib/cjs/presentation-common/selection/SelectionScope.js.map +1 -1
  156. package/lib/cjs/presentation-common.d.ts +3 -3
  157. package/lib/cjs/presentation-common.js +3 -3
  158. package/lib/cjs/presentation-common.js.map +1 -1
  159. package/lib/esm/presentation-common/CommonLoggerCategory.d.ts +13 -0
  160. package/lib/esm/presentation-common/CommonLoggerCategory.d.ts.map +1 -0
  161. package/lib/esm/presentation-common/CommonLoggerCategory.js +18 -0
  162. package/lib/esm/presentation-common/CommonLoggerCategory.js.map +1 -0
  163. package/lib/esm/presentation-common/EC.d.ts +36 -0
  164. package/lib/esm/presentation-common/EC.d.ts.map +1 -1
  165. package/lib/esm/presentation-common/EC.js +37 -3
  166. package/lib/esm/presentation-common/EC.js.map +1 -1
  167. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  168. package/lib/esm/presentation-common/RpcRequestsHandler.js +27 -1
  169. package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
  170. package/lib/esm/presentation-common/Utils.d.ts +0 -2
  171. package/lib/esm/presentation-common/Utils.d.ts.map +1 -1
  172. package/lib/esm/presentation-common/Utils.js +0 -4
  173. package/lib/esm/presentation-common/Utils.js.map +1 -1
  174. package/lib/esm/presentation-common/content/ContentTraverser.js +2 -2
  175. package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
  176. package/lib/esm/presentation-common/content/Descriptor.d.ts +9 -6
  177. package/lib/esm/presentation-common/content/Descriptor.d.ts.map +1 -1
  178. package/lib/esm/presentation-common/content/Descriptor.js +4 -1
  179. package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
  180. package/lib/esm/presentation-common/content/Fields.d.ts +3 -3
  181. package/lib/esm/presentation-common/content/Fields.d.ts.map +1 -1
  182. package/lib/esm/presentation-common/content/Fields.js +11 -3
  183. package/lib/esm/presentation-common/content/Fields.js.map +1 -1
  184. package/lib/esm/presentation-common/content/Item.d.ts +7 -3
  185. package/lib/esm/presentation-common/content/Item.d.ts.map +1 -1
  186. package/lib/esm/presentation-common/content/Item.js +2 -2
  187. package/lib/esm/presentation-common/content/Item.js.map +1 -1
  188. package/lib/esm/presentation-common/hierarchy/Node.d.ts +35 -7
  189. package/lib/esm/presentation-common/hierarchy/Node.d.ts.map +1 -1
  190. package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
  191. package/lib/esm/presentation-common/rules/ClassSpecifications.d.ts +10 -8
  192. package/lib/esm/presentation-common/rules/ClassSpecifications.d.ts.map +1 -1
  193. package/lib/esm/presentation-common/rules/ClassSpecifications.js.map +1 -1
  194. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.d.ts +10 -62
  195. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.d.ts.map +1 -1
  196. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  197. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts +20 -13
  198. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts.map +1 -1
  199. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  200. package/lib/esm/presentation-common/rules/Rule.d.ts +11 -12
  201. package/lib/esm/presentation-common/rules/Rule.d.ts.map +1 -1
  202. package/lib/esm/presentation-common/rules/Rule.js.map +1 -1
  203. package/lib/esm/presentation-common/rules/Ruleset.d.ts +6 -5
  204. package/lib/esm/presentation-common/rules/Ruleset.d.ts.map +1 -1
  205. package/lib/esm/presentation-common/rules/Ruleset.js.map +1 -1
  206. package/lib/esm/presentation-common/rules/SchemasSpecification.d.ts +5 -2
  207. package/lib/esm/presentation-common/rules/SchemasSpecification.d.ts.map +1 -1
  208. package/lib/esm/presentation-common/rules/SchemasSpecification.js.map +1 -1
  209. package/lib/esm/presentation-common/rules/Variables.d.ts +3 -3
  210. package/lib/esm/presentation-common/rules/Variables.js.map +1 -1
  211. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +12 -14
  212. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts.map +1 -1
  213. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  214. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +6 -8
  215. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts.map +1 -1
  216. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  217. package/lib/esm/presentation-common/rules/content/ContentRule.d.ts +15 -10
  218. package/lib/esm/presentation-common/rules/content/ContentRule.d.ts.map +1 -1
  219. package/lib/esm/presentation-common/rules/content/ContentRule.js.map +1 -1
  220. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts +11 -5
  221. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts.map +1 -1
  222. package/lib/esm/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  223. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +3 -4
  224. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts.map +1 -1
  225. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  226. package/lib/esm/presentation-common/rules/content/PropertySpecification.d.ts +45 -21
  227. package/lib/esm/presentation-common/rules/content/PropertySpecification.d.ts.map +1 -1
  228. package/lib/esm/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  229. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +5 -10
  230. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts.map +1 -1
  231. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  232. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +7 -10
  233. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts.map +1 -1
  234. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  235. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.d.ts +22 -12
  236. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.d.ts.map +1 -1
  237. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  238. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +8 -2
  239. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts.map +1 -1
  240. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  241. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +30 -10
  242. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts.map +1 -1
  243. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  244. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +9 -4
  245. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts.map +1 -1
  246. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  247. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +25 -21
  248. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts.map +1 -1
  249. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +5 -7
  250. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  251. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts +8 -10
  252. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts.map +1 -1
  253. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
  254. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts +6 -3
  255. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts.map +1 -1
  256. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  257. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.d.ts +9 -24
  258. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.d.ts.map +1 -1
  259. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  260. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts +55 -72
  261. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts.map +1 -1
  262. package/lib/esm/presentation-common/rules/customization/GroupingRule.js +1 -1
  263. package/lib/esm/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  264. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts +9 -9
  265. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts.map +1 -1
  266. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
  267. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts +33 -22
  268. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts.map +1 -1
  269. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js +1 -1
  270. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  271. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts +14 -16
  272. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts.map +1 -1
  273. package/lib/esm/presentation-common/rules/customization/LabelOverride.js.map +1 -1
  274. package/lib/esm/presentation-common/rules/customization/SortingRule.d.ts +16 -29
  275. package/lib/esm/presentation-common/rules/customization/SortingRule.d.ts.map +1 -1
  276. package/lib/esm/presentation-common/rules/customization/SortingRule.js.map +1 -1
  277. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts +11 -11
  278. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts.map +1 -1
  279. package/lib/esm/presentation-common/rules/customization/StyleOverride.js.map +1 -1
  280. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +4 -5
  281. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.d.ts.map +1 -1
  282. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  283. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +30 -32
  284. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts.map +1 -1
  285. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  286. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +11 -6
  287. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts.map +1 -1
  288. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  289. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +19 -20
  290. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts.map +1 -1
  291. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  292. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +14 -10
  293. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts.map +1 -1
  294. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  295. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.d.ts +16 -15
  296. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.d.ts.map +1 -1
  297. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  298. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +9 -28
  299. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts.map +1 -1
  300. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  301. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +8 -9
  302. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts.map +1 -1
  303. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  304. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.d.ts +3 -4
  305. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.d.ts.map +1 -1
  306. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  307. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.d.ts +17 -10
  308. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.d.ts.map +1 -1
  309. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  310. package/lib/esm/presentation-common/selection/SelectionScope.d.ts +1 -1
  311. package/lib/esm/presentation-common/selection/SelectionScope.js.map +1 -1
  312. package/lib/esm/presentation-common.d.ts +3 -3
  313. package/lib/esm/presentation-common.js +3 -3
  314. package/lib/esm/presentation-common.js.map +1 -1
  315. package/package.json +9 -10
@@ -1,16 +1,15 @@
1
1
  /** @packageDocumentation
2
2
  * @module PresentationRules
3
3
  */
4
- import { ConditionContainer, RuleTypes } from "../Rule";
4
+ import { RuleTypes } from "../Rule";
5
5
  import { NavigationRuleBase } from "./NavigationRule";
6
6
  /**
7
- * Child node rules define nodes that are displayed at
8
- * each child hierarchy level.
7
+ * Child node rules are used to define child nodes in a hierarchy.
9
8
  *
10
- * @see [More details]($docs/presentation/Hierarchies/ChildNodeRule.md)
9
+ * @see [Child node rule reference documentation page]($docs/presentation/hierarchies/ChildNodeRule.md)
11
10
  * @public
12
11
  */
13
- export interface ChildNodeRule extends NavigationRuleBase, ConditionContainer {
12
+ export interface ChildNodeRule extends NavigationRuleBase {
14
13
  /** Used for serializing to JSON. */
15
14
  ruleType: RuleTypes.ChildNodes;
16
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChildNodeRule.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/ChildNodeRule.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,WAAW,aAAc,SAAQ,kBAAkB,EAAE,kBAAkB;IAC3E,oCAAoC;IACpC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC;CAChC"}
1
+ {"version":3,"file":"ChildNodeRule.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/ChildNodeRule.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,WAAW,aAAc,SAAQ,kBAAkB;IACvD,oCAAoC;IACpC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC;CAChC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChildNodeRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/ChildNodeRule.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { ConditionContainer, RuleTypes } from \"../Rule\";\r\nimport { NavigationRuleBase } from \"./NavigationRule\";\r\n\r\n/**\r\n * Child node rules define nodes that are displayed at\r\n * each child hierarchy level.\r\n *\r\n * @see [More details]($docs/presentation/Hierarchies/ChildNodeRule.md)\r\n * @public\r\n */\r\nexport interface ChildNodeRule extends NavigationRuleBase, ConditionContainer {\r\n /** Used for serializing to JSON. */\r\n ruleType: RuleTypes.ChildNodes;\r\n}\r\n"]}
1
+ {"version":3,"file":"ChildNodeRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/ChildNodeRule.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { RuleTypes } from \"../Rule\";\r\nimport { NavigationRuleBase } from \"./NavigationRule\";\r\n\r\n/**\r\n * Child node rules are used to define child nodes in a hierarchy.\r\n *\r\n * @see [Child node rule reference documentation page]($docs/presentation/hierarchies/ChildNodeRule.md)\r\n * @public\r\n */\r\nexport interface ChildNodeRule extends NavigationRuleBase {\r\n /** Used for serializing to JSON. */\r\n ruleType: RuleTypes.ChildNodes;\r\n}\r\n"]}
@@ -18,82 +18,80 @@ export declare enum ChildNodeSpecificationTypes {
18
18
  CustomNode = "CustomNode"
19
19
  }
20
20
  /**
21
- * Base interface for all [[ChildNodeSpecification]] implementations. Not
22
- * meant to be used directly, see `ChildNodeSpecification`.
21
+ * Base interface for all [[ChildNodeSpecification]] implementations.
23
22
  *
23
+ * @see [Child node specifications reference documentation section]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-specifications)
24
24
  * @public
25
25
  */
26
26
  export interface ChildNodeSpecificationBase {
27
27
  /** Used for serializing to JSON. */
28
28
  specType: ChildNodeSpecificationTypes;
29
29
  /**
30
- * Defines the order in which specifications are evaluated and executed. Defaults to `1000`.
30
+ * Controls the order in which specifications are handled specification with higher priority value is
31
+ * handled first. If priorities are equal, the specifications are handled in the order they appear in the
32
+ * ruleset.
31
33
  *
32
34
  * @type integer
33
35
  */
34
36
  priority?: number;
35
37
  /**
36
- * This tells the rules engine that nodes produced using this
37
- * specification always or never have children. Defaults to `Unknown`.
38
- *
39
- * **Note:** setting this flag to `Always` or `Never` improves performance.
38
+ * This attribute allows telling the engine that nodes created by this specification always or never have children.
40
39
  */
41
40
  hasChildren?: "Always" | "Never" | "Unknown";
42
41
  /**
43
- * Hide instance nodes provided by this specification and directly show nodes of its children.
44
- * This helps if you need to define related instance nodes of particular parent node that is not available in the
45
- * hierarchy.
42
+ * When `true`, instances nodes produced by this specification are omitted and their children appear one
43
+ * hierarchy level higher.
46
44
  */
47
45
  hideNodesInHierarchy?: boolean;
48
46
  /**
49
- * Hide nodes if they don't have children.
47
+ * Specifies whether nodes created through this specification should be hidden if they have no child nodes.
50
48
  */
51
49
  hideIfNoChildren?: boolean;
52
50
  /**
53
- * An [ECExpression]($docs/presentation/Hierarchies/ECExpressions.md#specification) which
54
- * indicates whether a node should be hidden or not.
55
- *
56
- * @note While the attribute provides much flexibility, it also has performance implications - it's
57
- * strongly suggested to first consider using `instanceFilter`, `hideNodesInHierarchy` or `hideIfNoChildren`
58
- * and only use `hideExpression` if none of them are sufficient.
51
+ * When specified [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#specification) evaluates
52
+ * to `true`, nodes produced by this specification are omitted and their children appear one hierarchy level
53
+ * higher.
59
54
  */
60
55
  hideExpression?: string;
61
56
  /**
62
- * Set this flag to `true` to suppress default sorting of ECInstances returned by this specification.
63
- *
64
- * **Note:** setting this flag to `true` improves performance.
57
+ * Suppress sorting of nodes returned by this specification. With this attribute set to `true`, the order
58
+ * of returned nodes is undefined.
65
59
  */
66
60
  doNotSort?: boolean;
67
61
  /**
68
- * Suppress similar ancestor nodes' checking when creating nodes based on this specification.
69
- *
70
- * By default we stop creating hierarchy at the node that has a similar ancestor representing
71
- * the same ECInstance and created using the same specification to prevent creating infinite
72
- * hierarchies. With this flag enabled, we allow up to 10 similar ancestors before we consider
73
- * the hierarchy infinite.
62
+ * Specifies whether similar ancestor nodes' checking should be suppressed when creating nodes based on this
63
+ * specification. See more in [infinite hierarchies prevention page]($docs/presentation/hierarchies/InfiniteHierarchiesPrevention.md).
74
64
  *
75
65
  * @beta
76
66
  */
77
67
  suppressSimilarAncestorsCheck?: boolean;
78
- /** Specifications of related instances that can be used in nodes' creation. */
68
+ /**
69
+ * Specifications of [related instances]($docs/presentation/RelatedInstanceSpecification.md) that can be used
70
+ * when creating the nodes.
71
+ */
79
72
  relatedInstances?: RelatedInstanceSpecification[];
80
- /** [Nested rule]($docs/presentation/Hierarchies/Terminology.md#nested-rule) specifications. */
73
+ /**
74
+ * Specifications of [nested child node rules]($docs/presentation/hierarchies/Terminology.md#nested-rule) that
75
+ * allow creating child nodes without the need of supplying a condition to match the parent node.
76
+ */
81
77
  nestedRules?: ChildNodeRule[];
82
78
  }
83
79
  /**
84
80
  * A container of default grouping properties. Used for specifications that support
85
- * default grouping. Not meant to be used directly, see `ChildNodeSpecification`.
81
+ * default grouping. Not meant to be used directly, see [[ChildNodeSpecification]].
86
82
  *
87
83
  * @public
88
84
  */
89
85
  export interface DefaultGroupingPropertiesContainer {
90
- /** Group instances by ECClass. Defaults to `true`. */
86
+ /** Controls whether returned instances should be grouped by ECClass. Defaults to `true`. */
91
87
  groupByClass?: boolean;
92
- /** Group instances by label. Defaults to `true`. */
88
+ /** Controls whether returned instances should be grouped by label. Defaults to `true`. */
93
89
  groupByLabel?: boolean;
94
90
  }
95
91
  /**
96
- * Navigation rule specifications that define what content the rule results in.
92
+ * Hierarchy rule specifications that define what nodes are going to be returned by the rule.
93
+ *
94
+ * @see [Child node specifications reference documentation section]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-specifications)
97
95
  * @public
98
96
  */
99
97
  export declare type ChildNodeSpecification = CustomNodeSpecification | InstanceNodesOfSpecificClassesSpecification | RelatedInstanceNodesSpecification | CustomQueryInstanceNodesSpecification;
@@ -1 +1 @@
1
- {"version":3,"file":"ChildNodeSpecification.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/ChildNodeSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qCAAqC,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,2CAA2C,EAAE,MAAM,+CAA+C,CAAC;AAC5G,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AAExF;;;GAGG;AACH,oBAAY,2BAA2B;IAErC,oBAAoB,yBAAyB;IAC7C,8BAA8B,mCAAmC;IACjE,wBAAwB,6BAA6B;IACrD,UAAU,eAAe;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,oCAAoC;IACpC,QAAQ,EAAE,2BAA2B,CAAC;IAEtC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAE7C;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;;;OASG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAExC,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,4BAA4B,EAAE,CAAC;IAElD,+FAA+F;IAC/F,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;CAC/B;AAED;;;;;GAKG;AACH,MAAM,WAAW,kCAAkC;IACjD,sDAAsD;IACtD,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,oDAAoD;IACpD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,oBAAY,sBAAsB,GAChC,uBAAuB,GAAG,2CAA2C,GACrE,iCAAiC,GAAG,qCAAqC,CAAC"}
1
+ {"version":3,"file":"ChildNodeSpecification.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/ChildNodeSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qCAAqC,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,2CAA2C,EAAE,MAAM,+CAA+C,CAAC;AAC5G,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AAExF;;;GAGG;AACH,oBAAY,2BAA2B;IAErC,oBAAoB,yBAAyB;IAC7C,8BAA8B,mCAAmC;IACjE,wBAAwB,6BAA6B;IACrD,UAAU,eAAe;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,oCAAoC;IACpC,QAAQ,EAAE,2BAA2B,CAAC;IAEtC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAE7C;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;OAKG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAExC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,4BAA4B,EAAE,CAAC;IAElD;;;OAGG;IACH,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC;CAC/B;AAED;;;;;GAKG;AACH,MAAM,WAAW,kCAAkC;IACjD,4FAA4F;IAC5F,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,0FAA0F;IAC1F,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,oBAAY,sBAAsB,GAChC,uBAAuB,GAAG,2CAA2C,GACrE,iCAAiC,GAAG,qCAAqC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChildNodeSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/ChildNodeSpecification.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AASH;;;GAGG;AACH,IAAY,2BAMX;AAND,WAAY,2BAA2B;IACrC,2BAA2B;IAC3B,4EAA6C,CAAA;IAC7C,gGAAiE,CAAA;IACjE,oFAAqD,CAAA;IACrD,wDAAyB,CAAA;AAC3B,CAAC,EANW,2BAA2B,GAA3B,mCAA2B,KAA3B,mCAA2B,QAMtC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { RelatedInstanceSpecification } from \"../RelatedInstanceSpecification\";\r\nimport { ChildNodeRule } from \"./ChildNodeRule\";\r\nimport { CustomNodeSpecification } from \"./CustomNodeSpecification\";\r\nimport { CustomQueryInstanceNodesSpecification } from \"./CustomQueryInstanceNodesSpecification\";\r\nimport { InstanceNodesOfSpecificClassesSpecification } from \"./InstanceNodesOfSpecificClassesSpecification\";\r\nimport { RelatedInstanceNodesSpecification } from \"./RelatedInstanceNodesSpecification\";\r\n\r\n/**\r\n * Used for serializing array of [[ChildNodeSpecification]]\r\n * @public\r\n */\r\nexport enum ChildNodeSpecificationTypes {\r\n // hierarchy specifications\r\n RelatedInstanceNodes = \"RelatedInstanceNodes\",\r\n InstanceNodesOfSpecificClasses = \"InstanceNodesOfSpecificClasses\",\r\n CustomQueryInstanceNodes = \"CustomQueryInstanceNodes\",\r\n CustomNode = \"CustomNode\",\r\n}\r\n\r\n/**\r\n * Base interface for all [[ChildNodeSpecification]] implementations. Not\r\n * meant to be used directly, see `ChildNodeSpecification`.\r\n *\r\n * @public\r\n */\r\nexport interface ChildNodeSpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: ChildNodeSpecificationTypes;\r\n\r\n /**\r\n * Defines the order in which specifications are evaluated and executed. Defaults to `1000`.\r\n *\r\n * @type integer\r\n */\r\n priority?: number;\r\n\r\n /**\r\n * This tells the rules engine that nodes produced using this\r\n * specification always or never have children. Defaults to `Unknown`.\r\n *\r\n * **Note:** setting this flag to `Always` or `Never` improves performance.\r\n */\r\n hasChildren?: \"Always\" | \"Never\" | \"Unknown\";\r\n\r\n /**\r\n * Hide instance nodes provided by this specification and directly show nodes of its children.\r\n * This helps if you need to define related instance nodes of particular parent node that is not available in the\r\n * hierarchy.\r\n */\r\n hideNodesInHierarchy?: boolean;\r\n\r\n /**\r\n * Hide nodes if they don't have children.\r\n */\r\n hideIfNoChildren?: boolean;\r\n\r\n /**\r\n * An [ECExpression]($docs/presentation/Hierarchies/ECExpressions.md#specification) which\r\n * indicates whether a node should be hidden or not.\r\n *\r\n * @note While the attribute provides much flexibility, it also has performance implications - it's\r\n * strongly suggested to first consider using `instanceFilter`, `hideNodesInHierarchy` or `hideIfNoChildren`\r\n * and only use `hideExpression` if none of them are sufficient.\r\n */\r\n hideExpression?: string;\r\n\r\n /**\r\n * Set this flag to `true` to suppress default sorting of ECInstances returned by this specification.\r\n *\r\n * **Note:** setting this flag to `true` improves performance.\r\n */\r\n doNotSort?: boolean;\r\n\r\n /**\r\n * Suppress similar ancestor nodes' checking when creating nodes based on this specification.\r\n *\r\n * By default we stop creating hierarchy at the node that has a similar ancestor representing\r\n * the same ECInstance and created using the same specification to prevent creating infinite\r\n * hierarchies. With this flag enabled, we allow up to 10 similar ancestors before we consider\r\n * the hierarchy infinite.\r\n *\r\n * @beta\r\n */\r\n suppressSimilarAncestorsCheck?: boolean;\r\n\r\n /** Specifications of related instances that can be used in nodes' creation. */\r\n relatedInstances?: RelatedInstanceSpecification[];\r\n\r\n /** [Nested rule]($docs/presentation/Hierarchies/Terminology.md#nested-rule) specifications. */\r\n nestedRules?: ChildNodeRule[];\r\n}\r\n\r\n/**\r\n * A container of default grouping properties. Used for specifications that support\r\n * default grouping. Not meant to be used directly, see `ChildNodeSpecification`.\r\n *\r\n * @public\r\n */\r\nexport interface DefaultGroupingPropertiesContainer {\r\n /** Group instances by ECClass. Defaults to `true`. */\r\n groupByClass?: boolean;\r\n\r\n /** Group instances by label. Defaults to `true`. */\r\n groupByLabel?: boolean;\r\n}\r\n\r\n/**\r\n * Navigation rule specifications that define what content the rule results in.\r\n * @public\r\n */\r\nexport type ChildNodeSpecification =\r\n CustomNodeSpecification | InstanceNodesOfSpecificClassesSpecification |\r\n RelatedInstanceNodesSpecification | CustomQueryInstanceNodesSpecification;\r\n"]}
1
+ {"version":3,"file":"ChildNodeSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/ChildNodeSpecification.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AASH;;;GAGG;AACH,IAAY,2BAMX;AAND,WAAY,2BAA2B;IACrC,2BAA2B;IAC3B,4EAA6C,CAAA;IAC7C,gGAAiE,CAAA;IACjE,oFAAqD,CAAA;IACrD,wDAAyB,CAAA;AAC3B,CAAC,EANW,2BAA2B,GAA3B,mCAA2B,KAA3B,mCAA2B,QAMtC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { RelatedInstanceSpecification } from \"../RelatedInstanceSpecification\";\r\nimport { ChildNodeRule } from \"./ChildNodeRule\";\r\nimport { CustomNodeSpecification } from \"./CustomNodeSpecification\";\r\nimport { CustomQueryInstanceNodesSpecification } from \"./CustomQueryInstanceNodesSpecification\";\r\nimport { InstanceNodesOfSpecificClassesSpecification } from \"./InstanceNodesOfSpecificClassesSpecification\";\r\nimport { RelatedInstanceNodesSpecification } from \"./RelatedInstanceNodesSpecification\";\r\n\r\n/**\r\n * Used for serializing array of [[ChildNodeSpecification]]\r\n * @public\r\n */\r\nexport enum ChildNodeSpecificationTypes {\r\n // hierarchy specifications\r\n RelatedInstanceNodes = \"RelatedInstanceNodes\",\r\n InstanceNodesOfSpecificClasses = \"InstanceNodesOfSpecificClasses\",\r\n CustomQueryInstanceNodes = \"CustomQueryInstanceNodes\",\r\n CustomNode = \"CustomNode\",\r\n}\r\n\r\n/**\r\n * Base interface for all [[ChildNodeSpecification]] implementations.\r\n *\r\n * @see [Child node specifications reference documentation section]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-specifications)\r\n * @public\r\n */\r\nexport interface ChildNodeSpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: ChildNodeSpecificationTypes;\r\n\r\n /**\r\n * Controls the order in which specifications are handled specification with higher priority value is\r\n * handled first. If priorities are equal, the specifications are handled in the order they appear in the\r\n * ruleset.\r\n *\r\n * @type integer\r\n */\r\n priority?: number;\r\n\r\n /**\r\n * This attribute allows telling the engine that nodes created by this specification always or never have children.\r\n */\r\n hasChildren?: \"Always\" | \"Never\" | \"Unknown\";\r\n\r\n /**\r\n * When `true`, instances nodes produced by this specification are omitted and their children appear one\r\n * hierarchy level higher.\r\n */\r\n hideNodesInHierarchy?: boolean;\r\n\r\n /**\r\n * Specifies whether nodes created through this specification should be hidden if they have no child nodes.\r\n */\r\n hideIfNoChildren?: boolean;\r\n\r\n /**\r\n * When specified [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#specification) evaluates\r\n * to `true`, nodes produced by this specification are omitted and their children appear one hierarchy level\r\n * higher.\r\n */\r\n hideExpression?: string;\r\n\r\n /**\r\n * Suppress sorting of nodes returned by this specification. With this attribute set to `true`, the order\r\n * of returned nodes is undefined.\r\n */\r\n doNotSort?: boolean;\r\n\r\n /**\r\n * Specifies whether similar ancestor nodes' checking should be suppressed when creating nodes based on this\r\n * specification. See more in [infinite hierarchies prevention page]($docs/presentation/hierarchies/InfiniteHierarchiesPrevention.md).\r\n *\r\n * @beta\r\n */\r\n suppressSimilarAncestorsCheck?: boolean;\r\n\r\n /**\r\n * Specifications of [related instances]($docs/presentation/RelatedInstanceSpecification.md) that can be used\r\n * when creating the nodes.\r\n */\r\n relatedInstances?: RelatedInstanceSpecification[];\r\n\r\n /**\r\n * Specifications of [nested child node rules]($docs/presentation/hierarchies/Terminology.md#nested-rule) that\r\n * allow creating child nodes without the need of supplying a condition to match the parent node.\r\n */\r\n nestedRules?: ChildNodeRule[];\r\n}\r\n\r\n/**\r\n * A container of default grouping properties. Used for specifications that support\r\n * default grouping. Not meant to be used directly, see [[ChildNodeSpecification]].\r\n *\r\n * @public\r\n */\r\nexport interface DefaultGroupingPropertiesContainer {\r\n /** Controls whether returned instances should be grouped by ECClass. Defaults to `true`. */\r\n groupByClass?: boolean;\r\n\r\n /** Controls whether returned instances should be grouped by label. Defaults to `true`. */\r\n groupByLabel?: boolean;\r\n}\r\n\r\n/**\r\n * Hierarchy rule specifications that define what nodes are going to be returned by the rule.\r\n *\r\n * @see [Child node specifications reference documentation section]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-specifications)\r\n * @public\r\n */\r\nexport type ChildNodeSpecification =\r\n CustomNodeSpecification | InstanceNodesOfSpecificClassesSpecification |\r\n RelatedInstanceNodesSpecification | CustomQueryInstanceNodesSpecification;\r\n"]}
@@ -3,25 +3,30 @@
3
3
  */
4
4
  import { ChildNodeSpecificationBase, ChildNodeSpecificationTypes } from "./ChildNodeSpecification";
5
5
  /**
6
- * Creates a custom-defined node.
6
+ * Returns a static custom-defined node that's not based on an ECInstance.
7
7
  *
8
- * @see [More details]($docs/presentation/Hierarchies/CustomNode.md)
8
+ * @see [Custom node specification reference documentation page]($docs/presentation/hierarchies/CustomNode.md)
9
9
  * @public
10
10
  */
11
11
  export interface CustomNodeSpecification extends ChildNodeSpecificationBase {
12
12
  /** Used for serializing to JSON. */
13
13
  specType: ChildNodeSpecificationTypes.CustomNode;
14
- /** Type of the node. */
14
+ /** Specifies node type, which is assigned to node's key. */
15
15
  type: string;
16
16
  /**
17
- * Label of the node. May be [localized]($docs/presentation/Advanced/Localization.md).
17
+ * Specifies node label. This is a string value that may be [localized]($docs/presentation/advanced/Localization.md).
18
18
  */
19
19
  label: string;
20
20
  /**
21
- * Description of the node. May be [localized]($docs/presentation/Advanced/Localization.md).
21
+ * Specifies the value of [[Node.description]] property, which is a string that may
22
+ * be [localized]($docs/presentation/advanced/Localization.md). UI component displaying the node may choose
23
+ * whether and how to surface this information to users.
22
24
  */
23
25
  description?: string;
24
- /** Id of the image to use for this custom node. */
26
+ /**
27
+ * Specifies node's image ID. If set, the ID is assigned to [[Node.imageId]] and it's
28
+ * up to the UI component to decide what to do with it.
29
+ */
25
30
  imageId?: string;
26
31
  }
27
32
  //# sourceMappingURL=CustomNodeSpecification.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomNodeSpecification.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/CustomNodeSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAEnG;;;;;GAKG;AACH,MAAM,WAAW,uBAAwB,SAAQ,0BAA0B;IACzE,oCAAoC;IACpC,QAAQ,EAAE,2BAA2B,CAAC,UAAU,CAAC;IAEjD,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"CustomNodeSpecification.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/CustomNodeSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAEnG;;;;;GAKG;AACH,MAAM,WAAW,uBAAwB,SAAQ,0BAA0B;IACzE,oCAAoC;IACpC,QAAQ,EAAE,2BAA2B,CAAC,UAAU,CAAC;IAEjD,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -1 +1 @@
1
- {"version":3,"file":"CustomNodeSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/CustomNodeSpecification.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { ChildNodeSpecificationBase, ChildNodeSpecificationTypes } from \"./ChildNodeSpecification\";\r\n\r\n/**\r\n * Creates a custom-defined node.\r\n *\r\n * @see [More details]($docs/presentation/Hierarchies/CustomNode.md)\r\n * @public\r\n */\r\nexport interface CustomNodeSpecification extends ChildNodeSpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: ChildNodeSpecificationTypes.CustomNode;\r\n\r\n /** Type of the node. */\r\n type: string;\r\n\r\n /**\r\n * Label of the node. May be [localized]($docs/presentation/Advanced/Localization.md).\r\n */\r\n label: string;\r\n\r\n /**\r\n * Description of the node. May be [localized]($docs/presentation/Advanced/Localization.md).\r\n */\r\n description?: string;\r\n\r\n /** Id of the image to use for this custom node. */\r\n imageId?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"CustomNodeSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/CustomNodeSpecification.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { ChildNodeSpecificationBase, ChildNodeSpecificationTypes } from \"./ChildNodeSpecification\";\r\n\r\n/**\r\n * Returns a static custom-defined node that's not based on an ECInstance.\r\n *\r\n * @see [Custom node specification reference documentation page]($docs/presentation/hierarchies/CustomNode.md)\r\n * @public\r\n */\r\nexport interface CustomNodeSpecification extends ChildNodeSpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: ChildNodeSpecificationTypes.CustomNode;\r\n\r\n /** Specifies node type, which is assigned to node's key. */\r\n type: string;\r\n\r\n /**\r\n * Specifies node label. This is a string value that may be [localized]($docs/presentation/advanced/Localization.md).\r\n */\r\n label: string;\r\n\r\n /**\r\n * Specifies the value of [[Node.description]] property, which is a string that may\r\n * be [localized]($docs/presentation/advanced/Localization.md). UI component displaying the node may choose\r\n * whether and how to surface this information to users.\r\n */\r\n description?: string;\r\n\r\n /**\r\n * Specifies node's image ID. If set, the ID is assigned to [[Node.imageId]] and it's\r\n * up to the UI component to decide what to do with it.\r\n */\r\n imageId?: string;\r\n}\r\n"]}
@@ -4,25 +4,24 @@
4
4
  import { SingleSchemaClassSpecification } from "../ClassSpecifications";
5
5
  import { ChildNodeSpecificationBase, ChildNodeSpecificationTypes, DefaultGroupingPropertiesContainer } from "./ChildNodeSpecification";
6
6
  /**
7
- * Creates nodes for instances which are returned by an ECSQL query.
7
+ * Returns nodes for instances returned by a provided ECSQL query.
8
8
  *
9
- * **Note:** this specification is formerly known as `SearchResultInstanceNodesSpecification`.
10
- *
11
- * @see [More details]($docs/presentation/Hierarchies/CustomQueryInstanceNodes.md)
9
+ * @see [Custom query instance nodes specification reference documentation page]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md)
12
10
  * @public
13
11
  */
14
12
  export interface CustomQueryInstanceNodesSpecification extends ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer {
15
13
  /** Used for serializing to JSON. */
16
14
  specType: ChildNodeSpecificationTypes.CustomQueryInstanceNodes;
17
15
  /**
18
- * Specifications of queries used to create the content.
19
- *
20
- * **Note:** if more than one search query is specified, the results get merged.
16
+ * Specifications of queries used to create the content. Query specifications define the actual
17
+ * results of the specification.
21
18
  */
22
19
  queries?: QuerySpecification[];
23
20
  }
24
21
  /**
25
22
  * Query specifications used in [[CustomQueryInstanceNodesSpecification]].
23
+ *
24
+ * @see [Custom query specifications reference documentation section]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md#attribute-queries)
26
25
  * @public
27
26
  */
28
27
  export declare type QuerySpecification = StringQuerySpecification | ECPropertyValueQuerySpecification;
@@ -35,18 +34,23 @@ export declare enum QuerySpecificationTypes {
35
34
  ECPropertyValue = "ECPropertyValue"
36
35
  }
37
36
  /**
38
- * Base interface for all [[QuerySpecification]] implementations. Not meant
39
- * to be used directly, see `QuerySpecification`.
37
+ * Base interface for all [[QuerySpecification]] implementations.
40
38
  * @public
41
39
  */
42
40
  export interface QuerySpecificationBase {
43
41
  /** Used for serializing to JSON. */
44
42
  specType: QuerySpecificationTypes;
45
- /** Specification of ECClass whose instances the query returns. */
43
+ /**
44
+ * Specification of ECClass whose instances the query returns. The specification may also point to a
45
+ * base class of instances returned by the query. If the query returns instances that are not of this
46
+ * class, they aren't included in the result set.
47
+ */
46
48
  class: SingleSchemaClassSpecification;
47
49
  }
48
50
  /**
49
- * Specification which contains an ECSQL query used to query for instances.
51
+ * The specification contains an ECSQL query which is used to query for instances.
52
+ *
53
+ * @see [String query specification reference documentation section]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md#string-query-specification)
50
54
  * @public
51
55
  */
52
56
  export interface StringQuerySpecification extends QuerySpecificationBase {
@@ -56,22 +60,17 @@ export interface StringQuerySpecification extends QuerySpecificationBase {
56
60
  query: string;
57
61
  }
58
62
  /**
59
- * Specification which specifies the name of the parent instance property whose
60
- * value is the ECSQL used to query for instances.
61
- *
62
- * **Precondition:** can be used only if parent node is ECInstance node.
63
- * If there is no immediate parent instance node it will go up until it finds one.
63
+ * The specification specifies the name of the parent node instance property whose value is the ECSQL
64
+ * used to query for instances.
64
65
  *
66
+ * @see [ECProperty value query specification reference documentation section]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md#ecproperty-value-query-specification)
65
67
  * @public
66
68
  */
67
69
  export interface ECPropertyValueQuerySpecification extends QuerySpecificationBase {
68
70
  /** Used for serializing to JSON. */
69
71
  specType: QuerySpecificationTypes.ECPropertyValue;
70
72
  /**
71
- * Specifies name of the parent instance property whose value
72
- * contains the ECSQL query.
73
- *
74
- * **Warning:** the property whose name is specified must be of string type.
73
+ * Specifies name of the parent instance property whose value contains the ECSQL query.
75
74
  */
76
75
  parentPropertyName: string;
77
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CustomQueryInstanceNodesSpecification.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,kCAAkC,EAAE,MAAM,0BAA0B,CAAC;AAEvI;;;;;;;GAOG;AACH,MAAM,WAAW,qCAAsC,SAAQ,0BAA0B,EAAE,kCAAkC;IAC3H,oCAAoC;IACpC,QAAQ,EAAE,2BAA2B,CAAC,wBAAwB,CAAC;IAE/D;;;;OAIG;IACH,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,MAAM,kBAAkB,GAAG,wBAAwB,GAAG,iCAAiC,CAAC;AAEtG;;;GAGG;AACH,oBAAY,uBAAuB;IACjC,MAAM,WAAW;IACjB,eAAe,oBAAoB;CACpC;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,oCAAoC;IACpC,QAAQ,EAAE,uBAAuB,CAAC;IAElC,kEAAkE;IAClE,KAAK,EAAE,8BAA8B,CAAC;CACvC;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACtE,oCAAoC;IACpC,QAAQ,EAAE,uBAAuB,CAAC,MAAM,CAAC;IAEzC,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,iCAAkC,SAAQ,sBAAsB;IAC/E,oCAAoC;IACpC,QAAQ,EAAE,uBAAuB,CAAC,eAAe,CAAC;IAElD;;;;;OAKG;IACH,kBAAkB,EAAE,MAAM,CAAC;CAC5B"}
1
+ {"version":3,"file":"CustomQueryInstanceNodesSpecification.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,kCAAkC,EAAE,MAAM,0BAA0B,CAAC;AAEvI;;;;;GAKG;AACH,MAAM,WAAW,qCAAsC,SAAQ,0BAA0B,EAAE,kCAAkC;IAC3H,oCAAoC;IACpC,QAAQ,EAAE,2BAA2B,CAAC,wBAAwB,CAAC;IAE/D;;;OAGG;IACH,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,MAAM,kBAAkB,GAAG,wBAAwB,GAAG,iCAAiC,CAAC;AAEtG;;;GAGG;AACH,oBAAY,uBAAuB;IACjC,MAAM,WAAW;IACjB,eAAe,oBAAoB;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,oCAAoC;IACpC,QAAQ,EAAE,uBAAuB,CAAC;IAElC;;;;OAIG;IACH,KAAK,EAAE,8BAA8B,CAAC;CACvC;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACtE,oCAAoC;IACpC,QAAQ,EAAE,uBAAuB,CAAC,MAAM,CAAC;IAEzC,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iCAAkC,SAAQ,sBAAsB;IAC/E,oCAAoC;IACpC,QAAQ,EAAE,uBAAuB,CAAC,eAAe,CAAC;IAElD;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC;CAC5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"CustomQueryInstanceNodesSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AA+BH;;;GAGG;AACH,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,4CAAiB,CAAA;IACjB,8DAAmC,CAAA;AACrC,CAAC,EAHW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAGlC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { SingleSchemaClassSpecification } from \"../ClassSpecifications\";\r\nimport { ChildNodeSpecificationBase, ChildNodeSpecificationTypes, DefaultGroupingPropertiesContainer } from \"./ChildNodeSpecification\";\r\n\r\n/**\r\n * Creates nodes for instances which are returned by an ECSQL query.\r\n *\r\n * **Note:** this specification is formerly known as `SearchResultInstanceNodesSpecification`.\r\n *\r\n * @see [More details]($docs/presentation/Hierarchies/CustomQueryInstanceNodes.md)\r\n * @public\r\n */\r\nexport interface CustomQueryInstanceNodesSpecification extends ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer {\r\n /** Used for serializing to JSON. */\r\n specType: ChildNodeSpecificationTypes.CustomQueryInstanceNodes;\r\n\r\n /**\r\n * Specifications of queries used to create the content.\r\n *\r\n * **Note:** if more than one search query is specified, the results get merged.\r\n */\r\n queries?: QuerySpecification[];\r\n}\r\n\r\n/**\r\n * Query specifications used in [[CustomQueryInstanceNodesSpecification]].\r\n * @public\r\n */\r\nexport declare type QuerySpecification = StringQuerySpecification | ECPropertyValueQuerySpecification;\r\n\r\n/**\r\n * Used for serializing array of [[QuerySpecification]] to JSON.\r\n * @public\r\n */\r\nexport enum QuerySpecificationTypes {\r\n String = \"String\",\r\n ECPropertyValue = \"ECPropertyValue\",\r\n}\r\n\r\n/**\r\n * Base interface for all [[QuerySpecification]] implementations. Not meant\r\n * to be used directly, see `QuerySpecification`.\r\n * @public\r\n */\r\nexport interface QuerySpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: QuerySpecificationTypes;\r\n\r\n /** Specification of ECClass whose instances the query returns. */\r\n class: SingleSchemaClassSpecification;\r\n}\r\n\r\n/**\r\n * Specification which contains an ECSQL query used to query for instances.\r\n * @public\r\n */\r\nexport interface StringQuerySpecification extends QuerySpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: QuerySpecificationTypes.String;\r\n\r\n /** Specifies the search ECSQL query. */\r\n query: string;\r\n}\r\n\r\n/**\r\n * Specification which specifies the name of the parent instance property whose\r\n * value is the ECSQL used to query for instances.\r\n *\r\n * **Precondition:** can be used only if parent node is ECInstance node.\r\n * If there is no immediate parent instance node it will go up until it finds one.\r\n *\r\n * @public\r\n */\r\nexport interface ECPropertyValueQuerySpecification extends QuerySpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: QuerySpecificationTypes.ECPropertyValue;\r\n\r\n /**\r\n * Specifies name of the parent instance property whose value\r\n * contains the ECSQL query.\r\n *\r\n * **Warning:** the property whose name is specified must be of string type.\r\n */\r\n parentPropertyName: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"CustomQueryInstanceNodesSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AA8BH;;;GAGG;AACH,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,4CAAiB,CAAA;IACjB,8DAAmC,CAAA;AACrC,CAAC,EAHW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAGlC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { SingleSchemaClassSpecification } from \"../ClassSpecifications\";\r\nimport { ChildNodeSpecificationBase, ChildNodeSpecificationTypes, DefaultGroupingPropertiesContainer } from \"./ChildNodeSpecification\";\r\n\r\n/**\r\n * Returns nodes for instances returned by a provided ECSQL query.\r\n *\r\n * @see [Custom query instance nodes specification reference documentation page]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md)\r\n * @public\r\n */\r\nexport interface CustomQueryInstanceNodesSpecification extends ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer {\r\n /** Used for serializing to JSON. */\r\n specType: ChildNodeSpecificationTypes.CustomQueryInstanceNodes;\r\n\r\n /**\r\n * Specifications of queries used to create the content. Query specifications define the actual\r\n * results of the specification.\r\n */\r\n queries?: QuerySpecification[];\r\n}\r\n\r\n/**\r\n * Query specifications used in [[CustomQueryInstanceNodesSpecification]].\r\n *\r\n * @see [Custom query specifications reference documentation section]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md#attribute-queries)\r\n * @public\r\n */\r\nexport declare type QuerySpecification = StringQuerySpecification | ECPropertyValueQuerySpecification;\r\n\r\n/**\r\n * Used for serializing array of [[QuerySpecification]] to JSON.\r\n * @public\r\n */\r\nexport enum QuerySpecificationTypes {\r\n String = \"String\",\r\n ECPropertyValue = \"ECPropertyValue\",\r\n}\r\n\r\n/**\r\n * Base interface for all [[QuerySpecification]] implementations.\r\n * @public\r\n */\r\nexport interface QuerySpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: QuerySpecificationTypes;\r\n\r\n /**\r\n * Specification of ECClass whose instances the query returns. The specification may also point to a\r\n * base class of instances returned by the query. If the query returns instances that are not of this\r\n * class, they aren't included in the result set.\r\n */\r\n class: SingleSchemaClassSpecification;\r\n}\r\n\r\n/**\r\n * The specification contains an ECSQL query which is used to query for instances.\r\n *\r\n * @see [String query specification reference documentation section]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md#string-query-specification)\r\n * @public\r\n */\r\nexport interface StringQuerySpecification extends QuerySpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: QuerySpecificationTypes.String;\r\n\r\n /** Specifies the search ECSQL query. */\r\n query: string;\r\n}\r\n\r\n/**\r\n * The specification specifies the name of the parent node instance property whose value is the ECSQL\r\n * used to query for instances.\r\n *\r\n * @see [ECProperty value query specification reference documentation section]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md#ecproperty-value-query-specification)\r\n * @public\r\n */\r\nexport interface ECPropertyValueQuerySpecification extends QuerySpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: QuerySpecificationTypes.ECPropertyValue;\r\n\r\n /**\r\n * Specifies name of the parent instance property whose value contains the ECSQL query.\r\n */\r\n parentPropertyName: string;\r\n}\r\n"]}
@@ -4,32 +4,36 @@
4
4
  import { MultiSchemaClassesSpecification } from "../ClassSpecifications";
5
5
  import { ChildNodeSpecificationBase, ChildNodeSpecificationTypes, DefaultGroupingPropertiesContainer } from "./ChildNodeSpecification";
6
6
  /**
7
- * Creates nodes for all instances of specified ECClasses.
7
+ * Returns nodes for instances of specific ECClasses.
8
8
  *
9
- * @see [More details]($docs/presentation/Hierarchies/InstanceNodesOfSpecificClasses.md)
9
+ * @see [Instance nodes of specific classes specification reference documentation page]($docs/presentation/hierarchies/InstanceNodesOfSpecificClasses.md)
10
10
  * @public
11
11
  */
12
12
  export interface InstanceNodesOfSpecificClassesSpecification extends ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer {
13
13
  /** Used for serializing to JSON. */
14
14
  specType: ChildNodeSpecificationTypes.InstanceNodesOfSpecificClasses;
15
15
  /**
16
- * Specifications of ECClasses whose instances should be returned.
16
+ * Defines a set of [multi schema classes]($docs/presentation/MultiSchemaClassesSpecification.md) that
17
+ * specify which ECClasses need to be selected to form the result.
17
18
  */
18
19
  classes: MultiSchemaClassesSpecification | MultiSchemaClassesSpecification[];
19
20
  /**
20
- * Specifications of ECClasses whose instances should be excluded.
21
+ * Defines a set of [multi schema classes]($docs/presentation/MultiSchemaClassesSpecification.md) that
22
+ * prevents specified ECClasses and subclasses from being selected by [[classes]] attribute.
21
23
  */
22
24
  excludedClasses?: MultiSchemaClassesSpecification | MultiSchemaClassesSpecification[];
23
25
  /**
24
- * Whether to get instances from derived `classes`.
25
- * Acts as default value for [[classes.arePolymorphic]] and [[excludedClasses.arePolymorphic]].
26
- * @deprecated Specify polymorphism value inside [[classes.arePolymorphic]] or [[excludedClasses.arePolymorphic]].
26
+ * Tells whether selecting instances from ECClasses specified in [[classes]] and [[excludedClasses]]
27
+ * attributes should be polymorphic or not.
28
+ *
29
+ * @deprecated The attribute was replaced by `arePolymorphic` attribute specified individually for each class definition
30
+ * under [[classes]] and [[excludedClasses]] attributes. At the moment, to keep backwards compatibility, this attribute acts
31
+ * as a fallback value in case the flag is not specified individually for a class definition.
27
32
  */
28
33
  arePolymorphic?: boolean;
29
34
  /**
30
- * Condition for filtering instances of defined classes.
31
- *
32
- * **See:** [ECExpressions Available in InstanceFilter]($docs/presentation/Hierarchies/ECExpressions.md#instance-filter).
35
+ * Specifies an [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#instance-filter) for filtering
36
+ * instances of ECClasses specified through the [[classes]] attribute.
33
37
  */
34
38
  instanceFilter?: string;
35
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceNodesOfSpecificClassesSpecification.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,kCAAkC,EAAE,MAAM,0BAA0B,CAAC;AAEvI;;;;;GAKG;AACH,MAAM,WAAW,2CAA4C,SAAQ,0BAA0B,EAAE,kCAAkC;IACjI,oCAAoC;IACpC,QAAQ,EAAE,2BAA2B,CAAC,8BAA8B,CAAC;IAErE;;OAEG;IACH,OAAO,EAAE,+BAA+B,GAAG,+BAA+B,EAAE,CAAC;IAE7E;;OAEG;IACH,eAAe,CAAC,EAAE,+BAA+B,GAAG,+BAA+B,EAAE,CAAC;IAEtF;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
1
+ {"version":3,"file":"InstanceNodesOfSpecificClassesSpecification.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,kCAAkC,EAAE,MAAM,0BAA0B,CAAC;AAEvI;;;;;GAKG;AACH,MAAM,WAAW,2CAA4C,SAAQ,0BAA0B,EAAE,kCAAkC;IACjI,oCAAoC;IACpC,QAAQ,EAAE,2BAA2B,CAAC,8BAA8B,CAAC;IAErE;;;OAGG;IACH,OAAO,EAAE,+BAA+B,GAAG,+BAA+B,EAAE,CAAC;IAE7E;;;OAGG;IACH,eAAe,CAAC,EAAE,+BAA+B,GAAG,+BAA+B,EAAE,CAAC;IAEtF;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceNodesOfSpecificClassesSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { MultiSchemaClassesSpecification } from \"../ClassSpecifications\";\r\nimport { ChildNodeSpecificationBase, ChildNodeSpecificationTypes, DefaultGroupingPropertiesContainer } from \"./ChildNodeSpecification\";\r\n\r\n/**\r\n * Creates nodes for all instances of specified ECClasses.\r\n *\r\n * @see [More details]($docs/presentation/Hierarchies/InstanceNodesOfSpecificClasses.md)\r\n * @public\r\n */\r\nexport interface InstanceNodesOfSpecificClassesSpecification extends ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer {\r\n /** Used for serializing to JSON. */\r\n specType: ChildNodeSpecificationTypes.InstanceNodesOfSpecificClasses;\r\n\r\n /**\r\n * Specifications of ECClasses whose instances should be returned.\r\n */\r\n classes: MultiSchemaClassesSpecification | MultiSchemaClassesSpecification[];\r\n\r\n /**\r\n * Specifications of ECClasses whose instances should be excluded.\r\n */\r\n excludedClasses?: MultiSchemaClassesSpecification | MultiSchemaClassesSpecification[];\r\n\r\n /**\r\n * Whether to get instances from derived `classes`.\r\n * Acts as default value for [[classes.arePolymorphic]] and [[excludedClasses.arePolymorphic]].\r\n * @deprecated Specify polymorphism value inside [[classes.arePolymorphic]] or [[excludedClasses.arePolymorphic]].\r\n */\r\n arePolymorphic?: boolean;\r\n\r\n /**\r\n * Condition for filtering instances of defined classes.\r\n *\r\n * **See:** [ECExpressions Available in InstanceFilter]($docs/presentation/Hierarchies/ECExpressions.md#instance-filter).\r\n */\r\n instanceFilter?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"InstanceNodesOfSpecificClassesSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { MultiSchemaClassesSpecification } from \"../ClassSpecifications\";\r\nimport { ChildNodeSpecificationBase, ChildNodeSpecificationTypes, DefaultGroupingPropertiesContainer } from \"./ChildNodeSpecification\";\r\n\r\n/**\r\n * Returns nodes for instances of specific ECClasses.\r\n *\r\n * @see [Instance nodes of specific classes specification reference documentation page]($docs/presentation/hierarchies/InstanceNodesOfSpecificClasses.md)\r\n * @public\r\n */\r\nexport interface InstanceNodesOfSpecificClassesSpecification extends ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer {\r\n /** Used for serializing to JSON. */\r\n specType: ChildNodeSpecificationTypes.InstanceNodesOfSpecificClasses;\r\n\r\n /**\r\n * Defines a set of [multi schema classes]($docs/presentation/MultiSchemaClassesSpecification.md) that\r\n * specify which ECClasses need to be selected to form the result.\r\n */\r\n classes: MultiSchemaClassesSpecification | MultiSchemaClassesSpecification[];\r\n\r\n /**\r\n * Defines a set of [multi schema classes]($docs/presentation/MultiSchemaClassesSpecification.md) that\r\n * prevents specified ECClasses and subclasses from being selected by [[classes]] attribute.\r\n */\r\n excludedClasses?: MultiSchemaClassesSpecification | MultiSchemaClassesSpecification[];\r\n\r\n /**\r\n * Tells whether selecting instances from ECClasses specified in [[classes]] and [[excludedClasses]]\r\n * attributes should be polymorphic or not.\r\n *\r\n * @deprecated The attribute was replaced by `arePolymorphic` attribute specified individually for each class definition\r\n * under [[classes]] and [[excludedClasses]] attributes. At the moment, to keep backwards compatibility, this attribute acts\r\n * as a fallback value in case the flag is not specified individually for a class definition.\r\n */\r\n arePolymorphic?: boolean;\r\n\r\n /**\r\n * Specifies an [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#instance-filter) for filtering\r\n * instances of ECClasses specified through the [[classes]] attribute.\r\n */\r\n instanceFilter?: string;\r\n}\r\n"]}
@@ -8,42 +8,43 @@ import { ChildNodeSpecification } from "./ChildNodeSpecification";
8
8
  import { RootNodeRule } from "./RootNodeRule";
9
9
  import { SubCondition } from "./SubCondition";
10
10
  /**
11
- * Base class for all [[NavigationRule]] implementations. Not
12
- * meant to be used directly, see `NavigationRule`.
11
+ * Base class for all [[NavigationRule]] implementations.
13
12
  *
13
+ * @see [Hierarchies reference documentation page]($docs/presentation/hierarchies/index.md)
14
14
  * @public
15
15
  */
16
16
  export interface NavigationRuleBase extends RuleBase {
17
17
  /**
18
- * Defines a condition for the rule, which needs to be met in order to execute it. Condition
19
- * is an [ECExpression]($docs/presentation/Advanced/ECExpressions.md), which can use
20
- * a [limited set of symbols]($docs/presentation/Hierarchies/ECExpressions.md#rule-condition).
18
+ * Defines a condition which needs to be met in order for the rule to be used. The condition is an
19
+ * [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#rule-condition) which has to evaluate
20
+ * to a boolean value.
21
21
  */
22
22
  condition?: string;
23
23
  /**
24
- * Specifications that define what content the rule returns.
24
+ * A list of hierarchy specifications that define what nodes are going to be returned.
25
25
  */
26
26
  specifications?: ChildNodeSpecification[];
27
27
  /**
28
- * Customization rules that are applied for the content returned by
29
- * this rule.
28
+ * A list of [customization rules]($docs/presentation/hierarchies/index.md#hierarchy-customization) that
29
+ * apply only to nodes produced by this rule.
30
30
  */
31
31
  customizationRules?: CustomizationRule[];
32
32
  /**
33
- * Specifies child node rules which are only used when specific condition
34
- * is satisfied.
33
+ * A list of sub-rules which share *placement attributes* and
34
+ * [nested customization rules]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-customizationrules)
35
+ * of the hierarchy rule. This means the attributes of hierarchy rule are still in effect and the sub-rules
36
+ * can add additional condition of their own.
35
37
  */
36
38
  subConditions?: SubCondition[];
37
39
  /**
38
- * Stop processing rules that have lower priority. Used in cases when recursion
39
- * suppression is needed.
40
- *
41
- * **Note:** If this flag is set, [[specifications]] and [[subConditions]] are not processed.
40
+ * Stop processing rules that have lower priority. Used in cases when recursion suppression is needed.
42
41
  */
43
42
  stopFurtherProcessing?: boolean;
44
43
  }
45
44
  /**
46
- * Navigation rules define the hierarchy that's created for navigation controls.
45
+ * Navigation rules are used to define hierarchies displayed in tree components.
46
+ *
47
+ * @see [Hierarchies reference documentation page]($docs/presentation/hierarchies/index.md)
47
48
  * @public
48
49
  */
49
50
  export declare type NavigationRule = RootNodeRule | ChildNodeRule;
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationRule.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/NavigationRule.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAClD;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAE1C;;;OAGG;IACH,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAEzC;;;OAGG;IACH,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAE/B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;GAGG;AACH,oBAAY,cAAc,GAAG,YAAY,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"NavigationRule.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/NavigationRule.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAClD;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAE1C;;;OAGG;IACH,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAEzC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAE/B;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;;GAKG;AACH,oBAAY,cAAc,GAAG,YAAY,GAAG,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/NavigationRule.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { CustomizationRule } from \"../customization/CustomizationRule\";\r\nimport { RuleBase } from \"../Rule\";\r\nimport { ChildNodeRule } from \"./ChildNodeRule\";\r\nimport { ChildNodeSpecification } from \"./ChildNodeSpecification\";\r\nimport { RootNodeRule } from \"./RootNodeRule\";\r\nimport { SubCondition } from \"./SubCondition\";\r\n\r\n/**\r\n * Base class for all [[NavigationRule]] implementations. Not\r\n * meant to be used directly, see `NavigationRule`.\r\n *\r\n * @public\r\n */\r\nexport interface NavigationRuleBase extends RuleBase {\r\n /**\r\n * Defines a condition for the rule, which needs to be met in order to execute it. Condition\r\n * is an [ECExpression]($docs/presentation/Advanced/ECExpressions.md), which can use\r\n * a [limited set of symbols]($docs/presentation/Hierarchies/ECExpressions.md#rule-condition).\r\n */\r\n condition?: string;\r\n\r\n /**\r\n * Specifications that define what content the rule returns.\r\n */\r\n specifications?: ChildNodeSpecification[];\r\n\r\n /**\r\n * Customization rules that are applied for the content returned by\r\n * this rule.\r\n */\r\n customizationRules?: CustomizationRule[];\r\n\r\n /**\r\n * Specifies child node rules which are only used when specific condition\r\n * is satisfied.\r\n */\r\n subConditions?: SubCondition[];\r\n\r\n /**\r\n * Stop processing rules that have lower priority. Used in cases when recursion\r\n * suppression is needed.\r\n *\r\n * **Note:** If this flag is set, [[specifications]] and [[subConditions]] are not processed.\r\n */\r\n stopFurtherProcessing?: boolean;\r\n}\r\n\r\n/**\r\n * Navigation rules define the hierarchy that's created for navigation controls.\r\n * @public\r\n */\r\nexport type NavigationRule = RootNodeRule | ChildNodeRule;\r\n"]}
1
+ {"version":3,"file":"NavigationRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/NavigationRule.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PresentationRules\r\n */\r\n\r\nimport { CustomizationRule } from \"../customization/CustomizationRule\";\r\nimport { RuleBase } from \"../Rule\";\r\nimport { ChildNodeRule } from \"./ChildNodeRule\";\r\nimport { ChildNodeSpecification } from \"./ChildNodeSpecification\";\r\nimport { RootNodeRule } from \"./RootNodeRule\";\r\nimport { SubCondition } from \"./SubCondition\";\r\n\r\n/**\r\n * Base class for all [[NavigationRule]] implementations.\r\n *\r\n * @see [Hierarchies reference documentation page]($docs/presentation/hierarchies/index.md)\r\n * @public\r\n */\r\nexport interface NavigationRuleBase extends RuleBase {\r\n /**\r\n * Defines a condition which needs to be met in order for the rule to be used. The condition is an\r\n * [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#rule-condition) which has to evaluate\r\n * to a boolean value.\r\n */\r\n condition?: string;\r\n\r\n /**\r\n * A list of hierarchy specifications that define what nodes are going to be returned.\r\n */\r\n specifications?: ChildNodeSpecification[];\r\n\r\n /**\r\n * A list of [customization rules]($docs/presentation/hierarchies/index.md#hierarchy-customization) that\r\n * apply only to nodes produced by this rule.\r\n */\r\n customizationRules?: CustomizationRule[];\r\n\r\n /**\r\n * A list of sub-rules which share *placement attributes* and\r\n * [nested customization rules]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-customizationrules)\r\n * of the hierarchy rule. This means the attributes of hierarchy rule are still in effect and the sub-rules\r\n * can add additional condition of their own.\r\n */\r\n subConditions?: SubCondition[];\r\n\r\n /**\r\n * Stop processing rules that have lower priority. Used in cases when recursion suppression is needed.\r\n */\r\n stopFurtherProcessing?: boolean;\r\n}\r\n\r\n/**\r\n * Navigation rules are used to define hierarchies displayed in tree components.\r\n *\r\n * @see [Hierarchies reference documentation page]($docs/presentation/hierarchies/index.md)\r\n * @public\r\n */\r\nexport type NavigationRule = RootNodeRule | ChildNodeRule;\r\n"]}
@@ -1,44 +1,25 @@
1
1
  /** @packageDocumentation
2
2
  * @module PresentationRules
3
3
  */
4
- import { ConditionContainer, RuleBase, RuleTypes } from "../Rule";
4
+ import { RuleBase, RuleTypes } from "../Rule";
5
5
  /**
6
- * Rule used to create and assign artifacts to specific nodes. The artifacts can be
7
- * accessed when evaluating parent node's `hideExpression` to decide whether it should
8
- * be hidden or not.
6
+ * Node artifacts rules are used to create and assign artifacts to specific nodes. The artifacts can be
7
+ * accessed when evaluating parent node's `hideExpression` to decide whether it should be hidden or not.
9
8
  *
10
- * A typical use case:
11
- * - The hierarchy consists of *Subject* nodes and each *Subject* may or may not have child *Model* nodes. There are 2 types
12
- * of *Models*: *A* & *B*, we want *ModelA* nodes to be visible and *ModelB* ones to be hidden. We want *Subject* node to be
13
- * visible only if it has a *Model* (either *A* or *B*). In this case we can't use `hideIfNoChildren` flag on *Subjects*, because
14
- * a *Subject* node may only have a related *ModelB* which means *Subject* doesn't have children and should be displayed as a leaf node.
15
- * The solution is to use `NodeArtifacts` on the *ModelB* nodes and a `hideExpression` on *Subject* nodes. The expression can access
16
- * artifacts created by child *ModelB* nodes: `NOT ThisNode.HasChildren AND NOT ThisNode.ChildrenArtifacts.AnyMatches(x => x.IsModelB)`
17
- *
18
- * @note The rule is costly performance-wise and should only be used in very limited amount of specific cases where
19
- * hidden child nodes need to be used to used to determine parent node's visibility.
20
- *
21
- * @see [More details]($docs/presentation/Hierarchies/NodeArtifactsRule.md)
9
+ * @see [Node artifacts rule reference documentation page]($docs/presentation/hierarchies/NodeArtifactsRule.md)
22
10
  * @public
23
11
  */
24
- export interface NodeArtifactsRule extends RuleBase, ConditionContainer {
12
+ export interface NodeArtifactsRule extends RuleBase {
25
13
  /** Used for serializing to JSON. */
26
14
  ruleType: RuleTypes.NodeArtifacts;
27
15
  /**
28
- * Defines a condition for the rule, which needs to be met in order for it to be used. Condition
29
- * is an [ECExpression]($docs/presentation/Advanced/ECExpressions.md), which can use
30
- * a [limited set of symbols]($docs/presentation/Customization/ECExpressions.md#rule-condition).
16
+ * Specifies an [ECExpression]($docs/presentation/customization/ECExpressions.md#rule-condition) that
17
+ * allows applying node artifacts based on evaluation result, e.g. by some property of the parent node.
31
18
  */
32
19
  condition?: string;
33
20
  /**
34
- * A map of items that define the values stored in the artifacts data structure.
35
- *
36
- * The key part of the pair should be unique within all keys which are used for specific
37
- * presentation object, even if they are applied using different `NodeArtifacts` definitions.
38
- *
39
- * The value part of the pair is an [ECExpression]($docs/presentation/Advanced/ECExpressions.md), which can use
40
- * a [limited set of symbols]($docs/presentation/Customization/ECExpressions.md#override-value) and whose
41
- * evaluated result is used as the artifact value.
21
+ * A map of [ECExpressions]($docs/presentation/hierarchies/ECExpressions.md#specification) whose evaluation results
22
+ * are used as artifact values.
42
23
  */
43
24
  items: {
44
25
  [key: string]: string;
@@ -1 +1 @@
1
- {"version":3,"file":"NodeArtifactsRule.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/NodeArtifactsRule.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAElE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,iBAAkB,SAAQ,QAAQ,EAAE,kBAAkB;IACrE,oCAAoC;IACpC,QAAQ,EAAE,SAAS,CAAC,aAAa,CAAC;IAElC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;OASG;IACH,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAClC"}
1
+ {"version":3,"file":"NodeArtifactsRule.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/NodeArtifactsRule.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IACjD,oCAAoC;IACpC,QAAQ,EAAE,SAAS,CAAC,aAAa,CAAC;IAElC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAClC"}