@itwin/presentation-common 5.0.0-dev.57 → 5.0.0-dev.59

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 (226) hide show
  1. package/Ruleset.schema.json +3 -258
  2. package/lib/cjs/presentation-common/EC.d.ts +5 -80
  3. package/lib/cjs/presentation-common/EC.d.ts.map +1 -1
  4. package/lib/cjs/presentation-common/EC.js +1 -97
  5. package/lib/cjs/presentation-common/EC.js.map +1 -1
  6. package/lib/cjs/presentation-common/KeySet.d.ts +2 -2
  7. package/lib/cjs/presentation-common/KeySet.d.ts.map +1 -1
  8. package/lib/cjs/presentation-common/KeySet.js +4 -11
  9. package/lib/cjs/presentation-common/KeySet.js.map +1 -1
  10. package/lib/cjs/presentation-common/LabelDefinition.d.ts +0 -48
  11. package/lib/cjs/presentation-common/LabelDefinition.d.ts.map +1 -1
  12. package/lib/cjs/presentation-common/LabelDefinition.js +1 -44
  13. package/lib/cjs/presentation-common/LabelDefinition.js.map +1 -1
  14. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts +7 -9
  15. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  16. package/lib/cjs/presentation-common/PresentationRpcInterface.js +19 -15
  17. package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
  18. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts +7 -7
  19. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  20. package/lib/cjs/presentation-common/RpcRequestsHandler.js +2 -1
  21. package/lib/cjs/presentation-common/RpcRequestsHandler.js.map +1 -1
  22. package/lib/cjs/presentation-common/RulesetVariables.d.ts +1 -46
  23. package/lib/cjs/presentation-common/RulesetVariables.d.ts.map +1 -1
  24. package/lib/cjs/presentation-common/RulesetVariables.js.map +1 -1
  25. package/lib/cjs/presentation-common/Update.d.ts +2 -79
  26. package/lib/cjs/presentation-common/Update.d.ts.map +1 -1
  27. package/lib/cjs/presentation-common/Update.js +1 -104
  28. package/lib/cjs/presentation-common/Update.js.map +1 -1
  29. package/lib/cjs/presentation-common/Utils.d.ts +7 -0
  30. package/lib/cjs/presentation-common/Utils.d.ts.map +1 -1
  31. package/lib/cjs/presentation-common/Utils.js +23 -0
  32. package/lib/cjs/presentation-common/Utils.js.map +1 -1
  33. package/lib/cjs/presentation-common/content/Content.d.ts +0 -7
  34. package/lib/cjs/presentation-common/content/Content.d.ts.map +1 -1
  35. package/lib/cjs/presentation-common/content/Content.js +1 -10
  36. package/lib/cjs/presentation-common/content/Content.js.map +1 -1
  37. package/lib/cjs/presentation-common/content/ContentTraverser.js +17 -12
  38. package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
  39. package/lib/cjs/presentation-common/content/Descriptor.d.ts +2 -31
  40. package/lib/cjs/presentation-common/content/Descriptor.d.ts.map +1 -1
  41. package/lib/cjs/presentation-common/content/Descriptor.js +3 -25
  42. package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
  43. package/lib/cjs/presentation-common/content/Fields.d.ts +4 -10
  44. package/lib/cjs/presentation-common/content/Fields.d.ts.map +1 -1
  45. package/lib/cjs/presentation-common/content/Fields.js +26 -35
  46. package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
  47. package/lib/cjs/presentation-common/content/Item.d.ts +5 -31
  48. package/lib/cjs/presentation-common/content/Item.d.ts.map +1 -1
  49. package/lib/cjs/presentation-common/content/Item.js +5 -53
  50. package/lib/cjs/presentation-common/content/Item.js.map +1 -1
  51. package/lib/cjs/presentation-common/content/Property.d.ts +2 -12
  52. package/lib/cjs/presentation-common/content/Property.d.ts.map +1 -1
  53. package/lib/cjs/presentation-common/content/Property.js +0 -18
  54. package/lib/cjs/presentation-common/content/Property.js.map +1 -1
  55. package/lib/cjs/presentation-common/content/Value.d.ts +0 -106
  56. package/lib/cjs/presentation-common/content/Value.d.ts.map +1 -1
  57. package/lib/cjs/presentation-common/content/Value.js +1 -215
  58. package/lib/cjs/presentation-common/content/Value.js.map +1 -1
  59. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.d.ts +1 -22
  60. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.d.ts.map +1 -1
  61. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js +0 -23
  62. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  63. package/lib/cjs/presentation-common/hierarchy/Key.d.ts +0 -83
  64. package/lib/cjs/presentation-common/hierarchy/Key.d.ts.map +1 -1
  65. package/lib/cjs/presentation-common/hierarchy/Key.js +6 -24
  66. package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
  67. package/lib/cjs/presentation-common/hierarchy/Node.d.ts +2 -106
  68. package/lib/cjs/presentation-common/hierarchy/Node.d.ts.map +1 -1
  69. package/lib/cjs/presentation-common/hierarchy/Node.js +0 -99
  70. package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
  71. package/lib/cjs/presentation-common/hierarchy/NodePathElement.d.ts +1 -67
  72. package/lib/cjs/presentation-common/hierarchy/NodePathElement.d.ts.map +1 -1
  73. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js +0 -117
  74. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  75. package/lib/cjs/presentation-common/rules/Rule.d.ts +0 -14
  76. package/lib/cjs/presentation-common/rules/Rule.d.ts.map +1 -1
  77. package/lib/cjs/presentation-common/rules/Rule.js.map +1 -1
  78. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts +0 -7
  79. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts.map +1 -1
  80. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  81. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts +1 -5
  82. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts.map +1 -1
  83. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  84. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts +2 -28
  85. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts.map +1 -1
  86. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js +1 -15
  87. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  88. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +2 -0
  89. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts.map +1 -1
  90. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  91. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +0 -9
  92. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts.map +1 -1
  93. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  94. package/lib/cjs/presentation-common.d.ts +1 -5
  95. package/lib/cjs/presentation-common.d.ts.map +1 -1
  96. package/lib/cjs/presentation-common.js +2 -5
  97. package/lib/cjs/presentation-common.js.map +1 -1
  98. package/lib/esm/presentation-common/EC.d.ts +5 -80
  99. package/lib/esm/presentation-common/EC.d.ts.map +1 -1
  100. package/lib/esm/presentation-common/EC.js +0 -96
  101. package/lib/esm/presentation-common/EC.js.map +1 -1
  102. package/lib/esm/presentation-common/KeySet.d.ts +2 -2
  103. package/lib/esm/presentation-common/KeySet.d.ts.map +1 -1
  104. package/lib/esm/presentation-common/KeySet.js +4 -11
  105. package/lib/esm/presentation-common/KeySet.js.map +1 -1
  106. package/lib/esm/presentation-common/LabelDefinition.d.ts +0 -48
  107. package/lib/esm/presentation-common/LabelDefinition.d.ts.map +1 -1
  108. package/lib/esm/presentation-common/LabelDefinition.js +0 -43
  109. package/lib/esm/presentation-common/LabelDefinition.js.map +1 -1
  110. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts +7 -9
  111. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  112. package/lib/esm/presentation-common/PresentationRpcInterface.js +19 -15
  113. package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
  114. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts +7 -7
  115. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  116. package/lib/esm/presentation-common/RpcRequestsHandler.js +2 -1
  117. package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
  118. package/lib/esm/presentation-common/RulesetVariables.d.ts +1 -46
  119. package/lib/esm/presentation-common/RulesetVariables.d.ts.map +1 -1
  120. package/lib/esm/presentation-common/RulesetVariables.js.map +1 -1
  121. package/lib/esm/presentation-common/Update.d.ts +2 -79
  122. package/lib/esm/presentation-common/Update.d.ts.map +1 -1
  123. package/lib/esm/presentation-common/Update.js +0 -103
  124. package/lib/esm/presentation-common/Update.js.map +1 -1
  125. package/lib/esm/presentation-common/Utils.d.ts +7 -0
  126. package/lib/esm/presentation-common/Utils.d.ts.map +1 -1
  127. package/lib/esm/presentation-common/Utils.js +22 -0
  128. package/lib/esm/presentation-common/Utils.js.map +1 -1
  129. package/lib/esm/presentation-common/content/Content.d.ts +0 -7
  130. package/lib/esm/presentation-common/content/Content.d.ts.map +1 -1
  131. package/lib/esm/presentation-common/content/Content.js +1 -10
  132. package/lib/esm/presentation-common/content/Content.js.map +1 -1
  133. package/lib/esm/presentation-common/content/ContentTraverser.js +17 -12
  134. package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
  135. package/lib/esm/presentation-common/content/Descriptor.d.ts +2 -31
  136. package/lib/esm/presentation-common/content/Descriptor.d.ts.map +1 -1
  137. package/lib/esm/presentation-common/content/Descriptor.js +3 -25
  138. package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
  139. package/lib/esm/presentation-common/content/Fields.d.ts +4 -10
  140. package/lib/esm/presentation-common/content/Fields.d.ts.map +1 -1
  141. package/lib/esm/presentation-common/content/Fields.js +26 -35
  142. package/lib/esm/presentation-common/content/Fields.js.map +1 -1
  143. package/lib/esm/presentation-common/content/Item.d.ts +5 -31
  144. package/lib/esm/presentation-common/content/Item.d.ts.map +1 -1
  145. package/lib/esm/presentation-common/content/Item.js +5 -53
  146. package/lib/esm/presentation-common/content/Item.js.map +1 -1
  147. package/lib/esm/presentation-common/content/Property.d.ts +2 -12
  148. package/lib/esm/presentation-common/content/Property.d.ts.map +1 -1
  149. package/lib/esm/presentation-common/content/Property.js +0 -18
  150. package/lib/esm/presentation-common/content/Property.js.map +1 -1
  151. package/lib/esm/presentation-common/content/Value.d.ts +0 -106
  152. package/lib/esm/presentation-common/content/Value.d.ts.map +1 -1
  153. package/lib/esm/presentation-common/content/Value.js +0 -214
  154. package/lib/esm/presentation-common/content/Value.js.map +1 -1
  155. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.d.ts +1 -22
  156. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.d.ts.map +1 -1
  157. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js +1 -22
  158. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  159. package/lib/esm/presentation-common/hierarchy/Key.d.ts +0 -83
  160. package/lib/esm/presentation-common/hierarchy/Key.d.ts.map +1 -1
  161. package/lib/esm/presentation-common/hierarchy/Key.js +6 -24
  162. package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
  163. package/lib/esm/presentation-common/hierarchy/Node.d.ts +2 -106
  164. package/lib/esm/presentation-common/hierarchy/Node.d.ts.map +1 -1
  165. package/lib/esm/presentation-common/hierarchy/Node.js +1 -98
  166. package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
  167. package/lib/esm/presentation-common/hierarchy/NodePathElement.d.ts +1 -67
  168. package/lib/esm/presentation-common/hierarchy/NodePathElement.d.ts.map +1 -1
  169. package/lib/esm/presentation-common/hierarchy/NodePathElement.js +1 -116
  170. package/lib/esm/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  171. package/lib/esm/presentation-common/rules/Rule.d.ts +0 -14
  172. package/lib/esm/presentation-common/rules/Rule.d.ts.map +1 -1
  173. package/lib/esm/presentation-common/rules/Rule.js.map +1 -1
  174. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts +0 -7
  175. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts.map +1 -1
  176. package/lib/esm/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  177. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts +1 -5
  178. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts.map +1 -1
  179. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  180. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts +2 -28
  181. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts.map +1 -1
  182. package/lib/esm/presentation-common/rules/customization/GroupingRule.js +0 -14
  183. package/lib/esm/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  184. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +2 -0
  185. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts.map +1 -1
  186. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  187. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +0 -9
  188. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts.map +1 -1
  189. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  190. package/lib/esm/presentation-common.d.ts +1 -5
  191. package/lib/esm/presentation-common.d.ts.map +1 -1
  192. package/lib/esm/presentation-common.js +1 -5
  193. package/lib/esm/presentation-common.js.map +1 -1
  194. package/package.json +10 -10
  195. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts +0 -45
  196. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts.map +0 -1
  197. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js +0 -10
  198. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js.map +0 -1
  199. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts +0 -30
  200. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts.map +0 -1
  201. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js +0 -10
  202. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js.map +0 -1
  203. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts +0 -41
  204. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts.map +0 -1
  205. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js +0 -10
  206. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js.map +0 -1
  207. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts +0 -49
  208. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts.map +0 -1
  209. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js +0 -10
  210. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js.map +0 -1
  211. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts +0 -45
  212. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts.map +0 -1
  213. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js +0 -9
  214. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js.map +0 -1
  215. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts +0 -30
  216. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts.map +0 -1
  217. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js +0 -9
  218. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js.map +0 -1
  219. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts +0 -41
  220. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts.map +0 -1
  221. package/lib/esm/presentation-common/rules/customization/LabelOverride.js +0 -9
  222. package/lib/esm/presentation-common/rules/customization/LabelOverride.js.map +0 -1
  223. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts +0 -49
  224. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts.map +0 -1
  225. package/lib/esm/presentation-common/rules/customization/StyleOverride.js +0 -9
  226. package/lib/esm/presentation-common/rules/customization/StyleOverride.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Fields.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/content/Fields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Fields.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/content/Fields.ts"],"names":[],"mappings":"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"}
