@itwin/presentation-common 4.0.0-dev.28 → 4.0.0-dev.30

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 (475) hide show
  1. package/lib/cjs/assets/locales/en/BisCore.json +18 -18
  2. package/lib/cjs/assets/locales/en/ECPresentation.json +9 -9
  3. package/lib/cjs/assets/locales/en/RulesEngine.json +5 -5
  4. package/lib/cjs/presentation-common/AsyncTasks.d.ts +22 -22
  5. package/lib/cjs/presentation-common/AsyncTasks.js +38 -38
  6. package/lib/cjs/presentation-common/AsyncTasks.js.map +1 -1
  7. package/lib/cjs/presentation-common/CommonLoggerCategory.d.ts +12 -12
  8. package/lib/cjs/presentation-common/CommonLoggerCategory.js +20 -20
  9. package/lib/cjs/presentation-common/CommonLoggerCategory.js.map +1 -1
  10. package/lib/cjs/presentation-common/Diagnostics.d.ts +125 -125
  11. package/lib/cjs/presentation-common/Diagnostics.js +72 -72
  12. package/lib/cjs/presentation-common/Diagnostics.js.map +1 -1
  13. package/lib/cjs/presentation-common/EC.d.ts +350 -350
  14. package/lib/cjs/presentation-common/EC.js +290 -290
  15. package/lib/cjs/presentation-common/EC.js.map +1 -1
  16. package/lib/cjs/presentation-common/ElementProperties.d.ts +123 -123
  17. package/lib/cjs/presentation-common/ElementProperties.js +9 -9
  18. package/lib/cjs/presentation-common/ElementProperties.js.map +1 -1
  19. package/lib/cjs/presentation-common/Error.d.ts +45 -45
  20. package/lib/cjs/presentation-common/Error.js +62 -62
  21. package/lib/cjs/presentation-common/Error.js.map +1 -1
  22. package/lib/cjs/presentation-common/InstanceFilterDefinition.d.ts +93 -93
  23. package/lib/cjs/presentation-common/InstanceFilterDefinition.js +9 -9
  24. package/lib/cjs/presentation-common/InstanceFilterDefinition.js.map +1 -1
  25. package/lib/cjs/presentation-common/KeySet.d.ts +146 -146
  26. package/lib/cjs/presentation-common/KeySet.js +428 -428
  27. package/lib/cjs/presentation-common/KeySet.js.map +1 -1
  28. package/lib/cjs/presentation-common/LabelDefinition.d.ts +93 -93
  29. package/lib/cjs/presentation-common/LabelDefinition.js +78 -78
  30. package/lib/cjs/presentation-common/LabelDefinition.js.map +1 -1
  31. package/lib/cjs/presentation-common/LocalizationHelper.d.ts +29 -29
  32. package/lib/cjs/presentation-common/LocalizationHelper.js +110 -110
  33. package/lib/cjs/presentation-common/LocalizationHelper.js.map +1 -1
  34. package/lib/cjs/presentation-common/PresentationIpcInterface.d.ts +40 -40
  35. package/lib/cjs/presentation-common/PresentationIpcInterface.js +12 -12
  36. package/lib/cjs/presentation-common/PresentationIpcInterface.js.map +1 -1
  37. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts +261 -261
  38. package/lib/cjs/presentation-common/PresentationManagerOptions.js +23 -23
  39. package/lib/cjs/presentation-common/PresentationManagerOptions.js.map +1 -1
  40. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts +186 -186
  41. package/lib/cjs/presentation-common/PresentationRpcInterface.js +104 -104
  42. package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
  43. package/lib/cjs/presentation-common/PropertyFormatter.d.ts +25 -25
  44. package/lib/cjs/presentation-common/PropertyFormatter.js +73 -73
  45. package/lib/cjs/presentation-common/PropertyFormatter.js.map +1 -1
  46. package/lib/cjs/presentation-common/RegisteredRuleset.d.ts +26 -26
  47. package/lib/cjs/presentation-common/RegisteredRuleset.js +33 -33
  48. package/lib/cjs/presentation-common/RegisteredRuleset.js.map +1 -1
  49. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts +83 -83
  50. package/lib/cjs/presentation-common/RpcRequestsHandler.js +171 -171
  51. package/lib/cjs/presentation-common/RpcRequestsHandler.js.map +1 -1
  52. package/lib/cjs/presentation-common/RulesetVariables.d.ts +171 -171
  53. package/lib/cjs/presentation-common/RulesetVariables.js +55 -55
  54. package/lib/cjs/presentation-common/RulesetVariables.js.map +1 -1
  55. package/lib/cjs/presentation-common/RulesetsFactory.d.ts +44 -44
  56. package/lib/cjs/presentation-common/RulesetsFactory.js +223 -223
  57. package/lib/cjs/presentation-common/RulesetsFactory.js.map +1 -1
  58. package/lib/cjs/presentation-common/Update.d.ts +213 -213
  59. package/lib/cjs/presentation-common/Update.js +226 -226
  60. package/lib/cjs/presentation-common/Update.js.map +1 -1
  61. package/lib/cjs/presentation-common/Utils.d.ts +62 -62
  62. package/lib/cjs/presentation-common/Utils.js +43 -43
  63. package/lib/cjs/presentation-common/Utils.js.map +1 -1
  64. package/lib/cjs/presentation-common/content/Category.d.ts +49 -49
  65. package/lib/cjs/presentation-common/content/Category.js +48 -48
  66. package/lib/cjs/presentation-common/content/Category.js.map +1 -1
  67. package/lib/cjs/presentation-common/content/Content.d.ts +38 -38
  68. package/lib/cjs/presentation-common/content/Content.js +56 -56
  69. package/lib/cjs/presentation-common/content/Content.js.map +1 -1
  70. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts +271 -271
  71. package/lib/cjs/presentation-common/content/ContentTraverser.js +437 -437
  72. package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
  73. package/lib/cjs/presentation-common/content/Descriptor.d.ts +328 -328
  74. package/lib/cjs/presentation-common/content/Descriptor.js +191 -191
  75. package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
  76. package/lib/cjs/presentation-common/content/DisplayTypes.d.ts +21 -21
  77. package/lib/cjs/presentation-common/content/DisplayTypes.js +29 -29
  78. package/lib/cjs/presentation-common/content/DisplayTypes.js.map +1 -1
  79. package/lib/cjs/presentation-common/content/Editor.d.ts +15 -15
  80. package/lib/cjs/presentation-common/content/Editor.js +9 -9
  81. package/lib/cjs/presentation-common/content/Editor.js.map +1 -1
  82. package/lib/cjs/presentation-common/content/Fields.d.ts +298 -298
  83. package/lib/cjs/presentation-common/content/Fields.js +393 -393
  84. package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
  85. package/lib/cjs/presentation-common/content/Item.d.ts +85 -85
  86. package/lib/cjs/presentation-common/content/Item.js +84 -84
  87. package/lib/cjs/presentation-common/content/Item.js.map +1 -1
  88. package/lib/cjs/presentation-common/content/Property.d.ts +57 -57
  89. package/lib/cjs/presentation-common/content/Property.js +40 -40
  90. package/lib/cjs/presentation-common/content/Property.js.map +1 -1
  91. package/lib/cjs/presentation-common/content/Renderer.d.ts +11 -11
  92. package/lib/cjs/presentation-common/content/Renderer.js +9 -9
  93. package/lib/cjs/presentation-common/content/Renderer.js.map +1 -1
  94. package/lib/cjs/presentation-common/content/TypeDescription.d.ts +72 -72
  95. package/lib/cjs/presentation-common/content/TypeDescription.js +23 -23
  96. package/lib/cjs/presentation-common/content/TypeDescription.js.map +1 -1
  97. package/lib/cjs/presentation-common/content/Value.d.ts +189 -189
  98. package/lib/cjs/presentation-common/content/Value.js +273 -273
  99. package/lib/cjs/presentation-common/content/Value.js.map +1 -1
  100. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.d.ts +37 -37
  101. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js +31 -31
  102. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  103. package/lib/cjs/presentation-common/hierarchy/Key.d.ts +246 -246
  104. package/lib/cjs/presentation-common/hierarchy/Key.js +121 -121
  105. package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
  106. package/lib/cjs/presentation-common/hierarchy/Node.d.ts +154 -154
  107. package/lib/cjs/presentation-common/hierarchy/Node.js +106 -106
  108. package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
  109. package/lib/cjs/presentation-common/hierarchy/NodePathElement.d.ts +96 -96
  110. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js +122 -122
  111. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  112. package/lib/cjs/presentation-common/rules/ClassSpecifications.d.ts +45 -45
  113. package/lib/cjs/presentation-common/rules/ClassSpecifications.js +9 -9
  114. package/lib/cjs/presentation-common/rules/ClassSpecifications.js.map +1 -1
  115. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.d.ts +31 -31
  116. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js +9 -9
  117. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  118. package/lib/cjs/presentation-common/rules/RelationshipDirection.d.ts +13 -13
  119. package/lib/cjs/presentation-common/rules/RelationshipDirection.js +21 -21
  120. package/lib/cjs/presentation-common/rules/RelationshipDirection.js.map +1 -1
  121. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts +56 -56
  122. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js +9 -9
  123. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  124. package/lib/cjs/presentation-common/rules/Rule.d.ts +76 -76
  125. package/lib/cjs/presentation-common/rules/Rule.js +35 -35
  126. package/lib/cjs/presentation-common/rules/Rule.js.map +1 -1
  127. package/lib/cjs/presentation-common/rules/Ruleset.d.ts +65 -65
  128. package/lib/cjs/presentation-common/rules/Ruleset.js +9 -9
  129. package/lib/cjs/presentation-common/rules/Ruleset.js.map +1 -1
  130. package/lib/cjs/presentation-common/rules/SchemasSpecification.d.ts +41 -41
  131. package/lib/cjs/presentation-common/rules/SchemasSpecification.js +9 -9
  132. package/lib/cjs/presentation-common/rules/SchemasSpecification.js.map +1 -1
  133. package/lib/cjs/presentation-common/rules/Variables.d.ts +58 -58
  134. package/lib/cjs/presentation-common/rules/Variables.js +25 -25
  135. package/lib/cjs/presentation-common/rules/Variables.js.map +1 -1
  136. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +41 -41
  137. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js +9 -9
  138. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  139. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +25 -25
  140. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js +9 -9
  141. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  142. package/lib/cjs/presentation-common/rules/content/ContentRule.d.ts +30 -30
  143. package/lib/cjs/presentation-common/rules/content/ContentRule.js +9 -9
  144. package/lib/cjs/presentation-common/rules/content/ContentRule.js.map +1 -1
  145. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts +58 -58
  146. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js +20 -20
  147. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  148. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +19 -19
  149. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js +9 -9
  150. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  151. package/lib/cjs/presentation-common/rules/content/PropertySpecification.d.ts +86 -86
  152. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js +9 -9
  153. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  154. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +28 -28
  155. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js +9 -9
  156. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  157. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +25 -25
  158. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js +9 -9
  159. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  160. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.d.ts +57 -57
  161. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js +9 -9
  162. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  163. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +17 -17
  164. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js +9 -9
  165. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  166. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +107 -107
  167. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js +9 -9
  168. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  169. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +108 -108
  170. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +21 -21
  171. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  172. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +96 -96
  173. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +43 -43
  174. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  175. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts +44 -44
  176. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js +9 -9
  177. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
  178. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts +36 -36
  179. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js +9 -9
  180. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  181. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.d.ts +27 -27
  182. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js +9 -9
  183. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  184. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts +207 -207
  185. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js +51 -51
  186. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  187. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts +29 -29
  188. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js +9 -9
  189. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
  190. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts +158 -158
  191. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js +25 -25
  192. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  193. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts +40 -40
  194. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js +9 -9
  195. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js.map +1 -1
  196. package/lib/cjs/presentation-common/rules/customization/SortingRule.d.ts +58 -58
  197. package/lib/cjs/presentation-common/rules/customization/SortingRule.js +9 -9
  198. package/lib/cjs/presentation-common/rules/customization/SortingRule.js.map +1 -1
  199. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts +48 -48
  200. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js +9 -9
  201. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js.map +1 -1
  202. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +14 -14
  203. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js +9 -9
  204. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  205. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +98 -98
  206. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js +21 -21
  207. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  208. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +31 -31
  209. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js +9 -9
  210. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  211. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +79 -79
  212. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +19 -19
  213. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  214. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +39 -39
  215. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js +9 -9
  216. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  217. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.d.ts +50 -50
  218. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js +9 -9
  219. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  220. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +27 -27
  221. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js +9 -9
  222. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  223. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +27 -27
  224. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js +9 -9
  225. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  226. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.d.ts +16 -16
  227. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js +9 -9
  228. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  229. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.d.ts +35 -35
  230. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js +9 -9
  231. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  232. package/lib/cjs/presentation-common/selection/SelectionScope.d.ts +38 -38
  233. package/lib/cjs/presentation-common/selection/SelectionScope.js +9 -9
  234. package/lib/cjs/presentation-common/selection/SelectionScope.js.map +1 -1
  235. package/lib/cjs/presentation-common.d.ts +113 -113
  236. package/lib/cjs/presentation-common.js +129 -129
  237. package/lib/cjs/presentation-common.js.map +1 -1
  238. package/lib/esm/presentation-common/AsyncTasks.d.ts +22 -22
  239. package/lib/esm/presentation-common/AsyncTasks.js +34 -34
  240. package/lib/esm/presentation-common/AsyncTasks.js.map +1 -1
  241. package/lib/esm/presentation-common/CommonLoggerCategory.d.ts +12 -12
  242. package/lib/esm/presentation-common/CommonLoggerCategory.js +17 -17
  243. package/lib/esm/presentation-common/CommonLoggerCategory.js.map +1 -1
  244. package/lib/esm/presentation-common/Diagnostics.d.ts +125 -125
  245. package/lib/esm/presentation-common/Diagnostics.js +67 -67
  246. package/lib/esm/presentation-common/Diagnostics.js.map +1 -1
  247. package/lib/esm/presentation-common/EC.d.ts +350 -350
  248. package/lib/esm/presentation-common/EC.js +287 -287
  249. package/lib/esm/presentation-common/EC.js.map +1 -1
  250. package/lib/esm/presentation-common/ElementProperties.d.ts +123 -123
  251. package/lib/esm/presentation-common/ElementProperties.js +8 -8
  252. package/lib/esm/presentation-common/ElementProperties.js.map +1 -1
  253. package/lib/esm/presentation-common/Error.d.ts +45 -45
  254. package/lib/esm/presentation-common/Error.js +58 -58
  255. package/lib/esm/presentation-common/Error.js.map +1 -1
  256. package/lib/esm/presentation-common/InstanceFilterDefinition.d.ts +93 -93
  257. package/lib/esm/presentation-common/InstanceFilterDefinition.js +8 -8
  258. package/lib/esm/presentation-common/InstanceFilterDefinition.js.map +1 -1
  259. package/lib/esm/presentation-common/KeySet.d.ts +146 -146
  260. package/lib/esm/presentation-common/KeySet.js +424 -424
  261. package/lib/esm/presentation-common/KeySet.js.map +1 -1
  262. package/lib/esm/presentation-common/LabelDefinition.d.ts +93 -93
  263. package/lib/esm/presentation-common/LabelDefinition.js +75 -75
  264. package/lib/esm/presentation-common/LabelDefinition.js.map +1 -1
  265. package/lib/esm/presentation-common/LocalizationHelper.d.ts +29 -29
  266. package/lib/esm/presentation-common/LocalizationHelper.js +106 -106
  267. package/lib/esm/presentation-common/LocalizationHelper.js.map +1 -1
  268. package/lib/esm/presentation-common/PresentationIpcInterface.d.ts +40 -40
  269. package/lib/esm/presentation-common/PresentationIpcInterface.js +9 -9
  270. package/lib/esm/presentation-common/PresentationIpcInterface.js.map +1 -1
  271. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts +261 -261
  272. package/lib/esm/presentation-common/PresentationManagerOptions.js +18 -18
  273. package/lib/esm/presentation-common/PresentationManagerOptions.js.map +1 -1
  274. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts +186 -186
  275. package/lib/esm/presentation-common/PresentationRpcInterface.js +100 -100
  276. package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
  277. package/lib/esm/presentation-common/PropertyFormatter.d.ts +25 -25
  278. package/lib/esm/presentation-common/PropertyFormatter.js +68 -68
  279. package/lib/esm/presentation-common/PropertyFormatter.js.map +1 -1
  280. package/lib/esm/presentation-common/RegisteredRuleset.d.ts +26 -26
  281. package/lib/esm/presentation-common/RegisteredRuleset.js +29 -29
  282. package/lib/esm/presentation-common/RegisteredRuleset.js.map +1 -1
  283. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts +83 -83
  284. package/lib/esm/presentation-common/RpcRequestsHandler.js +167 -167
  285. package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
  286. package/lib/esm/presentation-common/RulesetVariables.d.ts +171 -171
  287. package/lib/esm/presentation-common/RulesetVariables.js +52 -52
  288. package/lib/esm/presentation-common/RulesetVariables.js.map +1 -1
  289. package/lib/esm/presentation-common/RulesetsFactory.d.ts +44 -44
  290. package/lib/esm/presentation-common/RulesetsFactory.js +219 -219
  291. package/lib/esm/presentation-common/RulesetsFactory.js.map +1 -1
  292. package/lib/esm/presentation-common/Update.d.ts +213 -213
  293. package/lib/esm/presentation-common/Update.js +223 -223
  294. package/lib/esm/presentation-common/Update.js.map +1 -1
  295. package/lib/esm/presentation-common/Utils.d.ts +62 -62
  296. package/lib/esm/presentation-common/Utils.js +39 -39
  297. package/lib/esm/presentation-common/Utils.js.map +1 -1
  298. package/lib/esm/presentation-common/content/Category.d.ts +49 -49
  299. package/lib/esm/presentation-common/content/Category.js +45 -45
  300. package/lib/esm/presentation-common/content/Category.js.map +1 -1
  301. package/lib/esm/presentation-common/content/Content.d.ts +38 -38
  302. package/lib/esm/presentation-common/content/Content.js +52 -52
  303. package/lib/esm/presentation-common/content/Content.js.map +1 -1
  304. package/lib/esm/presentation-common/content/ContentTraverser.d.ts +271 -271
  305. package/lib/esm/presentation-common/content/ContentTraverser.js +427 -427
  306. package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
  307. package/lib/esm/presentation-common/content/Descriptor.d.ts +328 -328
  308. package/lib/esm/presentation-common/content/Descriptor.js +187 -187
  309. package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
  310. package/lib/esm/presentation-common/content/DisplayTypes.d.ts +21 -21
  311. package/lib/esm/presentation-common/content/DisplayTypes.js +26 -26
  312. package/lib/esm/presentation-common/content/DisplayTypes.js.map +1 -1
  313. package/lib/esm/presentation-common/content/Editor.d.ts +15 -15
  314. package/lib/esm/presentation-common/content/Editor.js +8 -8
  315. package/lib/esm/presentation-common/content/Editor.js.map +1 -1
  316. package/lib/esm/presentation-common/content/Fields.d.ts +298 -298
  317. package/lib/esm/presentation-common/content/Fields.js +386 -386
  318. package/lib/esm/presentation-common/content/Fields.js.map +1 -1
  319. package/lib/esm/presentation-common/content/Item.d.ts +85 -85
  320. package/lib/esm/presentation-common/content/Item.js +80 -80
  321. package/lib/esm/presentation-common/content/Item.js.map +1 -1
  322. package/lib/esm/presentation-common/content/Property.d.ts +57 -57
  323. package/lib/esm/presentation-common/content/Property.js +37 -37
  324. package/lib/esm/presentation-common/content/Property.js.map +1 -1
  325. package/lib/esm/presentation-common/content/Renderer.d.ts +11 -11
  326. package/lib/esm/presentation-common/content/Renderer.js +8 -8
  327. package/lib/esm/presentation-common/content/Renderer.js.map +1 -1
  328. package/lib/esm/presentation-common/content/TypeDescription.d.ts +72 -72
  329. package/lib/esm/presentation-common/content/TypeDescription.js +20 -20
  330. package/lib/esm/presentation-common/content/TypeDescription.js.map +1 -1
  331. package/lib/esm/presentation-common/content/Value.d.ts +189 -189
  332. package/lib/esm/presentation-common/content/Value.js +270 -270
  333. package/lib/esm/presentation-common/content/Value.js.map +1 -1
  334. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.d.ts +37 -37
  335. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js +28 -28
  336. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  337. package/lib/esm/presentation-common/hierarchy/Key.d.ts +246 -246
  338. package/lib/esm/presentation-common/hierarchy/Key.js +118 -118
  339. package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
  340. package/lib/esm/presentation-common/hierarchy/Node.d.ts +154 -154
  341. package/lib/esm/presentation-common/hierarchy/Node.js +103 -103
  342. package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
  343. package/lib/esm/presentation-common/hierarchy/NodePathElement.d.ts +96 -96
  344. package/lib/esm/presentation-common/hierarchy/NodePathElement.js +119 -119
  345. package/lib/esm/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  346. package/lib/esm/presentation-common/rules/ClassSpecifications.d.ts +45 -45
  347. package/lib/esm/presentation-common/rules/ClassSpecifications.js +8 -8
  348. package/lib/esm/presentation-common/rules/ClassSpecifications.js.map +1 -1
  349. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.d.ts +31 -31
  350. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js +8 -8
  351. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  352. package/lib/esm/presentation-common/rules/RelationshipDirection.d.ts +13 -13
  353. package/lib/esm/presentation-common/rules/RelationshipDirection.js +18 -18
  354. package/lib/esm/presentation-common/rules/RelationshipDirection.js.map +1 -1
  355. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts +56 -56
  356. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js +8 -8
  357. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  358. package/lib/esm/presentation-common/rules/Rule.d.ts +76 -76
  359. package/lib/esm/presentation-common/rules/Rule.js +32 -32
  360. package/lib/esm/presentation-common/rules/Rule.js.map +1 -1
  361. package/lib/esm/presentation-common/rules/Ruleset.d.ts +65 -65
  362. package/lib/esm/presentation-common/rules/Ruleset.js +8 -8
  363. package/lib/esm/presentation-common/rules/Ruleset.js.map +1 -1
  364. package/lib/esm/presentation-common/rules/SchemasSpecification.d.ts +41 -41
  365. package/lib/esm/presentation-common/rules/SchemasSpecification.js +8 -8
  366. package/lib/esm/presentation-common/rules/SchemasSpecification.js.map +1 -1
  367. package/lib/esm/presentation-common/rules/Variables.d.ts +58 -58
  368. package/lib/esm/presentation-common/rules/Variables.js +22 -22
  369. package/lib/esm/presentation-common/rules/Variables.js.map +1 -1
  370. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +41 -41
  371. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js +8 -8
  372. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  373. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +25 -25
  374. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js +8 -8
  375. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  376. package/lib/esm/presentation-common/rules/content/ContentRule.d.ts +30 -30
  377. package/lib/esm/presentation-common/rules/content/ContentRule.js +8 -8
  378. package/lib/esm/presentation-common/rules/content/ContentRule.js.map +1 -1
  379. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts +58 -58
  380. package/lib/esm/presentation-common/rules/content/ContentSpecification.js +17 -17
  381. package/lib/esm/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  382. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +19 -19
  383. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js +8 -8
  384. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  385. package/lib/esm/presentation-common/rules/content/PropertySpecification.d.ts +86 -86
  386. package/lib/esm/presentation-common/rules/content/PropertySpecification.js +8 -8
  387. package/lib/esm/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  388. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +28 -28
  389. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js +8 -8
  390. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  391. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +25 -25
  392. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js +8 -8
  393. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  394. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.d.ts +57 -57
  395. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js +8 -8
  396. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  397. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +17 -17
  398. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js +8 -8
  399. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  400. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +107 -107
  401. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js +8 -8
  402. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  403. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +108 -108
  404. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +18 -18
  405. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  406. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +96 -96
  407. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +40 -40
  408. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  409. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts +44 -44
  410. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js +8 -8
  411. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
  412. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts +36 -36
  413. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js +8 -8
  414. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  415. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.d.ts +27 -27
  416. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js +8 -8
  417. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  418. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts +207 -207
  419. package/lib/esm/presentation-common/rules/customization/GroupingRule.js +48 -48
  420. package/lib/esm/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  421. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts +29 -29
  422. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js +8 -8
  423. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
  424. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts +158 -158
  425. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js +22 -22
  426. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  427. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts +40 -40
  428. package/lib/esm/presentation-common/rules/customization/LabelOverride.js +8 -8
  429. package/lib/esm/presentation-common/rules/customization/LabelOverride.js.map +1 -1
  430. package/lib/esm/presentation-common/rules/customization/SortingRule.d.ts +58 -58
  431. package/lib/esm/presentation-common/rules/customization/SortingRule.js +8 -8
  432. package/lib/esm/presentation-common/rules/customization/SortingRule.js.map +1 -1
  433. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts +48 -48
  434. package/lib/esm/presentation-common/rules/customization/StyleOverride.js +8 -8
  435. package/lib/esm/presentation-common/rules/customization/StyleOverride.js.map +1 -1
  436. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +14 -14
  437. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js +8 -8
  438. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  439. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +98 -98
  440. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js +18 -18
  441. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  442. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +31 -31
  443. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js +8 -8
  444. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  445. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +79 -79
  446. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +16 -16
  447. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  448. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +39 -39
  449. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js +8 -8
  450. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  451. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.d.ts +50 -50
  452. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js +8 -8
  453. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  454. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +27 -27
  455. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js +8 -8
  456. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  457. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +27 -27
  458. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js +8 -8
  459. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  460. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.d.ts +16 -16
  461. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js +8 -8
  462. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  463. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.d.ts +35 -35
  464. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js +8 -8
  465. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  466. package/lib/esm/presentation-common/selection/SelectionScope.d.ts +38 -38
  467. package/lib/esm/presentation-common/selection/SelectionScope.js +8 -8
  468. package/lib/esm/presentation-common/selection/SelectionScope.js.map +1 -1
  469. package/lib/esm/presentation-common.d.ts +113 -113
  470. package/lib/esm/presentation-common.js +117 -117
  471. package/lib/esm/presentation-common.js.map +1 -1
  472. package/lib/public/locales/en/BisCore.json +18 -18
  473. package/lib/public/locales/en/ECPresentation.json +9 -9
  474. package/lib/public/locales/en/RulesEngine.json +5 -5
  475. package/package.json +9 -9
