@itwin/presentation-common 3.2.0-dev.9 → 3.3.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/Ruleset.schema.json +304 -289
  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/Descriptor.d.ts +6 -6
  19. package/lib/cjs/presentation-common/content/Descriptor.js +1 -1
  20. package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
  21. package/lib/cjs/presentation-common/content/Fields.d.ts +3 -3
  22. package/lib/cjs/presentation-common/content/Fields.d.ts.map +1 -1
  23. package/lib/cjs/presentation-common/content/Fields.js +11 -3
  24. package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
  25. package/lib/cjs/presentation-common/content/Item.d.ts +3 -3
  26. package/lib/cjs/presentation-common/content/Item.js +1 -1
  27. package/lib/cjs/presentation-common/content/Item.js.map +1 -1
  28. package/lib/cjs/presentation-common/hierarchy/Node.d.ts +7 -7
  29. package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
  30. package/lib/cjs/presentation-common/rules/ClassSpecifications.d.ts +10 -8
  31. package/lib/cjs/presentation-common/rules/ClassSpecifications.d.ts.map +1 -1
  32. package/lib/cjs/presentation-common/rules/ClassSpecifications.js.map +1 -1
  33. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.d.ts +10 -62
  34. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.d.ts.map +1 -1
  35. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  36. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts +20 -13
  37. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts.map +1 -1
  38. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  39. package/lib/cjs/presentation-common/rules/Rule.d.ts +11 -12
  40. package/lib/cjs/presentation-common/rules/Rule.d.ts.map +1 -1
  41. package/lib/cjs/presentation-common/rules/Rule.js.map +1 -1
  42. package/lib/cjs/presentation-common/rules/Ruleset.d.ts +6 -5
  43. package/lib/cjs/presentation-common/rules/Ruleset.d.ts.map +1 -1
  44. package/lib/cjs/presentation-common/rules/Ruleset.js.map +1 -1
  45. package/lib/cjs/presentation-common/rules/SchemasSpecification.d.ts +5 -2
  46. package/lib/cjs/presentation-common/rules/SchemasSpecification.d.ts.map +1 -1
  47. package/lib/cjs/presentation-common/rules/SchemasSpecification.js.map +1 -1
  48. package/lib/cjs/presentation-common/rules/Variables.d.ts +3 -3
  49. package/lib/cjs/presentation-common/rules/Variables.js.map +1 -1
  50. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +12 -14
  51. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts.map +1 -1
  52. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  53. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +6 -8
  54. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts.map +1 -1
  55. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  56. package/lib/cjs/presentation-common/rules/content/ContentRule.d.ts +15 -10
  57. package/lib/cjs/presentation-common/rules/content/ContentRule.d.ts.map +1 -1
  58. package/lib/cjs/presentation-common/rules/content/ContentRule.js.map +1 -1
  59. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts +9 -6
  60. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts.map +1 -1
  61. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  62. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +3 -4
  63. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts.map +1 -1
  64. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  65. package/lib/cjs/presentation-common/rules/content/PropertySpecification.d.ts +56 -21
  66. package/lib/cjs/presentation-common/rules/content/PropertySpecification.d.ts.map +1 -1
  67. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  68. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +5 -10
  69. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts.map +1 -1
  70. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  71. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +7 -10
  72. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts.map +1 -1
  73. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  74. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.d.ts +22 -12
  75. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.d.ts.map +1 -1
  76. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  77. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +8 -2
  78. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts.map +1 -1
  79. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  80. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +30 -10
  81. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts.map +1 -1
  82. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  83. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +9 -4
  84. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts.map +1 -1
  85. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  86. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +25 -21
  87. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts.map +1 -1
  88. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +5 -7
  89. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  90. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts +8 -11
  91. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts.map +1 -1
  92. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
  93. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts +1 -1
  94. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  95. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.d.ts +9 -24
  96. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.d.ts.map +1 -1
  97. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  98. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts +55 -72
  99. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts.map +1 -1
  100. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js +1 -1
  101. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  102. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts +9 -10
  103. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts.map +1 -1
  104. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
  105. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts +33 -22
  106. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts.map +1 -1
  107. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js +1 -1
  108. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  109. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts +13 -16
  110. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts.map +1 -1
  111. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js.map +1 -1
  112. package/lib/cjs/presentation-common/rules/customization/SortingRule.d.ts +16 -29
  113. package/lib/cjs/presentation-common/rules/customization/SortingRule.d.ts.map +1 -1
  114. package/lib/cjs/presentation-common/rules/customization/SortingRule.js.map +1 -1
  115. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts +11 -12
  116. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts.map +1 -1
  117. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js.map +1 -1
  118. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +4 -5
  119. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.d.ts.map +1 -1
  120. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  121. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +30 -32
  122. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts.map +1 -1
  123. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  124. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +11 -6
  125. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts.map +1 -1
  126. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  127. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +19 -20
  128. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts.map +1 -1
  129. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  130. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +14 -10
  131. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts.map +1 -1
  132. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  133. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.d.ts +16 -15
  134. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.d.ts.map +1 -1
  135. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  136. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +9 -28
  137. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts.map +1 -1
  138. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  139. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +8 -9
  140. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts.map +1 -1
  141. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  142. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.d.ts +3 -4
  143. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.d.ts.map +1 -1
  144. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  145. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.d.ts +17 -10
  146. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.d.ts.map +1 -1
  147. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  148. package/lib/cjs/presentation-common/selection/SelectionScope.d.ts +1 -1
  149. package/lib/cjs/presentation-common/selection/SelectionScope.js.map +1 -1
  150. package/lib/cjs/presentation-common.d.ts +3 -3
  151. package/lib/cjs/presentation-common.js +3 -3
  152. package/lib/cjs/presentation-common.js.map +1 -1
  153. package/lib/esm/presentation-common/CommonLoggerCategory.d.ts +13 -0
  154. package/lib/esm/presentation-common/CommonLoggerCategory.d.ts.map +1 -0
  155. package/lib/esm/presentation-common/CommonLoggerCategory.js +18 -0
  156. package/lib/esm/presentation-common/CommonLoggerCategory.js.map +1 -0
  157. package/lib/esm/presentation-common/EC.d.ts +36 -0
  158. package/lib/esm/presentation-common/EC.d.ts.map +1 -1
  159. package/lib/esm/presentation-common/EC.js +37 -3
  160. package/lib/esm/presentation-common/EC.js.map +1 -1
  161. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  162. package/lib/esm/presentation-common/RpcRequestsHandler.js +27 -1
  163. package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
  164. package/lib/esm/presentation-common/Utils.d.ts +0 -2
  165. package/lib/esm/presentation-common/Utils.d.ts.map +1 -1
  166. package/lib/esm/presentation-common/Utils.js +0 -4
  167. package/lib/esm/presentation-common/Utils.js.map +1 -1
  168. package/lib/esm/presentation-common/content/Descriptor.d.ts +6 -6
  169. package/lib/esm/presentation-common/content/Descriptor.js +1 -1
  170. package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
  171. package/lib/esm/presentation-common/content/Fields.d.ts +3 -3
  172. package/lib/esm/presentation-common/content/Fields.d.ts.map +1 -1
  173. package/lib/esm/presentation-common/content/Fields.js +11 -3
  174. package/lib/esm/presentation-common/content/Fields.js.map +1 -1
  175. package/lib/esm/presentation-common/content/Item.d.ts +3 -3
  176. package/lib/esm/presentation-common/content/Item.js +1 -1
  177. package/lib/esm/presentation-common/content/Item.js.map +1 -1
  178. package/lib/esm/presentation-common/hierarchy/Node.d.ts +7 -7
  179. package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
  180. package/lib/esm/presentation-common/rules/ClassSpecifications.d.ts +10 -8
  181. package/lib/esm/presentation-common/rules/ClassSpecifications.d.ts.map +1 -1
  182. package/lib/esm/presentation-common/rules/ClassSpecifications.js.map +1 -1
  183. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.d.ts +10 -62
  184. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.d.ts.map +1 -1
  185. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  186. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts +20 -13
  187. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts.map +1 -1
  188. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  189. package/lib/esm/presentation-common/rules/Rule.d.ts +11 -12
  190. package/lib/esm/presentation-common/rules/Rule.d.ts.map +1 -1
  191. package/lib/esm/presentation-common/rules/Rule.js.map +1 -1
  192. package/lib/esm/presentation-common/rules/Ruleset.d.ts +6 -5
  193. package/lib/esm/presentation-common/rules/Ruleset.d.ts.map +1 -1
  194. package/lib/esm/presentation-common/rules/Ruleset.js.map +1 -1
  195. package/lib/esm/presentation-common/rules/SchemasSpecification.d.ts +5 -2
  196. package/lib/esm/presentation-common/rules/SchemasSpecification.d.ts.map +1 -1
  197. package/lib/esm/presentation-common/rules/SchemasSpecification.js.map +1 -1
  198. package/lib/esm/presentation-common/rules/Variables.d.ts +3 -3
  199. package/lib/esm/presentation-common/rules/Variables.js.map +1 -1
  200. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +12 -14
  201. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts.map +1 -1
  202. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  203. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +6 -8
  204. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts.map +1 -1
  205. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  206. package/lib/esm/presentation-common/rules/content/ContentRule.d.ts +15 -10
  207. package/lib/esm/presentation-common/rules/content/ContentRule.d.ts.map +1 -1
  208. package/lib/esm/presentation-common/rules/content/ContentRule.js.map +1 -1
  209. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts +9 -6
  210. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts.map +1 -1
  211. package/lib/esm/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  212. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +3 -4
  213. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts.map +1 -1
  214. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  215. package/lib/esm/presentation-common/rules/content/PropertySpecification.d.ts +56 -21
  216. package/lib/esm/presentation-common/rules/content/PropertySpecification.d.ts.map +1 -1
  217. package/lib/esm/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  218. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +5 -10
  219. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts.map +1 -1
  220. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  221. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +7 -10
  222. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts.map +1 -1
  223. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  224. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.d.ts +22 -12
  225. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.d.ts.map +1 -1
  226. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  227. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +8 -2
  228. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts.map +1 -1
  229. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  230. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +30 -10
  231. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts.map +1 -1
  232. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  233. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +9 -4
  234. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts.map +1 -1
  235. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  236. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +25 -21
  237. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts.map +1 -1
  238. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +5 -7
  239. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  240. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts +8 -11
  241. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts.map +1 -1
  242. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
  243. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts +1 -1
  244. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  245. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.d.ts +9 -24
  246. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.d.ts.map +1 -1
  247. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  248. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts +55 -72
  249. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts.map +1 -1
  250. package/lib/esm/presentation-common/rules/customization/GroupingRule.js +1 -1
  251. package/lib/esm/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  252. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts +9 -10
  253. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts.map +1 -1
  254. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
  255. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts +33 -22
  256. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts.map +1 -1
  257. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js +1 -1
  258. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  259. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts +13 -16
  260. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts.map +1 -1
  261. package/lib/esm/presentation-common/rules/customization/LabelOverride.js.map +1 -1
  262. package/lib/esm/presentation-common/rules/customization/SortingRule.d.ts +16 -29
  263. package/lib/esm/presentation-common/rules/customization/SortingRule.d.ts.map +1 -1
  264. package/lib/esm/presentation-common/rules/customization/SortingRule.js.map +1 -1
  265. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts +11 -12
  266. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts.map +1 -1
  267. package/lib/esm/presentation-common/rules/customization/StyleOverride.js.map +1 -1
  268. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +4 -5
  269. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.d.ts.map +1 -1
  270. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  271. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +30 -32
  272. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts.map +1 -1
  273. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  274. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +11 -6
  275. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts.map +1 -1
  276. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  277. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +19 -20
  278. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts.map +1 -1
  279. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  280. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +14 -10
  281. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts.map +1 -1
  282. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  283. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.d.ts +16 -15
  284. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.d.ts.map +1 -1
  285. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  286. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +9 -28
  287. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts.map +1 -1
  288. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  289. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +8 -9
  290. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts.map +1 -1
  291. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  292. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.d.ts +3 -4
  293. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.d.ts.map +1 -1
  294. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  295. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.d.ts +17 -10
  296. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.d.ts.map +1 -1
  297. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  298. package/lib/esm/presentation-common/selection/SelectionScope.d.ts +1 -1
  299. package/lib/esm/presentation-common/selection/SelectionScope.js.map +1 -1
  300. package/lib/esm/presentation-common.d.ts +3 -3
  301. package/lib/esm/presentation-common.js +3 -3
  302. package/lib/esm/presentation-common.js.map +1 -1
  303. package/package.json +9 -10