@@ -128,12 +128,17 @@ class Field {
128
128
  return PropertiesField.fromJSON(json, categories);
129
129
  }
130
130
  if (isNestedContentField(json)) {
131
- // eslint-disable-next-line @typescript-eslint/no-deprecated
132
- return NestedContentField.fromJSON(json, categories);
131
+ return new NestedContentField({
132
+ ...json,
133
+ ...fromNestedContentFieldJSON(json, categories),
134
+ nestedFields: json.nestedFields
135
+ .map((nestedFieldJson) => Field.fromJSON(nestedFieldJson, categories))
136
+ .filter((nestedField) => !!nestedField),
137
+ });
133
138
  }
134
139
  return new Field({
135
140
  ...json,
136
- category: Field.getCategoryFromFieldJson(json, categories),
141
+ category: this.getCategoryFromFieldJson(json, categories),
137
142
  });
138
143
  }
139
144
  /** Deserialize a [[Field]] from compressed JSON. */
@@ -149,15 +154,11 @@ class Field {
149
154
  }
150
155
  return new Field({
151
156
  ...json,
152
- category: Field.getCategoryFromFieldJson(json, categories),
157
+ category: this.getCategoryFromFieldJson(json, categories),
153
158
  });
154
159
  }
155
160
  static getCategoryFromFieldJson(fieldJson, categories) {
156
- const category = categories.find((c) => c.name === fieldJson.category);
157
- if (!category) {
158
- throw new Error_1.PresentationError(Error_1.PresentationStatus.InvalidArgument, `Invalid content field category`);
159
- }
160
- return category;
161
+ return getCategoryFromFieldJson(fieldJson, categories);
161
162
  }
162
163
  /** Resets field's parent. */
163
164
  resetParentship() {
@@ -561,28 +562,12 @@ class NestedContentField extends Field {
561
562
  nestedFields: this.nestedFields.map((field) => field.toCompressedJSON(classesMap)),
562
563
  };
563
564
  }
564
- /**
565
- * Deserialize [[NestedContentField]] from JSON
566
- * @deprecated in 3.x. Use [[NestedContentField.fromCompressedJSON]]
567
- */
568
- static fromJSON(json, categories) {
569
- if (!json) {
570
- return undefined;
571
- }
572
- return new NestedContentField({
573
- ...json,
574
- ...this.fromCommonJSON(json, categories),
575
- nestedFields: json.nestedFields
576
- .map((nestedFieldJson) => Field.fromJSON(nestedFieldJson, categories))
577
- .filter((nestedField) => !!nestedField),
578
- });
579
- }
580
565
  /** Deserialize a [[NestedContentField]] from compressed JSON. */