@@ -1,208 +1,208 @@
1
- /** @packageDocumentation
2
- * @module PresentationRules
3
- */
4
- import { SingleSchemaClassSpecification } from "../ClassSpecifications";
5
- import { RuleBase } from "../Rule";
6
- /**
7
- * Grouping rules provide advanced ways to group instances when creating hierarchies.
8
- *
9
- * @see [Grouping rule reference documentation page]($docs/presentation/hierarchies/GroupingRule.md)
10
- * @public
11
- */
12
- export interface GroupingRule extends RuleBase {
13
- /** Used for serializing to JSON. */
14
- ruleType: "Grouping";
15
- /**
16
- * An [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#rule-condition) that results in
17
- * a boolean value. If specified, the grouping rule applies only to instance nodes that cause the condition
18
- * to evaluate to `true`.
19
- */
20
- condition?: string;
21
- /** Specification of ECClass which should be grouped using this rule. */
22
- class: SingleSchemaClassSpecification;
23
- /**
24
- * Specifies a list of [grouping specifications]($docs/presentation/hierarchies/GroupingRule.md#grouping-specifications)
25
- * which describe the kind of grouping that should be applied.
26
- */
27
- groups: GroupingSpecification[];
28
- }
29
- /**
30
- * Grouping rule specifications.
31
- * @public
32
- */
33
- export declare type GroupingSpecification = ClassGroup | PropertyGroup | SameLabelInstanceGroup;
34
- /**
35
- * Available types of [[GroupingSpecification]].
36
- * @public
37
- */
38
- export declare enum GroupingSpecificationTypes {
39
- Class = "Class",
40
- Property = "Property",
41
- SameLabelInstance = "SameLabelInstance"
42
- }
43
- /**
44
- * Base interface for all [[GroupingSpecification]] implementations. Not
45
- * meant to be used directly, see `GroupingSpecification`.
46
- *
47
- * @public
48
- */
49
- export interface GroupingSpecificationBase {
50
- /**
51
- * Type of the subclass
52
- * @see GroupingSpecificationTypes
53
- */
54
- specType: `${GroupingSpecificationTypes}`;
55
- }
56
- /**
57
- * Base class grouping allows grouping ECInstance nodes by their base class (as opposed to the hierarchy
58
- * specifications' `groupByClass` attribute, which always groups by direct class).
59
- *
60
- * @see [Base class grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#base-class-grouping)
61
- * @public
62
- */
63
- export interface ClassGroup extends GroupingSpecificationBase {
64
- /** Used for serializing to JSON. */
65
- specType: "Class";
66
- /** Specifies whether a grouping node should be created if there is only one item in that group. */
67
- createGroupForSingleItem?: boolean;
68
- /**
69
- * Specification of the base ECClass to group by. If specified, allows grouping by a subclass of the class
70
- * specified by rule's `class` attribute.
71
- */
72
- baseClass?: SingleSchemaClassSpecification;
73
- }
74
- /**
75
- * Allows grouping multiple instances with the same label into one ECInstances type of node. Similar to display label grouping,
76
- * but instead of showing a grouping node with multiple grouped ECInstance nodes, it shows a single ECInstances node which represents
77
- * multiple ECInstances.
78
- *
79
- * @see [Same label instance grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#same-label-instance-grouping)
80
- * @public
81
- */
82
- export interface SameLabelInstanceGroup extends GroupingSpecificationBase {
83
- /** Used for serializing to JSON. */
84
- specType: "SameLabelInstance";
85
- /**
86
- * Grouping nodes by label is an expensive operation because it requires the whole hierarchy level to be created before even the first
87
- * grouped node can be produced. To alleviate the performance impact when this specification is used, two `applicationStage` settings have been introduced:
88
- *
89
- * - `"Query"` groups instances during ECSql query, which can often make use of database indices and is generally fairly quick. It is chosen
90
- * as the default option, however, it fails to produce grouping nodes when certain ruleset specifications are involved.
91
- *
92
- * - `"PostProcess"` groups instances after the whole hierarchy level is built. It incurs a large performance penalty, but it will
93
- * produce the expected result in all cases.
94
- *
95
- * @see SameLabelInstanceGroupApplicationStage
96
- */
97
- applicationStage?: `${SameLabelInstanceGroupApplicationStage}`;
98
- }
99
- /**
100
- * Specifies hierarchy creation stages used to apply [[SameLabelInstanceGroup]] grouping.
101
- * @public
102
- */
103
- export declare enum SameLabelInstanceGroupApplicationStage {
104
- /** Apply grouping at query stage. */
105
- Query = "Query",
106
- /**
107
- * Apply grouping at post-processing stage.
108
- *
109
- * This allows grouping nodes created by different hierarchy specifications at
110
- * a higher performance cost as it requires loading the whole hierarchy level before
111
- * returning even the first node - avoid using with large numbers of nodes.
112
- */
113
- PostProcess = "PostProcess"
114
- }
115
- /**
116
- * Property grouping allows grouping by a property of the instance by value or by given ranges of values.
117
- *
118
- * @see [Property grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#property-grouping)
119
- * @public
120
- */
121
- export interface PropertyGroup extends GroupingSpecificationBase {
122
- /** Used for serializing to JSON. */
123
- specType: "Property";
124
- /**
125
- * Name of the ECProperty which is used for grouping. The property must exist on the ECClass specified by the
126
- * rule's `class` attribute and it must be of either a primitive or a navigation type.
127
- *
128
- * @minLength 1
129
- */
130
- propertyName: string;
131
- /**
132
- * Specifies grouping node's image ID. If set, the ID is assigned to [[Node.imageId]] and
133
- * it's up to the UI component to decide what to do with it.
134
- *
135
- * @minLength 1
136
- */
137
- imageId?: string;
138
- /** Specifies whether a grouping node should be created if there is only one item in that group. */
139
- createGroupForSingleItem?: boolean;
140
- /**
141
- * Should a separate grouping node be created for nodes whose grouping value is not set or is set to an empty string.
142
- */
143
- createGroupForUnspecifiedValues?: boolean;
144
- /**
145
- * Specifies whether instances should be grouped using property's display or raw value.
146
- *
147
- * @see PropertyGroupingValue
148
- * @deprecated in 3.x. Display value should always be used for grouping.
149
- */
150
- groupingValue?: `${PropertyGroupingValue}`;
151
- /**
152
- * Specifies whether nodes should be sorted by their display label or the grouping property's value. In most cases the result
153
- * is the same, unless a [label override rule]($docs/presentation/customization/LabelOverride.md) is used to change node's display label.
154
- *
155
- * @see PropertyGroupingValue
156
- * @deprecated in 3.x. Property grouping nodes should always be sorted by display label.
157
- */
158
- sortingValue?: `${PropertyGroupingValue}`;
159
- /** Ranges into which the grouping values are divided. Instances are grouped by value if no ranges are specified. */
160
- ranges?: PropertyRangeGroupSpecification[];
161
- }
162
- /**
163
- * Used in [[PropertyGroup]] to specify the type of value to use
164
- * for grouping and sorting
165
- *
166
- * @public
167
- * @deprecated in 3.x. The attributes using this enum are deprecated.
168
- */
169
- export declare enum PropertyGroupingValue {
170
- /** By property value */
171
- PropertyValue = "PropertyValue",
172
- /** By display label */
173
- DisplayLabel = "DisplayLabel"
174
- }
175
- /**
176
- * Describes a grouping range.
177
- *
178
- * @see [Property range group specification documentation section]($docs/presentation/hierarchies/GroupingRule.md#attribute-ranges)
179
- * @public
180
- */
181
- export interface PropertyRangeGroupSpecification {
182
- /**
183
- * ID of an image to use for the grouping node. Defaults to [[PropertyGroup.imageId]] specified in [[PropertyGroup]].
184
- *
185
- * @minLength 1
186
- */
187
- imageId?: string;
188
- /**
189
- * Grouping node label. May be [localized]($docs/presentation/advanced/Localization.md).
190
- * Defaults to `{from value} - {to value}`.
191
- *
192
- * @minLength 1
193
- */
194
- label?: string;
195
- /**
196
- * Value that defines the range start (inclusive).
197
- *
198
- * @minLength 1
199
- */
200
- fromValue: string;
201
- /**
202
- * Value that defines the range end (inclusive).
203
- *
204
- * @minLength 1
205
- */
206
- toValue: string;
207
- }
1
+ /** @packageDocumentation
2
+ * @module PresentationRules
3
+ */
4
+ import { SingleSchemaClassSpecification } from "../ClassSpecifications";
5
+ import { RuleBase } from "../Rule";
6
+ /**
7
+ * Grouping rules provide advanced ways to group instances when creating hierarchies.
8
+ *
9
+ * @see [Grouping rule reference documentation page]($docs/presentation/hierarchies/GroupingRule.md)
10
+ * @public
11
+ */
12
+ export interface GroupingRule extends RuleBase {
13
+ /** Used for serializing to JSON. */
14
+ ruleType: "Grouping";
15
+ /**
16
+ * An [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#rule-condition) that results in
17
+ * a boolean value. If specified, the grouping rule applies only to instance nodes that cause the condition
18
+ * to evaluate to `true`.
19
+ */
20
+ condition?: string;
21
+ /** Specification of ECClass which should be grouped using this rule. */
22
+ class: SingleSchemaClassSpecification;
23
+ /**
24
+ * Specifies a list of [grouping specifications]($docs/presentation/hierarchies/GroupingRule.md#grouping-specifications)
25
+ * which describe the kind of grouping that should be applied.
26
+ */
27
+ groups: GroupingSpecification[];
28
+ }
29
+ /**
30
+ * Grouping rule specifications.
31
+ * @public
32
+ */
33
+ export declare type GroupingSpecification = ClassGroup | PropertyGroup | SameLabelInstanceGroup;
34
+ /**
35
+ * Available types of [[GroupingSpecification]].
36
+ * @public
37
+ */
38
+ export declare enum GroupingSpecificationTypes {
39
+ Class = "Class",
40
+ Property = "Property",
41
+ SameLabelInstance = "SameLabelInstance"
42
+ }
43
+ /**
44
+ * Base interface for all [[GroupingSpecification]] implementations. Not
45
+ * meant to be used directly, see `GroupingSpecification`.
46
+ *
47
+ * @public
48
+ */
49
+ export interface GroupingSpecificationBase {
50
+ /**
51
+ * Type of the subclass
52
+ * @see GroupingSpecificationTypes
53
+ */
54
+ specType: `${GroupingSpecificationTypes}`;
55
+ }
56
+ /**
57
+ * Base class grouping allows grouping ECInstance nodes by their base class (as opposed to the hierarchy
58
+ * specifications' `groupByClass` attribute, which always groups by direct class).
59
+ *
60
+ * @see [Base class grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#base-class-grouping)
61
+ * @public
62
+ */
63
+ export interface ClassGroup extends GroupingSpecificationBase {
64
+ /** Used for serializing to JSON. */
65
+ specType: "Class";
66
+ /** Specifies whether a grouping node should be created if there is only one item in that group. */
67
+ createGroupForSingleItem?: boolean;
68
+ /**
69
+ * Specification of the base ECClass to group by. If specified, allows grouping by a subclass of the class
70
+ * specified by rule's `class` attribute.
71
+ */
72
+ baseClass?: SingleSchemaClassSpecification;
73
+ }
74
+ /**
75
+ * Allows grouping multiple instances with the same label into one ECInstances type of node. Similar to display label grouping,
76
+ * but instead of showing a grouping node with multiple grouped ECInstance nodes, it shows a single ECInstances node which represents
77
+ * multiple ECInstances.
78
+ *
79
+ * @see [Same label instance grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#same-label-instance-grouping)
80
+ * @public
81
+ */
82
+ export interface SameLabelInstanceGroup extends GroupingSpecificationBase {
83
+ /** Used for serializing to JSON. */
84
+ specType: "SameLabelInstance";
85
+ /**
86
+ * Grouping nodes by label is an expensive operation because it requires the whole hierarchy level to be created before even the first
87
+ * grouped node can be produced. To alleviate the performance impact when this specification is used, two `applicationStage` settings have been introduced:
88
+ *
89
+ * - `"Query"` groups instances during ECSql query, which can often make use of database indices and is generally fairly quick. It is chosen
90
+ * as the default option, however, it fails to produce grouping nodes when certain ruleset specifications are involved.
91
+ *
92
+ * - `"PostProcess"` groups instances after the whole hierarchy level is built. It incurs a large performance penalty, but it will
93
+ * produce the expected result in all cases.
94
+ *
95
+ * @see SameLabelInstanceGroupApplicationStage
96
+ */
97
+ applicationStage?: `${SameLabelInstanceGroupApplicationStage}`;
98
+ }
99
+ /**
100
+ * Specifies hierarchy creation stages used to apply [[SameLabelInstanceGroup]] grouping.
101
+ * @public
102
+ */
103
+ export declare enum SameLabelInstanceGroupApplicationStage {
104
+ /** Apply grouping at query stage. */
105
+ Query = "Query",
106
+ /**
107
+ * Apply grouping at post-processing stage.
108
+ *
109
+ * This allows grouping nodes created by different hierarchy specifications at
110
+ * a higher performance cost as it requires loading the whole hierarchy level before
111
+ * returning even the first node - avoid using with large numbers of nodes.
112
+ */
113
+ PostProcess = "PostProcess"
114
+ }
115
+ /**
116
+ * Property grouping allows grouping by a property of the instance by value or by given ranges of values.
117
+ *
118
+ * @see [Property grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#property-grouping)
119
+ * @public
120
+ */
121
+ export interface PropertyGroup extends GroupingSpecificationBase {
122
+ /** Used for serializing to JSON. */
123
+ specType: "Property";
124
+ /**
125
+ * Name of the ECProperty which is used for grouping. The property must exist on the ECClass specified by the
126
+ * rule's `class` attribute and it must be of either a primitive or a navigation type.
127
+ *
128
+ * @minLength 1
129
+ */
130
+ propertyName: string;
131
+ /**
132
+ * Specifies grouping node's image ID. If set, the ID is assigned to [[Node.imageId]] and
133
+ * it's up to the UI component to decide what to do with it.
134
+ *
135
+ * @minLength 1
136
+ */
137
+ imageId?: string;
138
+ /** Specifies whether a grouping node should be created if there is only one item in that group. */
139
+ createGroupForSingleItem?: boolean;
140
+ /**
141
+ * Should a separate grouping node be created for nodes whose grouping value is not set or is set to an empty string.
142
+ */
143
+ createGroupForUnspecifiedValues?: boolean;
144
+ /**
145
+ * Specifies whether instances should be grouped using property's display or raw value.
146
+ *
147
+ * @see PropertyGroupingValue
148
+ * @deprecated in 3.x. Display value should always be used for grouping.
149
+ */
150
+ groupingValue?: `${PropertyGroupingValue}`;
151
+ /**
152
+ * Specifies whether nodes should be sorted by their display label or the grouping property's value. In most cases the result
153
+ * is the same, unless a [label override rule]($docs/presentation/customization/LabelOverride.md) is used to change node's display label.
154
+ *
155
+ * @see PropertyGroupingValue
156
+ * @deprecated in 3.x. Property grouping nodes should always be sorted by display label.
157
+ */
158
+ sortingValue?: `${PropertyGroupingValue}`;
159
+ /** Ranges into which the grouping values are divided. Instances are grouped by value if no ranges are specified. */
160
+ ranges?: PropertyRangeGroupSpecification[];
161
+ }
162
+ /**
163
+ * Used in [[PropertyGroup]] to specify the type of value to use
164
+ * for grouping and sorting
165
+ *
166
+ * @public
167
+ * @deprecated in 3.x. The attributes using this enum are deprecated.
168
+ */
169
+ export declare enum PropertyGroupingValue {
170
+ /** By property value */
171
+ PropertyValue = "PropertyValue",
172
+ /** By display label */
173
+ DisplayLabel = "DisplayLabel"
174
+ }
175
+ /**
176
+ * Describes a grouping range.
177
+ *
178
+ * @see [Property range group specification documentation section]($docs/presentation/hierarchies/GroupingRule.md#attribute-ranges)
179
+ * @public
180
+ */
181
+ export interface PropertyRangeGroupSpecification {
182
+ /**
183
+ * ID of an image to use for the grouping node. Defaults to [[PropertyGroup.imageId]] specified in [[PropertyGroup]].
184
+ *
185
+ * @minLength 1
186
+ */
187
+ imageId?: string;
188
+ /**
189
+ * Grouping node label. May be [localized]($docs/presentation/advanced/Localization.md).
190
+ * Defaults to `{from value} - {to value}`.
191
+ *
192
+ * @minLength 1
193
+ */
194
+ label?: string;
195
+ /**
196
+ * Value that defines the range start (inclusive).
197
+ *
198
+ * @minLength 1
199
+ */
200
+ fromValue: string;
201
+ /**
202
+ * Value that defines the range end (inclusive).
203
+ *
204
+ * @minLength 1
205
+ */
206
+ toValue: string;
207
+ }
208
208
  //# sourceMappingURL=GroupingRule.d.ts.map
