@itwin/presentation-common 3.6.0-dev.52 → 3.6.0-dev.53

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