@itwin/presentation-common 3.5.0-dev.66 → 3.5.0-dev.68

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