@@ -1,52 +1,52 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module PresentationRules
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.PropertyGroupingValue = exports.SameLabelInstanceGroupApplicationStage = exports.GroupingSpecificationTypes = void 0;
11
- /**
12
- * Available types of [[GroupingSpecification]].
13
- * @public
14
- */
15
- var GroupingSpecificationTypes;
16
- (function (GroupingSpecificationTypes) {
17
- GroupingSpecificationTypes["Class"] = "Class";
18
- GroupingSpecificationTypes["Property"] = "Property";
19
- GroupingSpecificationTypes["SameLabelInstance"] = "SameLabelInstance";
20
- })(GroupingSpecificationTypes = exports.GroupingSpecificationTypes || (exports.GroupingSpecificationTypes = {}));
21
- /**
22
- * Specifies hierarchy creation stages used to apply [[SameLabelInstanceGroup]] grouping.
23
- * @public
24
- */
25
- var SameLabelInstanceGroupApplicationStage;
26
- (function (SameLabelInstanceGroupApplicationStage) {
27
- /** Apply grouping at query stage. */
28
- SameLabelInstanceGroupApplicationStage["Query"] = "Query";
29
- /**
30
- * Apply grouping at post-processing stage.
31
- *
32
- * This allows grouping nodes created by different hierarchy specifications at
33
- * a higher performance cost as it requires loading the whole hierarchy level before
34
- * returning even the first node - avoid using with large numbers of nodes.
35
- */
36
- SameLabelInstanceGroupApplicationStage["PostProcess"] = "PostProcess";
37
- })(SameLabelInstanceGroupApplicationStage = exports.SameLabelInstanceGroupApplicationStage || (exports.SameLabelInstanceGroupApplicationStage = {}));
38
- /**
39
- * Used in [[PropertyGroup]] to specify the type of value to use
40
- * for grouping and sorting
41
- *
42
- * @public
43
- * @deprecated in 3.x. The attributes using this enum are deprecated.
44
- */
45
- var PropertyGroupingValue;
46
- (function (PropertyGroupingValue) {
47
- /** By property value */
48
- PropertyGroupingValue["PropertyValue"] = "PropertyValue";
49
- /** By display label */
50
- PropertyGroupingValue["DisplayLabel"] = "DisplayLabel";
51
- })(PropertyGroupingValue = exports.PropertyGroupingValue || (exports.PropertyGroupingValue = {}));
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module PresentationRules
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.PropertyGroupingValue = exports.SameLabelInstanceGroupApplicationStage = exports.GroupingSpecificationTypes = void 0;
11
+ /**
12
+ * Available types of [[GroupingSpecification]].
13
+ * @public
14
+ */
15
+ var GroupingSpecificationTypes;
16
+ (function (GroupingSpecificationTypes) {
17
+ GroupingSpecificationTypes["Class"] = "Class";
18
+ GroupingSpecificationTypes["Property"] = "Property";
19
+ GroupingSpecificationTypes["SameLabelInstance"] = "SameLabelInstance";
20
+ })(GroupingSpecificationTypes = exports.GroupingSpecificationTypes || (exports.GroupingSpecificationTypes = {}));
21
+ /**
22
+ * Specifies hierarchy creation stages used to apply [[SameLabelInstanceGroup]] grouping.
23
+ * @public
24
+ */
25
+ var SameLabelInstanceGroupApplicationStage;
26
+ (function (SameLabelInstanceGroupApplicationStage) {
27
+ /** Apply grouping at query stage. */
28
+ SameLabelInstanceGroupApplicationStage["Query"] = "Query";
29
+ /**
30
+ * Apply grouping at post-processing stage.
31
+ *
32
+ * This allows grouping nodes created by different hierarchy specifications at
33
+ * a higher performance cost as it requires loading the whole hierarchy level before
34
+ * returning even the first node - avoid using with large numbers of nodes.
35
+ */
36
+ SameLabelInstanceGroupApplicationStage["PostProcess"] = "PostProcess";
37
+ })(SameLabelInstanceGroupApplicationStage = exports.SameLabelInstanceGroupApplicationStage || (exports.SameLabelInstanceGroupApplicationStage = {}));
38
+ /**
39
+ * Used in [[PropertyGroup]] to specify the type of value to use
40
+ * for grouping and sorting
41
+ *
42
+ * @public
43
+ * @deprecated in 3.x. The attributes using this enum are deprecated.
44
+ */
45
+ var PropertyGroupingValue;
46
+ (function (PropertyGroupingValue) {
47
+ /** By property value */
48
+ PropertyGroupingValue["PropertyValue"] = "PropertyValue";
49
+ /** By display label */
50
+ PropertyGroupingValue["DisplayLabel"] = "DisplayLabel";
51
+ })(PropertyGroupingValue = exports.PropertyGroupingValue || (exports.PropertyGroupingValue = {}));
52
52
  //# sourceMappingURL=GroupingRule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GroupingRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/GroupingRule.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAsCH;;;GAGG;AACH,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IACpC,6CAAe,CAAA;IACf,mDAAqB,CAAA;IACrB,qEAAuC,CAAA;AACzC,CAAC,EAJW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAIrC;AAgED;;;GAGG;AACH,IAAY,sCAYX;AAZD,WAAY,sCAAsC;IAChD,qCAAqC;IACrC,yDAAe,CAAA;IAEf;;;;;;OAMG;IACH,qEAA2B,CAAA;AAC7B,CAAC,EAZW,sCAAsC,GAAtC,8CAAsC,KAAtC,8CAAsC,QAYjD;AAyDD;;;;;;GAMG;AACH,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC/B,wBAAwB;IACxB,wDAA+B,CAAA;IAE/B,uBAAuB;IACvB,sDAA6B,CAAA;AAC/B,CAAC,EANW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAMhC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PresentationRules\n */\n\nimport { SingleSchemaClassSpecification } from \"../ClassSpecifications\";\nimport { RuleBase } from \"../Rule\";\n\n/**\n * Grouping rules provide advanced ways to group instances when creating hierarchies.\n *\n * @see [Grouping rule reference documentation page]($docs/presentation/hierarchies/GroupingRule.md)\n * @public\n */\nexport interface GroupingRule extends RuleBase {\n /** Used for serializing to JSON. */\n ruleType: \"Grouping\";\n\n /**\n * An [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#rule-condition) that results in\n * a boolean value. If specified, the grouping rule applies only to instance nodes that cause the condition\n * to evaluate to `true`.\n */\n condition?: string;\n\n /** Specification of ECClass which should be grouped using this rule. */\n class: SingleSchemaClassSpecification;\n\n /**\n * Specifies a list of [grouping specifications]($docs/presentation/hierarchies/GroupingRule.md#grouping-specifications)\n * which describe the kind of grouping that should be applied.\n */\n groups: GroupingSpecification[];\n}\n\n/**\n * Grouping rule specifications.\n * @public\n */\nexport declare type GroupingSpecification = ClassGroup | PropertyGroup | SameLabelInstanceGroup;\n\n/**\n * Available types of [[GroupingSpecification]].\n * @public\n */\nexport enum GroupingSpecificationTypes {\n Class = \"Class\",\n Property = \"Property\",\n SameLabelInstance = \"SameLabelInstance\",\n}\n\n/**\n * Base interface for all [[GroupingSpecification]] implementations. Not\n * meant to be used directly, see `GroupingSpecification`.\n *\n * @public\n */\nexport interface GroupingSpecificationBase {\n /**\n * Type of the subclass\n * @see GroupingSpecificationTypes\n */\n specType: `${GroupingSpecificationTypes}`;\n}\n\n/**\n * Base class grouping allows grouping ECInstance nodes by their base class (as opposed to the hierarchy\n * specifications' `groupByClass` attribute, which always groups by direct class).\n *\n * @see [Base class grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#base-class-grouping)\n * @public\n */\nexport interface ClassGroup extends GroupingSpecificationBase {\n /** Used for serializing to JSON. */\n specType: \"Class\";\n\n /** Specifies whether a grouping node should be created if there is only one item in that group. */\n createGroupForSingleItem?: boolean;\n\n /**\n * Specification of the base ECClass to group by. If specified, allows grouping by a subclass of the class\n * specified by rule's `class` attribute.\n */\n baseClass?: SingleSchemaClassSpecification;\n}\n\n/**\n * Allows grouping multiple instances with the same label into one ECInstances type of node. Similar to display label grouping,\n * but instead of showing a grouping node with multiple grouped ECInstance nodes, it shows a single ECInstances node which represents\n * multiple ECInstances.\n *\n * @see [Same label instance grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#same-label-instance-grouping)\n * @public\n */\nexport interface SameLabelInstanceGroup extends GroupingSpecificationBase {\n /** Used for serializing to JSON. */\n specType: \"SameLabelInstance\";\n\n /**\n * Grouping nodes by label is an expensive operation because it requires the whole hierarchy level to be created before even the first\n * grouped node can be produced. To alleviate the performance impact when this specification is used, two `applicationStage` settings have been introduced:\n *\n * - `\"Query\"` groups instances during ECSql query, which can often make use of database indices and is generally fairly quick. It is chosen\n * as the default option, however, it fails to produce grouping nodes when certain ruleset specifications are involved.\n *\n * - `\"PostProcess\"` groups instances after the whole hierarchy level is built. It incurs a large performance penalty, but it will\n * produce the expected result in all cases.\n *\n * @see SameLabelInstanceGroupApplicationStage\n */\n applicationStage?: `${SameLabelInstanceGroupApplicationStage}`;\n}\n\n/**\n * Specifies hierarchy creation stages used to apply [[SameLabelInstanceGroup]] grouping.\n * @public\n */\nexport enum SameLabelInstanceGroupApplicationStage {\n /** Apply grouping at query stage. */\n Query = \"Query\",\n\n /**\n * Apply grouping at post-processing stage.\n *\n * This allows grouping nodes created by different hierarchy specifications at\n * a higher performance cost as it requires loading the whole hierarchy level before\n * returning even the first node - avoid using with large numbers of nodes.\n */\n PostProcess = \"PostProcess\",\n}\n\n/**\n * Property grouping allows grouping by a property of the instance by value or by given ranges of values.\n *\n * @see [Property grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#property-grouping)\n * @public\n */\nexport interface PropertyGroup extends GroupingSpecificationBase {\n /** Used for serializing to JSON. */\n specType: \"Property\";\n\n /**\n * Name of the ECProperty which is used for grouping. The property must exist on the ECClass specified by the\n * rule's `class` attribute and it must be of either a primitive or a navigation type.\n *\n * @minLength 1\n */\n propertyName: string;\n\n /**\n * Specifies grouping node's image ID. If set, the ID is assigned to [[Node.imageId]] and\n * it's up to the UI component to decide what to do with it.\n *\n * @minLength 1\n */\n imageId?: string;\n\n /** Specifies whether a grouping node should be created if there is only one item in that group. */\n createGroupForSingleItem?: boolean;\n\n /**\n * Should a separate grouping node be created for nodes whose grouping value is not set or is set to an empty string.\n */\n createGroupForUnspecifiedValues?: boolean;\n\n /**\n * Specifies whether instances should be grouped using property's display or raw value.\n *\n * @see PropertyGroupingValue\n * @deprecated in 3.x. Display value should always be used for grouping.\n */\n groupingValue?: `${PropertyGroupingValue}`; // eslint-disable-line deprecation/deprecation\n\n /**\n * Specifies whether nodes should be sorted by their display label or the grouping property's value. In most cases the result\n * is the same, unless a [label override rule]($docs/presentation/customization/LabelOverride.md) is used to change node's display label.\n *\n * @see PropertyGroupingValue\n * @deprecated in 3.x. Property grouping nodes should always be sorted by display label.\n */\n sortingValue?: `${PropertyGroupingValue}`; // eslint-disable-line deprecation/deprecation\n\n /** Ranges into which the grouping values are divided. Instances are grouped by value if no ranges are specified. */\n ranges?: PropertyRangeGroupSpecification[];\n}\n\n/**\n * Used in [[PropertyGroup]] to specify the type of value to use\n * for grouping and sorting\n *\n * @public\n * @deprecated in 3.x. The attributes using this enum are deprecated.\n */\nexport enum PropertyGroupingValue {\n /** By property value */\n PropertyValue = \"PropertyValue\",\n\n /** By display label */\n DisplayLabel = \"DisplayLabel\",\n}\n\n/**\n * Describes a grouping range.\n *\n * @see [Property range group specification documentation section]($docs/presentation/hierarchies/GroupingRule.md#attribute-ranges)\n * @public\n */\nexport interface PropertyRangeGroupSpecification {\n /**\n * ID of an image to use for the grouping node. Defaults to [[PropertyGroup.imageId]] specified in [[PropertyGroup]].\n *\n * @minLength 1\n */\n imageId?: string;\n\n /**\n * Grouping node label. May be [localized]($docs/presentation/advanced/Localization.md).\n * Defaults to `{from value} - {to value}`.\n *\n * @minLength 1\n */\n label?: string;\n\n /**\n * Value that defines the range start (inclusive).\n *\n * @minLength 1\n */\n fromValue: string;\n\n /**\n * Value that defines the range end (inclusive).\n *\n * @minLength 1\n */\n toValue: string;\n}\n"]}