581
566
  static fromCompressedJSON(json, classesMap, categories) {
582
567
  (0, core_bentley_1.assert)(classesMap.hasOwnProperty(json.contentClassInfo));
583
568
  return new NestedContentField({
584
569
  ...json,
585
- ...this.fromCommonJSON(json, categories),
570
+ ...fromNestedContentFieldJSON(json, categories),
586
571
  category: this.getCategoryFromFieldJson(json, categories),
587
572
  nestedFields: json.nestedFields
588
573
  .map((nestedFieldJson) => Field.fromCompressedJSON(nestedFieldJson, classesMap, categories))
@@ -591,15 +576,6 @@ class NestedContentField extends Field {
591
576
  pathToPrimaryClass: json.pathToPrimaryClass.map((stepJson) => EC_1.RelatedClassInfo.fromCompressedJSON(stepJson, classesMap)),
592
577
  });
593
578
  }
594
- // eslint-disable-next-line @typescript-eslint/no-deprecated
595
- static fromCommonJSON(json, categories) {
596
- return {
597
- category: this.getCategoryFromFieldJson(json, categories),
598
- relationshipMeaning: json.relationshipMeaning ?? RelatedPropertiesSpecification_1.RelationshipMeaning.RelatedInstance,
599
- actualPrimaryClassIds: json.actualPrimaryClassIds ?? [],
600
- autoExpand: json.autoExpand,
601
- };
602
- }
603
579
  /** Resets parent of this field and all nested fields. */
604
580
  resetParentship() {
605
581
  super.resetParentship();
@@ -691,4 +667,19 @@ function fromCompressedPropertyInfoJSON(compressedPropertyJSON, classesMap) {
691
667
  ...(navigationPropertyInfo ? { navigationPropertyInfo: EC_1.NavigationPropertyInfo.fromCompressedJSON(navigationPropertyInfo, classesMap) } : undefined),
692
668
  };
693
669
  }
670
+ function getCategoryFromFieldJson(fieldJson, categories) {
671
+ const category = categories.find((c) => c.name === fieldJson.category);
672
+ if (!category) {
673
+ throw new Error_1.PresentationError(Error_1.PresentationStatus.InvalidArgument, `Invalid content field category`);
674
+ }
675
+ return category;
676
+ }
677
+ function fromNestedContentFieldJSON(json, categories) {
678
+ return {
679
+ category: getCategoryFromFieldJson(json, categories),
680
+ relationshipMeaning: json.relationshipMeaning ?? RelatedPropertiesSpecification_1.RelationshipMeaning.RelatedInstance,
681
+ actualPrimaryClassIds: json.actualPrimaryClassIds ?? [],
682
+ autoExpand: json.autoExpand,
683
+ };
684
+ }
694
685
  //# sourceMappingURL=Fields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Fields.js","sourceRoot":"","sources":["../../../../src/presentation-common/content/Fields.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Content\n */\n\nimport { assert, Id64String } from \"@itwin/core-bentley\";\nimport {\n ClassInfo,\n ClassInfoJSON,\n CompressedClassInfoJSON,\n NavigationPropertyInfo,\n PropertyInfo,\n PropertyInfoJSON,\n RelatedClassInfo,\n RelationshipPath,\n RelationshipPathJSON,\n StrippedRelationshipPath,\n} from \"../EC\";\nimport { PresentationError, PresentationStatus } from \"../Error\";\nimport { RelationshipMeaning } from \"../rules/content/modifiers/RelatedPropertiesSpecification\";\nimport { omitUndefined } from \"../Utils\";\nimport { CategoryDescription } from \"./Category\";\nimport { EditorDescription } from \"./Editor\";\nimport { Property, PropertyJSON } from \"./Property\";\nimport { RendererDescription } from \"./Renderer\";\nimport { TypeDescription } from \"./TypeDescription\";\n\n/**\n * Data structure for a [[Field]] serialized to JSON.\n * @public\n */\nexport interface BaseFieldJSON {\n category: string;\n name: string;\n label: string;\n type: TypeDescription;\n isReadonly: boolean;\n priority: number;\n renderer?: RendererDescription;\n editor?: EditorDescription;\n extendedData?: { [key: string]: unknown };\n}\n\n/**\n * Data structure for a [[PropertiesField]] serialized to JSON.\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface PropertiesFieldJSON<TClassInfoJSON = ClassInfoJSON> extends BaseFieldJSON {\n properties: PropertyJSON<TClassInfoJSON>[];\n}\n\n/**\n * Data structure for a [[ArrayPropertiesField]] serialized to JSON.\n * @public\n */\nexport interface ArrayPropertiesFieldJSON<TClassInfoJSON = ClassInfo> extends PropertiesFieldJSON<TClassInfoJSON> {\n itemsField: PropertiesFieldJSON<TClassInfoJSON>;\n}\n\n/**\n * Data structure for a [[StructPropertiesField]] serialized to JSON.\n * @public\n */\nexport interface StructPropertiesFieldJSON<TClassInfoJSON = ClassInfo> extends PropertiesFieldJSON<TClassInfoJSON> {\n memberFields: PropertiesFieldJSON<TClassInfoJSON>[];\n}\n\n/**\n * Data structure for a [[NestedContentField]] serialized to JSON.\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface NestedContentFieldJSON<TClassInfoJSON = ClassInfoJSON> extends BaseFieldJSON {\n contentClassInfo: TClassInfoJSON;\n pathToPrimaryClass: RelationshipPathJSON<TClassInfoJSON>;\n relationshipMeaning?: RelationshipMeaning;\n actualPrimaryClassIds?: Id64String[];\n autoExpand?: boolean;\n nestedFields: FieldJSON<TClassInfoJSON>[];\n}\n\n/**\n * JSON representation of a [[Field]]\n * @public\n */\nexport type FieldJSON<TClassInfoJSON = ClassInfoJSON> =\n | BaseFieldJSON\n | PropertiesFieldJSON<TClassInfoJSON>\n | ArrayPropertiesFieldJSON<TClassInfoJSON>\n | StructPropertiesFieldJSON<TClassInfoJSON>\n | NestedContentFieldJSON<TClassInfoJSON>;\n\n/** Is supplied field a properties field. */\nfunction isPropertiesField(field: FieldJSON): field is PropertiesFieldJSON<any>;\nfunction isPropertiesField(field: Field): field is PropertiesField;\nfunction isPropertiesField(field: FieldJSON | Field) {\n return !!(field as any).properties;\n}\n\n/** Is supplied field an array properties field. */\nfunction isArrayPropertiesField(field: FieldJSON): field is ArrayPropertiesFieldJSON<any>;\nfunction isArrayPropertiesField(field: Field): field is ArrayPropertiesField;\nfunction isArrayPropertiesField(field: FieldJSON | Field) {\n return !!(field as ArrayPropertiesFieldJSON).itemsField;\n}\n\n/** Is supplied field an array properties field. */\nfunction isStructPropertiesField(field: FieldJSON): field is StructPropertiesFieldJSON<any>;\nfunction isStructPropertiesField(field: Field): field is StructPropertiesField;\nfunction isStructPropertiesField(field: FieldJSON | Field) {\n return !!(field as StructPropertiesFieldJSON).memberFields;\n}\n\n/** Is supplied field a nested content field. */\nfunction isNestedContentField(field: FieldJSON): field is NestedContentFieldJSON<any>;\nfunction isNestedContentField(field: Field): field is NestedContentField;\nfunction isNestedContentField(field: FieldJSON | Field) {\n return !!(field as any).nestedFields;\n}\n\n/**\n * Props for creating [[Field]].\n * @public\n */\ninterface FieldProps {\n /** Category information */\n category: CategoryDescription;\n /** Unique name */\n name: string;\n /** Display label */\n label: string;\n /** Description of this field's values data type */\n type: TypeDescription;\n /** Are values in this field read-only */\n isReadonly: boolean;\n /** Priority of the field */\n priority: number;\n /** Property editor used to edit values of this field */\n editor?: EditorDescription;\n /** Property renderer used to render values of this field */\n renderer?: RendererDescription;\n /** Extended data associated with this field */\n extendedData?: { [key: string]: unknown };\n}\n\n/**\n * Describes a single content field. A field is usually represented as a grid column\n * or a property pane row.\n *\n * @public\n */\nexport class Field {\n /** Category information */\n public category: CategoryDescription;\n /** Unique name */\n public name: string;\n /** Display label */\n public label: string;\n /** Description of this field's values data type */\n public type: TypeDescription;\n /** Are values in this field read-only */\n public isReadonly: boolean;\n /** Priority of the field. Higher priority fields should appear first in the UI */\n public priority: number;\n /** Property renderer used to render values of this field */\n public renderer?: RendererDescription;\n /** Property editor used to edit values of this field */\n public editor?: EditorDescription;\n /** Extended data associated with this field */\n public extendedData?: { [key: string]: unknown };\n /** Parent field */\n private _parent?: NestedContentField;\n\n /**\n * Creates an instance of [[Field]].\n * @param category Category information\n * @param name Unique name\n * @param label Display label\n * @param type Description of this field's values data type\n * @param isReadonly Are values in this field read-only\n * @param priority Priority of the field\n * @param editor Property editor used to edit values of this field\n * @param renderer Property renderer used to render values of this field\n * @param extendedData Extended data associated with this field\n * @deprecated in 5.0. Use an overload with `FieldProps` instead.\n */\n public constructor(\n category: CategoryDescription,\n name: string,\n label: string,\n type: TypeDescription,\n isReadonly: boolean,\n priority: number,\n editor?: EditorDescription,\n renderer?: RendererDescription,\n extendedData?: { [key: string]: unknown },\n );\n /** Creates an instance of [[Field]]. */\n public constructor(props: FieldProps);\n public constructor(\n categoryOrProps: CategoryDescription | FieldProps,\n name?: string,\n label?: string,\n type?: TypeDescription,\n isReadonly?: boolean,\n priority?: number,\n editor?: EditorDescription,\n renderer?: RendererDescription,\n extendedData?: { [key: string]: unknown },\n ) {\n /* istanbul ignore next */\n const props =\n \"category\" in categoryOrProps\n ? categoryOrProps\n : {\n category: categoryOrProps,\n name: name!,\n label: label!,\n type: type!,\n isReadonly: isReadonly!,\n priority: priority!,\n editor,\n renderer,\n extendedData,\n };\n this.category = props.category;\n this.name = props.name;\n this.label = props.label;\n this.type = props.type;\n this.isReadonly = props.isReadonly;\n this.priority = props.priority;\n this.editor = props.editor;\n this.renderer = props.renderer;\n this.extendedData = props.extendedData;\n }\n\n /**\n * Is this a [[PropertiesField]]\n */\n public isPropertiesField(): this is PropertiesField {\n return isPropertiesField(this);\n }\n\n /**\n * Is this a [[NestedContentField]]\n */\n public isNestedContentField(): this is NestedContentField {\n return isNestedContentField(this);\n }\n\n /**\n * Get parent\n */\n public get parent(): NestedContentField | undefined {\n return this._parent;\n }\n\n public clone() {\n const clone = new Field(this);\n clone.rebuildParentship(this.parent);\n return clone;\n }\n\n /** Serialize this object to JSON */\n public toJSON(): FieldJSON {\n return omitUndefined({\n category: this.category.name,\n name: this.name,\n label: this.label,\n type: this.type,\n isReadonly: this.isReadonly,\n priority: this.priority,\n renderer: this.renderer,\n editor: this.editor,\n extendedData: this.extendedData,\n });\n }\n\n /** Serialize this object to compressed JSON */\n public toCompressedJSON(_classesMap: { [id: string]: CompressedClassInfoJSON }): FieldJSON<string> {\n return this.toJSON();\n }\n\n /** Deserialize [[Field]] from JSON */\n public static fromJSON(json: FieldJSON | undefined, categories: CategoryDescription[]): Field | undefined {\n if (!json) {\n return undefined;\n }\n if (isPropertiesField(json)) {\n return PropertiesField.fromJSON(json, categories);\n }\n if (isNestedContentField(json)) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return NestedContentField.fromJSON(json, categories);\n }\n return new Field({\n ...json,\n category: Field.getCategoryFromFieldJson(json, categories),\n });\n }\n\n /** Deserialize a [[Field]] from compressed JSON. */\n public static fromCompressedJSON(\n json: FieldJSON<string> | undefined,\n classesMap: { [id: string]: CompressedClassInfoJSON },\n categories: CategoryDescription[],\n ): Field | undefined {\n if (!json) {\n return undefined;\n }\n if (isPropertiesField(json)) {\n return PropertiesField.fromCompressedJSON(json, classesMap, categories);\n }\n if (isNestedContentField(json)) {\n return NestedContentField.fromCompressedJSON(json, classesMap, categories);\n }\n return new Field({\n ...json,\n category: Field.getCategoryFromFieldJson(json, categories),\n });\n }\n\n protected static getCategoryFromFieldJson(fieldJson: FieldJSON, categories: CategoryDescription[]): CategoryDescription {\n const category = categories.find((c) => c.name === fieldJson.category);\n if (!category) {\n throw new PresentationError(PresentationStatus.InvalidArgument, `Invalid content field category`);\n }\n return category;\n }\n\n /** Resets field's parent. */\n public resetParentship(): void {\n this._parent = undefined;\n }\n\n /** Sets provided [[NestedContentField]] as parent of this field. */\n public rebuildParentship(parentField?: NestedContentField): void {\n this._parent = parentField;\n }\n\n /**\n * Get descriptor for this field.\n * @public\n */\n public getFieldDescriptor(): FieldDescriptor {\n return {\n type: FieldDescriptorType.Name,\n fieldName: this.name,\n } as NamedFieldDescriptor;\n }\n\n /**\n * Checks if this field matches given field descriptor\n * @see [[getFieldDescriptor]]\n */\n public matchesDescriptor(descriptor: FieldDescriptor) {\n return FieldDescriptor.isNamed(descriptor) && descriptor.fieldName === this.name;\n }\n}\n\n/**\n * Props for creating [[PropertiesField]].\n * @public\n */\ninterface PropertiesFieldProps extends FieldProps {\n /** A list of properties this field is created from */\n properties: Property[];\n}\n\n/**\n * Describes a content field that's based on one or more similar\n * EC properties.\n *\n * @public\n */\nexport class PropertiesField extends Field {\n /** A list of properties this field is created from */\n public properties: Property[];\n\n /**\n * Creates an instance of [[PropertiesField]].\n * @param category Category information\n * @param name Unique name\n * @param label Display label\n * @param type Description of this field's values data type\n * @param isReadonly Are values in this field read-only\n * @param priority Priority of the field\n * @param properties A list of properties this field is created from\n * @param editor Property editor used to edit values of this field\n * @param renderer Property renderer used to render values of this field\n * @deprecated in 5.0. Use an overload with `PropertiesFieldProps` instead.\n */\n public constructor(\n category: CategoryDescription,\n name: string,\n label: string,\n type: TypeDescription,\n isReadonly: boolean,\n priority: number,\n properties: Property[],\n editor?: EditorDescription,\n renderer?: RendererDescription,\n );\n /** Creates an instance of [[PropertiesField]]. */\n public constructor(props: PropertiesFieldProps);\n public constructor(\n categoryOrProps: CategoryDescription | PropertiesFieldProps,\n name?: string,\n label?: string,\n type?: TypeDescription,\n isReadonly?: boolean,\n priority?: number,\n properties?: Property[],\n editor?: EditorDescription,\n renderer?: RendererDescription,\n ) {\n /* istanbul ignore next */\n const props =\n \"category\" in categoryOrProps\n ? categoryOrProps\n : {\n category: categoryOrProps,\n name: name!,\n label: label!,\n type: type!,\n isReadonly: isReadonly!,\n priority: priority!,\n editor,\n renderer,\n properties: properties!,\n };\n super(props);\n this.properties = props.properties;\n }\n\n /** Is this a an array property field */\n public isArrayPropertiesField(): this is ArrayPropertiesField {\n return false;\n }\n /** Is this a an struct property field */\n public isStructPropertiesField(): this is StructPropertiesField {\n return false;\n }\n\n public override clone() {\n const clone = new PropertiesField(this);\n clone.rebuildParentship(this.parent);\n return clone;\n }\n\n /** Serialize this object to JSON */\n public override toJSON(): PropertiesFieldJSON {\n return {\n ...super.toJSON(),\n properties: this.properties,\n };\n }\n\n /** Serialize this object to compressed JSON */\n public override toCompressedJSON(classesMap: { [id: string]: CompressedClassInfoJSON }): PropertiesFieldJSON<string> {\n return {\n ...super.toCompressedJSON(classesMap),\n properties: this.properties.map((property) => Property.toCompressedJSON(property, classesMap)),\n };\n }\n\n /** Deserialize [[PropertiesField]] from JSON */\n public static override fromJSON(json: PropertiesFieldJSON | undefined, categories: CategoryDescription[]): PropertiesField | undefined {\n if (!json) {\n return undefined;\n }\n if (isArrayPropertiesField(json)) {\n return ArrayPropertiesField.fromJSON(json, categories);\n }\n if (isStructPropertiesField(json)) {\n return StructPropertiesField.fromJSON(json, categories);\n }\n return new PropertiesField({\n ...json,\n category: this.getCategoryFromFieldJson(json, categories),\n });\n }\n\n /**\n * Deserialize a [[PropertiesField]] from compressed JSON.\n * @public\n */\n public static override fromCompressedJSON(\n json: PropertiesFieldJSON<Id64String>,\n classesMap: { [id: string]: CompressedClassInfoJSON },\n categories: CategoryDescription[],\n ): PropertiesField | undefined {\n if (isArrayPropertiesField(json)) {\n return ArrayPropertiesField.fromCompressedJSON(json, classesMap, categories);\n }\n if (isStructPropertiesField(json)) {\n return StructPropertiesField.fromCompressedJSON(json, classesMap, categories);\n }\n return new PropertiesField({\n ...json,\n category: this.getCategoryFromFieldJson(json, categories),\n properties: json.properties.map((propertyJson) => fromCompressedPropertyJSON(propertyJson, classesMap)),\n });\n }\n\n /**\n * Get descriptor for this field.\n * @public\n */\n public override getFieldDescriptor(): FieldDescriptor {\n const pathFromPropertyToSelectClass = new Array<RelatedClassInfo>();\n let currAncestor = this.parent;\n while (currAncestor) {\n pathFromPropertyToSelectClass.push(...currAncestor.pathToPrimaryClass);\n currAncestor = currAncestor.parent;\n }\n return {\n type: FieldDescriptorType.Properties,\n pathFromSelectToPropertyClass: RelationshipPath.strip(RelationshipPath.reverse(pathFromPropertyToSelectClass)),\n properties: this.properties.map((p) => ({\n class: p.property.classInfo.name,\n name: p.property.name,\n })),\n } as PropertiesFieldDescriptor;\n }\n\n /**\n * Checks if this field matches given field descriptor\n * @see [[getFieldDescriptor]]\n */\n public override matchesDescriptor(descriptor: FieldDescriptor) {\n if (!FieldDescriptor.isProperties(descriptor)) {\n return false;\n }\n\n // ensure at least one descriptor property matches at least one property of this field\n if (\n !this.properties.some(({ property: fieldProperty }) =>\n descriptor.properties.some(\n (descriptorProperty) => fieldProperty.name === descriptorProperty.name && fieldProperty.classInfo.name === descriptorProperty.class,\n ),\n )\n ) {\n return false;\n }\n\n // ensure path from select to property in field and in descriptor matches\n let stepsCount = 0;\n let currAncestor = this.parent;\n while (currAncestor) {\n const pathFromCurrentToItsParent = RelationshipPath.reverse(currAncestor.pathToPrimaryClass);\n for (const step of pathFromCurrentToItsParent) {\n if (descriptor.pathFromSelectToPropertyClass.length < stepsCount + 1) {\n return false;\n }\n if (!RelatedClassInfo.equals(step, descriptor.pathFromSelectToPropertyClass[descriptor.pathFromSelectToPropertyClass.length - stepsCount - 1])) {\n return false;\n }\n ++stepsCount;\n }\n currAncestor = currAncestor.parent;\n }\n return true;\n }\n}\n\n/**\n * Props for creating [[ArrayPropertiesField]].\n * @public\n */\ninterface ArrayPropertiesFieldProps extends PropertiesFieldProps {\n itemsField: PropertiesField;\n}\n\n/**\n * Describes a content field that's based on one or more similar EC array properties.\n * @public\n */\nexport class ArrayPropertiesField extends PropertiesField {\n public itemsField: PropertiesField;\n\n /**\n * Creates an instance of [[ArrayPropertiesField]].\n * @deprecated in 5.0. Use an overload with `ArrayPropertiesFieldProps` instead.\n */\n public constructor(\n category: CategoryDescription,\n name: string,\n label: string,\n type: TypeDescription,\n itemsField: PropertiesField,\n isReadonly: boolean,\n priority: number,\n properties: Property[],\n editor?: EditorDescription,\n renderer?: RendererDescription,\n );\n /** Creates an instance of [[ArrayPropertiesField]]. */\n public constructor(props: ArrayPropertiesFieldProps);\n public constructor(\n categoryOrProps: CategoryDescription | ArrayPropertiesFieldProps,\n name?: string,\n label?: string,\n type?: TypeDescription,\n itemsField?: PropertiesField,\n isReadonly?: boolean,\n priority?: number,\n properties?: Property[],\n editor?: EditorDescription,\n renderer?: RendererDescription,\n ) {\n /* istanbul ignore next */\n const props =\n \"category\" in categoryOrProps\n ? categoryOrProps\n : {\n category: categoryOrProps,\n name: name!,\n label: label!,\n type: type!,\n isReadonly: isReadonly!,\n priority: priority!,\n editor,\n renderer,\n properties: properties!,\n itemsField: itemsField!,\n };\n super(props);\n this.itemsField = props.itemsField;\n }\n\n public override isArrayPropertiesField(): this is ArrayPropertiesField {\n return true;\n }\n\n public override clone() {\n const clone = new ArrayPropertiesField(this);\n clone.rebuildParentship(this.parent);\n return clone;\n }\n\n /** Serialize this object to JSON */\n public override toJSON(): ArrayPropertiesFieldJSON {\n return {\n ...super.toJSON(),\n itemsField: this.itemsField.toJSON(),\n };\n }\n\n /** Serialize this object to compressed JSON */\n public override toCompressedJSON(classesMap: { [id: string]: CompressedClassInfoJSON }): ArrayPropertiesFieldJSON<string> {\n return {\n ...super.toCompressedJSON(classesMap),\n itemsField: this.itemsField.toCompressedJSON(classesMap),\n };\n }\n\n /** Deserialize [[ArrayPropertiesField]] from JSON */\n public static override fromJSON(json: ArrayPropertiesFieldJSON, categories: CategoryDescription[]): ArrayPropertiesField {\n return new ArrayPropertiesField({\n ...json,\n category: this.getCategoryFromFieldJson(json, categories),\n itemsField: PropertiesField.fromJSON(json.itemsField, categories)!,\n });\n }\n\n /**\n * Deserialize an [[ArrayPropertiesField]] from compressed JSON.\n * @public\n */\n public static override fromCompressedJSON(\n json: ArrayPropertiesFieldJSON<Id64String>,\n classesMap: { [id: string]: CompressedClassInfoJSON },\n categories: CategoryDescription[],\n ): ArrayPropertiesField {\n return new ArrayPropertiesField({\n ...json,\n category: this.getCategoryFromFieldJson(json, categories),\n properties: json.properties.map((propertyJson) => fromCompressedPropertyJSON(propertyJson, classesMap)),\n itemsField: PropertiesField.fromCompressedJSON(json.itemsField, classesMap, categories)!,\n });\n }\n}\n\n/**\n * Props for creating [[StructPropertiesField]].\n * @public\n */\ninterface StructPropertiesFieldProps extends PropertiesFieldProps {\n memberFields: PropertiesField[];\n}\n\n/**\n * Describes a content field that's based on one or more similar EC struct properties.\n * @public\n */\nexport class StructPropertiesField extends PropertiesField {\n public memberFields: PropertiesField[];\n\n /**\n * Creates an instance of [[StructPropertiesField]].\n * @deprecated in 5.0. Use an overload with `StructPropertiesFieldProps` instead.\n */\n public constructor(\n category: CategoryDescription,\n name: string,\n label: string,\n type: TypeDescription,\n memberFields: PropertiesField[],\n isReadonly: boolean,\n priority: number,\n properties: Property[],\n editor?: EditorDescription,\n renderer?: RendererDescription,\n );\n /** Creates an instance of [[StructPropertiesField]]. */\n public constructor(props: StructPropertiesFieldProps);\n public constructor(\n categoryOrProps: CategoryDescription | StructPropertiesFieldProps,\n name?: string,\n label?: string,\n type?: TypeDescription,\n memberFields?: PropertiesField[],\n isReadonly?: boolean,\n priority?: number,\n properties?: Property[],\n editor?: EditorDescription,\n renderer?: RendererDescription,\n ) {\n /* istanbul ignore next */\n const props =\n \"category\" in categoryOrProps\n ? categoryOrProps\n : {\n category: categoryOrProps,\n name: name!,\n label: label!,\n type: type!,\n isReadonly: isReadonly!,\n priority: priority!,\n editor,\n renderer,\n properties: properties!,\n memberFields: memberFields!,\n };\n super(props);\n this.memberFields = props.memberFields;\n }\n\n public override isStructPropertiesField(): this is StructPropertiesField {\n return true;\n }\n\n public override clone() {\n const clone = new StructPropertiesField(this);\n clone.rebuildParentship(this.parent);\n return clone;\n }\n\n /** Serialize this object to JSON */\n public override toJSON(): StructPropertiesFieldJSON {\n return {\n ...super.toJSON(),\n memberFields: this.memberFields.map((m) => m.toJSON()),\n };\n }\n\n /** Serialize this object to compressed JSON */\n public override toCompressedJSON(classesMap: { [id: string]: CompressedClassInfoJSON }): StructPropertiesFieldJSON<string> {\n return {\n ...super.toCompressedJSON(classesMap),\n memberFields: this.memberFields.map((m) => m.toCompressedJSON(classesMap)),\n };\n }\n\n /** Deserialize [[StructPropertiesField]] from JSON */\n public static override fromJSON(json: StructPropertiesFieldJSON, categories: CategoryDescription[]): StructPropertiesField {\n return new StructPropertiesField({\n ...json,\n category: this.getCategoryFromFieldJson(json, categories),\n memberFields: json.memberFields.map((m) => PropertiesField.fromJSON(m, categories)!),\n });\n }\n\n /**\n * Deserialize a [[StructPropertiesField]] from compressed JSON.\n * @public\n */\n public static override fromCompressedJSON(\n json: StructPropertiesFieldJSON<Id64String>,\n classesMap: { [id: string]: CompressedClassInfoJSON },\n categories: CategoryDescription[],\n ): StructPropertiesField {\n return new StructPropertiesField({\n ...json,\n category: this.getCategoryFromFieldJson(json, categories),\n properties: json.properties.map((propertyJson) => fromCompressedPropertyJSON(propertyJson, classesMap)),\n memberFields: json.memberFields.map((m) => PropertiesField.fromCompressedJSON(m, classesMap, categories)!),\n });\n }\n}\n\n/**\n * Props for creating [[NestedContentField]].\n * @public\n */\ninterface NestedContentFieldProps extends FieldProps {\n /** Information about an ECClass whose properties are nested inside this field */\n contentClassInfo: ClassInfo;\n /** Relationship path to [Primary class]($docs/presentation/content/Terminology#primary-class) */\n pathToPrimaryClass: RelationshipPath;\n /**\n * Meaning of the relationship between the [primary class]($docs/presentation/content/Terminology#primary-class)\n * and content class of this field.\n *\n * The value is set up through [[RelatedPropertiesSpecification.relationshipMeaning]] attribute when setting up\n * presentation rules for creating the content.\n */\n relationshipMeaning?: RelationshipMeaning;\n /**\n * When content descriptor is requested in a polymorphic fashion, fields get created if at least one of the concrete classes\n * has it. In certain situations it's necessary to know which concrete classes caused that and this attribute is\n * here to help.\n *\n * **Example:** There's a base class `A` and it has two derived classes `B` and `C` and class `B` has a relationship to class `D`.\n * When content descriptor is requested for class `A` polymorphically, it's going to contain fields for all properties of class `B`,\n * class `C` and a nested content field for the `B -> D` relationship. The nested content field's `actualPrimaryClassIds` attribute\n * will contain ID of class `B`, identifying that only this specific class has the relationship.\n */\n actualPrimaryClassIds?: Id64String[];\n /** Contained nested fields */\n nestedFields: Field[];\n /** Flag specifying whether field should be expanded */\n autoExpand?: boolean;\n}\n\n/**\n * Describes a content field that contains [Nested content]($docs/presentation/content/Terminology#nested-content).\n *\n * @public\n */\nexport class NestedContentField extends Field {\n /** Information about an ECClass whose properties are nested inside this field */\n public contentClassInfo: ClassInfo;\n /** Relationship path to [Primary class]($docs/presentation/content/Terminology#primary-class) */\n public pathToPrimaryClass: RelationshipPath;\n /**\n * Meaning of the relationship between the [primary class]($docs/presentation/content/Terminology#primary-class)\n * and content class of this field.\n *\n * The value is set up through [[RelatedPropertiesSpecification.relationshipMeaning]] attribute when setting up\n * presentation rules for creating the content.\n */\n public relationshipMeaning: RelationshipMeaning;\n /**\n * When content descriptor is requested in a polymorphic fashion, fields get created if at least one of the concrete classes\n * has it. In certain situations it's necessary to know which concrete classes caused that and this attribute is\n * here to help.\n *\n * **Example:** There's a base class `A` and it has two derived classes `B` and `C` and class `B` has a relationship to class `D`.\n * When content descriptor is requested for class `A` polymorphically, it's going to contain fields for all properties of class `B`,\n * class `C` and a nested content field for the `B -> D` relationship. The nested content field's `actualPrimaryClassIds` attribute\n * will contain ID of class `B`, identifying that only this specific class has the relationship.\n */\n public actualPrimaryClassIds: Id64String[];\n /** Contained nested fields */\n public nestedFields: Field[];\n /** Flag specifying whether field should be expanded */\n public autoExpand?: boolean;\n\n /**\n * Creates an instance of [[NestedContentField]].\n * @param category Category information\n * @param name Unique name\n * @param label Display label\n * @param type Description of this field's values data type\n * @param isReadonly Are values in this field read-only\n * @param priority Priority of the field\n * @param contentClassInfo Information about an ECClass whose properties are nested inside this field\n * @param pathToPrimaryClass Relationship path to [Primary class]($docs/presentation/content/Terminology#primary-class)\n * @param nestedFields Contained nested fields\n * @param editor Property editor used to edit values of this field\n * @param autoExpand Flag specifying whether field should be expanded\n * @param relationshipMeaning RelationshipMeaning of the field\n * @param renderer Property renderer used to render values of this field\n * @deprecated in 5.0. Use an overload with `NestedContentFieldProps` instead.\n */\n public constructor(\n category: CategoryDescription,\n name: string,\n label: string,\n type: TypeDescription,\n isReadonly: boolean,\n priority: number,\n contentClassInfo: ClassInfo,\n pathToPrimaryClass: RelationshipPath,\n nestedFields: Field[],\n editor?: EditorDescription,\n autoExpand?: boolean,\n renderer?: RendererDescription,\n );\n /** Creates an instance of [[NestedContentField]]. */\n public constructor(props: NestedContentFieldProps);\n public constructor(\n categoryOrProps: CategoryDescription | NestedContentFieldProps,\n name?: string,\n label?: string,\n type?: TypeDescription,\n isReadonly?: boolean,\n priority?: number,\n contentClassInfo?: ClassInfo,\n pathToPrimaryClass?: RelationshipPath,\n nestedFields?: Field[],\n editor?: EditorDescription,\n autoExpand?: boolean,\n renderer?: RendererDescription,\n ) {\n /* istanbul ignore next */\n const props =\n \"category\" in categoryOrProps\n ? categoryOrProps\n : {\n category: categoryOrProps,\n name: name!,\n label: label!,\n type: type!,\n isReadonly: isReadonly!,\n priority: priority!,\n editor,\n renderer,\n contentClassInfo: contentClassInfo!,\n pathToPrimaryClass: pathToPrimaryClass!,\n nestedFields: nestedFields!,\n autoExpand,\n };\n super(props);\n this.contentClassInfo = props.contentClassInfo;\n this.pathToPrimaryClass = props.pathToPrimaryClass;\n this.relationshipMeaning = props.relationshipMeaning ?? RelationshipMeaning.RelatedInstance;\n this.nestedFields = props.nestedFields;\n this.autoExpand = props.autoExpand;\n this.actualPrimaryClassIds = props.actualPrimaryClassIds ?? [];\n }\n\n public override clone() {\n const clone = new NestedContentField({\n ...this,\n nestedFields: this.nestedFields.map((n) => n.clone()),\n });\n clone.rebuildParentship(this.parent);\n return clone;\n }\n\n /**\n * Get field by its name\n * @param name Name of the field to find\n * @param recurse Recurse into nested fields\n */\n public getFieldByName(name: string, recurse?: boolean): Field | undefined {\n return getFieldByName(this.nestedFields, name, recurse);\n }\n\n /** Serialize this object to JSON */\n public override toJSON(): NestedContentFieldJSON {\n return {\n ...super.toJSON(),\n contentClassInfo: this.contentClassInfo,\n pathToPrimaryClass: this.pathToPrimaryClass,\n relationshipMeaning: this.relationshipMeaning,\n actualPrimaryClassIds: this.actualPrimaryClassIds,\n nestedFields: this.nestedFields.map((field: Field) => field.toJSON()),\n ...(this.autoExpand ? { autoExpand: true } : undefined),\n };\n }\n\n /** Serialize this object to compressed JSON */\n public override toCompressedJSON(classesMap: { [id: string]: CompressedClassInfoJSON }): NestedContentFieldJSON<string> {\n const { id, ...leftOverInfo } = this.contentClassInfo;\n classesMap[id] = leftOverInfo;\n return {\n ...super.toCompressedJSON(classesMap),\n contentClassInfo: id,\n pathToPrimaryClass: this.pathToPrimaryClass.map((classInfo) => RelatedClassInfo.toCompressedJSON(classInfo, classesMap)),\n nestedFields: this.nestedFields.map((field) => field.toCompressedJSON(classesMap)),\n };\n }\n\n /**\n * Deserialize [[NestedContentField]] from JSON\n * @deprecated in 3.x. Use [[NestedContentField.fromCompressedJSON]]\n */\n public static override fromJSON(json: NestedContentFieldJSON | undefined, categories: CategoryDescription[]): NestedContentField | undefined {\n if (!json) {\n return undefined;\n }\n return new NestedContentField({\n ...json,\n ...this.fromCommonJSON(json, categories),\n nestedFields: json.nestedFields\n .map((nestedFieldJson: FieldJSON) => Field.fromJSON(nestedFieldJson, categories))\n .filter((nestedField): nestedField is Field => !!nestedField),\n });\n }\n\n /** Deserialize a [[NestedContentField]] from compressed JSON. */\n public static override fromCompressedJSON(\n json: NestedContentFieldJSON<Id64String>,\n classesMap: { [id: string]: CompressedClassInfoJSON },\n categories: CategoryDescription[],\n ) {\n assert(classesMap.hasOwnProperty(json.contentClassInfo));\n return new NestedContentField({\n ...json,\n ...this.fromCommonJSON(json, categories),\n category: this.getCategoryFromFieldJson(json, categories),\n nestedFields: json.nestedFields\n .map((nestedFieldJson: FieldJSON) => Field.fromCompressedJSON(nestedFieldJson, classesMap, categories))\n .filter((nestedField): nestedField is Field => !!nestedField),\n contentClassInfo: { id: json.contentClassInfo, ...classesMap[json.contentClassInfo] },\n pathToPrimaryClass: json.pathToPrimaryClass.map((stepJson) => RelatedClassInfo.fromCompressedJSON(stepJson, classesMap)),\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n private static fromCommonJSON(json: NestedContentFieldJSON<ClassInfoJSON | string>, categories: CategoryDescription[]) {\n return {\n category: this.getCategoryFromFieldJson(json, categories),\n relationshipMeaning: json.relationshipMeaning ?? RelationshipMeaning.RelatedInstance,\n actualPrimaryClassIds: json.actualPrimaryClassIds ?? [],\n autoExpand: json.autoExpand,\n };\n }\n\n /** Resets parent of this field and all nested fields. */\n public override resetParentship(): void {\n super.resetParentship();\n for (const nestedField of this.nestedFields) {\n nestedField.resetParentship();\n }\n }\n\n /**\n * Sets provided [[NestedContentField]] as parent of this fields and recursively updates\n * all nested fields parents.\n */\n public override rebuildParentship(parentField?: NestedContentField): void {\n super.rebuildParentship(parentField);\n for (const nestedField of this.nestedFields) {\n nestedField.rebuildParentship(this);\n }\n }\n}\n\n/** @internal */\nexport const getFieldByName = (fields: Field[], name: string | undefined, recurse?: boolean): Field | undefined => {\n if (name) {\n for (const field of fields) {\n if (field.name === name) {\n return field;\n }\n\n if (recurse && field.isNestedContentField()) {\n const nested = getFieldByName(field.nestedFields, name, recurse);\n if (nested) {\n return nested;\n }\n }\n }\n }\n return undefined;\n};\n\n/** @internal */\nexport const getFieldByDescriptor = (fields: Field[], fieldDescriptor: FieldDescriptor, recurse?: boolean): Field | undefined => {\n for (const field of fields) {\n if (field.matchesDescriptor(fieldDescriptor)) {\n return field;\n }\n\n if (recurse && field.isNestedContentField()) {\n const nested = getFieldByDescriptor(field.nestedFields, fieldDescriptor, recurse);\n if (nested) {\n return nested;\n }\n }\n }\n return undefined;\n};\n\n/**\n * Types of different field descriptors.\n * @public\n */\nexport enum FieldDescriptorType {\n Name = \"name\",\n Properties = \"properties\",\n}\n\n/**\n * Base for a field descriptor\n * @public\n */\nexport interface FieldDescriptorBase {\n type: FieldDescriptorType;\n}\n\n/**\n * A union of all possible field descriptor types\n * @public\n */\nexport type FieldDescriptor = NamedFieldDescriptor | PropertiesFieldDescriptor;\n\n/** @public */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport namespace FieldDescriptor {\n /** Is this a named field descriptor */\n export function isNamed(d: FieldDescriptor): d is NamedFieldDescriptor {\n return d.type === FieldDescriptorType.Name;\n }\n /** Is this a properties field descriptor */\n export function isProperties(d: FieldDescriptor): d is PropertiesFieldDescriptor {\n return d.type === FieldDescriptorType.Properties;\n }\n}\n\n/**\n * Field descriptor that identifies a content field by its unique name.\n * @public\n */\nexport interface NamedFieldDescriptor extends FieldDescriptorBase {\n type: FieldDescriptorType.Name;\n fieldName: string;\n}\n\n/**\n * Field descriptor that identifies a properties field using a list of\n * properties that the field contains.\n * @public\n */\nexport interface PropertiesFieldDescriptor extends FieldDescriptorBase {\n type: FieldDescriptorType.Properties;\n pathFromSelectToPropertyClass: StrippedRelationshipPath;\n /**\n * A list of properties that describe the field. At least one property in the list must\n * match at least one property in the field for the descriptor to be considered matching.\n */\n properties: Array<{\n /** Full class name */\n class: string;\n /** Property name */\n name: string;\n }>;\n}\n\nfunction fromCompressedPropertyJSON(compressedPropertyJSON: PropertyJSON<string>, classesMap: { [id: string]: CompressedClassInfoJSON }): Property {\n return {\n property: fromCompressedPropertyInfoJSON(compressedPropertyJSON.property, classesMap),\n };\n}\n\nfunction fromCompressedPropertyInfoJSON(compressedPropertyJSON: PropertyInfoJSON<string>, classesMap: { [id: string]: CompressedClassInfoJSON }): PropertyInfo {\n assert(classesMap.hasOwnProperty(compressedPropertyJSON.classInfo));\n\n const { navigationPropertyInfo, ...leftOverPropertyJSON } = compressedPropertyJSON;\n\n return {\n ...leftOverPropertyJSON,\n classInfo: { id: compressedPropertyJSON.classInfo, ...classesMap[compressedPropertyJSON.classInfo] },\n ...(navigationPropertyInfo ? { navigationPropertyInfo: NavigationPropertyInfo.fromCompressedJSON(navigationPropertyInfo, classesMap) } : undefined),\n };\n}\n"]}
1
+ {"version":3,"file":"Fields.js","sourceRoot":"","sources":["../../../../src/presentation-common/content/Fields.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Content\n */\n\nimport { assert, Id64String } from \"@itwin/core-bentley\";\nimport {\n ClassInfo,\n CompressedClassInfoJSON,\n NavigationPropertyInfo,\n PropertyInfo,\n PropertyInfoJSON,\n RelatedClassInfo,\n RelationshipPath,\n RelationshipPathJSON,\n StrippedRelationshipPath,\n} from \"../EC\";\nimport { PresentationError, PresentationStatus } from \"../Error\";\nimport { RelationshipMeaning } from \"../rules/content/modifiers/RelatedPropertiesSpecification\";\nimport { omitUndefined } from \"../Utils\";\nimport { CategoryDescription } from \"./Category\";\nimport { EditorDescription } from \"./Editor\";\nimport { Property, PropertyJSON } from \"./Property\";\nimport { RendererDescription } from \"./Renderer\";\nimport { TypeDescription } from \"./TypeDescription\";\n\n/**\n * Data structure for a [[Field]] serialized to JSON.\n * @public\n */\nexport interface BaseFieldJSON {\n category: string;\n name: string;\n label: string;\n type: TypeDescription;\n isReadonly: boolean;\n priority: number;\n renderer?: RendererDescription;\n editor?: EditorDescription;\n extendedData?: { [key: string]: unknown };\n}\n\n/**\n * Data structure for a [[PropertiesField]] serialized to JSON.\n * @public\n */\n\nexport interface PropertiesFieldJSON<TClassInfoJSON = ClassInfo> extends BaseFieldJSON {\n properties: PropertyJSON<TClassInfoJSON>[];\n}\n\n/**\n * Data structure for a [[ArrayPropertiesField]] serialized to JSON.\n * @public\n */\nexport interface ArrayPropertiesFieldJSON<TClassInfoJSON = ClassInfo> extends PropertiesFieldJSON<TClassInfoJSON> {\n itemsField: PropertiesFieldJSON<TClassInfoJSON>;\n}\n\n/**\n * Data structure for a [[StructPropertiesField]] serialized to JSON.\n * @public\n */\nexport interface StructPropertiesFieldJSON<TClassInfoJSON = ClassInfo> extends PropertiesFieldJSON<TClassInfoJSON> {\n memberFields: PropertiesFieldJSON<TClassInfoJSON>[];\n}\n\n/**\n * Data structure for a [[NestedContentField]] serialized to JSON.\n * @public\n */\nexport interface NestedContentFieldJSON<TClassInfoJSON = ClassInfo> extends BaseFieldJSON {\n contentClassInfo: TClassInfoJSON;\n pathToPrimaryClass: RelationshipPathJSON<TClassInfoJSON>;\n relationshipMeaning?: RelationshipMeaning;\n actualPrimaryClassIds?: Id64String[];\n autoExpand?: boolean;\n nestedFields: FieldJSON<TClassInfoJSON>[];\n}\n\n/**\n * JSON representation of a [[Field]]\n * @public\n */\nexport type FieldJSON<TClassInfoJSON = ClassInfo> =\n | BaseFieldJSON\n | PropertiesFieldJSON<TClassInfoJSON>\n | ArrayPropertiesFieldJSON<TClassInfoJSON>\n | StructPropertiesFieldJSON<TClassInfoJSON>\n | NestedContentFieldJSON<TClassInfoJSON>;\n\n/** Is supplied field a properties field. */\nfunction isPropertiesField(field: FieldJSON): field is PropertiesFieldJSON<any>;\nfunction isPropertiesField(field: Field): field is PropertiesField;\nfunction isPropertiesField(field: FieldJSON | Field) {\n return !!(field as any).properties;\n}\n\n/** Is supplied field an array properties field. */\nfunction isArrayPropertiesField(field: FieldJSON): field is ArrayPropertiesFieldJSON<any>;\nfunction isArrayPropertiesField(field: Field): field is ArrayPropertiesField;\nfunction isArrayPropertiesField(field: FieldJSON | Field) {\n return !!(field as ArrayPropertiesFieldJSON).itemsField;\n}\n\n/** Is supplied field an array properties field. */\nfunction isStructPropertiesField(field: FieldJSON): field is StructPropertiesFieldJSON<any>;\nfunction isStructPropertiesField(field: Field): field is StructPropertiesField;\nfunction isStructPropertiesField(field: FieldJSON | Field) {\n return !!(field as StructPropertiesFieldJSON).memberFields;\n}\n\n/** Is supplied field a nested content field. */\nfunction isNestedContentField(field: FieldJSON): field is NestedContentFieldJSON<any>;\nfunction isNestedContentField(field: Field): field is NestedContentField;\nfunction isNestedContentField(field: FieldJSON | Field) {\n return !!(field as any).nestedFields;\n}\n\n/**\n * Props for creating [[Field]].\n * @public\n */\ninterface FieldProps {\n /** Category information */\n category: CategoryDescription;\n /** Unique name */\n name: string;\n /** Display label */\n label: string;\n /** Description of this field's values data type */\n type: TypeDescription;\n /** Are values in this field read-only */\n isReadonly: boolean;\n /** Priority of the field */\n priority: number;\n /** Property editor used to edit values of this field */\n editor?: EditorDescription;\n /** Property renderer used to render values of this field */\n renderer?: RendererDescription;\n /** Extended data associated with this field */\n extendedData?: { [key: string]: unknown };\n}\n\n/**\n * Describes a single content field. A field is usually represented as a grid column\n * or a property pane row.\n *\n * @public\n */\nexport class Field {\n /** Category information */\n public category: CategoryDescription;\n /** Unique name */\n public name: string;\n /** Display label */\n public label: string;\n /** Description of this field's values data type */\n public type: TypeDescription;\n /** Are values in this field read-only */\n public isReadonly: boolean;\n /** Priority of the field. Higher priority fields should appear first in the UI */\n public priority: number;\n /** Property renderer used to render values of this field */\n public renderer?: RendererDescription;\n /** Property editor used to edit values of this field */\n public editor?: EditorDescription;\n /** Extended data associated with this field */\n public extendedData?: { [key: string]: unknown };\n /** Parent field */\n private _parent?: NestedContentField;\n\n /**\n * Creates an instance of [[Field]].\n * @param category Category information\n * @param name Unique name\n * @param label Display label\n * @param type Description of this field's values data type\n * @param isReadonly Are values in this field read-only\n * @param priority Priority of the field\n * @param editor Property editor used to edit values of this field\n * @param renderer Property renderer used to render values of this field\n * @param extendedData Extended data associated with this field\n * @deprecated in 5.0. Use an overload with `FieldProps` instead.\n */\n public constructor(\n category: CategoryDescription,\n name: string,\n label: string,\n type: TypeDescription,\n isReadonly: boolean,\n priority: number,\n editor?: EditorDescription,\n renderer?: RendererDescription,\n extendedData?: { [key: string]: unknown },\n );\n /** Creates an instance of [[Field]]. */\n public constructor(props: FieldProps);\n public constructor(\n categoryOrProps: CategoryDescription | FieldProps,\n name?: string,\n label?: string,\n type?: TypeDescription,\n isReadonly?: boolean,\n priority?: number,\n editor?: EditorDescription,\n renderer?: RendererDescription,\n extendedData?: { [key: string]: unknown },\n ) {\n /* istanbul ignore next */\n const props =\n \"category\" in categoryOrProps\n ? categoryOrProps\n : {\n category: categoryOrProps,\n name: name!,\n label: label!,\n type: type!,\n isReadonly: isReadonly!,\n priority: priority!,\n editor,\n renderer,\n extendedData,\n };\n this.category = props.category;\n this.name = props.name;\n this.label = props.label;\n this.type = props.type;\n this.isReadonly = props.isReadonly;\n this.priority = props.priority;\n this.editor = props.editor;\n this.renderer = props.renderer;\n this.extendedData = props.extendedData;\n }\n\n /**\n * Is this a [[PropertiesField]]\n */\n public isPropertiesField(): this is PropertiesField {\n return isPropertiesField(this);\n }\n\n /**\n * Is this a [[NestedContentField]]\n */\n public isNestedContentField(): this is NestedContentField {\n return isNestedContentField(this);\n }\n\n /**\n * Get parent\n */\n public get parent(): NestedContentField | undefined {\n return this._parent;\n }\n\n public clone() {\n const clone = new Field(this);\n clone.rebuildParentship(this.parent);\n return clone;\n }\n\n /** Serialize this object to JSON */\n public toJSON(): FieldJSON {\n return omitUndefined({\n category: this.category.name,\n name: this.name,\n label: this.label,\n type: this.type,\n isReadonly: this.isReadonly,\n priority: this.priority,\n renderer: this.renderer,\n editor: this.editor,\n extendedData: this.extendedData,\n });\n }\n\n /** Serialize this object to compressed JSON */\n public toCompressedJSON(_classesMap: { [id: string]: CompressedClassInfoJSON }): FieldJSON<string> {\n return this.toJSON();\n }\n\n /** Deserialize [[Field]] from JSON */\n public static fromJSON(json: FieldJSON | undefined, categories: CategoryDescription[]): Field | undefined {\n if (!json) {\n return undefined;\n }\n if (isPropertiesField(json)) {\n return PropertiesField.fromJSON(json, categories);\n }\n if (isNestedContentField(json)) {\n return new NestedContentField({\n ...json,\n ...fromNestedContentFieldJSON(json, categories),\n nestedFields: json.nestedFields\n .map((nestedFieldJson: FieldJSON) => Field.fromJSON(nestedFieldJson, categories))\n .filter((nestedField): nestedField is Field => !!nestedField),\n });\n }\n return new Field({\n ...json,\n category: this.getCategoryFromFieldJson(json, categories),\n });\n }\n\n /** Deserialize a [[Field]] from compressed JSON. */\n public static fromCompressedJSON(\n json: FieldJSON<string> | undefined,\n classesMap: { [id: string]: CompressedClassInfoJSON },\n categories: CategoryDescription[],\n ): Field | undefined {\n if (!json) {\n return undefined;\n }\n if (isPropertiesField(json)) {\n return PropertiesField.fromCompressedJSON(json, classesMap, categories);\n }\n if (isNestedContentField(json)) {\n return NestedContentField.fromCompressedJSON(json, classesMap, categories);\n }\n return new Field({\n ...json,\n category: this.getCategoryFromFieldJson(json, categories),\n });\n }\n\n protected static getCategoryFromFieldJson(fieldJson: FieldJSON, categories: CategoryDescription[]): CategoryDescription {\n return getCategoryFromFieldJson(fieldJson, categories);\n }\n\n /** Resets field's parent. */\n public resetParentship(): void {\n this._parent = undefined;\n }\n\n /** Sets provided [[NestedContentField]] as parent of this field. */\n public rebuildParentship(parentField?: NestedContentField): void {\n this._parent = parentField;\n }\n\n /**\n * Get descriptor for this field.\n * @public\n */\n public getFieldDescriptor(): FieldDescriptor {\n return {\n type: FieldDescriptorType.Name,\n fieldName: this.name,\n } as NamedFieldDescriptor;\n }\n\n /**\n * Checks if this field matches given field descriptor\n * @see [[getFieldDescriptor]]\n */\n public matchesDescriptor(descriptor: FieldDescriptor) {\n return FieldDescriptor.isNamed(descriptor) && descriptor.fieldName === this.name;\n }\n}\n\n/**\n * Props for creating [[PropertiesField]].\n * @public\n */\ninterface PropertiesFieldProps extends FieldProps {\n /** A list of properties this field is created from */\n properties: Property[];\n}\n\n/**\n * Describes a content field that's based on one or more similar\n * EC properties.\n *\n * @public\n */\nexport class PropertiesField extends Field {\n /** A list of properties this field is created from */\n public properties: Property[];\n\n /**\n * Creates an instance of [[PropertiesField]].\n * @param category Category information\n * @param name Unique name\n * @param label Display label\n * @param type Description of this field's values data type\n * @param isReadonly Are values in this field read-only\n * @param priority Priority of the field\n * @param properties A list of properties this field is created from\n * @param editor Property editor used to edit values of this field\n * @param renderer Property renderer used to render values of this field\n * @deprecated in 5.0. Use an overload with `PropertiesFieldProps` instead.\n */\n public constructor(\n category: CategoryDescription,\n name: string,\n label: string,\n type: TypeDescription,\n isReadonly: boolean,\n priority: number,\n properties: Property[],\n editor?: EditorDescription,\n renderer?: RendererDescription,\n );\n /** Creates an instance of [[PropertiesField]]. */\n public constructor(props: PropertiesFieldProps);\n public constructor(\n categoryOrProps: CategoryDescription | PropertiesFieldProps,\n name?: string,\n label?: string,\n type?: TypeDescription,\n isReadonly?: boolean,\n priority?: number,\n properties?: Property[],\n editor?: EditorDescription,\n renderer?: RendererDescription,\n ) {\n /* istanbul ignore next */\n const props =\n \"category\" in categoryOrProps\n ? categoryOrProps\n : {\n category: categoryOrProps,\n name: name!,\n label: label!,\n type: type!,\n isReadonly: isReadonly!,\n priority: priority!,\n editor,\n renderer,\n properties: properties!,\n };\n super(props);\n this.properties = props.properties;\n }\n\n /** Is this a an array property field */\n public isArrayPropertiesField(): this is ArrayPropertiesField {\n return false;\n }\n /** Is this a an struct property field */\n public isStructPropertiesField(): this is StructPropertiesField {\n return false;\n }\n\n public override clone() {\n const clone = new PropertiesField(this);\n clone.rebuildParentship(this.parent);\n return clone;\n }\n\n /** Serialize this object to JSON */\n public override toJSON(): PropertiesFieldJSON {\n return {\n ...super.toJSON(),\n properties: this.properties,\n };\n }\n\n /** Serialize this object to compressed JSON */\n public override toCompressedJSON(classesMap: { [id: string]: CompressedClassInfoJSON }): PropertiesFieldJSON<string> {\n return {\n ...super.toCompressedJSON(classesMap),\n properties: this.properties.map((property) => Property.toCompressedJSON(property, classesMap)),\n };\n }\n\n /** Deserialize [[PropertiesField]] from JSON */\n public static override fromJSON(json: PropertiesFieldJSON | undefined, categories: CategoryDescription[]): PropertiesField | undefined {\n if (!json) {\n return undefined;\n }\n if (isArrayPropertiesField(json)) {\n return ArrayPropertiesField.fromJSON(json, categories);\n }\n if (isStructPropertiesField(json)) {\n return StructPropertiesField.fromJSON(json, categories);\n }\n return new PropertiesField({\n ...json,\n category: this.getCategoryFromFieldJson(json, categories),\n });\n }\n\n /**\n * Deserialize a [[PropertiesField]] from compressed JSON.\n * @public\n */\n public static override fromCompressedJSON(\n json: PropertiesFieldJSON<Id64String>,\n classesMap: { [id: string]: CompressedClassInfoJSON },\n categories: CategoryDescription[],\n ): PropertiesField | undefined {\n if (isArrayPropertiesField(json)) {\n return ArrayPropertiesField.fromCompressedJSON(json, classesMap, categories);\n }\n if (isStructPropertiesField(json)) {\n return StructPropertiesField.fromCompressedJSON(json, classesMap, categories);\n }\n return new PropertiesField({\n ...json,\n category: this.getCategoryFromFieldJson(json, categories),\n properties: json.properties.map((propertyJson) => fromCompressedPropertyJSON(propertyJson, classesMap)),\n });\n }\n\n /**\n * Get descriptor for this field.\n * @public\n */\n public override getFieldDescriptor(): FieldDescriptor {\n const pathFromPropertyToSelectClass = new Array<RelatedClassInfo>();\n let currAncestor = this.parent;\n while (currAncestor) {\n pathFromPropertyToSelectClass.push(...currAncestor.pathToPrimaryClass);\n currAncestor = currAncestor.parent;\n }\n return {\n type: FieldDescriptorType.Properties,\n pathFromSelectToPropertyClass: RelationshipPath.strip(RelationshipPath.reverse(pathFromPropertyToSelectClass)),\n properties: this.properties.map((p) => ({\n class: p.property.classInfo.name,\n name: p.property.name,\n })),\n } as PropertiesFieldDescriptor;\n }\n\n /**\n * Checks if this field matches given field descriptor\n * @see [[getFieldDescriptor]]\n */\n public override matchesDescriptor(descriptor: FieldDescriptor) {\n if (!FieldDescriptor.isProperties(descriptor)) {\n return false;\n }\n\n // ensure at least one descriptor property matches at least one property of this field\n if (\n !this.properties.some(({ property: fieldProperty }) =>\n descriptor.properties.some(\n (descriptorProperty) => fieldProperty.name === descriptorProperty.name && fieldProperty.classInfo.name === descriptorProperty.class,\n ),\n )\n ) {\n return false;\n }\n\n // ensure path from select to property in field and in descriptor matches\n let stepsCount = 0;\n let currAncestor = this.parent;\n while (currAncestor) {\n const pathFromCurrentToItsParent = RelationshipPath.reverse(currAncestor.pathToPrimaryClass);\n for (const step of pathFromCurrentToItsParent) {\n if (descriptor.pathFromSelectToPropertyClass.length < stepsCount + 1) {\n return false;\n }\n if (!RelatedClassInfo.equals(step, descriptor.pathFromSelectToPropertyClass[descriptor.pathFromSelectToPropertyClass.length - stepsCount - 1])) {\n return false;\n }\n ++stepsCount;\n }\n currAncestor = currAncestor.parent;\n }\n return true;\n }\n}\n\n/**\n * Props for creating [[ArrayPropertiesField]].\n * @public\n */\ninterface ArrayPropertiesFieldProps extends PropertiesFieldProps {\n itemsField: PropertiesField;\n}\n\n/**\n * Describes a content field that's based on one or more similar EC array properties.\n * @public\n */\nexport class ArrayPropertiesField extends PropertiesField {\n public itemsField: PropertiesField;\n\n /**\n * Creates an instance of [[ArrayPropertiesField]].\n * @deprecated in 5.0. Use an overload with `ArrayPropertiesFieldProps` instead.\n */\n public constructor(\n category: CategoryDescription,\n name: string,\n label: string,\n type: TypeDescription,\n itemsField: PropertiesField,\n isReadonly: boolean,\n priority: number,\n properties: Property[],\n editor?: EditorDescription,\n renderer?: RendererDescription,\n );\n /** Creates an instance of [[ArrayPropertiesField]]. */\n public constructor(props: ArrayPropertiesFieldProps);\n public constructor(\n categoryOrProps: CategoryDescription | ArrayPropertiesFieldProps,\n name?: string,\n label?: string,\n type?: TypeDescription,\n itemsField?: PropertiesField,\n isReadonly?: boolean,\n priority?: number,\n properties?: Property[],\n editor?: EditorDescription,\n renderer?: RendererDescription,\n ) {\n /* istanbul ignore next */\n const props =\n \"category\" in categoryOrProps\n ? categoryOrProps\n : {\n category: categoryOrProps,\n name: name!,\n label: label!,\n type: type!,\n isReadonly: isReadonly!,\n priority: priority!,\n editor,\n renderer,\n properties: properties!,\n itemsField: itemsField!,\n };\n super(props);\n this.itemsField = props.itemsField;\n }\n\n public override isArrayPropertiesField(): this is ArrayPropertiesField {\n return true;\n }\n\n public override clone() {\n const clone = new ArrayPropertiesField(this);\n clone.rebuildParentship(this.parent);\n return clone;\n }\n\n /** Serialize this object to JSON */\n public override toJSON(): ArrayPropertiesFieldJSON {\n return {\n ...super.toJSON(),\n itemsField: this.itemsField.toJSON(),\n };\n }\n\n /** Serialize this object to compressed JSON */\n public override toCompressedJSON(classesMap: { [id: string]: CompressedClassInfoJSON }): ArrayPropertiesFieldJSON<string> {\n return {\n ...super.toCompressedJSON(classesMap),\n itemsField: this.itemsField.toCompressedJSON(classesMap),\n };\n }\n\n /** Deserialize [[ArrayPropertiesField]] from JSON */\n public static override fromJSON(json: ArrayPropertiesFieldJSON, categories: CategoryDescription[]): ArrayPropertiesField {\n return new ArrayPropertiesField({\n ...json,\n category: this.getCategoryFromFieldJson(json, categories),\n itemsField: PropertiesField.fromJSON(json.itemsField, categories)!,\n });\n }\n\n /**\n * Deserialize an [[ArrayPropertiesField]] from compressed JSON.\n * @public\n */\n public static override fromCompressedJSON(\n json: ArrayPropertiesFieldJSON<Id64String>,\n classesMap: { [id: string]: CompressedClassInfoJSON },\n categories: CategoryDescription[],\n ): ArrayPropertiesField {\n return new ArrayPropertiesField({\n ...json,\n category: this.getCategoryFromFieldJson(json, categories),\n properties: json.properties.map((propertyJson) => fromCompressedPropertyJSON(propertyJson, classesMap)),\n itemsField: PropertiesField.fromCompressedJSON(json.itemsField, classesMap, categories)!,\n });\n }\n}\n\n/**\n * Props for creating [[StructPropertiesField]].\n * @public\n */\ninterface StructPropertiesFieldProps extends PropertiesFieldProps {\n memberFields: PropertiesField[];\n}\n\n/**\n * Describes a content field that's based on one or more similar EC struct properties.\n * @public\n */\nexport class StructPropertiesField extends PropertiesField {\n public memberFields: PropertiesField[];\n\n /**\n * Creates an instance of [[StructPropertiesField]].\n * @deprecated in 5.0. Use an overload with `StructPropertiesFieldProps` instead.\n */\n public constructor(\n category: CategoryDescription,\n name: string,\n label: string,\n type: TypeDescription,\n memberFields: PropertiesField[],\n isReadonly: boolean,\n priority: number,\n properties: Property[],\n editor?: EditorDescription,\n renderer?: RendererDescription,\n );\n /** Creates an instance of [[StructPropertiesField]]. */\n public constructor(props: StructPropertiesFieldProps);\n public constructor(\n categoryOrProps: CategoryDescription | StructPropertiesFieldProps,\n name?: string,\n label?: string,\n type?: TypeDescription,\n memberFields?: PropertiesField[],\n isReadonly?: boolean,\n priority?: number,\n properties?: Property[],\n editor?: EditorDescription,\n renderer?: RendererDescription,\n ) {\n /* istanbul ignore next */\n const props =\n \"category\" in categoryOrProps\n ? categoryOrProps\n : {\n category: categoryOrProps,\n name: name!,\n label: label!,\n type: type!,\n isReadonly: isReadonly!,\n priority: priority!,\n editor,\n renderer,\n properties: properties!,\n memberFields: memberFields!,\n };\n super(props);\n this.memberFields = props.memberFields;\n }\n\n public override isStructPropertiesField(): this is StructPropertiesField {\n return true;\n }\n\n public override clone() {\n const clone = new StructPropertiesField(this);\n clone.rebuildParentship(this.parent);\n return clone;\n }\n\n /** Serialize this object to JSON */\n public override toJSON(): StructPropertiesFieldJSON {\n return {\n ...super.toJSON(),\n memberFields: this.memberFields.map((m) => m.toJSON()),\n };\n }\n\n /** Serialize this object to compressed JSON */\n public override toCompressedJSON(classesMap: { [id: string]: CompressedClassInfoJSON }): StructPropertiesFieldJSON<string> {\n return {\n ...super.toCompressedJSON(classesMap),\n memberFields: this.memberFields.map((m) => m.toCompressedJSON(classesMap)),\n };\n }\n\n /** Deserialize [[StructPropertiesField]] from JSON */\n public static override fromJSON(json: StructPropertiesFieldJSON, categories: CategoryDescription[]): StructPropertiesField {\n return new StructPropertiesField({\n ...json,\n category: this.getCategoryFromFieldJson(json, categories),\n memberFields: json.memberFields.map((m) => PropertiesField.fromJSON(m, categories)!),\n });\n }\n\n /**\n * Deserialize a [[StructPropertiesField]] from compressed JSON.\n * @public\n */\n public static override fromCompressedJSON(\n json: StructPropertiesFieldJSON<Id64String>,\n classesMap: { [id: string]: CompressedClassInfoJSON },\n categories: CategoryDescription[],\n ): StructPropertiesField {\n return new StructPropertiesField({\n ...json,\n category: this.getCategoryFromFieldJson(json, categories),\n properties: json.properties.map((propertyJson) => fromCompressedPropertyJSON(propertyJson, classesMap)),\n memberFields: json.memberFields.map((m) => PropertiesField.fromCompressedJSON(m, classesMap, categories)!),\n });\n }\n}\n\n/**\n * Props for creating [[NestedContentField]].\n * @public\n */\ninterface NestedContentFieldProps extends FieldProps {\n /** Information about an ECClass whose properties are nested inside this field */\n contentClassInfo: ClassInfo;\n /** Relationship path to [Primary class]($docs/presentation/content/Terminology#primary-class) */\n pathToPrimaryClass: RelationshipPath;\n /**\n * Meaning of the relationship between the [primary class]($docs/presentation/content/Terminology#primary-class)\n * and content class of this field.\n *\n * The value is set up through [[RelatedPropertiesSpecification.relationshipMeaning]] attribute when setting up\n * presentation rules for creating the content.\n */\n relationshipMeaning?: RelationshipMeaning;\n /**\n * When content descriptor is requested in a polymorphic fashion, fields get created if at least one of the concrete classes\n * has it. In certain situations it's necessary to know which concrete classes caused that and this attribute is\n * here to help.\n *\n * **Example:** There's a base class `A` and it has two derived classes `B` and `C` and class `B` has a relationship to class `D`.\n * When content descriptor is requested for class `A` polymorphically, it's going to contain fields for all properties of class `B`,\n * class `C` and a nested content field for the `B -> D` relationship. The nested content field's `actualPrimaryClassIds` attribute\n * will contain ID of class `B`, identifying that only this specific class has the relationship.\n */\n actualPrimaryClassIds?: Id64String[];\n /** Contained nested fields */\n nestedFields: Field[];\n /** Flag specifying whether field should be expanded */\n autoExpand?: boolean;\n}\n\n/**\n * Describes a content field that contains [Nested content]($docs/presentation/content/Terminology#nested-content).\n *\n * @public\n */\nexport class NestedContentField extends Field {\n /** Information about an ECClass whose properties are nested inside this field */\n public contentClassInfo: ClassInfo;\n /** Relationship path to [Primary class]($docs/presentation/content/Terminology#primary-class) */\n public pathToPrimaryClass: RelationshipPath;\n /**\n * Meaning of the relationship between the [primary class]($docs/presentation/content/Terminology#primary-class)\n * and content class of this field.\n *\n * The value is set up through [[RelatedPropertiesSpecification.relationshipMeaning]] attribute when setting up\n * presentation rules for creating the content.\n */\n public relationshipMeaning: RelationshipMeaning;\n /**\n * When content descriptor is requested in a polymorphic fashion, fields get created if at least one of the concrete classes\n * has it. In certain situations it's necessary to know which concrete classes caused that and this attribute is\n * here to help.\n *\n * **Example:** There's a base class `A` and it has two derived classes `B` and `C` and class `B` has a relationship to class `D`.\n * When content descriptor is requested for class `A` polymorphically, it's going to contain fields for all properties of class `B`,\n * class `C` and a nested content field for the `B -> D` relationship. The nested content field's `actualPrimaryClassIds` attribute\n * will contain ID of class `B`, identifying that only this specific class has the relationship.\n */\n public actualPrimaryClassIds: Id64String[];\n /** Contained nested fields */\n public nestedFields: Field[];\n /** Flag specifying whether field should be expanded */\n public autoExpand?: boolean;\n\n /**\n * Creates an instance of [[NestedContentField]].\n * @param category Category information\n * @param name Unique name\n * @param label Display label\n * @param type Description of this field's values data type\n * @param isReadonly Are values in this field read-only\n * @param priority Priority of the field\n * @param contentClassInfo Information about an ECClass whose properties are nested inside this field\n * @param pathToPrimaryClass Relationship path to [Primary class]($docs/presentation/content/Terminology#primary-class)\n * @param nestedFields Contained nested fields\n * @param editor Property editor used to edit values of this field\n * @param autoExpand Flag specifying whether field should be expanded\n * @param relationshipMeaning RelationshipMeaning of the field\n * @param renderer Property renderer used to render values of this field\n * @deprecated in 5.0. Use an overload with `NestedContentFieldProps` instead.\n */\n public constructor(\n category: CategoryDescription,\n name: string,\n label: string,\n type: TypeDescription,\n isReadonly: boolean,\n priority: number,\n contentClassInfo: ClassInfo,\n pathToPrimaryClass: RelationshipPath,\n nestedFields: Field[],\n editor?: EditorDescription,\n autoExpand?: boolean,\n renderer?: RendererDescription,\n );\n /** Creates an instance of [[NestedContentField]]. */\n public constructor(props: NestedContentFieldProps);\n public constructor(\n categoryOrProps: CategoryDescription | NestedContentFieldProps,\n name?: string,\n label?: string,\n type?: TypeDescription,\n isReadonly?: boolean,\n priority?: number,\n contentClassInfo?: ClassInfo,\n pathToPrimaryClass?: RelationshipPath,\n nestedFields?: Field[],\n editor?: EditorDescription,\n autoExpand?: boolean,\n renderer?: RendererDescription,\n ) {\n /* istanbul ignore next */\n const props =\n \"category\" in categoryOrProps\n ? categoryOrProps\n : {\n category: categoryOrProps,\n name: name!,\n label: label!,\n type: type!,\n isReadonly: isReadonly!,\n priority: priority!,\n editor,\n renderer,\n contentClassInfo: contentClassInfo!,\n pathToPrimaryClass: pathToPrimaryClass!,\n nestedFields: nestedFields!,\n autoExpand,\n };\n super(props);\n this.contentClassInfo = props.contentClassInfo;\n this.pathToPrimaryClass = props.pathToPrimaryClass;\n this.relationshipMeaning = props.relationshipMeaning ?? RelationshipMeaning.RelatedInstance;\n this.nestedFields = props.nestedFields;\n this.autoExpand = props.autoExpand;\n this.actualPrimaryClassIds = props.actualPrimaryClassIds ?? [];\n }\n\n public override clone() {\n const clone = new NestedContentField({\n ...this,\n nestedFields: this.nestedFields.map((n) => n.clone()),\n });\n clone.rebuildParentship(this.parent);\n return clone;\n }\n\n /**\n * Get field by its name\n * @param name Name of the field to find\n * @param recurse Recurse into nested fields\n */\n public getFieldByName(name: string, recurse?: boolean): Field | undefined {\n return getFieldByName(this.nestedFields, name, recurse);\n }\n\n /** Serialize this object to JSON */\n public override toJSON(): NestedContentFieldJSON {\n return {\n ...super.toJSON(),\n contentClassInfo: this.contentClassInfo,\n pathToPrimaryClass: this.pathToPrimaryClass,\n relationshipMeaning: this.relationshipMeaning,\n actualPrimaryClassIds: this.actualPrimaryClassIds,\n nestedFields: this.nestedFields.map((field: Field) => field.toJSON()),\n ...(this.autoExpand ? { autoExpand: true } : undefined),\n };\n }\n\n /** Serialize this object to compressed JSON */\n public override toCompressedJSON(classesMap: { [id: string]: CompressedClassInfoJSON }): NestedContentFieldJSON<string> {\n const { id, ...leftOverInfo } = this.contentClassInfo;\n classesMap[id] = leftOverInfo;\n return {\n ...super.toCompressedJSON(classesMap),\n contentClassInfo: id,\n pathToPrimaryClass: this.pathToPrimaryClass.map((classInfo) => RelatedClassInfo.toCompressedJSON(classInfo, classesMap)),\n nestedFields: this.nestedFields.map((field) => field.toCompressedJSON(classesMap)),\n };\n }\n\n /** Deserialize a [[NestedContentField]] from compressed JSON. */\n public static override fromCompressedJSON(\n json: NestedContentFieldJSON<Id64String>,\n classesMap: { [id: string]: CompressedClassInfoJSON },\n categories: CategoryDescription[],\n ) {\n assert(classesMap.hasOwnProperty(json.contentClassInfo));\n return new NestedContentField({\n ...json,\n ...fromNestedContentFieldJSON(json, categories),\n category: this.getCategoryFromFieldJson(json, categories),\n nestedFields: json.nestedFields\n .map((nestedFieldJson: FieldJSON) => Field.fromCompressedJSON(nestedFieldJson, classesMap, categories))\n .filter((nestedField): nestedField is Field => !!nestedField),\n contentClassInfo: { id: json.contentClassInfo, ...classesMap[json.contentClassInfo] },\n pathToPrimaryClass: json.pathToPrimaryClass.map((stepJson) => RelatedClassInfo.fromCompressedJSON(stepJson, classesMap)),\n });\n }\n\n /** Resets parent of this field and all nested fields. */\n public override resetParentship(): void {\n super.resetParentship();\n for (const nestedField of this.nestedFields) {\n nestedField.resetParentship();\n }\n }\n\n /**\n * Sets provided [[NestedContentField]] as parent of this fields and recursively updates\n * all nested fields parents.\n */\n public override rebuildParentship(parentField?: NestedContentField): void {\n super.rebuildParentship(parentField);\n for (const nestedField of this.nestedFields) {\n nestedField.rebuildParentship(this);\n }\n }\n}\n\n/** @internal */\nexport const getFieldByName = (fields: Field[], name: string | undefined, recurse?: boolean): Field | undefined => {\n if (name) {\n for (const field of fields) {\n if (field.name === name) {\n return field;\n }\n\n if (recurse && field.isNestedContentField()) {\n const nested = getFieldByName(field.nestedFields, name, recurse);\n if (nested) {\n return nested;\n }\n }\n }\n }\n return undefined;\n};\n\n/** @internal */\nexport const getFieldByDescriptor = (fields: Field[], fieldDescriptor: FieldDescriptor, recurse?: boolean): Field | undefined => {\n for (const field of fields) {\n if (field.matchesDescriptor(fieldDescriptor)) {\n return field;\n }\n\n if (recurse && field.isNestedContentField()) {\n const nested = getFieldByDescriptor(field.nestedFields, fieldDescriptor, recurse);\n if (nested) {\n return nested;\n }\n }\n }\n return undefined;\n};\n\n/**\n * Types of different field descriptors.\n * @public\n */\nexport enum FieldDescriptorType {\n Name = \"name\",\n Properties = \"properties\",\n}\n\n/**\n * Base for a field descriptor\n * @public\n */\nexport interface FieldDescriptorBase {\n type: FieldDescriptorType;\n}\n\n/**\n * A union of all possible field descriptor types\n * @public\n */\nexport type FieldDescriptor = NamedFieldDescriptor | PropertiesFieldDescriptor;\n\n/** @public */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport namespace FieldDescriptor {\n /** Is this a named field descriptor */\n export function isNamed(d: FieldDescriptor): d is NamedFieldDescriptor {\n return d.type === FieldDescriptorType.Name;\n }\n /** Is this a properties field descriptor */\n export function isProperties(d: FieldDescriptor): d is PropertiesFieldDescriptor {\n return d.type === FieldDescriptorType.Properties;\n }\n}\n\n/**\n * Field descriptor that identifies a content field by its unique name.\n * @public\n */\nexport interface NamedFieldDescriptor extends FieldDescriptorBase {\n type: FieldDescriptorType.Name;\n fieldName: string;\n}\n\n/**\n * Field descriptor that identifies a properties field using a list of\n * properties that the field contains.\n * @public\n */\nexport interface PropertiesFieldDescriptor extends FieldDescriptorBase {\n type: FieldDescriptorType.Properties;\n pathFromSelectToPropertyClass: StrippedRelationshipPath;\n /**\n * A list of properties that describe the field. At least one property in the list must\n * match at least one property in the field for the descriptor to be considered matching.\n */\n properties: Array<{\n /** Full class name */\n class: string;\n /** Property name */\n name: string;\n }>;\n}\n\nfunction fromCompressedPropertyJSON(compressedPropertyJSON: PropertyJSON<string>, classesMap: { [id: string]: CompressedClassInfoJSON }): Property {\n return {\n property: fromCompressedPropertyInfoJSON(compressedPropertyJSON.property, classesMap),\n };\n}\n\nfunction fromCompressedPropertyInfoJSON(compressedPropertyJSON: PropertyInfoJSON<string>, classesMap: { [id: string]: CompressedClassInfoJSON }): PropertyInfo {\n assert(classesMap.hasOwnProperty(compressedPropertyJSON.classInfo));\n\n const { navigationPropertyInfo, ...leftOverPropertyJSON } = compressedPropertyJSON;\n\n return {\n ...leftOverPropertyJSON,\n classInfo: { id: compressedPropertyJSON.classInfo, ...classesMap[compressedPropertyJSON.classInfo] },\n ...(navigationPropertyInfo ? { navigationPropertyInfo: NavigationPropertyInfo.fromCompressedJSON(navigationPropertyInfo, classesMap) } : undefined),\n };\n}\n\nfunction getCategoryFromFieldJson(fieldJson: { category: string }, categories: CategoryDescription[]): CategoryDescription {\n const category = categories.find((c) => c.name === fieldJson.category);\n if (!category) {\n throw new PresentationError(PresentationStatus.InvalidArgument, `Invalid content field category`);\n }\n return category;\n}\n\nfunction fromNestedContentFieldJSON(json: NestedContentFieldJSON<ClassInfo | string>, categories: CategoryDescription[]) {\n return {\n category: getCategoryFromFieldJson(json, categories),\n relationshipMeaning: json.relationshipMeaning ?? RelationshipMeaning.RelatedInstance,\n actualPrimaryClassIds: json.actualPrimaryClassIds ?? [],\n autoExpand: json.autoExpand,\n };\n}\n"]}
@@ -2,9 +2,9 @@
2
2
  * @module Content
3
3
  */
4
4
  import { ClassInfo, InstanceKey } from "../EC";
5
- import { LabelDefinition, LabelDefinitionJSON } from "../LabelDefinition";
5
+ import { LabelDefinition } from "../LabelDefinition";
6
6
  import { ValuesDictionary } from "../Utils";
7
- import { DisplayValue, DisplayValueJSON, Value, ValueJSON } from "./Value";
7
+ import { DisplayValue, Value } from "./Value";
8
8
  /**
9
9
  * Serialized [[Item]] JSON representation.
10
10
  * @public
@@ -12,12 +12,10 @@ import { DisplayValue, DisplayValueJSON, Value, ValueJSON } from "./Value";
12
12
  export interface ItemJSON {
13
13
  inputKeys?: InstanceKey[];
14
14
  primaryKeys: InstanceKey[];
15
- labelDefinition: LabelDefinitionJSON;
16
- /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */
17
- imageId: string;
15
+ labelDefinition: LabelDefinition;
18
16
  classInfo?: ClassInfo;
19
- values: ValuesDictionary<ValueJSON>;
20
- displayValues: ValuesDictionary<DisplayValueJSON>;
17
+ values: ValuesDictionary<Value>;
18
+ displayValues: ValuesDictionary<DisplayValue>;
21
19
  mergedFieldNames: string[];
22
20
  extendedData?: {
23
21
  [key: string]: any;
@@ -53,11 +51,6 @@ export declare class Item {
53
51
  primaryKeys: InstanceKey[];
54
52
  /** Display label of the item */
55
53
  label: LabelDefinition;
56
- /**
57
- * ID of the image associated with this item
58
- * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.
59
- */
60
- imageId: string;
61
54
  /** For cases when item consists only of same class instances, information about the ECClass */
62
55
  classInfo?: ClassInfo;
63
56
  /** Raw values dictionary */
@@ -94,25 +87,6 @@ export declare class Item {
94
87
  toJSON(): ItemJSON;
95
88
  /** Deserialize [[Item]] from JSON */
96
89
  static fromJSON(json: ItemJSON | string | undefined): Item | undefined;
97
- /**
98
- * Reviver function that can be used as a second argument for
99
- * `JSON.parse` method when parsing Item objects.
100
- * @internal
101
- */
102
- static reviver(key: string, value: any): any;
103
- /**
104
- * Deserialize items list from JSON
105
- * @param json JSON or JSON serialized to string to deserialize from
106
- * @returns Deserialized items list
107
- * @internal
108
- */
109
- static listFromJSON(json: ItemJSON[] | string): Item[];
110
- /**
111
- * Reviver function that can be used as a second argument for
112
- * `JSON.parse` method when parsing [[Item]][] objects.
113
- * @internal
114
- */
115
- static listReviver(key: string, value: any): any;
116
90
  }
117
91
  export {};
118
92
  //# sourceMappingURL=Item.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/content/Item.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Item.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/content/Item.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAiB,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9C;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;IAC1B,WAAW,EAAE,WAAW,EAAE,CAAC;IAE3B,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAChC,aAAa,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC9C,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;CACvC;AAED;;;GAGG;AACH,UAAU,SAAS;IACjB,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;IAC1B,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,KAAK,EAAE,eAAe,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAChC,aAAa,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC9C,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;CACvC;AAED;;;GAGG;AACH,qBAAa,IAAI;IACf;;;OAGG;IACI,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;IACjC,6DAA6D;IACtD,WAAW,EAAE,WAAW,EAAE,CAAC;IAClC,gCAAgC;IACzB,KAAK,EAAE,eAAe,CAAC;IAC9B,+FAA+F;IACxF,SAAS,CAAC,EAAE,SAAS,CAAC;IAC7B,4BAA4B;IACrB,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvC,gCAAgC;IACzB,aAAa,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACrD,+HAA+H;IACxH,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAClC,oDAAoD;IAC7C,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAE7C;;;;;;;;;;;OAWG;gBAED,WAAW,EAAE,WAAW,EAAE,EAC1B,KAAK,EAAE,MAAM,GAAG,eAAe,EAC/B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAC/B,aAAa,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAC7C,gBAAgB,EAAE,MAAM,EAAE,EAC1B,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;gBAEpB,KAAK,EAAE,SAAS;IAqCnC;;OAEG;IACI,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIhD,oCAAoC;IAC7B,MAAM,IAAI,QAAQ;IAQzB,qCAAqC;WACvB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS;CAe9E"}
@@ -10,7 +10,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.Item = void 0;
11
11
  const LabelDefinition_1 = require("../LabelDefinition");
12
12
  const Utils_1 = require("../Utils");
13
- const Value_1 = require("./Value");
14
13
  /**
15
14
  * A data structure that represents a single content record.
16
15
  * @public
@@ -25,11 +24,6 @@ class Item {
25
24
  primaryKeys;
26
25
  /** Display label of the item */
27
26
  label;
28
- /**
29
- * ID of the image associated with this item
30
- * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.
31
- */
32
- imageId;
33
27
  /** For cases when item consists only of same class instances, information about the ECClass */
34
28
  classInfo;
35
29
  /** Raw values dictionary */
@@ -58,8 +52,6 @@ class Item {
58
52
  this.inputKeys = props.inputKeys;
59
53
  }
60
54
  this.primaryKeys = props.primaryKeys;
61
- // eslint-disable-next-line @typescript-eslint/no-deprecated
62
- this.imageId = "imageId" in props ? props.imageId : "";
63
55
  this.classInfo = props.classInfo;
64
56
  this.values = props.values;
65
57
  this.displayValues = props.displayValues;
@@ -75,15 +67,10 @@ class Item {
75
67
  }
76
68
  /** Serialize this object to JSON */
77
69
  toJSON() {
78
- const { label, values, displayValues, ...baseItem } = this;
70
+ const { label, ...baseItem } = this;
79
71
  return (0, Utils_1.omitUndefined)({
80
72
  ...baseItem,
81
- // eslint-disable-next-line @typescript-eslint/no-deprecated
82
- values: Value_1.Value.toJSON(values),
83
- // eslint-disable-next-line @typescript-eslint/no-deprecated
84
- displayValues: Value_1.DisplayValue.toJSON(displayValues),
85
- // eslint-disable-next-line @typescript-eslint/no-deprecated
86
- labelDefinition: LabelDefinition_1.LabelDefinition.toJSON(label),
73
+ labelDefinition: label,
87
74
  });
88
75
  }
89
76
  /** Deserialize [[Item]] from JSON */
@@ -92,49 +79,14 @@ class Item {
92
79
  return undefined;
93
80
  }
94
81
  if (typeof json === "string") {
95
- return JSON.parse(json, (key, value) => Item.reviver(key, value));
82
+ return Item.fromJSON(JSON.parse(json));
96
83
  }
97
- const { labelDefinition, values, displayValues, ...baseJson } = json;
84
+ const { labelDefinition, ...baseJson } = json;
98
85
  return new Item({
99
86
  ...baseJson,
100
- // eslint-disable-next-line @typescript-eslint/no-deprecated
101
- values: Value_1.Value.fromJSON(values),
102
- // eslint-disable-next-line @typescript-eslint/no-deprecated
103
- displayValues: Value_1.DisplayValue.fromJSON(displayValues),
104
- // eslint-disable-next-line @typescript-eslint/no-deprecated
105
- label: LabelDefinition_1.LabelDefinition.fromJSON(labelDefinition),
87
+ label: labelDefinition,
106
88
  });
107
89
  }
108
- /**
109
- * Reviver function that can be used as a second argument for
110
- * `JSON.parse` method when parsing Item objects.
111
- * @internal
112
- */
113
- static reviver(key, value) {
114
- return key === "" ? Item.fromJSON(value) : value;
115
- }
116
- /**
117
- * Deserialize items list from JSON
118
- * @param json JSON or JSON serialized to string to deserialize from
119
- * @returns Deserialized items list
120
- * @internal
121
- */
122
- static listFromJSON(json) {
123
- if (typeof json === "string") {
124
- // eslint-disable-next-line @typescript-eslint/unbound-method
125
- return JSON.parse(json, Item.listReviver);
126
- }
127
- // eslint-disable-next-line @typescript-eslint/unbound-method
128
- return json.map(Item.fromJSON).filter((item) => !!item);
129
- }
130
- /**
131
- * Reviver function that can be used as a second argument for
132
- * `JSON.parse` method when parsing [[Item]][] objects.
133
- * @internal
134
- */
135
- static listReviver(key, value) {
136
- return key === "" ? Item.listFromJSON(value) : value;
137
- }
138
90
  }
139
91
  exports.Item = Item;
140
92
  //# sourceMappingURL=Item.js.map