@@ -2,42 +2,44 @@
2
2
  * @module PresentationRules
3
3
  */
4
4
  /**
5
- * Specification for a single ECClass
5
+ * This specification is used to point to specific ECClass.
6
+ *
7
+ * @see [Single schema class specification reference documentation page]($docs/presentation/SingleSchemaClassSpecification.md)
6
8
  * @public
7
9
  */
8
10
  export interface SingleSchemaClassSpecification {
9
11
  /**
10
- * Name of ECSchema
12
+ * Specifies name of the schema which contains the target class.
11
13
  *
12
14
  * @pattern ^[\w\d]+$
13
15
  */
14
16
  schemaName: string;
15
17
  /**
16
- * Name of ECClass
18
+ * Specifies name of the target class.
17
19
  *
18
20
  * @pattern ^[\w\d]+$
19
21
  */
20
22
  className: string;
21
23
  }
22
24
  /**
23
- * Specification for multiple ECClasses that belong to
24
- * the same ECSchema.
25
+ * This specification lists ECClasses which should be targeted when creating content or hierarchy nodes.
25
26
  *
27
+ * @see [Multi schema classes specification reference documentation page]($docs/presentation/MultiSchemaClassesSpecification.md)
26
28
  * @public
27
29
  */
28
30
  export interface MultiSchemaClassesSpecification {
29
31
  /**
30
- * Name of ECSchema
32
+ * Specifies the schema which contains the target classes.
31
33
  *
32
34
  * @pattern ^[\w\d]+$
33
35
  */
34
36
  schemaName: string;
35
37
  /**
36
- * List of ECClass names.
38
+ * An array of target ECClass names.
37
39
  */
38
40
  classNames: string[];
39
41
  /**
40
- * Should all classes specified in [[classNames]] array be handled polymorphically.
42
+ * Defines whether the derived ECClasses should be included in the result.
41
43
  */
42
44
  arePolymorphic?: boolean;
43
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ClassSpecifications.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/rules/ClassSpecifications.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,+BAA+B;IAC9C;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B"}
1
+ {"version":3,"file":"ClassSpecifications.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/rules/ClassSpecifications.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,+BAA+B;IAC9C;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClassSpecifications.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/ClassSpecifications.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\n/**\r\n * Specification for a single ECClass\r\n * @public\r\n */\r\nexport interface SingleSchemaClassSpecification {\r\n /**\r\n * Name of ECSchema\r\n *\r\n * @pattern ^[\\w\\d]+$\r\n */\r\n schemaName: string;\r\n\r\n /**\r\n * Name of ECClass\r\n *\r\n * @pattern ^[\\w\\d]+$\r\n */\r\n className: string;\r\n}\r\n\r\n/**\r\n * Specification for multiple ECClasses that belong to\r\n * the same ECSchema.\r\n *\r\n * @public\r\n */\r\nexport interface MultiSchemaClassesSpecification {\r\n /**\r\n * Name of ECSchema\r\n *\r\n * @pattern ^[\\w\\d]+$\r\n */\r\n schemaName: string;\r\n\r\n /**\r\n * List of ECClass names.\r\n */\r\n classNames: string[];\r\n\r\n /**\r\n * Should all classes specified in [[classNames]] array be handled polymorphically.\r\n */\r\n arePolymorphic?: boolean;\r\n}\r\n"]}
1
+ {"version":3,"file":"ClassSpecifications.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/ClassSpecifications.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\n/**\r\n * This specification is used to point to specific ECClass.\r\n *\r\n * @see [Single schema class specification reference documentation page]($docs/presentation/SingleSchemaClassSpecification.md)\r\n * @public\r\n */\r\nexport interface SingleSchemaClassSpecification {\r\n /**\r\n * Specifies name of the schema which contains the target class.\r\n *\r\n * @pattern ^[\\w\\d]+$\r\n */\r\n schemaName: string;\r\n\r\n /**\r\n * Specifies name of the target class.\r\n *\r\n * @pattern ^[\\w\\d]+$\r\n */\r\n className: string;\r\n}\r\n\r\n/**\r\n * This specification lists ECClasses which should be targeted when creating content or hierarchy nodes.\r\n *\r\n * @see [Multi schema classes specification reference documentation page]($docs/presentation/MultiSchemaClassesSpecification.md)\r\n * @public\r\n */\r\nexport interface MultiSchemaClassesSpecification {\r\n /**\r\n * Specifies the schema which contains the target classes.\r\n *\r\n * @pattern ^[\\w\\d]+$\r\n */\r\n schemaName: string;\r\n\r\n /**\r\n * An array of target ECClass names.\r\n */\r\n classNames: string[];\r\n\r\n /**\r\n * Defines whether the derived ECClasses should be included in the result.\r\n */\r\n arePolymorphic?: boolean;\r\n}\r\n"]}
@@ -3,81 +3,29 @@
3
3
  */
4
4
  import { RelationshipPathSpecification } from "./RelationshipPathSpecification";