1
+ {"version":3,"file":"GroupingRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/customization/GroupingRule.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAsCH;;;GAGG;AACH,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IACpC,6CAAe,CAAA;IACf,mDAAqB,CAAA;IACrB,qEAAuC,CAAA;AACzC,CAAC,EAJW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAIrC;AAgED;;;GAGG;AACH,IAAY,sCAYX;AAZD,WAAY,sCAAsC;IAChD,qCAAqC;IACrC,yDAAe,CAAA;IAEf;;;;;;OAMG;IACH,qEAA2B,CAAA;AAC7B,CAAC,EAZW,sCAAsC,GAAtC,8CAAsC,KAAtC,8CAAsC,QAYjD;AAyDD;;;;;;GAMG;AACH,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC/B,wBAAwB;IACxB,wDAA+B,CAAA;IAE/B,uBAAuB;IACvB,sDAA6B,CAAA;AAC/B,CAAC,EANW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAMhC","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 { RuleBase } from \"../Rule\";\r\n\r\n/**\r\n * Grouping rules provide advanced ways to group instances when creating hierarchies.\r\n *\r\n * @see [Grouping rule reference documentation page]($docs/presentation/hierarchies/GroupingRule.md)\r\n * @public\r\n */\r\nexport interface GroupingRule extends RuleBase {\r\n /** Used for serializing to JSON. */\r\n ruleType: \"Grouping\";\r\n\r\n /**\r\n * An [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#rule-condition) that results in\r\n * a boolean value. If specified, the grouping rule applies only to instance nodes that cause the condition\r\n * to evaluate to `true`.\r\n */\r\n condition?: string;\r\n\r\n /** Specification of ECClass which should be grouped using this rule. */\r\n class: SingleSchemaClassSpecification;\r\n\r\n /**\r\n * Specifies a list of [grouping specifications]($docs/presentation/hierarchies/GroupingRule.md#grouping-specifications)\r\n * which describe the kind of grouping that should be applied.\r\n */\r\n groups: GroupingSpecification[];\r\n}\r\n\r\n/**\r\n * Grouping rule specifications.\r\n * @public\r\n */\r\nexport declare type GroupingSpecification = ClassGroup | PropertyGroup | SameLabelInstanceGroup;\r\n\r\n/**\r\n * Available types of [[GroupingSpecification]].\r\n * @public\r\n */\r\nexport enum GroupingSpecificationTypes {\r\n Class = \"Class\",\r\n Property = \"Property\",\r\n SameLabelInstance = \"SameLabelInstance\",\r\n}\r\n\r\n/**\r\n * Base interface for all [[GroupingSpecification]] implementations. Not\r\n * meant to be used directly, see `GroupingSpecification`.\r\n *\r\n * @public\r\n */\r\nexport interface GroupingSpecificationBase {\r\n /**\r\n * Type of the subclass\r\n * @see GroupingSpecificationTypes\r\n */\r\n specType: `${GroupingSpecificationTypes}`;\r\n}\r\n\r\n/**\r\n * Base class grouping allows grouping ECInstance nodes by their base class (as opposed to the hierarchy\r\n * specifications' `groupByClass` attribute, which always groups by direct class).\r\n *\r\n * @see [Base class grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#base-class-grouping)\r\n * @public\r\n */\r\nexport interface ClassGroup extends GroupingSpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: \"Class\";\r\n\r\n /** Specifies whether a grouping node should be created if there is only one item in that group. */\r\n createGroupForSingleItem?: boolean;\r\n\r\n /**\r\n * Specification of the base ECClass to group by. If specified, allows grouping by a subclass of the class\r\n * specified by rule's `class` attribute.\r\n */\r\n baseClass?: SingleSchemaClassSpecification;\r\n}\r\n\r\n/**\r\n * Allows grouping multiple instances with the same label into one ECInstances type of node. Similar to display label grouping,\r\n * but instead of showing a grouping node with multiple grouped ECInstance nodes, it shows a single ECInstances node which represents\r\n * multiple ECInstances.\r\n *\r\n * @see [Same label instance grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#same-label-instance-grouping)\r\n * @public\r\n */\r\nexport interface SameLabelInstanceGroup extends GroupingSpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: \"SameLabelInstance\";\r\n\r\n /**\r\n * Grouping nodes by label is an expensive operation because it requires the whole hierarchy level to be created before even the first\r\n * grouped node can be produced. To alleviate the performance impact when this specification is used, two `applicationStage` settings have been introduced:\r\n *\r\n * - `\"Query\"` groups instances during ECSql query, which can often make use of database indices and is generally fairly quick. It is chosen\r\n * as the default option, however, it fails to produce grouping nodes when certain ruleset specifications are involved.\r\n *\r\n * - `\"PostProcess\"` groups instances after the whole hierarchy level is built. It incurs a large performance penalty, but it will\r\n * produce the expected result in all cases.\r\n *\r\n * @see SameLabelInstanceGroupApplicationStage\r\n */\r\n applicationStage?: `${SameLabelInstanceGroupApplicationStage}`;\r\n}\r\n\r\n/**\r\n * Specifies hierarchy creation stages used to apply [[SameLabelInstanceGroup]] grouping.\r\n * @public\r\n */\r\nexport enum SameLabelInstanceGroupApplicationStage {\r\n /** Apply grouping at query stage. */\r\n Query = \"Query\",\r\n\r\n /**\r\n * Apply grouping at post-processing stage.\r\n *\r\n * This allows grouping nodes created by different hierarchy specifications at\r\n * a higher performance cost as it requires loading the whole hierarchy level before\r\n * returning even the first node - avoid using with large numbers of nodes.\r\n */\r\n PostProcess = \"PostProcess\",\r\n}\r\n\r\n/**\r\n * Property grouping allows grouping by a property of the instance by value or by given ranges of values.\r\n *\r\n * @see [Property grouping documentation section]($docs/presentation/hierarchies/GroupingRule.md#property-grouping)\r\n * @public\r\n */\r\nexport interface PropertyGroup extends GroupingSpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: \"Property\";\r\n\r\n /**\r\n * Name of the ECProperty which is used for grouping. The property must exist on the ECClass specified by the\r\n * rule's `class` attribute and it must be of either a primitive or a navigation type.\r\n *\r\n * @minLength 1\r\n */\r\n propertyName: string;\r\n\r\n /**\r\n * Specifies grouping node's image ID. If set, the ID is assigned to [[Node.imageId]] and\r\n * it's up to the UI component to decide what to do with it.\r\n *\r\n * @minLength 1\r\n */\r\n imageId?: string;\r\n\r\n /** Specifies whether a grouping node should be created if there is only one item in that group. */\r\n createGroupForSingleItem?: boolean;\r\n\r\n /**\r\n * Should a separate grouping node be created for nodes whose grouping value is not set or is set to an empty string.\r\n */\r\n createGroupForUnspecifiedValues?: boolean;\r\n\r\n /**\r\n * Specifies whether instances should be grouped using property's display or raw value.\r\n *\r\n * @see PropertyGroupingValue\r\n * @deprecated in 3.x. Display value should always be used for grouping.\r\n */\r\n groupingValue?: `${PropertyGroupingValue}`; // eslint-disable-line deprecation/deprecation\r\n\r\n /**\r\n * Specifies whether nodes should be sorted by their display label or the grouping property's value. In most cases the result\r\n * is the same, unless a [label override rule]($docs/presentation/customization/LabelOverride.md) is used to change node's display label.\r\n *\r\n * @see PropertyGroupingValue\r\n * @deprecated in 3.x. Property grouping nodes should always be sorted by display label.\r\n */\r\n sortingValue?: `${PropertyGroupingValue}`; // eslint-disable-line deprecation/deprecation\r\n\r\n /** Ranges into which the grouping values are divided. Instances are grouped by value if no ranges are specified. */\r\n ranges?: PropertyRangeGroupSpecification[];\r\n}\r\n\r\n/**\r\n * Used in [[PropertyGroup]] to specify the type of value to use\r\n * for grouping and sorting\r\n *\r\n * @public\r\n * @deprecated in 3.x. The attributes using this enum are deprecated.\r\n */\r\nexport enum PropertyGroupingValue {\r\n /** By property value */\r\n PropertyValue = \"PropertyValue\",\r\n\r\n /** By display label */\r\n DisplayLabel = \"DisplayLabel\",\r\n}\r\n\r\n/**\r\n * Describes a grouping range.\r\n *\r\n * @see [Property range group specification documentation section]($docs/presentation/hierarchies/GroupingRule.md#attribute-ranges)\r\n * @public\r\n */\r\nexport interface PropertyRangeGroupSpecification {\r\n /**\r\n * ID of an image to use for the grouping node. Defaults to [[PropertyGroup.imageId]] specified in [[PropertyGroup]].\r\n *\r\n * @minLength 1\r\n */\r\n imageId?: string;\r\n\r\n /**\r\n * Grouping node label. May be [localized]($docs/presentation/advanced/Localization.md).\r\n * Defaults to `{from value} - {to value}`.\r\n *\r\n * @minLength 1\r\n */\r\n label?: string;\r\n\r\n /**\r\n * Value that defines the range start (inclusive).\r\n *\r\n * @minLength 1\r\n */\r\n fromValue: string;\r\n\r\n /**\r\n * Value that defines the range end (inclusive).\r\n *\r\n * @minLength 1\r\n */\r\n toValue: string;\r\n}\r\n"]}
@@ -1,30 +1,30 @@
1
- /** @packageDocumentation
2
- * @module PresentationRules
3
- */
4
- import { RuleBase } from "../Rule";
5
- /**
6
- * ImageId override rules allow setting an image ID to specific types of ECInstances.
7
- *
8
- * @see [Image ID override reference documentation page]($docs/presentation/customization/ImageIdOverride.md)
9
- * @public
10
- * @deprecated in 3.x. Use [[ExtendedDataRule]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.
11
- */
12
- export interface ImageIdOverride extends RuleBase {
13
- /** Used for serializing to JSON. */
14
- ruleType: "ImageIdOverride";
15
- /**
16
- * Defines a condition for the rule, which needs to be met in order to execute it. Condition
17
- * is an [ECExpression]($docs/presentation/advanced/ECExpressions.md), which can use
18
- * a [limited set of symbols]($docs/presentation/customization/ECExpressions.md#rule-condition).
19
- */
20
- condition?: string;
21
- /**
22
- * An expression whose result becomes the image ID. This is
23
- * an [ECExpression]($docs/presentation/customization/ECExpressions.md), so ID can be
24
- * defined/formatted dynamically based on the context - for example ECInstance property value.
25
- *
26
- * @minLength 1
27
- */
28
- imageIdExpression: string;
29
- }
1
+ /** @packageDocumentation
2
+ * @module PresentationRules
3
+ */
4
+ import { RuleBase } from "../Rule";
5
+ /**
6
+ * ImageId override rules allow setting an image ID to specific types of ECInstances.
7
+ *
8
+ * @see [Image ID override reference documentation page]($docs/presentation/customization/ImageIdOverride.md)
9
+ * @public
10
+ * @deprecated in 3.x. Use [[ExtendedDataRule]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.
11
+ */
12
+ export interface ImageIdOverride extends RuleBase {
13
+ /** Used for serializing to JSON. */
14
+ ruleType: "ImageIdOverride";
15
+ /**
16
+ * Defines a condition for the rule, which needs to be met in order to execute it. Condition
17
+ * is an [ECExpression]($docs/presentation/advanced/ECExpressions.md), which can use
18
+ * a [limited set of symbols]($docs/presentation/customization/ECExpressions.md#rule-condition).
19
+ */
20
+ condition?: string;
21
+ /**
22
+ * An expression whose result becomes the image ID. This is
23
+ * an [ECExpression]($docs/presentation/customization/ECExpressions.md), so ID can be
24
+ * defined/formatted dynamically based on the context - for example ECInstance property value.
25
+ *
26
+ * @minLength 1
27
+ */
28
+ imageIdExpression: string;
29
+ }
30
30
  //# sourceMappingURL=ImageIdOverride.d.ts.map