@itwin/presentation-common 4.0.0-dev.52 → 4.0.0-dev.55

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 (366) hide show
  1. package/lib/cjs/presentation-common/AsyncTasks.d.ts +22 -22
  2. package/lib/cjs/presentation-common/AsyncTasks.js +38 -38
  3. package/lib/cjs/presentation-common/CommonLoggerCategory.d.ts +12 -12
  4. package/lib/cjs/presentation-common/CommonLoggerCategory.js +20 -20
  5. package/lib/cjs/presentation-common/Diagnostics.d.ts +125 -125
  6. package/lib/cjs/presentation-common/Diagnostics.d.ts.map +1 -1
  7. package/lib/cjs/presentation-common/Diagnostics.js +72 -72
  8. package/lib/cjs/presentation-common/EC.d.ts +350 -350
  9. package/lib/cjs/presentation-common/EC.d.ts.map +1 -1
  10. package/lib/cjs/presentation-common/EC.js +290 -290
  11. package/lib/cjs/presentation-common/ElementProperties.d.ts +123 -123
  12. package/lib/cjs/presentation-common/ElementProperties.d.ts.map +1 -1
  13. package/lib/cjs/presentation-common/ElementProperties.js +9 -9
  14. package/lib/cjs/presentation-common/Error.d.ts +47 -47
  15. package/lib/cjs/presentation-common/Error.js +64 -64
  16. package/lib/cjs/presentation-common/InstanceFilterDefinition.d.ts +93 -93
  17. package/lib/cjs/presentation-common/InstanceFilterDefinition.d.ts.map +1 -1
  18. package/lib/cjs/presentation-common/InstanceFilterDefinition.js +9 -9
  19. package/lib/cjs/presentation-common/KeySet.d.ts +146 -146
  20. package/lib/cjs/presentation-common/KeySet.d.ts.map +1 -1
  21. package/lib/cjs/presentation-common/KeySet.js +428 -428
  22. package/lib/cjs/presentation-common/LabelDefinition.d.ts +93 -93
  23. package/lib/cjs/presentation-common/LabelDefinition.d.ts.map +1 -1
  24. package/lib/cjs/presentation-common/LabelDefinition.js +78 -78
  25. package/lib/cjs/presentation-common/LocalizationHelper.d.ts +29 -29
  26. package/lib/cjs/presentation-common/LocalizationHelper.js +110 -110
  27. package/lib/cjs/presentation-common/PresentationIpcInterface.d.ts +40 -40
  28. package/lib/cjs/presentation-common/PresentationIpcInterface.js +12 -12
  29. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts +273 -273
  30. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  31. package/lib/cjs/presentation-common/PresentationManagerOptions.js +23 -23
  32. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts +186 -186
  33. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  34. package/lib/cjs/presentation-common/PresentationRpcInterface.js +108 -104
  35. package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
  36. package/lib/cjs/presentation-common/PropertyFormatter.d.ts +30 -30
  37. package/lib/cjs/presentation-common/PropertyFormatter.js +198 -198
  38. package/lib/cjs/presentation-common/RegisteredRuleset.d.ts +26 -26
  39. package/lib/cjs/presentation-common/RegisteredRuleset.js +33 -33
  40. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts +82 -82
  41. package/lib/cjs/presentation-common/RpcRequestsHandler.js +166 -166
  42. package/lib/cjs/presentation-common/RulesetVariables.d.ts +171 -171
  43. package/lib/cjs/presentation-common/RulesetVariables.d.ts.map +1 -1
  44. package/lib/cjs/presentation-common/RulesetVariables.js +55 -55
  45. package/lib/cjs/presentation-common/RulesetsFactory.d.ts +44 -44
  46. package/lib/cjs/presentation-common/RulesetsFactory.d.ts.map +1 -1
  47. package/lib/cjs/presentation-common/RulesetsFactory.js +223 -223
  48. package/lib/cjs/presentation-common/Update.d.ts +213 -213
  49. package/lib/cjs/presentation-common/Update.d.ts.map +1 -1
  50. package/lib/cjs/presentation-common/Update.js +226 -226
  51. package/lib/cjs/presentation-common/Utils.d.ts +62 -62
  52. package/lib/cjs/presentation-common/Utils.d.ts.map +1 -1
  53. package/lib/cjs/presentation-common/Utils.js +43 -43
  54. package/lib/cjs/presentation-common/content/Category.d.ts +49 -49
  55. package/lib/cjs/presentation-common/content/Category.js +48 -48
  56. package/lib/cjs/presentation-common/content/Content.d.ts +38 -38
  57. package/lib/cjs/presentation-common/content/Content.js +56 -56
  58. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts +271 -271
  59. package/lib/cjs/presentation-common/content/ContentTraverser.js +437 -437
  60. package/lib/cjs/presentation-common/content/Descriptor.d.ts +328 -328
  61. package/lib/cjs/presentation-common/content/Descriptor.js +191 -191
  62. package/lib/cjs/presentation-common/content/DisplayTypes.d.ts +21 -21
  63. package/lib/cjs/presentation-common/content/DisplayTypes.js +29 -29
  64. package/lib/cjs/presentation-common/content/Editor.d.ts +15 -15
  65. package/lib/cjs/presentation-common/content/Editor.js +9 -9
  66. package/lib/cjs/presentation-common/content/Fields.d.ts +298 -298
  67. package/lib/cjs/presentation-common/content/Fields.d.ts.map +1 -1
  68. package/lib/cjs/presentation-common/content/Fields.js +393 -393
  69. package/lib/cjs/presentation-common/content/Item.d.ts +85 -85
  70. package/lib/cjs/presentation-common/content/Item.js +84 -84
  71. package/lib/cjs/presentation-common/content/Property.d.ts +57 -57
  72. package/lib/cjs/presentation-common/content/Property.d.ts.map +1 -1
  73. package/lib/cjs/presentation-common/content/Property.js +40 -40
  74. package/lib/cjs/presentation-common/content/Renderer.d.ts +11 -11
  75. package/lib/cjs/presentation-common/content/Renderer.js +9 -9
  76. package/lib/cjs/presentation-common/content/TypeDescription.d.ts +72 -72
  77. package/lib/cjs/presentation-common/content/TypeDescription.d.ts.map +1 -1
  78. package/lib/cjs/presentation-common/content/TypeDescription.js +23 -23
  79. package/lib/cjs/presentation-common/content/Value.d.ts +189 -189
  80. package/lib/cjs/presentation-common/content/Value.d.ts.map +1 -1
  81. package/lib/cjs/presentation-common/content/Value.js +273 -273
  82. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.d.ts +37 -37
  83. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js +31 -31
  84. package/lib/cjs/presentation-common/hierarchy/Key.d.ts +246 -246
  85. package/lib/cjs/presentation-common/hierarchy/Key.d.ts.map +1 -1
  86. package/lib/cjs/presentation-common/hierarchy/Key.js +121 -121
  87. package/lib/cjs/presentation-common/hierarchy/Node.d.ts +154 -154
  88. package/lib/cjs/presentation-common/hierarchy/Node.d.ts.map +1 -1
  89. package/lib/cjs/presentation-common/hierarchy/Node.js +106 -106
  90. package/lib/cjs/presentation-common/hierarchy/NodePathElement.d.ts +96 -96
  91. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js +122 -122
  92. package/lib/cjs/presentation-common/rules/ClassSpecifications.d.ts +45 -45
  93. package/lib/cjs/presentation-common/rules/ClassSpecifications.js +9 -9
  94. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.d.ts +31 -31
  95. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js +9 -9
  96. package/lib/cjs/presentation-common/rules/RelationshipDirection.d.ts +13 -13
  97. package/lib/cjs/presentation-common/rules/RelationshipDirection.js +21 -21
  98. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts +56 -56
  99. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts.map +1 -1
  100. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js +9 -9
  101. package/lib/cjs/presentation-common/rules/Rule.d.ts +76 -76
  102. package/lib/cjs/presentation-common/rules/Rule.js +35 -35
  103. package/lib/cjs/presentation-common/rules/Ruleset.d.ts +65 -65
  104. package/lib/cjs/presentation-common/rules/Ruleset.js +9 -9
  105. package/lib/cjs/presentation-common/rules/SchemasSpecification.d.ts +41 -41
  106. package/lib/cjs/presentation-common/rules/SchemasSpecification.js +9 -9
  107. package/lib/cjs/presentation-common/rules/Variables.d.ts +58 -58
  108. package/lib/cjs/presentation-common/rules/Variables.js +25 -25
  109. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +41 -41
  110. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js +9 -9
  111. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +25 -25
  112. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js +9 -9
  113. package/lib/cjs/presentation-common/rules/content/ContentRule.d.ts +30 -30
  114. package/lib/cjs/presentation-common/rules/content/ContentRule.js +9 -9
  115. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts +58 -58
  116. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js +20 -20
  117. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +19 -19
  118. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js +9 -9
  119. package/lib/cjs/presentation-common/rules/content/PropertySpecification.d.ts +86 -86
  120. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js +9 -9
  121. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +28 -28
  122. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js +9 -9
  123. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +25 -25
  124. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js +9 -9
  125. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.d.ts +57 -57
  126. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js +9 -9
  127. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +17 -17
  128. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js +9 -9
  129. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +107 -107
  130. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts.map +1 -1
  131. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js +9 -9
  132. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +108 -108
  133. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +21 -21
  134. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +96 -96
  135. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +43 -43
  136. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts +44 -44
  137. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js +9 -9
  138. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts +36 -36
  139. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js +9 -9
  140. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.d.ts +27 -27
  141. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js +9 -9
  142. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts +207 -207
  143. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js +51 -51
  144. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts +29 -29
  145. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js +9 -9
  146. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts +158 -158
  147. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts.map +1 -1
  148. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js +25 -25
  149. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts +40 -40
  150. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js +9 -9
  151. package/lib/cjs/presentation-common/rules/customization/SortingRule.d.ts +58 -58
  152. package/lib/cjs/presentation-common/rules/customization/SortingRule.d.ts.map +1 -1
  153. package/lib/cjs/presentation-common/rules/customization/SortingRule.js +9 -9
  154. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts +48 -48
  155. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js +9 -9
  156. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +14 -14
  157. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js +9 -9
  158. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +98 -98
  159. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts.map +1 -1
  160. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js +21 -21
  161. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +31 -31
  162. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js +9 -9
  163. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +79 -79
  164. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +19 -19
  165. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +39 -39
  166. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js +9 -9
  167. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.d.ts +50 -50
  168. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.d.ts.map +1 -1
  169. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js +9 -9
  170. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +27 -27
  171. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js +9 -9
  172. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +27 -27
  173. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js +9 -9
  174. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.d.ts +16 -16
  175. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js +9 -9
  176. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.d.ts +35 -35
  177. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js +9 -9
  178. package/lib/cjs/presentation-common/selection/SelectionScope.d.ts +38 -38
  179. package/lib/cjs/presentation-common/selection/SelectionScope.d.ts.map +1 -1
  180. package/lib/cjs/presentation-common/selection/SelectionScope.js +9 -9
  181. package/lib/cjs/presentation-common.d.ts +113 -113
  182. package/lib/cjs/presentation-common.js +133 -129
  183. package/lib/cjs/presentation-common.js.map +1 -1
  184. package/lib/esm/presentation-common/AsyncTasks.d.ts +22 -22
  185. package/lib/esm/presentation-common/AsyncTasks.js +34 -34
  186. package/lib/esm/presentation-common/CommonLoggerCategory.d.ts +12 -12
  187. package/lib/esm/presentation-common/CommonLoggerCategory.js +17 -17
  188. package/lib/esm/presentation-common/Diagnostics.d.ts +125 -125
  189. package/lib/esm/presentation-common/Diagnostics.d.ts.map +1 -1
  190. package/lib/esm/presentation-common/Diagnostics.js +67 -67
  191. package/lib/esm/presentation-common/EC.d.ts +350 -350
  192. package/lib/esm/presentation-common/EC.d.ts.map +1 -1
  193. package/lib/esm/presentation-common/EC.js +287 -287
  194. package/lib/esm/presentation-common/ElementProperties.d.ts +123 -123
  195. package/lib/esm/presentation-common/ElementProperties.d.ts.map +1 -1
  196. package/lib/esm/presentation-common/ElementProperties.js +8 -8
  197. package/lib/esm/presentation-common/Error.d.ts +47 -47
  198. package/lib/esm/presentation-common/Error.js +60 -60
  199. package/lib/esm/presentation-common/InstanceFilterDefinition.d.ts +93 -93
  200. package/lib/esm/presentation-common/InstanceFilterDefinition.d.ts.map +1 -1
  201. package/lib/esm/presentation-common/InstanceFilterDefinition.js +8 -8
  202. package/lib/esm/presentation-common/KeySet.d.ts +146 -146
  203. package/lib/esm/presentation-common/KeySet.d.ts.map +1 -1
  204. package/lib/esm/presentation-common/KeySet.js +424 -424
  205. package/lib/esm/presentation-common/LabelDefinition.d.ts +93 -93
  206. package/lib/esm/presentation-common/LabelDefinition.d.ts.map +1 -1
  207. package/lib/esm/presentation-common/LabelDefinition.js +75 -75
  208. package/lib/esm/presentation-common/LocalizationHelper.d.ts +29 -29
  209. package/lib/esm/presentation-common/LocalizationHelper.js +106 -106
  210. package/lib/esm/presentation-common/PresentationIpcInterface.d.ts +40 -40
  211. package/lib/esm/presentation-common/PresentationIpcInterface.js +9 -9
  212. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts +273 -273
  213. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  214. package/lib/esm/presentation-common/PresentationManagerOptions.js +18 -18
  215. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts +186 -186
  216. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  217. package/lib/esm/presentation-common/PresentationRpcInterface.js +105 -100
  218. package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
  219. package/lib/esm/presentation-common/PropertyFormatter.d.ts +30 -30
  220. package/lib/esm/presentation-common/PropertyFormatter.js +193 -193
  221. package/lib/esm/presentation-common/RegisteredRuleset.d.ts +26 -26
  222. package/lib/esm/presentation-common/RegisteredRuleset.js +29 -29
  223. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts +82 -82
  224. package/lib/esm/presentation-common/RpcRequestsHandler.js +162 -162
  225. package/lib/esm/presentation-common/RulesetVariables.d.ts +171 -171
  226. package/lib/esm/presentation-common/RulesetVariables.d.ts.map +1 -1
  227. package/lib/esm/presentation-common/RulesetVariables.js +52 -52
  228. package/lib/esm/presentation-common/RulesetsFactory.d.ts +44 -44
  229. package/lib/esm/presentation-common/RulesetsFactory.d.ts.map +1 -1
  230. package/lib/esm/presentation-common/RulesetsFactory.js +219 -219
  231. package/lib/esm/presentation-common/Update.d.ts +213 -213
  232. package/lib/esm/presentation-common/Update.d.ts.map +1 -1
  233. package/lib/esm/presentation-common/Update.js +223 -223
  234. package/lib/esm/presentation-common/Utils.d.ts +62 -62
  235. package/lib/esm/presentation-common/Utils.d.ts.map +1 -1
  236. package/lib/esm/presentation-common/Utils.js +39 -39
  237. package/lib/esm/presentation-common/content/Category.d.ts +49 -49
  238. package/lib/esm/presentation-common/content/Category.js +45 -45
  239. package/lib/esm/presentation-common/content/Content.d.ts +38 -38
  240. package/lib/esm/presentation-common/content/Content.js +52 -52
  241. package/lib/esm/presentation-common/content/ContentTraverser.d.ts +271 -271
  242. package/lib/esm/presentation-common/content/ContentTraverser.js +427 -427
  243. package/lib/esm/presentation-common/content/Descriptor.d.ts +328 -328
  244. package/lib/esm/presentation-common/content/Descriptor.js +187 -187
  245. package/lib/esm/presentation-common/content/DisplayTypes.d.ts +21 -21
  246. package/lib/esm/presentation-common/content/DisplayTypes.js +26 -26
  247. package/lib/esm/presentation-common/content/Editor.d.ts +15 -15
  248. package/lib/esm/presentation-common/content/Editor.js +8 -8
  249. package/lib/esm/presentation-common/content/Fields.d.ts +298 -298
  250. package/lib/esm/presentation-common/content/Fields.d.ts.map +1 -1
  251. package/lib/esm/presentation-common/content/Fields.js +386 -386
  252. package/lib/esm/presentation-common/content/Item.d.ts +85 -85
  253. package/lib/esm/presentation-common/content/Item.js +80 -80
  254. package/lib/esm/presentation-common/content/Property.d.ts +57 -57
  255. package/lib/esm/presentation-common/content/Property.d.ts.map +1 -1
  256. package/lib/esm/presentation-common/content/Property.js +37 -37
  257. package/lib/esm/presentation-common/content/Renderer.d.ts +11 -11
  258. package/lib/esm/presentation-common/content/Renderer.js +8 -8
  259. package/lib/esm/presentation-common/content/TypeDescription.d.ts +72 -72
  260. package/lib/esm/presentation-common/content/TypeDescription.d.ts.map +1 -1
  261. package/lib/esm/presentation-common/content/TypeDescription.js +20 -20
  262. package/lib/esm/presentation-common/content/Value.d.ts +189 -189
  263. package/lib/esm/presentation-common/content/Value.d.ts.map +1 -1
  264. package/lib/esm/presentation-common/content/Value.js +270 -270
  265. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.d.ts +37 -37
  266. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js +28 -28
  267. package/lib/esm/presentation-common/hierarchy/Key.d.ts +246 -246
  268. package/lib/esm/presentation-common/hierarchy/Key.d.ts.map +1 -1
  269. package/lib/esm/presentation-common/hierarchy/Key.js +118 -118
  270. package/lib/esm/presentation-common/hierarchy/Node.d.ts +154 -154
  271. package/lib/esm/presentation-common/hierarchy/Node.d.ts.map +1 -1
  272. package/lib/esm/presentation-common/hierarchy/Node.js +103 -103
  273. package/lib/esm/presentation-common/hierarchy/NodePathElement.d.ts +96 -96
  274. package/lib/esm/presentation-common/hierarchy/NodePathElement.js +119 -119
  275. package/lib/esm/presentation-common/rules/ClassSpecifications.d.ts +45 -45
  276. package/lib/esm/presentation-common/rules/ClassSpecifications.js +8 -8
  277. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.d.ts +31 -31
  278. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js +8 -8
  279. package/lib/esm/presentation-common/rules/RelationshipDirection.d.ts +13 -13
  280. package/lib/esm/presentation-common/rules/RelationshipDirection.js +18 -18
  281. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts +56 -56
  282. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts.map +1 -1
  283. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js +8 -8
  284. package/lib/esm/presentation-common/rules/Rule.d.ts +76 -76
  285. package/lib/esm/presentation-common/rules/Rule.js +32 -32
  286. package/lib/esm/presentation-common/rules/Ruleset.d.ts +65 -65
  287. package/lib/esm/presentation-common/rules/Ruleset.js +8 -8
  288. package/lib/esm/presentation-common/rules/SchemasSpecification.d.ts +41 -41
  289. package/lib/esm/presentation-common/rules/SchemasSpecification.js +8 -8
  290. package/lib/esm/presentation-common/rules/Variables.d.ts +58 -58
  291. package/lib/esm/presentation-common/rules/Variables.js +22 -22
  292. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +41 -41
  293. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js +8 -8
  294. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +25 -25
  295. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js +8 -8
  296. package/lib/esm/presentation-common/rules/content/ContentRule.d.ts +30 -30
  297. package/lib/esm/presentation-common/rules/content/ContentRule.js +8 -8
  298. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts +58 -58
  299. package/lib/esm/presentation-common/rules/content/ContentSpecification.js +17 -17
  300. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +19 -19
  301. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js +8 -8
  302. package/lib/esm/presentation-common/rules/content/PropertySpecification.d.ts +86 -86
  303. package/lib/esm/presentation-common/rules/content/PropertySpecification.js +8 -8
  304. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +28 -28
  305. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js +8 -8
  306. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +25 -25
  307. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js +8 -8
  308. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.d.ts +57 -57
  309. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js +8 -8
  310. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +17 -17
  311. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js +8 -8
  312. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +107 -107
  313. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts.map +1 -1
  314. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js +8 -8
  315. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +108 -108
  316. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +18 -18
  317. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +96 -96
  318. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +40 -40
  319. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts +44 -44
  320. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js +8 -8
  321. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts +36 -36
  322. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js +8 -8
  323. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.d.ts +27 -27
  324. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js +8 -8
  325. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts +207 -207
  326. package/lib/esm/presentation-common/rules/customization/GroupingRule.js +48 -48
  327. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts +29 -29
  328. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js +8 -8
  329. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts +158 -158
  330. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts.map +1 -1
  331. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js +22 -22
  332. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts +40 -40
  333. package/lib/esm/presentation-common/rules/customization/LabelOverride.js +8 -8
  334. package/lib/esm/presentation-common/rules/customization/SortingRule.d.ts +58 -58
  335. package/lib/esm/presentation-common/rules/customization/SortingRule.d.ts.map +1 -1
  336. package/lib/esm/presentation-common/rules/customization/SortingRule.js +8 -8
  337. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts +48 -48
  338. package/lib/esm/presentation-common/rules/customization/StyleOverride.js +8 -8
  339. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +14 -14
  340. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js +8 -8
  341. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +98 -98
  342. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts.map +1 -1
  343. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js +18 -18
  344. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +31 -31
  345. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js +8 -8
  346. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +79 -79
  347. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +16 -16
  348. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +39 -39
  349. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js +8 -8
  350. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.d.ts +50 -50
  351. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.d.ts.map +1 -1
  352. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js +8 -8
  353. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +27 -27
  354. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js +8 -8
  355. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +27 -27
  356. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js +8 -8
  357. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.d.ts +16 -16
  358. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js +8 -8
  359. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.d.ts +35 -35
  360. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js +8 -8
  361. package/lib/esm/presentation-common/selection/SelectionScope.d.ts +38 -38
  362. package/lib/esm/presentation-common/selection/SelectionScope.d.ts.map +1 -1
  363. package/lib/esm/presentation-common/selection/SelectionScope.js +8 -8
  364. package/lib/esm/presentation-common.d.ts +113 -113
  365. package/lib/esm/presentation-common.js +117 -117
  366. package/package.json +12 -12