5
5
  /**
6
- * This sub-specification allows joining the primary node instance with any number of related instances and creating
7
- * hierarchies based on a mix of those related instances.
6
+ * Related instance specification is used in [content]($docs/presentation/content/ContentRule.md#attribute-specifications)
7
+ * and [hierarchy]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-specifications) specifications to "join" the
8
+ * primary instance with its related instance and allow using the related instance for filtering, customization and grouping.
8
9
  *
9
- * The related instance property values can be accessed from multiple different places:
10
- * - Instance filter
11
- * - Customization rule value
12
- * - Grouping rule
13
- *
14
- * **Example:**
15
- * ```JSON
16
- * {
17
- * "id": "related_instance_example",
18
- * "rules": [{
19
- * "ruleType": "LabelOverride",
20
- * "condition": "ThisNode.IsInstanceNode ANDALSO this.IsOfClass(\"Model\", \"BisCore\")",
21
- * "label": "modeledElement.UserLabel"
22
- * }, {
23
- * "ruleType": "Grouping",
24
- * "condition": "ParentNode.IsNull",
25
- * "class": {
26
- * "schemaName": "BisCore",
27
- * "className": "Element"
28
- * },
29
- * "groups": [{
30
- * "specType": "Property",
31
- * "propertyName": "CodeValue",
32
- * "createGroupForSingleItem": true
33
- * }]
34
- * }, {
35
- * "ruleType": "RootNodes",
36
- * "specifications": [{
37
- * "specType": "InstanceNodesOfSpecificClasses",
38
- * "classes": { "schemaName": "BisCore", "classNames": ["GeometricModel"] },
39
- * "arePolymorphic": true,
40
- * "instanceFilter": "modeledElement.CodeNamespace = 1",
41
- * "relatedInstances": [{
42
- * "relationshipPath": [{
43
- * "relationship": { "schemaName": "BisCore", "className": "ModelModelsElement" },
44
- * "direction": "Forward",
45
- * }],
46
- * "class": { "schemaName": "BisCore", "className": "Element" },
47
- * "alias": "modeledElement"
48
- * }]
49
- * }]
50
- * }]
51
- * }
52
- * ```
53
- * Here `BisCore:GeometricModel` instances are joined with `BisCore:Element` instances to create the hierarchy. This allows:
54
- * - Related `BisCore:Element` properties to be accessed in `InstanceFilter` using `modeledElement` alias.
55
- * - The `LabelOverride` rule to use `modeledElement` alias to access properties of the joined related instance.
56
- * - The `GroupingRule` to be applied because it's grouping `BisCore:Element` which is now part of the generated nodes.
57
- *
58
- * @see [More details]($docs/presentation/RelatedInstanceSpecification.md)
10
+ * @see [Related instance specification reference documentation page]($docs/presentation/RelatedInstanceSpecification.md)
59
11
  * @public
60
12
  */
61
13
  export interface RelatedInstanceSpecification {
62
14
  /**
63
- * Relationship path to find the related instance.
15
+ * Specifies a chain of [relationship path specifications]($docs/presentation/RelationshipPathSpecification.md)
16
+ * that forms a path from the primary instance to the related instances.
64
17
  */
65
18
  relationshipPath: RelationshipPathSpecification;
66
19
  /**
67
- * The alias to give for the joined related instance. Used to reference the related instance in
68
- * instance filter and customization rules.
69
- *
70
- * **The value must be unique per-specification!**
20
+ * Specifies an an alias that given to the related instance. The alias can be used to reference the
21
+ * instance in instance filter and customization rules.
71
22
  *
72
23
  * @pattern ^\w[\w\d]*$
73
24
  */
74
25
  alias: string;
75
26
  /**
76
- * Is the related instance required to exist. If yes, primary instance won't be returned
77
- * if the related instance doesn't exist. If not, primary instance will be returned, but related
78
- * instance will be null.
79
- *
80
- * In SQL terms in can be compared to INNER JOIN vs OUTER JOIN.
27
+ * Specifies whether to omit the primary instance from the result if the other end of [[relationshipPath]]
28
+ * does not yield any related instances.
81
29
  */
82
30
  isRequired?: boolean;
83
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RelatedInstanceSpecification.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/rules/RelatedInstanceSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,gBAAgB,EAAE,6BAA6B,CAAC;IAEhD;;;;;;;OAOG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
1
+ {"version":3,"file":"RelatedInstanceSpecification.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/rules/RelatedInstanceSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF;;;;;;;GAOG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;OAGG;IACH,gBAAgB,EAAE,6BAA6B,CAAC;IAEhD;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"RelatedInstanceSpecification.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/RelatedInstanceSpecification.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 { RelationshipPathSpecification } from \"./RelationshipPathSpecification\";\r\n\r\n/**\r\n * This sub-specification allows joining the primary node instance with any number of related instances and creating\r\n * hierarchies based on a mix of those related instances.\r\n *\r\n * The related instance property values can be accessed from multiple different places:\r\n * - Instance filter\r\n * - Customization rule value\r\n * - Grouping rule\r\n *\r\n * **Example:**\r\n * ```JSON\r\n * {\r\n * \"id\": \"related_instance_example\",\r\n * \"rules\": [{\r\n * \"ruleType\": \"LabelOverride\",\r\n * \"condition\": \"ThisNode.IsInstanceNode ANDALSO this.IsOfClass(\\\"Model\\\", \\\"BisCore\\\")\",\r\n * \"label\": \"modeledElement.UserLabel\"\r\n * }, {\r\n * \"ruleType\": \"Grouping\",\r\n * \"condition\": \"ParentNode.IsNull\",\r\n * \"class\": {\r\n * \"schemaName\": \"BisCore\",\r\n * \"className\": \"Element\"\r\n * },\r\n * \"groups\": [{\r\n * \"specType\": \"Property\",\r\n * \"propertyName\": \"CodeValue\",\r\n * \"createGroupForSingleItem\": true\r\n * }]\r\n * }, {\r\n * \"ruleType\": \"RootNodes\",\r\n * \"specifications\": [{\r\n * \"specType\": \"InstanceNodesOfSpecificClasses\",\r\n * \"classes\": { \"schemaName\": \"BisCore\", \"classNames\": [\"GeometricModel\"] },\r\n * \"arePolymorphic\": true,\r\n * \"instanceFilter\": \"modeledElement.CodeNamespace = 1\",\r\n * \"relatedInstances\": [{\r\n * \"relationshipPath\": [{\r\n * \"relationship\": { \"schemaName\": \"BisCore\", \"className\": \"ModelModelsElement\" },\r\n * \"direction\": \"Forward\",\r\n * }],\r\n * \"class\": { \"schemaName\": \"BisCore\", \"className\": \"Element\" },\r\n * \"alias\": \"modeledElement\"\r\n * }]\r\n * }]\r\n * }]\r\n * }\r\n * ```\r\n * Here `BisCore:GeometricModel` instances are joined with `BisCore:Element` instances to create the hierarchy. This allows:\r\n * - Related `BisCore:Element` properties to be accessed in `InstanceFilter` using `modeledElement` alias.\r\n * - The `LabelOverride` rule to use `modeledElement` alias to access properties of the joined related instance.\r\n * - The `GroupingRule` to be applied because it's grouping `BisCore:Element` which is now part of the generated nodes.\r\n *\r\n * @see [More details]($docs/presentation/RelatedInstanceSpecification.md)\r\n * @public\r\n */\r\nexport interface RelatedInstanceSpecification {\r\n /**\r\n * Relationship path to find the related instance.\r\n */\r\n relationshipPath: RelationshipPathSpecification;\r\n\r\n /**\r\n * The alias to give for the joined related instance. Used to reference the related instance in\r\n * instance filter and customization rules.\r\n *\r\n * **The value must be unique per-specification!**\r\n *\r\n * @pattern ^\\w[\\w\\d]*$\r\n */\r\n alias: string;\r\n\r\n /**\r\n * Is the related instance required to exist. If yes, primary instance won't be returned\r\n * if the related instance doesn't exist. If not, primary instance will be returned, but related\r\n * instance will be null.\r\n *\r\n * In SQL terms in can be compared to INNER JOIN vs OUTER JOIN.\r\n */\r\n isRequired?: boolean;\r\n}\r\n"]}
1
+ {"version":3,"file":"RelatedInstanceSpecification.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/RelatedInstanceSpecification.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 { RelationshipPathSpecification } from \"./RelationshipPathSpecification\";\r\n\r\n/**\r\n * Related instance specification is used in [content]($docs/presentation/content/ContentRule.md#attribute-specifications)\r\n * and [hierarchy]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-specifications) specifications to \"join\" the\r\n * primary instance with its related instance and allow using the related instance for filtering, customization and grouping.\r\n *\r\n * @see [Related instance specification reference documentation page]($docs/presentation/RelatedInstanceSpecification.md)\r\n * @public\r\n */\r\nexport interface RelatedInstanceSpecification {\r\n /**\r\n * Specifies a chain of [relationship path specifications]($docs/presentation/RelationshipPathSpecification.md)\r\n * that forms a path from the primary instance to the related instances.\r\n */\r\n relationshipPath: RelationshipPathSpecification;\r\n\r\n /**\r\n * Specifies an an alias that given to the related instance. The alias can be used to reference the\r\n * instance in instance filter and customization rules.\r\n *\r\n * @pattern ^\\w[\\w\\d]*$\r\n */\r\n alias: string;\r\n\r\n /**\r\n * Specifies whether to omit the primary instance from the result if the other end of [[relationshipPath]]\r\n * does not yield any related instances.\r\n */\r\n isRequired?: boolean;\r\n}\r\n"]}
@@ -4,43 +4,50 @@
4
4
  import { SingleSchemaClassSpecification } from "./ClassSpecifications";
