@itwin/presentation-common 3.7.0-dev.6 → 3.7.0-dev.8

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