@@ -1,394 +1,394 @@
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 Content
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.FieldDescriptor = exports.FieldDescriptorType = exports.getFieldByName = exports.NestedContentField = exports.PropertiesField = exports.Field = void 0;
11
- const core_bentley_1 = require("@itwin/core-bentley");
12
- const EC_1 = require("../EC");
13
- const Error_1 = require("../Error");
14
- const RelatedPropertiesSpecification_1 = require("../rules/content/modifiers/RelatedPropertiesSpecification");
15
- const Property_1 = require("./Property");
16
- /** Is supplied field a properties field. */
17
- const isPropertiesField = (field) => {
18
- return !!field.properties;
19
- };
20
- /** Is supplied field a nested content field. */
21
- const isNestedContentField = (field) => {
22
- return !!field.nestedFields;
23
- };
24
- /**
25
- * Describes a single content field. A field is usually represented as a grid column
26
- * or a property pane row.
27
- *
28
- * @public
29
- */
30
- class Field {
31
- /**
32
- * Creates an instance of Field.
33
- * @param category Category information
34
- * @param name Unique name
35
- * @param label Display label
36
- * @param type Description of this field's values data type
37
- * @param isReadonly Are values in this field read-only
38
- * @param priority Priority of the field
39
- * @param editor Property editor used to edit values of this field
40
- * @param renderer Property renderer used to render values of this field
41
- */
42
- constructor(category, name, label, type, isReadonly, priority, editor, renderer) {
43
- this.category = category;
44
- this.name = name;
45
- this.label = label;
46
- this.type = type;
47
- this.isReadonly = isReadonly;
48
- this.priority = priority;
49
- this.editor = editor;
50
- this.renderer = renderer;
51
- }
52
- /**
53
- * Is this a [[PropertiesField]]
54
- */
55
- isPropertiesField() { return isPropertiesField(this); }
56
- /**
57
- * Is this a [[NestedContentField]]
58
- */
59
- isNestedContentField() { return isNestedContentField(this); }
60
- /**
61
- * Get parent
62
- */
63
- get parent() { return this._parent; }
64
- clone() {
65
- const clone = new Field(this.category, this.name, this.label, this.type, this.isReadonly, this.priority, this.editor, this.renderer);
66
- clone.rebuildParentship(this.parent);
67
- return clone;
68
- }
69
- /** Serialize this object to JSON */
70
- toJSON() {
71
- return {
72
- category: this.category.name,
73
- name: this.name,
74
- label: this.label,
75
- type: this.type,
76
- isReadonly: this.isReadonly,
77
- priority: this.priority,
78
- renderer: this.renderer,
79
- editor: this.editor,
80
- };
81
- }
82
- /** Serialize this object to compressed JSON */
83
- toCompressedJSON(classesMap) {
84
- if (this.isPropertiesField())
85
- return {
86
- ...this.toJSON(),
87
- properties: this.properties.map((property) => Property_1.Property.toCompressedJSON(property, classesMap)),
88
- };
89
- if (this.isNestedContentField()) {
90
- const { id, ...leftOverInfo } = this.contentClassInfo;
91
- classesMap[id] = leftOverInfo;
92
- return {
93
- ...this.toJSON(),
94
- contentClassInfo: id,
95
- pathToPrimaryClass: this.pathToPrimaryClass.map((classInfo) => EC_1.RelatedClassInfo.toCompressedJSON(classInfo, classesMap)),
96
- nestedFields: this.nestedFields.map((field) => field.toCompressedJSON(classesMap)),
97
- };
98
- }
99
- return this.toJSON();
100
- }
101
- /** Deserialize [[Field]] from JSON */
102
- static fromJSON(json, categories) {
103
- if (!json)
104
- return undefined;
105
- if (isPropertiesField(json))
106
- return PropertiesField.fromJSON(json, categories);
107
- if (isNestedContentField(json))
108
- // eslint-disable-next-line deprecation/deprecation
109
- return NestedContentField.fromJSON(json, categories);
110
- const field = Object.create(Field.prototype);
111
- return Object.assign(field, json, {
112
- category: Field.getCategoryFromFieldJson(json, categories),
113
- });
114
- }
115
- /** Deserialize a [[Field]] from compressed JSON. */
116
- static fromCompressedJSON(json, classesMap, categories) {
117
- if (!json)
118
- return undefined;
119
- if (isPropertiesField(json))
120
- return PropertiesField.fromCompressedJSON(json, classesMap, categories);
121
- if (isNestedContentField(json))
122
- return NestedContentField.fromCompressedJSON(json, classesMap, categories);
123
- const field = Object.create(Field.prototype);
124
- return Object.assign(field, json, {
125
- category: Field.getCategoryFromFieldJson(json, categories),
126
- });
127
- }
128
- static getCategoryFromFieldJson(fieldJson, categories) {
129
- const category = categories.find((c) => c.name === fieldJson.category);
130
- if (!category)
131
- throw new Error_1.PresentationError(Error_1.PresentationStatus.InvalidArgument, `Invalid content field category`);
132
- return category;
133
- }
134
- /** Resets field's parent. */
135
- resetParentship() {
136
- this._parent = undefined;
137
- }
138
- /** Sets provided [[NestedContentField]] as parent of this field. */
139
- rebuildParentship(parentField) {
140
- this._parent = parentField;
141
- }
142
- /**
143
- * Get descriptor for this field.
144
- * @public
145
- */
146
- getFieldDescriptor() {
147
- return {
148
- type: FieldDescriptorType.Name,
149
- fieldName: this.name,
150
- };
151
- }
152
- }
153
- exports.Field = Field;
154
- /**
155
- * Describes a content field that's based on one or more similar
156
- * EC properties.
157
- *
158
- * @public
159
- */
160
- class PropertiesField extends Field {
161
- /**
162
- * Creates an instance of PropertiesField.
163
- * @param category Category information
164
- * @param name Unique name
165
- * @param label Display label
166
- * @param type Description of this field's values data type
167
- * @param isReadonly Are values in this field read-only
168
- * @param priority Priority of the field
169
- * @param properties A list of properties this field is created from
170
- * @param editor Property editor used to edit values of this field
171
- * @param renderer Property renderer used to render values of this field
172
- */
173
- constructor(category, name, label, description, isReadonly, priority, properties, editor, renderer) {
174
- super(category, name, label, description, isReadonly, priority, editor, renderer);
175
- this.properties = properties;
176
- }
177
- clone() {
178
- const clone = new PropertiesField(this.category, this.name, this.label, this.type, this.isReadonly, this.priority, this.properties, this.editor, this.renderer);
179
- clone.rebuildParentship(this.parent);
180
- return clone;
181
- }
182
- /** Serialize this object to JSON */
183
- toJSON() {
184
- return {
185
- ...super.toJSON(),
186
- properties: this.properties,
187
- };
188
- }
189
- /** Deserialize [[PropertiesField]] from JSON */
190
- static fromJSON(json, categories) {
191
- if (!json)
192
- return undefined;
193
- const field = Object.create(PropertiesField.prototype);
194
- return Object.assign(field, json, {
195
- category: this.getCategoryFromFieldJson(json, categories),
196
- });
197
- }
198
- /**
199
- * Deserialize a [[PropertiesField]] from compressed JSON.
200
- * @public
201
- */
202
- static fromCompressedJSON(json, classesMap, categories) {
203
- const field = Object.create(PropertiesField.prototype);
204
- return Object.assign(field, json, {
205
- category: this.getCategoryFromFieldJson(json, categories),
206
- properties: json.properties.map((propertyJson) => fromCompressedPropertyJSON(propertyJson, classesMap)),
207
- });
208
- }
209
- /**
210
- * Get descriptor for this field.
211
- * @public
212
- */
213
- getFieldDescriptor() {
214
- const pathFromPropertyToSelectClass = new Array();
215
- let currAncestor = this.parent;
216
- while (currAncestor) {
217
- pathFromPropertyToSelectClass.push(...currAncestor.pathToPrimaryClass);
218
- currAncestor = currAncestor.parent;
219
- }
220
- return {
221
- type: FieldDescriptorType.Properties,
222
- pathFromSelectToPropertyClass: EC_1.RelationshipPath.strip(EC_1.RelationshipPath.reverse(pathFromPropertyToSelectClass)),
223
- properties: this.properties.map((p) => ({
224
- class: p.property.classInfo.name,
225
- name: p.property.name,
226
- })),
227
- };
228
- }
229
- }
230
- exports.PropertiesField = PropertiesField;
231
- /**
232
- * Describes a content field that contains [Nested content]($docs/presentation/content/Terminology#nested-content).
233
- *
234
- * @public
235
- */
236
- class NestedContentField extends Field {
237
- /**
238
- * Creates an instance of NestedContentField.
239
- * @param category Category information
240
- * @param name Unique name
241
- * @param label Display label
242
- * @param type Description of this field's values data type
243
- * @param isReadonly Are values in this field read-only
244
- * @param priority Priority of the field
245
- * @param contentClassInfo Information about an ECClass whose properties are nested inside this field
246
- * @param pathToPrimaryClass Relationship path to [Primary class]($docs/presentation/content/Terminology#primary-class)
247
- * @param nestedFields Contained nested fields
248
- * @param editor Property editor used to edit values of this field
249
- * @param autoExpand Flag specifying whether field should be expanded
250
- * @param relationshipMeaning RelationshipMeaning of the field
251
- * @param renderer Property renderer used to render values of this field
252
- */
253
- constructor(category, name, label, description, isReadonly, priority, contentClassInfo, pathToPrimaryClass, nestedFields, editor, autoExpand, renderer) {
254
- super(category, name, label, description, isReadonly, priority, editor, renderer);
255
- this.contentClassInfo = contentClassInfo;
256
- this.pathToPrimaryClass = pathToPrimaryClass;
257
- this.relationshipMeaning = RelatedPropertiesSpecification_1.RelationshipMeaning.RelatedInstance;
258
- this.nestedFields = nestedFields;
259
- this.autoExpand = autoExpand;
260
- this.actualPrimaryClassIds = [];
261
- }
262
- clone() {
263
- const clone = new NestedContentField(this.category, this.name, this.label, this.type, this.isReadonly, this.priority, this.contentClassInfo, this.pathToPrimaryClass, this.nestedFields.map((n) => n.clone()), this.editor, this.autoExpand, this.renderer);
264
- clone.actualPrimaryClassIds = this.actualPrimaryClassIds;
265
- clone.relationshipMeaning = this.relationshipMeaning;
266
- clone.rebuildParentship(this.parent);
267
- return clone;
268
- }
269
- /**
270
- * Get field by its name
271
- * @param name Name of the field to find
272
- * @param recurse Recurse into nested fields
273
- */
274
- getFieldByName(name, recurse) {
275
- return (0, exports.getFieldByName)(this.nestedFields, name, recurse);
276
- }
277
- /** Serialize this object to JSON */
278
- toJSON() {
279
- return {
280
- ...super.toJSON(),
281
- contentClassInfo: this.contentClassInfo,
282
- pathToPrimaryClass: this.pathToPrimaryClass,
283
- relationshipMeaning: this.relationshipMeaning,
284
- actualPrimaryClassIds: this.actualPrimaryClassIds,
285
- nestedFields: this.nestedFields.map((field) => field.toJSON()),
286
- autoExpand: this.autoExpand,
287
- };
288
- }
289
- /**
290
- * Deserialize [[NestedContentField]] from JSON
291
- * @deprecated in 3.x. Use [[NestedContentField.fromCompressedJSON]]
292
- */
293
- static fromJSON(json, categories) {
294
- if (!json)
295
- return undefined;
296
- const field = Object.create(NestedContentField.prototype);
297
- return Object.assign(field, json, this.fromCommonJSON(json, categories), {
298
- nestedFields: json.nestedFields
299
- .map((nestedFieldJson) => Field.fromJSON(nestedFieldJson, categories))
300
- .filter((nestedField) => !!nestedField),
301
- });
302
- }
303
- /** Deserialize a [[NestedContentField]] from compressed JSON. */
304
- static fromCompressedJSON(json, classesMap, categories) {
305
- (0, core_bentley_1.assert)(classesMap.hasOwnProperty(json.contentClassInfo));
306
- const field = Object.create(NestedContentField.prototype);
307
- return Object.assign(field, json, this.fromCommonJSON(json, categories), {
308
- category: this.getCategoryFromFieldJson(json, categories),
309
- nestedFields: json.nestedFields.map((nestedFieldJson) => Field.fromCompressedJSON(nestedFieldJson, classesMap, categories))
310
- .filter((nestedField) => !!nestedField),
311
- contentClassInfo: { id: json.contentClassInfo, ...classesMap[json.contentClassInfo] },
312
- pathToPrimaryClass: json.pathToPrimaryClass.map((stepJson) => EC_1.RelatedClassInfo.fromCompressedJSON(stepJson, classesMap)),
313
- });
314
- }
315
- // eslint-disable-next-line deprecation/deprecation
316
- static fromCommonJSON(json, categories) {
317
- return {
318
- category: this.getCategoryFromFieldJson(json, categories),
319
- relationshipMeaning: json.relationshipMeaning ?? RelatedPropertiesSpecification_1.RelationshipMeaning.RelatedInstance,
320
- actualPrimaryClassIds: json.actualPrimaryClassIds ?? [],
321
- autoExpand: json.autoExpand,
322
- };
323
- }
324
- /** Resets parent of this field and all nested fields. */
325
- resetParentship() {
326
- super.resetParentship();
327
- for (const nestedField of this.nestedFields)
328
- nestedField.resetParentship();
329
- }
330
- /**
331
- * Sets provided [[NestedContentField]] as parent of this fields and recursively updates
332
- * all nested fields parents.
333
- */
334
- rebuildParentship(parentField) {
335
- super.rebuildParentship(parentField);
336
- for (const nestedField of this.nestedFields)
337
- nestedField.rebuildParentship(this);
338
- }
339
- }
340
- exports.NestedContentField = NestedContentField;
341
- /** @internal */
342
- const getFieldByName = (fields, name, recurse) => {
343
- if (name) {
344
- for (const field of fields) {
345
- if (field.name === name)
346
- return field;
347
- if (recurse && field.isNestedContentField()) {
348
- const nested = (0, exports.getFieldByName)(field.nestedFields, name, recurse);
349
- if (nested)
350
- return nested;
351
- }
352
- }
353
- }
354
- return undefined;
355
- };
356
- exports.getFieldByName = getFieldByName;
357
- /**
358
- * Types of different field descriptors.
359
- * @public
360
- */
361
- var FieldDescriptorType;
362
- (function (FieldDescriptorType) {
363
- FieldDescriptorType["Name"] = "name";
364
- FieldDescriptorType["Properties"] = "properties";
365
- })(FieldDescriptorType = exports.FieldDescriptorType || (exports.FieldDescriptorType = {}));
366
- /** @public */
367
- var FieldDescriptor;
368
- (function (FieldDescriptor) {
369
- /** Is this a named field descriptor */
370
- function isNamed(d) {
371
- return d.type === FieldDescriptorType.Name;
372
- }
373
- FieldDescriptor.isNamed = isNamed;
374
- /** Is this a properties field descriptor */
375
- function isProperties(d) {
376
- return d.type === FieldDescriptorType.Properties;
377
- }
378
- FieldDescriptor.isProperties = isProperties;
379
- })(FieldDescriptor = exports.FieldDescriptor || (exports.FieldDescriptor = {}));
380
- function fromCompressedPropertyJSON(compressedPropertyJSON, classesMap) {
381
- return {
382
- property: fromCompressedPropertyInfoJSON(compressedPropertyJSON.property, classesMap),
383
- };
384
- }
385
- function fromCompressedPropertyInfoJSON(compressedPropertyJSON, classesMap) {
386
- (0, core_bentley_1.assert)(classesMap.hasOwnProperty(compressedPropertyJSON.classInfo));
387
- const { navigationPropertyInfo, ...leftOverPropertyJSON } = compressedPropertyJSON;
388
- return {
389
- ...leftOverPropertyJSON,
390
- classInfo: { id: compressedPropertyJSON.classInfo, ...classesMap[compressedPropertyJSON.classInfo] },
391
- ...(navigationPropertyInfo ? { navigationPropertyInfo: EC_1.NavigationPropertyInfo.fromCompressedJSON(navigationPropertyInfo, classesMap) } : undefined),
392
- };
393
- }
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 Content
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.FieldDescriptor = exports.FieldDescriptorType = exports.getFieldByName = exports.NestedContentField = exports.PropertiesField = exports.Field = void 0;
11
+ const core_bentley_1 = require("@itwin/core-bentley");
12
+ const EC_1 = require("../EC");
13
+ const Error_1 = require("../Error");
14
+ const RelatedPropertiesSpecification_1 = require("../rules/content/modifiers/RelatedPropertiesSpecification");
15
+ const Property_1 = require("./Property");
16
+ /** Is supplied field a properties field. */
17
+ const isPropertiesField = (field) => {
18
+ return !!field.properties;
19
+ };
20
+ /** Is supplied field a nested content field. */
21
+ const isNestedContentField = (field) => {
22
+ return !!field.nestedFields;
23
+ };
24
+ /**
25
+ * Describes a single content field. A field is usually represented as a grid column
26
+ * or a property pane row.
27
+ *
28
+ * @public
29
+ */
30
+ class Field {
31
+ /**
32
+ * Creates an instance of Field.
33
+ * @param category Category information
34
+ * @param name Unique name
35
+ * @param label Display label
36
+ * @param type Description of this field's values data type
37
+ * @param isReadonly Are values in this field read-only
38
+ * @param priority Priority of the field
39
+ * @param editor Property editor used to edit values of this field
40
+ * @param renderer Property renderer used to render values of this field
41
+ */
42
+ constructor(category, name, label, type, isReadonly, priority, editor, renderer) {
43
+ this.category = category;
44
+ this.name = name;
45
+ this.label = label;
46
+ this.type = type;
47
+ this.isReadonly = isReadonly;
48
+ this.priority = priority;
49
+ this.editor = editor;
50
+ this.renderer = renderer;
51
+ }
52
+ /**
53
+ * Is this a [[PropertiesField]]
54
+ */
55
+ isPropertiesField() { return isPropertiesField(this); }
56
+ /**
57
+ * Is this a [[NestedContentField]]
58
+ */
59
+ isNestedContentField() { return isNestedContentField(this); }
60
+ /**
61
+ * Get parent
62
+ */
63
+ get parent() { return this._parent; }
64
+ clone() {
65
+ const clone = new Field(this.category, this.name, this.label, this.type, this.isReadonly, this.priority, this.editor, this.renderer);
66
+ clone.rebuildParentship(this.parent);
67
+ return clone;
68
+ }
69
+ /** Serialize this object to JSON */
70
+ toJSON() {
71
+ return {
72
+ category: this.category.name,
73
+ name: this.name,
74
+ label: this.label,
75
+ type: this.type,
76
+ isReadonly: this.isReadonly,
77
+ priority: this.priority,
78
+ renderer: this.renderer,
79
+ editor: this.editor,
80
+ };
81
+ }
82
+ /** Serialize this object to compressed JSON */
83
+ toCompressedJSON(classesMap) {
84
+ if (this.isPropertiesField())
85
+ return {
86
+ ...this.toJSON(),
87
+ properties: this.properties.map((property) => Property_1.Property.toCompressedJSON(property, classesMap)),
88
+ };
89
+ if (this.isNestedContentField()) {
90
+ const { id, ...leftOverInfo } = this.contentClassInfo;
91
+ classesMap[id] = leftOverInfo;
92
+ return {
93
+ ...this.toJSON(),
94
+ contentClassInfo: id,
95
+ pathToPrimaryClass: this.pathToPrimaryClass.map((classInfo) => EC_1.RelatedClassInfo.toCompressedJSON(classInfo, classesMap)),
96
+ nestedFields: this.nestedFields.map((field) => field.toCompressedJSON(classesMap)),
97
+ };
98
+ }
99
+ return this.toJSON();
100
+ }
101
+ /** Deserialize [[Field]] from JSON */
102
+ static fromJSON(json, categories) {
103
+ if (!json)
104
+ return undefined;
105
+ if (isPropertiesField(json))
106
+ return PropertiesField.fromJSON(json, categories);
107
+ if (isNestedContentField(json))
108
+ // eslint-disable-next-line deprecation/deprecation
109
+ return NestedContentField.fromJSON(json, categories);
110
+ const field = Object.create(Field.prototype);
111
+ return Object.assign(field, json, {
112
+ category: Field.getCategoryFromFieldJson(json, categories),
113
+ });
114
+ }
115
+ /** Deserialize a [[Field]] from compressed JSON. */
116
+ static fromCompressedJSON(json, classesMap, categories) {
117
+ if (!json)
118
+ return undefined;
119
+ if (isPropertiesField(json))
120
+ return PropertiesField.fromCompressedJSON(json, classesMap, categories);
121
+ if (isNestedContentField(json))
122
+ return NestedContentField.fromCompressedJSON(json, classesMap, categories);
123
+ const field = Object.create(Field.prototype);
124
+ return Object.assign(field, json, {
125
+ category: Field.getCategoryFromFieldJson(json, categories),
126
+ });
127
+ }
128
+ static getCategoryFromFieldJson(fieldJson, categories) {
129
+ const category = categories.find((c) => c.name === fieldJson.category);
130
+ if (!category)
131
+ throw new Error_1.PresentationError(Error_1.PresentationStatus.InvalidArgument, `Invalid content field category`);
132
+ return category;
133
+ }
134
+ /** Resets field's parent. */
135
+ resetParentship() {
136
+ this._parent = undefined;
137
+ }
138
+ /** Sets provided [[NestedContentField]] as parent of this field. */
139
+ rebuildParentship(parentField) {
140
+ this._parent = parentField;
141
+ }
142
+ /**
143
+ * Get descriptor for this field.
144
+ * @public
145
+ */
146
+ getFieldDescriptor() {
147
+ return {
148
+ type: FieldDescriptorType.Name,
149
+ fieldName: this.name,
150
+ };
151
+ }
152
+ }
153
+ exports.Field = Field;
154
+ /**
155
+ * Describes a content field that's based on one or more similar
156
+ * EC properties.
157
+ *
158
+ * @public
159
+ */
160
+ class PropertiesField extends Field {
161
+ /**
162
+ * Creates an instance of PropertiesField.
163
+ * @param category Category information
164
+ * @param name Unique name
165
+ * @param label Display label
166
+ * @param type Description of this field's values data type
167
+ * @param isReadonly Are values in this field read-only
168
+ * @param priority Priority of the field
169
+ * @param properties A list of properties this field is created from
170
+ * @param editor Property editor used to edit values of this field
171
+ * @param renderer Property renderer used to render values of this field
172
+ */
173
+ constructor(category, name, label, description, isReadonly, priority, properties, editor, renderer) {
174
+ super(category, name, label, description, isReadonly, priority, editor, renderer);
175
+ this.properties = properties;
176
+ }
177
+ clone() {
178
+ const clone = new PropertiesField(this.category, this.name, this.label, this.type, this.isReadonly, this.priority, this.properties, this.editor, this.renderer);
179
+ clone.rebuildParentship(this.parent);
180
+ return clone;
181
+ }
182
+ /** Serialize this object to JSON */
183
+ toJSON() {
184
+ return {
185
+ ...super.toJSON(),
186
+ properties: this.properties,
187
+ };
188
+ }
189
+ /** Deserialize [[PropertiesField]] from JSON */
190
+ static fromJSON(json, categories) {
191
+ if (!json)
192
+ return undefined;
193
+ const field = Object.create(PropertiesField.prototype);
194
+ return Object.assign(field, json, {
195
+ category: this.getCategoryFromFieldJson(json, categories),
196
+ });
197
+ }
198
+ /**
199
+ * Deserialize a [[PropertiesField]] from compressed JSON.
200
+ * @public
201
+ */
202
+ static fromCompressedJSON(json, classesMap, categories) {
203
+ const field = Object.create(PropertiesField.prototype);
204
+ return Object.assign(field, json, {
205
+ category: this.getCategoryFromFieldJson(json, categories),
206
+ properties: json.properties.map((propertyJson) => fromCompressedPropertyJSON(propertyJson, classesMap)),
207
+ });
208
+ }
209
+ /**
210
+ * Get descriptor for this field.
211
+ * @public
212
+ */
213
+ getFieldDescriptor() {
214
+ const pathFromPropertyToSelectClass = new Array();
215
+ let currAncestor = this.parent;
216
+ while (currAncestor) {
217
+ pathFromPropertyToSelectClass.push(...currAncestor.pathToPrimaryClass);
218
+ currAncestor = currAncestor.parent;
219
+ }
220
+ return {
221
+ type: FieldDescriptorType.Properties,
222
+ pathFromSelectToPropertyClass: EC_1.RelationshipPath.strip(EC_1.RelationshipPath.reverse(pathFromPropertyToSelectClass)),
223
+ properties: this.properties.map((p) => ({
224
+ class: p.property.classInfo.name,
225
+ name: p.property.name,
226
+ })),
227
+ };
228
+ }
229
+ }
230
+ exports.PropertiesField = PropertiesField;
231
+ /**
232
+ * Describes a content field that contains [Nested content]($docs/presentation/content/Terminology#nested-content).
233
+ *
234
+ * @public
235
+ */
236
+ class NestedContentField extends Field {
237
+ /**
238
+ * Creates an instance of NestedContentField.
239
+ * @param category Category information
240
+ * @param name Unique name
241
+ * @param label Display label
242
+ * @param type Description of this field's values data type
243
+ * @param isReadonly Are values in this field read-only
244
+ * @param priority Priority of the field
245
+ * @param contentClassInfo Information about an ECClass whose properties are nested inside this field
246
+ * @param pathToPrimaryClass Relationship path to [Primary class]($docs/presentation/content/Terminology#primary-class)
247
+ * @param nestedFields Contained nested fields
248
+ * @param editor Property editor used to edit values of this field
249
+ * @param autoExpand Flag specifying whether field should be expanded
250
+ * @param relationshipMeaning RelationshipMeaning of the field
251
+ * @param renderer Property renderer used to render values of this field
252
+ */
253
+ constructor(category, name, label, description, isReadonly, priority, contentClassInfo, pathToPrimaryClass, nestedFields, editor, autoExpand, renderer) {
254
+ super(category, name, label, description, isReadonly, priority, editor, renderer);
255
+ this.contentClassInfo = contentClassInfo;
256
+ this.pathToPrimaryClass = pathToPrimaryClass;
257
+ this.relationshipMeaning = RelatedPropertiesSpecification_1.RelationshipMeaning.RelatedInstance;
258
+ this.nestedFields = nestedFields;
259
+ this.autoExpand = autoExpand;
260
+ this.actualPrimaryClassIds = [];
261
+ }
262
+ clone() {
263
+ const clone = new NestedContentField(this.category, this.name, this.label, this.type, this.isReadonly, this.priority, this.contentClassInfo, this.pathToPrimaryClass, this.nestedFields.map((n) => n.clone()), this.editor, this.autoExpand, this.renderer);
264
+ clone.actualPrimaryClassIds = this.actualPrimaryClassIds;
265
+ clone.relationshipMeaning = this.relationshipMeaning;
266
+ clone.rebuildParentship(this.parent);
267
+ return clone;
268
+ }
269
+ /**
270
+ * Get field by its name
271
+ * @param name Name of the field to find
272
+ * @param recurse Recurse into nested fields
273
+ */
274
+ getFieldByName(name, recurse) {
275
+ return (0, exports.getFieldByName)(this.nestedFields, name, recurse);
276
+ }
277
+ /** Serialize this object to JSON */
278
+ toJSON() {
279
+ return {
280
+ ...super.toJSON(),
281
+ contentClassInfo: this.contentClassInfo,
282
+ pathToPrimaryClass: this.pathToPrimaryClass,
283
+ relationshipMeaning: this.relationshipMeaning,
284
+ actualPrimaryClassIds: this.actualPrimaryClassIds,
285
+ nestedFields: this.nestedFields.map((field) => field.toJSON()),
286
+ autoExpand: this.autoExpand,
287
+ };
288
+ }
289
+ /**
290
+ * Deserialize [[NestedContentField]] from JSON
291
+ * @deprecated in 3.x. Use [[NestedContentField.fromCompressedJSON]]
292
+ */
293
+ static fromJSON(json, categories) {
294
+ if (!json)
295
+ return undefined;
296
+ const field = Object.create(NestedContentField.prototype);
297
+ return Object.assign(field, json, this.fromCommonJSON(json, categories), {
298
+ nestedFields: json.nestedFields
299
+ .map((nestedFieldJson) => Field.fromJSON(nestedFieldJson, categories))
300
+ .filter((nestedField) => !!nestedField),
301
+ });
302
+ }
303
+ /** Deserialize a [[NestedContentField]] from compressed JSON. */
304
+ static fromCompressedJSON(json, classesMap, categories) {
305
+ (0, core_bentley_1.assert)(classesMap.hasOwnProperty(json.contentClassInfo));
306
+ const field = Object.create(NestedContentField.prototype);
307
+ return Object.assign(field, json, this.fromCommonJSON(json, categories), {
308
+ category: this.getCategoryFromFieldJson(json, categories),
309
+ nestedFields: json.nestedFields.map((nestedFieldJson) => Field.fromCompressedJSON(nestedFieldJson, classesMap, categories))
310
+ .filter((nestedField) => !!nestedField),
311
+ contentClassInfo: { id: json.contentClassInfo, ...classesMap[json.contentClassInfo] },
312
+ pathToPrimaryClass: json.pathToPrimaryClass.map((stepJson) => EC_1.RelatedClassInfo.fromCompressedJSON(stepJson, classesMap)),
313
+ });
314
+ }
315
+ // eslint-disable-next-line deprecation/deprecation
316
+ static fromCommonJSON(json, categories) {
317
+ return {
318
+ category: this.getCategoryFromFieldJson(json, categories),
319
+ relationshipMeaning: json.relationshipMeaning ?? RelatedPropertiesSpecification_1.RelationshipMeaning.RelatedInstance,
320
+ actualPrimaryClassIds: json.actualPrimaryClassIds ?? [],
321
+ autoExpand: json.autoExpand,
322
+ };
323
+ }
324
+ /** Resets parent of this field and all nested fields. */
325
+ resetParentship() {
326
+ super.resetParentship();
327
+ for (const nestedField of this.nestedFields)
328
+ nestedField.resetParentship();
329
+ }
330
+ /**
331
+ * Sets provided [[NestedContentField]] as parent of this fields and recursively updates
332
+ * all nested fields parents.
333
+ */
334
+ rebuildParentship(parentField) {
335
+ super.rebuildParentship(parentField);
336
+ for (const nestedField of this.nestedFields)
337
+ nestedField.rebuildParentship(this);
338
+ }
339
+ }
340
+ exports.NestedContentField = NestedContentField;
341
+ /** @internal */
342
+ const getFieldByName = (fields, name, recurse) => {
343
+ if (name) {
344
+ for (const field of fields) {
345
+ if (field.name === name)
346
+ return field;
347
+ if (recurse && field.isNestedContentField()) {
348
+ const nested = (0, exports.getFieldByName)(field.nestedFields, name, recurse);
349
+ if (nested)
350
+ return nested;
351
+ }
352
+ }
353
+ }
354
+ return undefined;
355
+ };
356
+ exports.getFieldByName = getFieldByName;
357
+ /**
358
+ * Types of different field descriptors.
359
+ * @public
360
+ */
361
+ var FieldDescriptorType;
362
+ (function (FieldDescriptorType) {
363
+ FieldDescriptorType["Name"] = "name";
364
+ FieldDescriptorType["Properties"] = "properties";
365
+ })(FieldDescriptorType = exports.FieldDescriptorType || (exports.FieldDescriptorType = {}));
366
+ /** @public */
367
+ var FieldDescriptor;
368
+ (function (FieldDescriptor) {
369
+ /** Is this a named field descriptor */
370
+ function isNamed(d) {
371
+ return d.type === FieldDescriptorType.Name;
372
+ }
373
+ FieldDescriptor.isNamed = isNamed;
374
+ /** Is this a properties field descriptor */
375
+ function isProperties(d) {
376
+ return d.type === FieldDescriptorType.Properties;
377
+ }
378
+ FieldDescriptor.isProperties = isProperties;
379
+ })(FieldDescriptor = exports.FieldDescriptor || (exports.FieldDescriptor = {}));
380
+ function fromCompressedPropertyJSON(compressedPropertyJSON, classesMap) {
381
+ return {
382
+ property: fromCompressedPropertyInfoJSON(compressedPropertyJSON.property, classesMap),
383
+ };
384
+ }
385
+ function fromCompressedPropertyInfoJSON(compressedPropertyJSON, classesMap) {
386
+ (0, core_bentley_1.assert)(classesMap.hasOwnProperty(compressedPropertyJSON.classInfo));
387
+ const { navigationPropertyInfo, ...leftOverPropertyJSON } = compressedPropertyJSON;
388
+ return {
389
+ ...leftOverPropertyJSON,
390
+ classInfo: { id: compressedPropertyJSON.classInfo, ...classesMap[compressedPropertyJSON.classInfo] },
391
+ ...(navigationPropertyInfo ? { navigationPropertyInfo: EC_1.NavigationPropertyInfo.fromCompressedJSON(navigationPropertyInfo, classesMap) } : undefined),
392
+ };
393
+ }
394
394
  //# sourceMappingURL=Fields.js.map