5
5
  import { RelationshipDirection } from "./RelationshipDirection";
6
6
  /**
7
- * Specification of a single relationship path step.
7
+ * Specification of a single step in [[RelationshipPathSpecification]].
8
+ *
9
+ * @see [Relationship path specification reference documentation page]($docs/presentation/RelationshipPathSpecification.md)
8
10
  * @public
9
11
  */
10
12
  export interface RelationshipStepSpecification {
11
- /** Specification of the relationship to use for joining the related instance. */
13
+ /** This attribute specifies the ECRelationship that should be used to traverse to target class. */
12
14
  relationship: SingleSchemaClassSpecification;
13
- /** Relationship direction that should be followed to find the target class. */
15
+ /** This attribute specifies the direction in which the [[relationship]] should be followed. */
14
16
  direction: RelationshipDirection.Forward | RelationshipDirection.Backward;
15
17
  /**
16
- * Specification of the target class. Either relationship's source or target class is used (based
17
- * on specified direction) if more specific target class is not specified by this attribute.
18
+ * This attribute may be used to specialize the target of the relationship.
18
19
  */
19
20
  targetClass?: SingleSchemaClassSpecification;
20
21
  }
21
22
  /**
22
- * Specification of a single relationship path step.
23
+ * Specification of a single step in [[RepeatableRelationshipPathSpecification]].
24
+ *
25
+ * @see [Repeatable relationship path specification reference documentation page]($docs/presentation/RepeatableRelationshipPathSpecification.md)
23
26
  * @public
24
27
  */
25
28
  export interface RepeatableRelationshipStepSpecification extends RelationshipStepSpecification {
26
29
  /**
27
- * Number of relationship steps that should be taken. Special `*` value means that
28
- * relationship is traversed recursively and all matching instances are accumulated.
29
- * Defaults to `1`.
30
+ * When a number is specified, the relationship is traversed recursively the specified number of times.
31
+ *
32
+ * When it is set to a special value `"*"`, the same relationship is traversed recursively unbounded number
33
+ * of times, starting from zero (the relationship is not followed). On each traversal iteration, Presentation
34
+ * rules engine accumulates all indirectly related ECInstances as defined by the remaining relationship path.
30
35
  */
31
36
  count?: number | "*";
32
37
  }
33
38
  /**
34
- * Specification of a relationship path.
39
+ * Relationship path specification is used to define a relationship path to an ECClass.
35
40
  *
36
- * @see [More details]($docs/presentation/RelationshipPathSpecification.md)
41
+ * @see [Relationship path specification reference documentation page]($docs/presentation/RelationshipPathSpecification.md)
37
42
  * @public
38
43
  */
39
44
  export declare type RelationshipPathSpecification = RelationshipStepSpecification | RelationshipStepSpecification[];
40
45
  /**
41
- * Specification of a repeatable relationship path.
46
+ * This specification declares a step in a relationship path between a source and target ECInstances. A step
47
+ * can optionally be repeated a number of times to traverse the same relationship recursively. Multiple
48
+ * specifications of this type can be chained together to express complex indirect relationships.
42
49
  *
43
- * @see [More details]($docs/presentation/RepeatableRelationshipPathSpecification.md)
50
+ * @see [Repeatable relationship path specification reference documentation page]($docs/presentation/RepeatableRelationshipPathSpecification.md)
44
51
  * @public
45
52
  */
46
53
  export declare type RepeatableRelationshipPathSpecification = RepeatableRelationshipStepSpecification | RepeatableRelationshipStepSpecification[];
@@ -1 +1 @@
1
- {"version":3,"file":"RelationshipPathSpecification.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/rules/RelationshipPathSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC5C,iFAAiF;IACjF,YAAY,EAAE,8BAA8B,CAAC;IAE7C,+EAA+E;IAC/E,SAAS,EAAE,qBAAqB,CAAC,OAAO,GAAG,qBAAqB,CAAC,QAAQ,CAAC;IAE1E;;;OAGG;IACH,WAAW,CAAC,EAAE,8BAA8B,CAAC;CAC9C;AAED;;;GAGG;AACH,MAAM,WAAW,uCAAwC,SAAQ,6BAA6B;IAC5F;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED;;;;;GAKG;AACH,oBAAY,6BAA6B,GAAG,6BAA6B,GAAG,6BAA6B,EAAE,CAAC;AAE5G;;;;;GAKG;AACH,oBAAY,uCAAuC,GAAG,uCAAuC,GAAG,uCAAuC,EAAE,CAAC"}
1
+ {"version":3,"file":"RelationshipPathSpecification.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/rules/RelationshipPathSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,WAAW,6BAA6B;IAC5C,mGAAmG;IACnG,YAAY,EAAE,8BAA8B,CAAC;IAE7C,+FAA+F;IAC/F,SAAS,EAAE,qBAAqB,CAAC,OAAO,GAAG,qBAAqB,CAAC,QAAQ,CAAC;IAE1E;;OAEG;IACH,WAAW,CAAC,EAAE,8BAA8B,CAAC;CAC9C;AAED;;;;;GAKG;AACH,MAAM,WAAW,uCAAwC,SAAQ,6BAA6B;IAC5F;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED;;;;;GAKG;AACH,oBAAY,6BAA6B,GAAG,6BAA6B,GAAG,6BAA6B,EAAE,CAAC;AAE5G;;;;;;;GAOG;AACH,oBAAY,uCAAuC,GAAG,uCAAuC,GAAG,uCAAuC,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RelationshipPathSpecification.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/RelationshipPathSpecification.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 { SingleSchemaClassSpecification } from \"./ClassSpecifications\";\r\nimport { RelationshipDirection } from \"./RelationshipDirection\";\r\n\r\n/**\r\n * Specification of a single relationship path step.\r\n * @public\r\n */\r\nexport interface RelationshipStepSpecification {\r\n /** Specification of the relationship to use for joining the related instance. */\r\n relationship: SingleSchemaClassSpecification;\r\n\r\n /** Relationship direction that should be followed to find the target class. */\r\n direction: RelationshipDirection.Forward | RelationshipDirection.Backward;\r\n\r\n /**\r\n * Specification of the target class. Either relationship's source or target class is used (based\r\n * on specified direction) if more specific target class is not specified by this attribute.\r\n */\r\n targetClass?: SingleSchemaClassSpecification;\r\n}\r\n\r\n/**\r\n * Specification of a single relationship path step.\r\n * @public\r\n */\r\nexport interface RepeatableRelationshipStepSpecification extends RelationshipStepSpecification {\r\n /**\r\n * Number of relationship steps that should be taken. Special `*` value means that\r\n * relationship is traversed recursively and all matching instances are accumulated.\r\n * Defaults to `1`.\r\n */\r\n count?: number | \"*\";\r\n}\r\n\r\n/**\r\n * Specification of a relationship path.\r\n *\r\n * @see [More details]($docs/presentation/RelationshipPathSpecification.md)\r\n * @public\r\n */\r\nexport type RelationshipPathSpecification = RelationshipStepSpecification | RelationshipStepSpecification[];\r\n\r\n/**\r\n * Specification of a repeatable relationship path.\r\n *\r\n * @see [More details]($docs/presentation/RepeatableRelationshipPathSpecification.md)\r\n * @public\r\n */\r\nexport type RepeatableRelationshipPathSpecification = RepeatableRelationshipStepSpecification | RepeatableRelationshipStepSpecification[];\r\n"]}
1
+ {"version":3,"file":"RelationshipPathSpecification.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/RelationshipPathSpecification.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 { SingleSchemaClassSpecification } from \"./ClassSpecifications\";\r\nimport { RelationshipDirection } from \"./RelationshipDirection\";\r\n\r\n/**\r\n * Specification of a single step in [[RelationshipPathSpecification]].\r\n *\r\n * @see [Relationship path specification reference documentation page]($docs/presentation/RelationshipPathSpecification.md)\r\n * @public\r\n */\r\nexport interface RelationshipStepSpecification {\r\n /** This attribute specifies the ECRelationship that should be used to traverse to target class. */\r\n relationship: SingleSchemaClassSpecification;\r\n\r\n /** This attribute specifies the direction in which the [[relationship]] should be followed. */\r\n direction: RelationshipDirection.Forward | RelationshipDirection.Backward;\r\n\r\n /**\r\n * This attribute may be used to specialize the target of the relationship.\r\n */\r\n targetClass?: SingleSchemaClassSpecification;\r\n}\r\n\r\n/**\r\n * Specification of a single step in [[RepeatableRelationshipPathSpecification]].\r\n *\r\n * @see [Repeatable relationship path specification reference documentation page]($docs/presentation/RepeatableRelationshipPathSpecification.md)\r\n * @public\r\n */\r\nexport interface RepeatableRelationshipStepSpecification extends RelationshipStepSpecification {\r\n /**\r\n * When a number is specified, the relationship is traversed recursively the specified number of times.\r\n *\r\n * When it is set to a special value `\"*\"`, the same relationship is traversed recursively unbounded number\r\n * of times, starting from zero (the relationship is not followed). On each traversal iteration, Presentation\r\n * rules engine accumulates all indirectly related ECInstances as defined by the remaining relationship path.\r\n */\r\n count?: number | \"*\";\r\n}\r\n\r\n/**\r\n * Relationship path specification is used to define a relationship path to an ECClass.\r\n *\r\n * @see [Relationship path specification reference documentation page]($docs/presentation/RelationshipPathSpecification.md)\r\n * @public\r\n */\r\nexport type RelationshipPathSpecification = RelationshipStepSpecification | RelationshipStepSpecification[];\r\n\r\n/**\r\n * This specification declares a step in a relationship path between a source and target ECInstances. A step\r\n * can optionally be repeated a number of times to traverse the same relationship recursively. Multiple\r\n * specifications of this type can be chained together to express complex indirect relationships.\r\n *\r\n * @see [Repeatable relationship path specification reference documentation page]($docs/presentation/RepeatableRelationshipPathSpecification.md)\r\n * @public\r\n */\r\nexport type RepeatableRelationshipPathSpecification = RepeatableRelationshipStepSpecification | RepeatableRelationshipStepSpecification[];\r\n"]}
@@ -8,47 +8,46 @@ import { CustomizationRule } from "./customization/CustomizationRule";
8
8
  import { NavigationRule } from "./hierarchy/NavigationRule";
9
9
  import { RequiredSchemaSpecification } from "./SchemasSpecification";
10
10
  /**
11
- * Base interface for all [[Rule]] implementations. Not meant
12
- * to be used directly, see `Rule`.
13
- *
11
+ * Base interface for all [[Rule]] implementations.
14
12
  * @public
15
13
  */
16
14
  export interface RuleBase {
17
15
  /** Used for serializing to JSON. */
18
16
  ruleType: RuleTypes;
19
17
  /**
20
- * Defines the order in which presentation rules will be evaluated and executed. Defaults to `1000`.
18
+ * Defines the order in which rules are handled, higher number means the rule is handled first. If priorities are
19
+ * equal, the rules are handled in the order they're defined.
21
20
  *
22
21
  * @type integer
23
22
  */
24
23
  priority?: number;
25
24
  /**
26
- * Should this rule should be ignored if there is already an existing
27
- * rule with a higher priority.
25
+ * Tells the library that the rule should only be handled if no other rule of the same type was handled previously (based on rule
26
+ * priorities and definition order). This allows adding fallback rules which can be overriden by higher-priority rules.
28
27
  */
29
28
  onlyIfNotHandled?: boolean;
30
29
  /**
31
- * Schema requirements for this rule. The rule is not used if the requirements are not met.
30
+ * A list of [ECSchema requirements]($docs/presentation/RequiredSchemaSpecification.md) that need to be met for the rule to be used.
32
31
  * @beta
33
32
  */
34
33
  requiredSchemas?: RequiredSchemaSpecification[];
35
34
  }
36
35
  /**
37
- * Presentation rules allow configuring the hierarchy and content.
36
+ * A union of all presentation rule types.
38
37
  * @public
39
38
  */
40
39
  export declare type Rule = CustomizationRule | NavigationRule | ContentRule | ContentModifier | DefaultPropertyCategoryOverride;
41
40
  /**
42
41
  * Container of a [[condition]] property. Used for rules that support conditions. Not
43
- * meant to be used directly, see `Rule`.
42
+ * meant to be used directly, see [[Rule]].
44
43
  *
44
+ * @deprecated This interface is not used anymore. All interfaces that used to extend it, have the [[condition]]
45
+ * attribute of their own.
45
46
  * @public
46
47
  */
47
48
  export interface ConditionContainer {
48
49
  /**
49
- * Defines a condition for the rule, which needs to be met in order to execute it. Condition
50
- * is an [ECExpression]($docs/presentation/Advanced/ECExpressions.md), which can use
51
- * a limited set of symbols (depends on specific `ConditionContainer`).
50
+ * Defines a condition for the rule, which needs to be met in order to execute it.
52
51
  */
53
52
  condition?: string;
54
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Rule.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Rule.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,oCAAoC;IACpC,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,eAAe,CAAC,EAAE,2BAA2B,EAAE,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,MAAM,IAAI,GAAG,iBAAiB,GAAG,cAAc,GAAG,WAAW,GAAG,eAAe,GAAG,+BAA+B,CAAC;AAEhI;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,oBAAY,SAAS;IAEnB,SAAS,cAAc;IACvB,UAAU,eAAe;IAGzB,OAAO,YAAY;IACnB,eAAe,oBAAoB;IACnC,+BAA+B,oCAAoC;IAGnE,QAAQ,aAAa;IACrB,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,qBAAqB,0BAA0B;IAC/C,aAAa,kBAAkB;IAC/B,QAAQ,aAAa;IACrB,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;CAC9B"}
1
+ {"version":3,"file":"Rule.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Rule.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,oCAAoC;IACpC,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,eAAe,CAAC,EAAE,2BAA2B,EAAE,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,MAAM,IAAI,GAAG,iBAAiB,GAAG,cAAc,GAAG,WAAW,GAAG,eAAe,GAAG,+BAA+B,CAAC;AAEhI;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,oBAAY,SAAS;IAEnB,SAAS,cAAc;IACvB,UAAU,eAAe;IAGzB,OAAO,YAAY;IACnB,eAAe,oBAAoB;IACnC,+BAA+B,oCAAoC;IAGnE,QAAQ,aAAa;IACrB,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,qBAAqB,0BAA0B;IAC/C,aAAa,kBAAkB;IAC/B,QAAQ,aAAa;IACrB,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;CAC9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"Rule.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Rule.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AA4DH;;;GAGG;AACH,IAAY,SAqBX;AArBD,WAAY,SAAS;IACnB,kBAAkB;IAClB,oCAAuB,CAAA;IACvB,sCAAyB,CAAA;IAEzB,gBAAgB;IAChB,gCAAmB,CAAA;IACnB,gDAAmC,CAAA;IACnC,gFAAmE,CAAA;IAEnE,sBAAsB;IACtB,kCAAqB,CAAA;IACrB,gDAAmC,CAAA;IACnC,gDAAmC,CAAA;IACnC,4CAA+B,CAAA;IAC/B,4DAA+C,CAAA;IAC/C,4CAA+B,CAAA;IAC/B,kCAAqB,CAAA;IACrB,gDAAmC,CAAA;IACnC,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;AAC/B,CAAC,EArBW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAqBpB","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 { ContentRule } from \"./content/ContentRule\";\r\nimport { DefaultPropertyCategoryOverride } from \"./content/DefaultPropertyCategoryOverride\";\r\nimport { ContentModifier } from \"./content/modifiers/ContentModifier\";\r\nimport { CustomizationRule } from \"./customization/CustomizationRule\";\r\nimport { NavigationRule } from \"./hierarchy/NavigationRule\";\r\nimport { RequiredSchemaSpecification } from \"./SchemasSpecification\";\r\n\r\n/**\r\n * Base interface for all [[Rule]] implementations. Not meant\r\n * to be used directly, see `Rule`.\r\n *\r\n * @public\r\n */\r\nexport interface RuleBase {\r\n /** Used for serializing to JSON. */\r\n ruleType: RuleTypes;\r\n\r\n /**\r\n * Defines the order in which presentation rules will be evaluated and executed. Defaults to `1000`.\r\n *\r\n * @type integer\r\n */\r\n priority?: number;\r\n\r\n /**\r\n * Should this rule should be ignored if there is already an existing\r\n * rule with a higher priority.\r\n */\r\n onlyIfNotHandled?: boolean;\r\n\r\n /**\r\n * Schema requirements for this rule. The rule is not used if the requirements are not met.\r\n * @beta\r\n */\r\n requiredSchemas?: RequiredSchemaSpecification[];\r\n}\r\n\r\n/**\r\n * Presentation rules allow configuring the hierarchy and content.\r\n * @public\r\n */\r\nexport declare type Rule = CustomizationRule | NavigationRule | ContentRule | ContentModifier | DefaultPropertyCategoryOverride;\r\n\r\n/**\r\n * Container of a [[condition]] property. Used for rules that support conditions. Not\r\n * meant to be used directly, see `Rule`.\r\n *\r\n * @public\r\n */\r\nexport interface ConditionContainer {\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 (depends on specific `ConditionContainer`).\r\n */\r\n condition?: string;\r\n}\r\n\r\n/**\r\n * Used for serializing [[Rule]] objects to JSON.\r\n * @public\r\n */\r\nexport enum RuleTypes {\r\n // hierarchy rules\r\n RootNodes = \"RootNodes\",\r\n ChildNodes = \"ChildNodes\",\r\n\r\n // content rules\r\n Content = \"Content\",\r\n ContentModifier = \"ContentModifier\", // eslint-disable-line @typescript-eslint/no-shadow\r\n DefaultPropertyCategoryOverride = \"DefaultPropertyCategoryOverride\", // eslint-disable-line @typescript-eslint/no-shadow\r\n\r\n // customization rules\r\n Grouping = \"Grouping\",\r\n PropertySorting = \"PropertySorting\",\r\n DisabledSorting = \"DisabledSorting\",\r\n NodeArtifacts = \"NodeArtifacts\",\r\n InstanceLabelOverride = \"InstanceLabelOverride\",\r\n LabelOverride = \"LabelOverride\",\r\n CheckBox = \"CheckBox\",\r\n ImageIdOverride = \"ImageIdOverride\",\r\n StyleOverride = \"StyleOverride\",\r\n ExtendedData = \"ExtendedData\",\r\n}\r\n"]}
1
+ {"version":3,"file":"Rule.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Rule.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AA2DH;;;GAGG;AACH,IAAY,SAqBX;AArBD,WAAY,SAAS;IACnB,kBAAkB;IAClB,oCAAuB,CAAA;IACvB,sCAAyB,CAAA;IAEzB,gBAAgB;IAChB,gCAAmB,CAAA;IACnB,gDAAmC,CAAA;IACnC,gFAAmE,CAAA;IAEnE,sBAAsB;IACtB,kCAAqB,CAAA;IACrB,gDAAmC,CAAA;IACnC,gDAAmC,CAAA;IACnC,4CAA+B,CAAA;IAC/B,4DAA+C,CAAA;IAC/C,4CAA+B,CAAA;IAC/B,kCAAqB,CAAA;IACrB,gDAAmC,CAAA;IACnC,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;AAC/B,CAAC,EArBW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAqBpB","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 { ContentRule } from \"./content/ContentRule\";\r\nimport { DefaultPropertyCategoryOverride } from \"./content/DefaultPropertyCategoryOverride\";\r\nimport { ContentModifier } from \"./content/modifiers/ContentModifier\";\r\nimport { CustomizationRule } from \"./customization/CustomizationRule\";\r\nimport { NavigationRule } from \"./hierarchy/NavigationRule\";\r\nimport { RequiredSchemaSpecification } from \"./SchemasSpecification\";\r\n\r\n/**\r\n * Base interface for all [[Rule]] implementations.\r\n * @public\r\n */\r\nexport interface RuleBase {\r\n /** Used for serializing to JSON. */\r\n ruleType: RuleTypes;\r\n\r\n /**\r\n * Defines the order in which rules are handled, higher number means the rule is handled first. If priorities are\r\n * equal, the rules are handled in the order they're defined.\r\n *\r\n * @type integer\r\n */\r\n priority?: number;\r\n\r\n /**\r\n * Tells the library that the rule should only be handled if no other rule of the same type was handled previously (based on rule\r\n * priorities and definition order). This allows adding fallback rules which can be overriden by higher-priority rules.\r\n */\r\n onlyIfNotHandled?: boolean;\r\n\r\n /**\r\n * A list of [ECSchema requirements]($docs/presentation/RequiredSchemaSpecification.md) that need to be met for the rule to be used.\r\n * @beta\r\n */\r\n requiredSchemas?: RequiredSchemaSpecification[];\r\n}\r\n\r\n/**\r\n * A union of all presentation rule types.\r\n * @public\r\n */\r\nexport declare type Rule = CustomizationRule | NavigationRule | ContentRule | ContentModifier | DefaultPropertyCategoryOverride;\r\n\r\n/**\r\n * Container of a [[condition]] property. Used for rules that support conditions. Not\r\n * meant to be used directly, see [[Rule]].\r\n *\r\n * @deprecated This interface is not used anymore. All interfaces that used to extend it, have the [[condition]]\r\n * attribute of their own.\r\n * @public\r\n */\r\nexport interface ConditionContainer {\r\n /**\r\n * Defines a condition for the rule, which needs to be met in order to execute it.\r\n */\r\n condition?: string;\r\n}\r\n\r\n/**\r\n * Used for serializing [[Rule]] objects to JSON.\r\n * @public\r\n */\r\nexport enum RuleTypes {\r\n // hierarchy rules\r\n RootNodes = \"RootNodes\",\r\n ChildNodes = \"ChildNodes\",\r\n\r\n // content rules\r\n Content = \"Content\",\r\n ContentModifier = \"ContentModifier\", // eslint-disable-line @typescript-eslint/no-shadow\r\n DefaultPropertyCategoryOverride = \"DefaultPropertyCategoryOverride\", // eslint-disable-line @typescript-eslint/no-shadow\r\n\r\n // customization rules\r\n Grouping = \"Grouping\",\r\n PropertySorting = \"PropertySorting\",\r\n DisabledSorting = \"DisabledSorting\",\r\n NodeArtifacts = \"NodeArtifacts\",\r\n InstanceLabelOverride = \"InstanceLabelOverride\",\r\n LabelOverride = \"LabelOverride\",\r\n CheckBox = \"CheckBox\",\r\n ImageIdOverride = \"ImageIdOverride\",\r\n StyleOverride = \"StyleOverride\",\r\n ExtendedData = \"ExtendedData\",\r\n}\r\n"]}
@@ -6,15 +6,16 @@ import { RequiredSchemaSpecification } from "./SchemasSpecification";
6
6
  import { VariablesGroup } from "./Variables";
7
7
  /**
8
8
  * Presentation ruleset is a list of rules that define tree hierarchy and content provided by
9
- * the presentation manager. The ruleset consists of:
9
+ * the presentation library. The ruleset consists of:
10
10
  * - Ruleset options
11
- * - Navigation rules:
11
+ * - Hierarchy rules:
12
12
  * - Root node rules
13
13
  * - Child node rules
14
- * - Content rules for content you see in content controls
14
+ * - Content rules for content you see in content controls like property grid and table.
15
15
  * - Customization rules used for additional customizations such as styling, labeling, checkboxes, etc.
16
16
  * - User-controllable variables.
17
17
  *
18
+ * @see [Presentation library documentation page]($docs/presentation/index.md)
18
19
  * @public
19
20
  */
20
21
  export interface Ruleset {
@@ -30,7 +31,7 @@ export interface Ruleset {
30
31
  * Setting the version is optional, but might be useful when ruleset is persisted
31
32
  * somewhere and evolves over time. Having a version helps choose persisting
32
33
  * strategy (keep all versions or only latest) and find the latest ruleset from a list
33
- * of ruleset with the same id.
34
+ * of rulesets with the same id.
34
35
  *
35
36
  * Defaults to `0.0.0`.
36
37
  *
@@ -52,7 +53,7 @@ export interface Ruleset {
52
53
  }
53
54
  /**
54
55
  * Contains supplementation-related information for
55
- * [supplemental rulesets]($docs/presentation/Advanced/RulesetSupplementation.md).
56
+ * [supplemental rulesets]($docs/presentation/advanced/RulesetSupplementation.md).
56
57
  *
57
58
  * @public
58
59
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Ruleset.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Ruleset.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,OAAO;IACtB;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,eAAe,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAEhD,2DAA2D;IAC3D,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C,6CAA6C;IAC7C,IAAI,CAAC,EAAE,cAAc,EAAE,CAAC;IAExB,gEAAgE;IAChE,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,sBAAsB,EAAE,MAAM,CAAC;CAChC"}
1
+ {"version":3,"file":"Ruleset.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Ruleset.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,OAAO;IACtB;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,eAAe,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAEhD,2DAA2D;IAC3D,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C,6CAA6C;IAC7C,IAAI,CAAC,EAAE,cAAc,EAAE,CAAC;IAExB,gEAAgE;IAChE,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,sBAAsB,EAAE,MAAM,CAAC;CAChC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Ruleset.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Ruleset.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 { Rule } from \"./Rule\";\r\nimport { RequiredSchemaSpecification } from \"./SchemasSpecification\";\r\nimport { VariablesGroup } from \"./Variables\";\r\n\r\n/**\r\n * Presentation ruleset is a list of rules that define tree hierarchy and content provided by\r\n * the presentation manager. The ruleset consists of:\r\n * - Ruleset options\r\n * - Navigation rules:\r\n * - Root node rules\r\n * - Child node rules\r\n * - Content rules for content you see in content controls\r\n * - Customization rules used for additional customizations such as styling, labeling, checkboxes, etc.\r\n * - User-controllable variables.\r\n *\r\n * @public\r\n */\r\nexport interface Ruleset {\r\n /**\r\n * Ruleset identifier. This ID is used to bind UI components with the specific rule set.\r\n *\r\n * @minLength 1\r\n */\r\n id: string;\r\n\r\n /**\r\n * Version of the presentation ruleset in SemVer format: `{major}.{minor}.{patch}`.\r\n *\r\n * Setting the version is optional, but might be useful when ruleset is persisted\r\n * somewhere and evolves over time. Having a version helps choose persisting\r\n * strategy (keep all versions or only latest) and find the latest ruleset from a list\r\n * of ruleset with the same id.\r\n *\r\n * Defaults to `0.0.0`.\r\n *\r\n * @pattern ^[\\d]+\\.[\\d]+\\.[\\d]+$\r\n * @beta\r\n */\r\n version?: string;\r\n\r\n /**\r\n * Schema requirements for this ruleset. The ruleset is not used if the requirements are not met.\r\n * @beta\r\n */\r\n requiredSchemas?: RequiredSchemaSpecification[];\r\n\r\n /** Supplementation-related information for this ruleset */\r\n supplementationInfo?: SupplementationInfo;\r\n\r\n /** User-controllable variable definitions */\r\n vars?: VariablesGroup[];\r\n\r\n /** Presentation rules used to create hierarchies and content */\r\n rules: Rule[];\r\n}\r\n\r\n/**\r\n * Contains supplementation-related information for\r\n * [supplemental rulesets]($docs/presentation/Advanced/RulesetSupplementation.md).\r\n *\r\n * @public\r\n */\r\nexport interface SupplementationInfo {\r\n /**\r\n * Identifies why supplementation is done and uniquely identifies particular supplemental ruleset.\r\n * There can be only one supplemental rule set with the same [[Ruleset.id]] and [[supplementationPurpose]].\r\n */\r\n supplementationPurpose: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"Ruleset.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Ruleset.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 { Rule } from \"./Rule\";\r\nimport { RequiredSchemaSpecification } from \"./SchemasSpecification\";\r\nimport { VariablesGroup } from \"./Variables\";\r\n\r\n/**\r\n * Presentation ruleset is a list of rules that define tree hierarchy and content provided by\r\n * the presentation library. The ruleset consists of:\r\n * - Ruleset options\r\n * - Hierarchy rules:\r\n * - Root node rules\r\n * - Child node rules\r\n * - Content rules for content you see in content controls like property grid and table.\r\n * - Customization rules used for additional customizations such as styling, labeling, checkboxes, etc.\r\n * - User-controllable variables.\r\n *\r\n * @see [Presentation library documentation page]($docs/presentation/index.md)\r\n * @public\r\n */\r\nexport interface Ruleset {\r\n /**\r\n * Ruleset identifier. This ID is used to bind UI components with the specific rule set.\r\n *\r\n * @minLength 1\r\n */\r\n id: string;\r\n\r\n /**\r\n * Version of the presentation ruleset in SemVer format: `{major}.{minor}.{patch}`.\r\n *\r\n * Setting the version is optional, but might be useful when ruleset is persisted\r\n * somewhere and evolves over time. Having a version helps choose persisting\r\n * strategy (keep all versions or only latest) and find the latest ruleset from a list\r\n * of rulesets with the same id.\r\n *\r\n * Defaults to `0.0.0`.\r\n *\r\n * @pattern ^[\\d]+\\.[\\d]+\\.[\\d]+$\r\n * @beta\r\n */\r\n version?: string;\r\n\r\n /**\r\n * Schema requirements for this ruleset. The ruleset is not used if the requirements are not met.\r\n * @beta\r\n */\r\n requiredSchemas?: RequiredSchemaSpecification[];\r\n\r\n /** Supplementation-related information for this ruleset */\r\n supplementationInfo?: SupplementationInfo;\r\n\r\n /** User-controllable variable definitions */\r\n vars?: VariablesGroup[];\r\n\r\n /** Presentation rules used to create hierarchies and content */\r\n rules: Rule[];\r\n}\r\n\r\n/**\r\n * Contains supplementation-related information for\r\n * [supplemental rulesets]($docs/presentation/advanced/RulesetSupplementation.md).\r\n *\r\n * @public\r\n */\r\nexport interface SupplementationInfo {\r\n /**\r\n * Identifies why supplementation is done and uniquely identifies particular supplemental ruleset.\r\n * There can be only one supplemental rule set with the same [[Ruleset.id]] and [[supplementationPurpose]].\r\n */\r\n supplementationPurpose: string;\r\n}\r\n"]}
@@ -15,11 +15,14 @@ export interface SchemasSpecification {
15
15
  isExclude?: boolean;
16
16
  }
17
17
  /**
18
- * A specification for a schema requirement.
18
+ * This specification is designed for specifying schema requirements for the [[Ruleset]] or specific
19
+ * presentation rules.
20
+ *
21
+ * @see [Required schema specification reference documentation page]($docs/presentation/RequiredSchemaSpecification.md)
19
22
  * @beta
20
23
  */
21
24
  export interface RequiredSchemaSpecification {
22
- /** ECSchema name */
25
+ /** Specifies the schema to whom the requirement is being set. */
23
26
  name: string;
24
27
  /**
25
28
  * Minimum required schema version (inclusive).
@@ -1 +1 @@
1
- {"version":3,"file":"SchemasSpecification.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/rules/SchemasSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,qBAAqB;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"SchemasSpecification.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/rules/SchemasSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,qBAAqB;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,2BAA2B;IAC1C,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SchemasSpecification.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/SchemasSpecification.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\n/**\r\n * Specification for a list of ECSchemas\r\n * @public\r\n */\r\nexport interface SchemasSpecification {\r\n /** ECSchema names */\r\n schemaNames: string[];\r\n\r\n /**\r\n * Should schemas specified in [[schemaNames]] be excluded rather than included.\r\n * Exclusion works by including everything except what's specified in [[schemaNames]].\r\n */\r\n isExclude?: boolean;\r\n}\r\n\r\n/**\r\n * A specification for a schema requirement.\r\n * @beta\r\n */\r\nexport interface RequiredSchemaSpecification {\r\n /** ECSchema name */\r\n name: string;\r\n\r\n /**\r\n * Minimum required schema version (inclusive).\r\n * Format: `{read version}.{write version}.{minor version}`, e.g. `2.1.15`.\r\n *\r\n * @pattern ^[\\d]+\\.[\\d]+\\.[\\d]+$\r\n */\r\n minVersion?: string;\r\n\r\n /**\r\n * Maximum allowed schema version (exclusive).\r\n * Format: `{read version}.{write version}.{minor version}`, e.g. `2.1.15`.\r\n *\r\n * @pattern ^[\\d]+\\.[\\d]+\\.[\\d]+$\r\n */\r\n maxVersion?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"SchemasSpecification.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/SchemasSpecification.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\n/**\r\n * Specification for a list of ECSchemas\r\n * @public\r\n */\r\nexport interface SchemasSpecification {\r\n /** ECSchema names */\r\n schemaNames: string[];\r\n\r\n /**\r\n * Should schemas specified in [[schemaNames]] be excluded rather than included.\r\n * Exclusion works by including everything except what's specified in [[schemaNames]].\r\n */\r\n isExclude?: boolean;\r\n}\r\n\r\n/**\r\n * This specification is designed for specifying schema requirements for the [[Ruleset]] or specific\r\n * presentation rules.\r\n *\r\n * @see [Required schema specification reference documentation page]($docs/presentation/RequiredSchemaSpecification.md)\r\n * @beta\r\n */\r\nexport interface RequiredSchemaSpecification {\r\n /** Specifies the schema to whom the requirement is being set. */\r\n name: string;\r\n\r\n /**\r\n * Minimum required schema version (inclusive).\r\n * Format: `{read version}.{write version}.{minor version}`, e.g. `2.1.15`.\r\n *\r\n * @pattern ^[\\d]+\\.[\\d]+\\.[\\d]+$\r\n */\r\n minVersion?: string;\r\n\r\n /**\r\n * Maximum allowed schema version (exclusive).\r\n * Format: `{read version}.{write version}.{minor version}`, e.g. `2.1.15`.\r\n *\r\n * @pattern ^[\\d]+\\.[\\d]+\\.[\\d]+$\r\n */\r\n maxVersion?: string;\r\n}\r\n"]}
@@ -5,7 +5,7 @@
5
5
  * Presentation rules support variables that allow having additional customization of the hierarchy
6
6
  * and content based on variables whose values can change during application session.
7
7
  *
8
- * There are [special ECExpression symbols]($docs/presentation/Advanced/ECExpressions.md#ruleset-variables-user-settings)
8
+ * There are [special ECExpression symbols]($docs/presentation/advanced/ECExpressions.md#ruleset-variables-user-settings)
9
9
  * that can be used to access variables by their ID, so rule conditions can check for a value and change
10
10
  * the behavior. It allows showing / hiding some nodes in the hierarchy, change the grouping, etc.
11
11
  *
@@ -14,7 +14,7 @@
14
14
  export interface VariablesGroup {
15
15
  /**
16
16
  * Group label to display in the UI.
17
- * May be [localized]($docs/presentation/Advanced/Localization.md).
17
+ * May be [localized]($docs/presentation/advanced/Localization.md).
18
18
  */
19
19
  label: string;
20
20
  /** Grouped variables */
@@ -45,7 +45,7 @@ export interface Variable {
45
45
  id: string;
46
46
  /**
47
47
  * Label of the variable that is shown in the UI.
48
- * May be [localized]($docs/presentation/Advanced/Localization.md).
48
+ * May be [localized]($docs/presentation/advanced/Localization.md).
49
49
  */
50
50
  label: string;
51
51
  /** Defines value type. Defaults to [[VariableValueType.YesNo]]. */
@@ -1 +1 @@
1
- {"version":3,"file":"Variables.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Variables.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AA0BH;;;GAGG;AACH,IAAY,iBAYX;AAZD,WAAY,iBAAiB;IAC3B,uDAAuD;IACvD,oCAAe,CAAA;IAEf,0DAA0D;IAC1D,0CAAqB,CAAA;IAErB,uBAAuB;IACvB,2CAAsB,CAAA;IAEtB,wBAAwB;IACxB,qCAAgB,CAAA;AAClB,CAAC,EAZW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAY5B","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\n/**\r\n * Presentation rules support variables that allow having additional customization of the hierarchy\r\n * and content based on variables whose values can change during application session.\r\n *\r\n * There are [special ECExpression symbols]($docs/presentation/Advanced/ECExpressions.md#ruleset-variables-user-settings)\r\n * that can be used to access variables by their ID, so rule conditions can check for a value and change\r\n * the behavior. It allows showing / hiding some nodes in the hierarchy, change the grouping, etc.\r\n *\r\n * @public\r\n */\r\nexport interface VariablesGroup {\r\n /**\r\n * Group label to display in the UI.\r\n * May be [localized]($docs/presentation/Advanced/Localization.md).\r\n */\r\n label: string;\r\n\r\n /** Grouped variables */\r\n vars: Variable[];\r\n\r\n /** Nested variable groups. */\r\n nestedGroups?: VariablesGroup[];\r\n}\r\n\r\n/**\r\n * Available value types of user-controllable variables\r\n * @public\r\n */\r\nexport enum VariableValueType {\r\n /** Bool value, that uses Yes / No strings in the UI */\r\n YesNo = \"YesNo\",\r\n\r\n /** Bool value, that uses Show / Hide strings in the UI */\r\n ShowHide = \"ShowHide\",\r\n\r\n /** Any string value */\r\n String = \"StringValue\",\r\n\r\n /** Any integer value */\r\n Int = \"IntValue\",\r\n}\r\n\r\n/**\r\n * Definition for single user-controllable variable\r\n * @public\r\n */\r\nexport interface Variable {\r\n /** Id of the variable */\r\n id: string;\r\n\r\n /**\r\n * Label of the variable that is shown in the UI.\r\n * May be [localized]($docs/presentation/Advanced/Localization.md).\r\n */\r\n label: string;\r\n\r\n /** Defines value type. Defaults to [[VariableValueType.YesNo]]. */\r\n type?: VariableValueType;\r\n\r\n /** Default value. */\r\n defaultValue?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"Variables.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Variables.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AA0BH;;;GAGG;AACH,IAAY,iBAYX;AAZD,WAAY,iBAAiB;IAC3B,uDAAuD;IACvD,oCAAe,CAAA;IAEf,0DAA0D;IAC1D,0CAAqB,CAAA;IAErB,uBAAuB;IACvB,2CAAsB,CAAA;IAEtB,wBAAwB;IACxB,qCAAgB,CAAA;AAClB,CAAC,EAZW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAY5B","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\n/**\r\n * Presentation rules support variables that allow having additional customization of the hierarchy\r\n * and content based on variables whose values can change during application session.\r\n *\r\n * There are [special ECExpression symbols]($docs/presentation/advanced/ECExpressions.md#ruleset-variables-user-settings)\r\n * that can be used to access variables by their ID, so rule conditions can check for a value and change\r\n * the behavior. It allows showing / hiding some nodes in the hierarchy, change the grouping, etc.\r\n *\r\n * @public\r\n */\r\nexport interface VariablesGroup {\r\n /**\r\n * Group label to display in the UI.\r\n * May be [localized]($docs/presentation/advanced/Localization.md).\r\n */\r\n label: string;\r\n\r\n /** Grouped variables */\r\n vars: Variable[];\r\n\r\n /** Nested variable groups. */\r\n nestedGroups?: VariablesGroup[];\r\n}\r\n\r\n/**\r\n * Available value types of user-controllable variables\r\n * @public\r\n */\r\nexport enum VariableValueType {\r\n /** Bool value, that uses Yes / No strings in the UI */\r\n YesNo = \"YesNo\",\r\n\r\n /** Bool value, that uses Show / Hide strings in the UI */\r\n ShowHide = \"ShowHide\",\r\n\r\n /** Any string value */\r\n String = \"StringValue\",\r\n\r\n /** Any integer value */\r\n Int = \"IntValue\",\r\n}\r\n\r\n/**\r\n * Definition for single user-controllable variable\r\n * @public\r\n */\r\nexport interface Variable {\r\n /** Id of the variable */\r\n id: string;\r\n\r\n /**\r\n * Label of the variable that is shown in the UI.\r\n * May be [localized]($docs/presentation/advanced/Localization.md).\r\n */\r\n label: string;\r\n\r\n /** Defines value type. Defaults to [[VariableValueType.YesNo]]. */\r\n type?: VariableValueType;\r\n\r\n /** Default value. */\r\n defaultValue?: string;\r\n}\r\n"]}
@@ -4,40 +4,38 @@
4
4
  import { MultiSchemaClassesSpecification } from "../ClassSpecifications";
5
5
  import { ContentSpecificationBase, ContentSpecificationTypes } from "./ContentSpecification";
6
6
  /**
7
- * Creates content for ECInstance(s) of specified classes.
7
+ * This specification creates content for all instances of specific ECClasses.
8
8
  *
9
- * **Note**: this specification doesn't rely on selection. It always returns instances no matter
10
- * what the selection is, so pre-filtering should be done in [[ContentRule]] condition and [[instanceFilter]].
11
- *
12
- * @see [More details]($docs/presentation/Content/ContentInstancesOfSpecificClasses.md)
9
+ * @see [Content instances of specific classes specification reference documentation page]($docs/presentation/content/ContentInstancesOfSpecificClasses.md)
13
10
  * @public
14
11
  */
15
12
  export interface ContentInstancesOfSpecificClassesSpecification extends ContentSpecificationBase {
16
13
  /** Used for serializing to JSON. */
17
14
  specType: ContentSpecificationTypes.ContentInstancesOfSpecificClasses;
18
15
  /**
19
- * List of ECClass specifications whose ECInstances should be selected.
16
+ * Defines a set of [multi schema classes]($docs/presentation/MultiSchemaClassesSpecification.md) that specify which
17
+ * ECClasses need to be selected to form the result.
20
18
  */
21
19
  classes: MultiSchemaClassesSpecification | MultiSchemaClassesSpecification[];
22
20
  /**
23
- * List of ECClass specifications whose ECInstances should be excluded.
21
+ * Defines a set of [multi schema classes]($docs/presentation/MultiSchemaClassesSpecification.md) that prevents specified
22
+ * ECClasses and subclasses from being selected by [[classes]] attribute.
24
23
  */
25
24
  excludedClasses?: MultiSchemaClassesSpecification | MultiSchemaClassesSpecification[];
26
25
  /**
27
- * Whether to get content from instances of derived `classes`.
28
- * Acts as default value for [[classes.arePolymorphic]] and [[excludedClasses.arePolymorphic]].
26
+ * Tells whether selecting instances from ECClasses specified in [[classes]] and [[excludedClasses]]
27
+ * attributes should be polymorphic or not.
28
+ *
29
29
  * @deprecated Specify polymorphism value inside [[classes.arePolymorphic]] or [[excludedClasses.arePolymorphic]].
30
30
  */
31
31
  handleInstancesPolymorphically?: boolean;
32
32
  /**
33
- * Whether to get content from properties of derived `classes`. If `true`, properties from `classes` with no instances
34
- * do not appear in the result set.
33
+ * Specifies whether properties of derived [[classes]] should be included in the content.
35
34
  */
36
35
  handlePropertiesPolymorphically?: boolean;
37
36
  /**
38
- * Condition for filtering instances of defined classes.
39
- *
40
- * **See:** [ECExpressions available in instance filter]($docs/presentation/Content/ECExpressions.md#instance-filter)
37
+ * Specifies an [ECExpression]($docs/presentation/content/ECExpressions.md#instance-filter) for filtering instances
38
+ * of ECClasses specified through the [[classes]] attribute.
41
39
  */
42
40
  instanceFilter?: string;
43
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ContentInstancesOfSpecificClassesSpecification.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAE7F;;;;;;;;GAQG;AACH,MAAM,WAAW,8CAA+C,SAAQ,wBAAwB;IAC9F,oCAAoC;IACpC,QAAQ,EAAE,yBAAyB,CAAC,iCAAiC,CAAC;IAEtE;;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,8BAA8B,CAAC,EAAE,OAAO,CAAC;IAEzC;;;OAGG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAE1C;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
1
+ {"version":3,"file":"ContentInstancesOfSpecificClassesSpecification.d.ts","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAE7F;;;;;GAKG;AACH,MAAM,WAAW,8CAA+C,SAAQ,wBAAwB;IAC9F,oCAAoC;IACpC,QAAQ,EAAE,yBAAyB,CAAC,iCAAiC,CAAC;IAEtE;;;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;;;;;OAKG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAC;IAEzC;;OAEG;IACH,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAE1C;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}