@itwin/presentation-common 5.0.0-dev.5 → 5.0.0-dev.52

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 (222) hide show
  1. package/CHANGELOG.md +47 -1
  2. package/lib/cjs/assets/locales/en/Presentation.json +19 -19
  3. package/lib/cjs/presentation-common/AsyncTasks.d.ts +4 -4
  4. package/lib/cjs/presentation-common/AsyncTasks.d.ts.map +1 -1
  5. package/lib/cjs/presentation-common/AsyncTasks.js +4 -3
  6. package/lib/cjs/presentation-common/AsyncTasks.js.map +1 -1
  7. package/lib/cjs/presentation-common/CommonLoggerCategory.js.map +1 -1
  8. package/lib/cjs/presentation-common/Diagnostics.js.map +1 -1
  9. package/lib/cjs/presentation-common/EC.d.ts +31 -0
  10. package/lib/cjs/presentation-common/EC.d.ts.map +1 -1
  11. package/lib/cjs/presentation-common/EC.js.map +1 -1
  12. package/lib/cjs/presentation-common/ElementProperties.js.map +1 -1
  13. package/lib/cjs/presentation-common/Error.js.map +1 -1
  14. package/lib/cjs/presentation-common/InstanceFilterDefinition.js.map +1 -1
  15. package/lib/cjs/presentation-common/KeySet.js.map +1 -1
  16. package/lib/cjs/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
  17. package/lib/cjs/presentation-common/LabelDefinition.js.map +1 -1
  18. package/lib/cjs/presentation-common/LocalizationHelper.js.map +1 -1
  19. package/lib/cjs/presentation-common/PresentationIpcInterface.js.map +1 -1
  20. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts +29 -8
  21. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  22. package/lib/cjs/presentation-common/PresentationManagerOptions.js.map +1 -1
  23. package/lib/cjs/presentation-common/PresentationRpcInterface.js +4 -4
  24. package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
  25. package/lib/cjs/presentation-common/RegisteredRuleset.d.ts +3 -2
  26. package/lib/cjs/presentation-common/RegisteredRuleset.d.ts.map +1 -1
  27. package/lib/cjs/presentation-common/RegisteredRuleset.js +6 -1
  28. package/lib/cjs/presentation-common/RegisteredRuleset.js.map +1 -1
  29. package/lib/cjs/presentation-common/RpcRequestsHandler.js.map +1 -1
  30. package/lib/cjs/presentation-common/RulesetVariables.js.map +1 -1
  31. package/lib/cjs/presentation-common/RulesetsFactory.js.map +1 -1
  32. package/lib/cjs/presentation-common/Update.js.map +1 -1
  33. package/lib/cjs/presentation-common/Utils.d.ts +9 -0
  34. package/lib/cjs/presentation-common/Utils.d.ts.map +1 -1
  35. package/lib/cjs/presentation-common/Utils.js +17 -0
  36. package/lib/cjs/presentation-common/Utils.js.map +1 -1
  37. package/lib/cjs/presentation-common/content/Category.js.map +1 -1
  38. package/lib/cjs/presentation-common/content/Content.js.map +1 -1
  39. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts +1 -1
  40. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts.map +1 -1
  41. package/lib/cjs/presentation-common/content/ContentTraverser.js +95 -16
  42. package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
  43. package/lib/cjs/presentation-common/content/Descriptor.d.ts.map +1 -1
  44. package/lib/cjs/presentation-common/content/Descriptor.js +22 -11
  45. package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
  46. package/lib/cjs/presentation-common/content/DisplayTypes.js.map +1 -1
  47. package/lib/cjs/presentation-common/content/Editor.js.map +1 -1
  48. package/lib/cjs/presentation-common/content/Fields.d.ts +111 -8
  49. package/lib/cjs/presentation-common/content/Fields.d.ts.map +1 -1
  50. package/lib/cjs/presentation-common/content/Fields.js +137 -98
  51. package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
  52. package/lib/cjs/presentation-common/content/Item.d.ts +19 -0
  53. package/lib/cjs/presentation-common/content/Item.d.ts.map +1 -1
  54. package/lib/cjs/presentation-common/content/Item.js +37 -30
  55. package/lib/cjs/presentation-common/content/Item.js.map +1 -1
  56. package/lib/cjs/presentation-common/content/Property.js.map +1 -1
  57. package/lib/cjs/presentation-common/content/PropertyValueFormatter.d.ts.map +1 -1
  58. package/lib/cjs/presentation-common/content/PropertyValueFormatter.js +31 -23
  59. package/lib/cjs/presentation-common/content/PropertyValueFormatter.js.map +1 -1
  60. package/lib/cjs/presentation-common/content/Renderer.js.map +1 -1
  61. package/lib/cjs/presentation-common/content/TypeDescription.js.map +1 -1
  62. package/lib/cjs/presentation-common/content/Value.js.map +1 -1
  63. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  64. package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
  65. package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
  66. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  67. package/lib/cjs/presentation-common/rules/ClassSpecifications.js.map +1 -1
  68. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  69. package/lib/cjs/presentation-common/rules/RelationshipDirection.js.map +1 -1
  70. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  71. package/lib/cjs/presentation-common/rules/Rule.js.map +1 -1
  72. package/lib/cjs/presentation-common/rules/Ruleset.js.map +1 -1
  73. package/lib/cjs/presentation-common/rules/SchemasSpecification.js.map +1 -1
  74. package/lib/cjs/presentation-common/rules/Variables.js.map +1 -1
  75. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  76. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  77. package/lib/cjs/presentation-common/rules/content/ContentRule.js.map +1 -1
  78. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  79. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  80. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  81. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  82. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  83. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  84. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  85. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  86. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  87. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  88. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
  89. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  90. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  91. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  92. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
  93. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  94. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js.map +1 -1
  95. package/lib/cjs/presentation-common/rules/customization/SortingRule.js.map +1 -1
  96. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js.map +1 -1
  97. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  98. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  99. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  100. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  101. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  102. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  103. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  104. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  105. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  106. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  107. package/lib/cjs/presentation-common/selection/SelectionScope.js.map +1 -1
  108. package/lib/cjs/presentation-common.d.ts +1 -1
  109. package/lib/cjs/presentation-common.d.ts.map +1 -1
  110. package/lib/cjs/presentation-common.js +4 -1
  111. package/lib/cjs/presentation-common.js.map +1 -1
  112. package/lib/esm/presentation-common/AsyncTasks.d.ts +4 -4
  113. package/lib/esm/presentation-common/AsyncTasks.d.ts.map +1 -1
  114. package/lib/esm/presentation-common/AsyncTasks.js +4 -3
  115. package/lib/esm/presentation-common/AsyncTasks.js.map +1 -1
  116. package/lib/esm/presentation-common/CommonLoggerCategory.js.map +1 -1
  117. package/lib/esm/presentation-common/Diagnostics.js.map +1 -1
  118. package/lib/esm/presentation-common/EC.d.ts +31 -0
  119. package/lib/esm/presentation-common/EC.d.ts.map +1 -1
  120. package/lib/esm/presentation-common/EC.js.map +1 -1
  121. package/lib/esm/presentation-common/ElementProperties.js.map +1 -1
  122. package/lib/esm/presentation-common/Error.js.map +1 -1
  123. package/lib/esm/presentation-common/InstanceFilterDefinition.js.map +1 -1
  124. package/lib/esm/presentation-common/KeySet.js.map +1 -1
  125. package/lib/esm/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
  126. package/lib/esm/presentation-common/LabelDefinition.js.map +1 -1
  127. package/lib/esm/presentation-common/LocalizationHelper.js.map +1 -1
  128. package/lib/esm/presentation-common/PresentationIpcInterface.js.map +1 -1
  129. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts +29 -8
  130. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  131. package/lib/esm/presentation-common/PresentationManagerOptions.js.map +1 -1
  132. package/lib/esm/presentation-common/PresentationRpcInterface.js +4 -4
  133. package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
  134. package/lib/esm/presentation-common/RegisteredRuleset.d.ts +3 -2
  135. package/lib/esm/presentation-common/RegisteredRuleset.d.ts.map +1 -1
  136. package/lib/esm/presentation-common/RegisteredRuleset.js +6 -1
  137. package/lib/esm/presentation-common/RegisteredRuleset.js.map +1 -1
  138. package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
  139. package/lib/esm/presentation-common/RulesetVariables.js.map +1 -1
  140. package/lib/esm/presentation-common/RulesetsFactory.js.map +1 -1
  141. package/lib/esm/presentation-common/Update.js.map +1 -1
  142. package/lib/esm/presentation-common/Utils.d.ts +9 -0
  143. package/lib/esm/presentation-common/Utils.d.ts.map +1 -1
  144. package/lib/esm/presentation-common/Utils.js +16 -0
  145. package/lib/esm/presentation-common/Utils.js.map +1 -1
  146. package/lib/esm/presentation-common/content/Category.js.map +1 -1
  147. package/lib/esm/presentation-common/content/Content.js.map +1 -1
  148. package/lib/esm/presentation-common/content/ContentTraverser.d.ts +1 -1
  149. package/lib/esm/presentation-common/content/ContentTraverser.d.ts.map +1 -1
  150. package/lib/esm/presentation-common/content/ContentTraverser.js +96 -17
  151. package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
  152. package/lib/esm/presentation-common/content/Descriptor.d.ts.map +1 -1
  153. package/lib/esm/presentation-common/content/Descriptor.js +22 -11
  154. package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
  155. package/lib/esm/presentation-common/content/DisplayTypes.js.map +1 -1
  156. package/lib/esm/presentation-common/content/Editor.js.map +1 -1
  157. package/lib/esm/presentation-common/content/Fields.d.ts +111 -8
  158. package/lib/esm/presentation-common/content/Fields.d.ts.map +1 -1
  159. package/lib/esm/presentation-common/content/Fields.js +137 -98
  160. package/lib/esm/presentation-common/content/Fields.js.map +1 -1
  161. package/lib/esm/presentation-common/content/Item.d.ts +19 -0
  162. package/lib/esm/presentation-common/content/Item.d.ts.map +1 -1
  163. package/lib/esm/presentation-common/content/Item.js +37 -30
  164. package/lib/esm/presentation-common/content/Item.js.map +1 -1
  165. package/lib/esm/presentation-common/content/Property.js.map +1 -1
  166. package/lib/esm/presentation-common/content/PropertyValueFormatter.d.ts.map +1 -1
  167. package/lib/esm/presentation-common/content/PropertyValueFormatter.js +31 -23
  168. package/lib/esm/presentation-common/content/PropertyValueFormatter.js.map +1 -1
  169. package/lib/esm/presentation-common/content/Renderer.js.map +1 -1
  170. package/lib/esm/presentation-common/content/TypeDescription.js.map +1 -1
  171. package/lib/esm/presentation-common/content/Value.js.map +1 -1
  172. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  173. package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
  174. package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
  175. package/lib/esm/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  176. package/lib/esm/presentation-common/rules/ClassSpecifications.js.map +1 -1
  177. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  178. package/lib/esm/presentation-common/rules/RelationshipDirection.js.map +1 -1
  179. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  180. package/lib/esm/presentation-common/rules/Rule.js.map +1 -1
  181. package/lib/esm/presentation-common/rules/Ruleset.js.map +1 -1
  182. package/lib/esm/presentation-common/rules/SchemasSpecification.js.map +1 -1
  183. package/lib/esm/presentation-common/rules/Variables.js.map +1 -1
  184. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  185. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  186. package/lib/esm/presentation-common/rules/content/ContentRule.js.map +1 -1
  187. package/lib/esm/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  188. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  189. package/lib/esm/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  190. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  191. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  192. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  193. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  194. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  195. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  196. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  197. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
  198. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  199. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  200. package/lib/esm/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  201. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
  202. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  203. package/lib/esm/presentation-common/rules/customization/LabelOverride.js.map +1 -1
  204. package/lib/esm/presentation-common/rules/customization/SortingRule.js.map +1 -1
  205. package/lib/esm/presentation-common/rules/customization/StyleOverride.js.map +1 -1
  206. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  207. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  208. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  209. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  210. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  211. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  212. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  213. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  214. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  215. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  216. package/lib/esm/presentation-common/selection/SelectionScope.js.map +1 -1
  217. package/lib/esm/presentation-common.d.ts +1 -1
  218. package/lib/esm/presentation-common.d.ts.map +1 -1
  219. package/lib/esm/presentation-common.js +1 -1
  220. package/lib/esm/presentation-common.js.map +1 -1
  221. package/lib/public/locales/en/Presentation.json +19 -19
  222. package/package.json +12 -12
@@ -64,6 +64,32 @@ export interface NestedContentFieldJSON<TClassInfoJSON = ClassInfoJSON> extends
64
64
  * @public
65
65
  */
66
66
  export type FieldJSON<TClassInfoJSON = ClassInfoJSON> = BaseFieldJSON | PropertiesFieldJSON<TClassInfoJSON> | ArrayPropertiesFieldJSON<TClassInfoJSON> | StructPropertiesFieldJSON<TClassInfoJSON> | NestedContentFieldJSON<TClassInfoJSON>;
67
+ /**
68
+ * Props for creating [[Field]].
69
+ * @public
70
+ */
71
+ interface FieldProps {
72
+ /** Category information */
73
+ category: CategoryDescription;
74
+ /** Unique name */
75
+ name: string;
76
+ /** Display label */
77
+ label: string;
78
+ /** Description of this field's values data type */
79
+ type: TypeDescription;
80
+ /** Are values in this field read-only */
81
+ isReadonly: boolean;
82
+ /** Priority of the field */
83
+ priority: number;
84
+ /** Property editor used to edit values of this field */
85
+ editor?: EditorDescription;
86
+ /** Property renderer used to render values of this field */
87
+ renderer?: RendererDescription;
88
+ /** Extended data associated with this field */
89
+ extendedData?: {
90
+ [key: string]: unknown;
91
+ };
92
+ }
67
93
  /**
68
94
  * Describes a single content field. A field is usually represented as a grid column
69
95
  * or a property pane row.
@@ -94,7 +120,7 @@ export declare class Field {
94
120
  /** Parent field */
95
121
  private _parent?;
96
122
  /**
97
- * Creates an instance of Field.
123
+ * Creates an instance of [[Field]].
98
124
  * @param category Category information
99
125
  * @param name Unique name
100
126
  * @param label Display label
@@ -104,10 +130,13 @@ export declare class Field {
104
130
  * @param editor Property editor used to edit values of this field
105
131
  * @param renderer Property renderer used to render values of this field
106
132
  * @param extendedData Extended data associated with this field
133
+ * @deprecated in 5.0. Use an overload with `FieldProps` instead.
107
134
  */
108
135
  constructor(category: CategoryDescription, name: string, label: string, type: TypeDescription, isReadonly: boolean, priority: number, editor?: EditorDescription, renderer?: RendererDescription, extendedData?: {
109
136
  [key: string]: unknown;
110
137
  });
138
+ /** Creates an instance of [[Field]]. */
139
+ constructor(props: FieldProps);
111
140
  /**
112
141
  * Is this a [[PropertiesField]]
113
142
  */
@@ -149,6 +178,14 @@ export declare class Field {
149
178
  */
150
179
  matchesDescriptor(descriptor: FieldDescriptor): boolean;
151
180
  }
181
+ /**
182
+ * Props for creating [[PropertiesField]].
183
+ * @public
184
+ */
185
+ interface PropertiesFieldProps extends FieldProps {
186
+ /** A list of properties this field is created from */
187
+ properties: Property[];
188
+ }
152
189
  /**
153
190
  * Describes a content field that's based on one or more similar
154
191
  * EC properties.
@@ -159,7 +196,7 @@ export declare class PropertiesField extends Field {
159
196
  /** A list of properties this field is created from */
160
197
  properties: Property[];
161
198
  /**
162
- * Creates an instance of PropertiesField.
199
+ * Creates an instance of [[PropertiesField]].
163
200
  * @param category Category information
164
201
  * @param name Unique name
165
202
  * @param label Display label
@@ -169,8 +206,11 @@ export declare class PropertiesField extends Field {
169
206
  * @param properties A list of properties this field is created from
170
207
  * @param editor Property editor used to edit values of this field
171
208
  * @param renderer Property renderer used to render values of this field
209
+ * @deprecated in 5.0. Use an overload with `PropertiesFieldProps` instead.
172
210
  */
173
- constructor(category: CategoryDescription, name: string, label: string, description: TypeDescription, isReadonly: boolean, priority: number, properties: Property[], editor?: EditorDescription, renderer?: RendererDescription);
211
+ constructor(category: CategoryDescription, name: string, label: string, type: TypeDescription, isReadonly: boolean, priority: number, properties: Property[], editor?: EditorDescription, renderer?: RendererDescription);
212
+ /** Creates an instance of [[PropertiesField]]. */
213
+ constructor(props: PropertiesFieldProps);
174
214
  /** Is this a an array property field */
175
215
  isArrayPropertiesField(): this is ArrayPropertiesField;
176
216
  /** Is this a an struct property field */
@@ -202,13 +242,26 @@ export declare class PropertiesField extends Field {
202
242
  */
203
243
  matchesDescriptor(descriptor: FieldDescriptor): boolean;
204
244
  }
245
+ /**
246
+ * Props for creating [[ArrayPropertiesField]].
247
+ * @public
248
+ */
249
+ interface ArrayPropertiesFieldProps extends PropertiesFieldProps {
250
+ itemsField: PropertiesField;
251
+ }
205
252
  /**
206
253
  * Describes a content field that's based on one or more similar EC array properties.
207
254
  * @public
208
255
  */
209
256
  export declare class ArrayPropertiesField extends PropertiesField {
210
257
  itemsField: PropertiesField;
211
- constructor(category: CategoryDescription, name: string, label: string, description: TypeDescription, itemsField: PropertiesField, isReadonly: boolean, priority: number, properties: Property[], editor?: EditorDescription, renderer?: RendererDescription);
258
+ /**
259
+ * Creates an instance of [[ArrayPropertiesField]].
260
+ * @deprecated in 5.0. Use an overload with `ArrayPropertiesFieldProps` instead.
261
+ */
262
+ constructor(category: CategoryDescription, name: string, label: string, type: TypeDescription, itemsField: PropertiesField, isReadonly: boolean, priority: number, properties: Property[], editor?: EditorDescription, renderer?: RendererDescription);
263
+ /** Creates an instance of [[ArrayPropertiesField]]. */
264
+ constructor(props: ArrayPropertiesFieldProps);
212
265
  isArrayPropertiesField(): this is ArrayPropertiesField;
213
266
  clone(): ArrayPropertiesField;
214
267
  /** Serialize this object to JSON */
@@ -227,13 +280,26 @@ export declare class ArrayPropertiesField extends PropertiesField {
227
280
  [id: string]: CompressedClassInfoJSON;
228
281
  }, categories: CategoryDescription[]): ArrayPropertiesField;
229
282
  }
283
+ /**
284
+ * Props for creating [[StructPropertiesField]].
285
+ * @public
286
+ */
287
+ interface StructPropertiesFieldProps extends PropertiesFieldProps {
288
+ memberFields: PropertiesField[];
289
+ }
230
290
  /**
231
291
  * Describes a content field that's based on one or more similar EC struct properties.
232
292
  * @public
233
293
  */
234
294
  export declare class StructPropertiesField extends PropertiesField {
235
295
  memberFields: PropertiesField[];
236
- constructor(category: CategoryDescription, name: string, label: string, description: TypeDescription, memberFields: PropertiesField[], isReadonly: boolean, priority: number, properties: Property[], editor?: EditorDescription, renderer?: RendererDescription);
296
+ /**
297
+ * Creates an instance of [[StructPropertiesField]].
298
+ * @deprecated in 5.0. Use an overload with `StructPropertiesFieldProps` instead.
299
+ */
300
+ constructor(category: CategoryDescription, name: string, label: string, type: TypeDescription, memberFields: PropertiesField[], isReadonly: boolean, priority: number, properties: Property[], editor?: EditorDescription, renderer?: RendererDescription);
301
+ /** Creates an instance of [[StructPropertiesField]]. */
302
+ constructor(props: StructPropertiesFieldProps);
237
303
  isStructPropertiesField(): this is StructPropertiesField;
238
304
  clone(): StructPropertiesField;
239
305
  /** Serialize this object to JSON */
@@ -252,6 +318,39 @@ export declare class StructPropertiesField extends PropertiesField {
252
318
  [id: string]: CompressedClassInfoJSON;
253
319
  }, categories: CategoryDescription[]): StructPropertiesField;
254
320
  }
321
+ /**
322
+ * Props for creating [[NestedContentField]].
323
+ * @public
324
+ */
325
+ interface NestedContentFieldProps extends FieldProps {
326
+ /** Information about an ECClass whose properties are nested inside this field */
327
+ contentClassInfo: ClassInfo;
328
+ /** Relationship path to [Primary class]($docs/presentation/content/Terminology#primary-class) */
329
+ pathToPrimaryClass: RelationshipPath;
330
+ /**
331
+ * Meaning of the relationship between the [primary class]($docs/presentation/content/Terminology#primary-class)
332
+ * and content class of this field.
333
+ *
334
+ * The value is set up through [[RelatedPropertiesSpecification.relationshipMeaning]] attribute when setting up
335
+ * presentation rules for creating the content.
336
+ */
337
+ relationshipMeaning?: RelationshipMeaning;
338
+ /**
339
+ * When content descriptor is requested in a polymorphic fashion, fields get created if at least one of the concrete classes
340
+ * has it. In certain situations it's necessary to know which concrete classes caused that and this attribute is
341
+ * here to help.
342
+ *
343
+ * **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`.
344
+ * When content descriptor is requested for class `A` polymorphically, it's going to contain fields for all properties of class `B`,
345
+ * class `C` and a nested content field for the `B -> D` relationship. The nested content field's `actualPrimaryClassIds` attribute
346
+ * will contain ID of class `B`, identifying that only this specific class has the relationship.
347
+ */
348
+ actualPrimaryClassIds?: Id64String[];
349
+ /** Contained nested fields */
350
+ nestedFields: Field[];
351
+ /** Flag specifying whether field should be expanded */
352
+ autoExpand?: boolean;
353
+ }
255
354
  /**
256
355
  * Describes a content field that contains [Nested content]($docs/presentation/content/Terminology#nested-content).
257
356
  *
@@ -286,7 +385,7 @@ export declare class NestedContentField extends Field {
286
385
  /** Flag specifying whether field should be expanded */
287
386
  autoExpand?: boolean;
288
387
  /**
289
- * Creates an instance of NestedContentField.
388
+ * Creates an instance of [[NestedContentField]].
290
389
  * @param category Category information
291
390
  * @param name Unique name
292
391
  * @param label Display label
@@ -300,8 +399,11 @@ export declare class NestedContentField extends Field {
300
399
  * @param autoExpand Flag specifying whether field should be expanded
301
400
  * @param relationshipMeaning RelationshipMeaning of the field
302
401
  * @param renderer Property renderer used to render values of this field
402
+ * @deprecated in 5.0. Use an overload with `NestedContentFieldProps` instead.
303
403
  */
304
- constructor(category: CategoryDescription, name: string, label: string, description: TypeDescription, isReadonly: boolean, priority: number, contentClassInfo: ClassInfo, pathToPrimaryClass: RelationshipPath, nestedFields: Field[], editor?: EditorDescription, autoExpand?: boolean, renderer?: RendererDescription);
404
+ constructor(category: CategoryDescription, name: string, label: string, type: TypeDescription, isReadonly: boolean, priority: number, contentClassInfo: ClassInfo, pathToPrimaryClass: RelationshipPath, nestedFields: Field[], editor?: EditorDescription, autoExpand?: boolean, renderer?: RendererDescription);
405
+ /** Creates an instance of [[NestedContentField]]. */
406
+ constructor(props: NestedContentFieldProps);
305
407
  clone(): NestedContentField;
306
408
  /**
307
409
  * Get field by its name
@@ -323,7 +425,7 @@ export declare class NestedContentField extends Field {
323
425
  /** Deserialize a [[NestedContentField]] from compressed JSON. */
324
426
  static fromCompressedJSON(json: NestedContentFieldJSON<Id64String>, classesMap: {
325
427
  [id: string]: CompressedClassInfoJSON;
326
- }, categories: CategoryDescription[]): any;
428
+ }, categories: CategoryDescription[]): NestedContentField;
327
429
  private static fromCommonJSON;
328
430
  /** Resets parent of this field and all nested fields. */
329
431
  resetParentship(): void;
@@ -391,4 +493,5 @@ export interface PropertiesFieldDescriptor extends FieldDescriptorBase {
391
493
  name: string;
392
494
  }>;
393
495
  }
496
+ export {};
394
497
  //# sourceMappingURL=Fields.d.ts.map
@@ -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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"}
@@ -9,6 +9,7 @@ import { assert } from "@itwin/core-bentley";
9
9
  import { NavigationPropertyInfo, RelatedClassInfo, RelationshipPath, } from "../EC";
10
10
  import { PresentationError, PresentationStatus } from "../Error";
11
11
  import { RelationshipMeaning } from "../rules/content/modifiers/RelatedPropertiesSpecification";
12
+ import { omitUndefined } from "../Utils";
12
13
  import { Property } from "./Property";
13
14
  function isPropertiesField(field) {
14
15
  return !!field.properties;
@@ -29,28 +30,30 @@ function isNestedContentField(field) {
29
30
  * @public
30
31
  */
31
32
  export class Field {
32
- /**
33
- * Creates an instance of Field.
34
- * @param category Category information
35
- * @param name Unique name
36
- * @param label Display label
37
- * @param type Description of this field's values data type
38
- * @param isReadonly Are values in this field read-only
39
- * @param priority Priority of the field
40
- * @param editor Property editor used to edit values of this field
41
- * @param renderer Property renderer used to render values of this field
42
- * @param extendedData Extended data associated with this field
43
- */
44
- constructor(category, name, label, type, isReadonly, priority, editor, renderer, extendedData) {
45
- this.category = category;
46
- this.name = name;
47
- this.label = label;
48
- this.type = type;
49
- this.isReadonly = isReadonly;
50
- this.priority = priority;
51
- this.editor = editor;
52
- this.renderer = renderer;
53
- this.extendedData = extendedData;
33
+ constructor(categoryOrProps, name, label, type, isReadonly, priority, editor, renderer, extendedData) {
34
+ /* istanbul ignore next */
35
+ const props = "category" in categoryOrProps
36
+ ? categoryOrProps
37
+ : {
38
+ category: categoryOrProps,
39
+ name: name,
40
+ label: label,
41
+ type: type,
42
+ isReadonly: isReadonly,
43
+ priority: priority,
44
+ editor,
45
+ renderer,
46
+ extendedData,
47
+ };
48
+ this.category = props.category;
49
+ this.name = props.name;
50
+ this.label = props.label;
51
+ this.type = props.type;
52
+ this.isReadonly = props.isReadonly;
53
+ this.priority = props.priority;
54
+ this.editor = props.editor;
55
+ this.renderer = props.renderer;
56
+ this.extendedData = props.extendedData;
54
57
  }
55
58
  /**
56
59
  * Is this a [[PropertiesField]]
@@ -71,13 +74,13 @@ export class Field {
71
74
  return this._parent;
72
75
  }
73
76
  clone() {
74
- const clone = new Field(this.category, this.name, this.label, this.type, this.isReadonly, this.priority, this.editor, this.renderer, this.extendedData);
77
+ const clone = new Field(this);
75
78
  clone.rebuildParentship(this.parent);
76
79
  return clone;
77
80
  }
78
81
  /** Serialize this object to JSON */
79
82
  toJSON() {
80
- return {
83
+ return omitUndefined({
81
84
  category: this.category.name,
82
85
  name: this.name,
83
86
  label: this.label,
@@ -86,8 +89,8 @@ export class Field {
86
89
  priority: this.priority,
87
90
  renderer: this.renderer,
88
91
  editor: this.editor,
89
- extendedData: this.extendedData
90
- };
92
+ extendedData: this.extendedData,
93
+ });
91
94
  }
92
95
  /** Serialize this object to compressed JSON */
93
96
  toCompressedJSON(_classesMap) {
@@ -105,8 +108,8 @@ export class Field {
105
108
  // eslint-disable-next-line @typescript-eslint/no-deprecated
106
109
  return NestedContentField.fromJSON(json, categories);
107
110
  }
108
- const field = Object.create(Field.prototype);
109
- return Object.assign(field, json, {
111
+ return new Field({
112
+ ...json,
110
113
  category: Field.getCategoryFromFieldJson(json, categories),
111
114
  });
112
115
  }
@@ -121,8 +124,8 @@ export class Field {
121
124
  if (isNestedContentField(json)) {
122
125
  return NestedContentField.fromCompressedJSON(json, classesMap, categories);
123
126
  }
124
- const field = Object.create(Field.prototype);
125
- return Object.assign(field, json, {
127
+ return new Field({
128
+ ...json,
126
129
  category: Field.getCategoryFromFieldJson(json, categories),
127
130
  });
128
131
  }
@@ -166,21 +169,23 @@ export class Field {
166
169
  * @public
167
170
  */
168
171
  export class PropertiesField extends Field {
169
- /**
170
- * Creates an instance of PropertiesField.
171
- * @param category Category information
172
- * @param name Unique name
173
- * @param label Display label
174
- * @param type Description of this field's values data type
175
- * @param isReadonly Are values in this field read-only
176
- * @param priority Priority of the field
177
- * @param properties A list of properties this field is created from
178
- * @param editor Property editor used to edit values of this field
179
- * @param renderer Property renderer used to render values of this field
180
- */
181
- constructor(category, name, label, description, isReadonly, priority, properties, editor, renderer) {
182
- super(category, name, label, description, isReadonly, priority, editor, renderer);
183
- this.properties = properties;
172
+ constructor(categoryOrProps, name, label, type, isReadonly, priority, properties, editor, renderer) {
173
+ /* istanbul ignore next */
174
+ const props = "category" in categoryOrProps
175
+ ? categoryOrProps
176
+ : {
177
+ category: categoryOrProps,
178
+ name: name,
179
+ label: label,
180
+ type: type,
181
+ isReadonly: isReadonly,
182
+ priority: priority,
183
+ editor,
184
+ renderer,
185
+ properties: properties,
186
+ };
187
+ super(props);
188
+ this.properties = props.properties;
184
189
  }
185
190
  /** Is this a an array property field */
186
191
  isArrayPropertiesField() {
@@ -191,7 +196,7 @@ export class PropertiesField extends Field {
191
196
  return false;
192
197
  }
193
198
  clone() {
194
- const clone = new PropertiesField(this.category, this.name, this.label, this.type, this.isReadonly, this.priority, this.properties, this.editor, this.renderer);
199
+ const clone = new PropertiesField(this);
195
200
  clone.rebuildParentship(this.parent);
196
201
  return clone;
197
202
  }
@@ -220,8 +225,8 @@ export class PropertiesField extends Field {
220
225
  if (isStructPropertiesField(json)) {
221
226
  return StructPropertiesField.fromJSON(json, categories);
222
227
  }
223
- const field = Object.create(PropertiesField.prototype);
224
- return Object.assign(field, json, {
228
+ return new PropertiesField({
229
+ ...json,
225
230
  category: this.getCategoryFromFieldJson(json, categories),
226
231
  });
227
232
  }
@@ -236,8 +241,8 @@ export class PropertiesField extends Field {
236
241
  if (isStructPropertiesField(json)) {
237
242
  return StructPropertiesField.fromCompressedJSON(json, classesMap, categories);
238
243
  }
239
- const field = Object.create(PropertiesField.prototype);
240
- return Object.assign(field, json, {
244
+ return new PropertiesField({
245
+ ...json,
241
246
  category: this.getCategoryFromFieldJson(json, categories),
242
247
  properties: json.properties.map((propertyJson) => fromCompressedPropertyJSON(propertyJson, classesMap)),
243
248
  });
@@ -298,15 +303,30 @@ export class PropertiesField extends Field {
298
303
  * @public
299
304
  */
300
305
  export class ArrayPropertiesField extends PropertiesField {
301
- constructor(category, name, label, description, itemsField, isReadonly, priority, properties, editor, renderer) {
302
- super(category, name, label, description, isReadonly, priority, properties, editor, renderer);
303
- this.itemsField = itemsField;
306
+ constructor(categoryOrProps, name, label, type, itemsField, isReadonly, priority, properties, editor, renderer) {
307
+ /* istanbul ignore next */
308
+ const props = "category" in categoryOrProps
309
+ ? categoryOrProps
310
+ : {
311
+ category: categoryOrProps,
312
+ name: name,
313
+ label: label,
314
+ type: type,
315
+ isReadonly: isReadonly,
316
+ priority: priority,
317
+ editor,
318
+ renderer,
319
+ properties: properties,
320
+ itemsField: itemsField,
321
+ };
322
+ super(props);
323
+ this.itemsField = props.itemsField;
304
324
  }
305
325
  isArrayPropertiesField() {
306
326
  return true;
307
327
  }
308
328
  clone() {
309
- const clone = new ArrayPropertiesField(this.category, this.name, this.label, this.type, this.itemsField.clone(), this.isReadonly, this.priority, this.properties, this.editor, this.renderer);
329
+ const clone = new ArrayPropertiesField(this);
310
330
  clone.rebuildParentship(this.parent);
311
331
  return clone;
312
332
  }
@@ -326,8 +346,8 @@ export class ArrayPropertiesField extends PropertiesField {
326
346
  }
327
347
  /** Deserialize [[ArrayPropertiesField]] from JSON */
328
348
  static fromJSON(json, categories) {
329
- const field = Object.create(ArrayPropertiesField.prototype);
330
- return Object.assign(field, json, {
349
+ return new ArrayPropertiesField({
350
+ ...json,
331
351
  category: this.getCategoryFromFieldJson(json, categories),
332
352
  itemsField: PropertiesField.fromJSON(json.itemsField, categories),
333
353
  });
@@ -337,8 +357,8 @@ export class ArrayPropertiesField extends PropertiesField {
337
357
  * @public
338
358
  */
339
359
  static fromCompressedJSON(json, classesMap, categories) {
340
- const field = Object.create(ArrayPropertiesField.prototype);
341
- return Object.assign(field, json, {
360
+ return new ArrayPropertiesField({
361
+ ...json,
342
362
  category: this.getCategoryFromFieldJson(json, categories),
343
363
  properties: json.properties.map((propertyJson) => fromCompressedPropertyJSON(propertyJson, classesMap)),
344
364
  itemsField: PropertiesField.fromCompressedJSON(json.itemsField, classesMap, categories),
@@ -350,15 +370,30 @@ export class ArrayPropertiesField extends PropertiesField {
350
370
  * @public
351
371
  */
352
372
  export class StructPropertiesField extends PropertiesField {
353
- constructor(category, name, label, description, memberFields, isReadonly, priority, properties, editor, renderer) {
354
- super(category, name, label, description, isReadonly, priority, properties, editor, renderer);
355
- this.memberFields = memberFields;
373
+ constructor(categoryOrProps, name, label, type, memberFields, isReadonly, priority, properties, editor, renderer) {
374
+ /* istanbul ignore next */
375
+ const props = "category" in categoryOrProps
376
+ ? categoryOrProps
377
+ : {
378
+ category: categoryOrProps,
379
+ name: name,
380
+ label: label,
381
+ type: type,
382
+ isReadonly: isReadonly,
383
+ priority: priority,
384
+ editor,
385
+ renderer,
386
+ properties: properties,
387
+ memberFields: memberFields,
388
+ };
389
+ super(props);
390
+ this.memberFields = props.memberFields;
356
391
  }
357
392
  isStructPropertiesField() {
358
393
  return true;
359
394
  }
360
395
  clone() {
361
- const clone = new StructPropertiesField(this.category, this.name, this.label, this.type, this.memberFields.map((m) => m.clone()), this.isReadonly, this.priority, this.properties, this.editor, this.renderer);
396
+ const clone = new StructPropertiesField(this);
362
397
  clone.rebuildParentship(this.parent);
363
398
  return clone;
364
399
  }
@@ -378,8 +413,8 @@ export class StructPropertiesField extends PropertiesField {
378
413
  }
379
414
  /** Deserialize [[StructPropertiesField]] from JSON */
380
415
  static fromJSON(json, categories) {
381
- const field = Object.create(StructPropertiesField.prototype);
382
- return Object.assign(field, json, {
416
+ return new StructPropertiesField({
417
+ ...json,
383
418
  category: this.getCategoryFromFieldJson(json, categories),
384
419
  memberFields: json.memberFields.map((m) => PropertiesField.fromJSON(m, categories)),
385
420
  });
@@ -389,8 +424,8 @@ export class StructPropertiesField extends PropertiesField {
389
424
  * @public
390
425
  */
391
426
  static fromCompressedJSON(json, classesMap, categories) {
392
- const field = Object.create(StructPropertiesField.prototype);
393
- return Object.assign(field, json, {
427
+ return new StructPropertiesField({
428
+ ...json,
394
429
  category: this.getCategoryFromFieldJson(json, categories),
395
430
  properties: json.properties.map((propertyJson) => fromCompressedPropertyJSON(propertyJson, classesMap)),
396
431
  memberFields: json.memberFields.map((m) => PropertiesField.fromCompressedJSON(m, classesMap, categories)),
@@ -403,35 +438,37 @@ export class StructPropertiesField extends PropertiesField {
403
438
  * @public
404
439
  */
405
440
  export class NestedContentField extends Field {
406
- /**
407
- * Creates an instance of NestedContentField.
408
- * @param category Category information
409
- * @param name Unique name
410
- * @param label Display label
411
- * @param type Description of this field's values data type
412
- * @param isReadonly Are values in this field read-only
413
- * @param priority Priority of the field
414
- * @param contentClassInfo Information about an ECClass whose properties are nested inside this field
415
- * @param pathToPrimaryClass Relationship path to [Primary class]($docs/presentation/content/Terminology#primary-class)
416
- * @param nestedFields Contained nested fields
417
- * @param editor Property editor used to edit values of this field
418
- * @param autoExpand Flag specifying whether field should be expanded
419
- * @param relationshipMeaning RelationshipMeaning of the field
420
- * @param renderer Property renderer used to render values of this field
421
- */
422
- constructor(category, name, label, description, isReadonly, priority, contentClassInfo, pathToPrimaryClass, nestedFields, editor, autoExpand, renderer) {
423
- super(category, name, label, description, isReadonly, priority, editor, renderer);
424
- this.contentClassInfo = contentClassInfo;
425
- this.pathToPrimaryClass = pathToPrimaryClass;
426
- this.relationshipMeaning = RelationshipMeaning.RelatedInstance;
427
- this.nestedFields = nestedFields;
428
- this.autoExpand = autoExpand;
429
- this.actualPrimaryClassIds = [];
441
+ constructor(categoryOrProps, name, label, type, isReadonly, priority, contentClassInfo, pathToPrimaryClass, nestedFields, editor, autoExpand, renderer) {
442
+ /* istanbul ignore next */
443
+ const props = "category" in categoryOrProps
444
+ ? categoryOrProps
445
+ : {
446
+ category: categoryOrProps,
447
+ name: name,
448
+ label: label,
449
+ type: type,
450
+ isReadonly: isReadonly,
451
+ priority: priority,
452
+ editor,
453
+ renderer,
454
+ contentClassInfo: contentClassInfo,
455
+ pathToPrimaryClass: pathToPrimaryClass,
456
+ nestedFields: nestedFields,
457
+ autoExpand,
458
+ };
459
+ super(props);
460
+ this.contentClassInfo = props.contentClassInfo;
461
+ this.pathToPrimaryClass = props.pathToPrimaryClass;
462
+ this.relationshipMeaning = props.relationshipMeaning ?? RelationshipMeaning.RelatedInstance;
463
+ this.nestedFields = props.nestedFields;
464
+ this.autoExpand = props.autoExpand;
465
+ this.actualPrimaryClassIds = props.actualPrimaryClassIds ?? [];
430
466
  }
431
467
  clone() {
432
- const clone = new NestedContentField(this.category, this.name, this.label, this.type, this.isReadonly, this.priority, this.contentClassInfo, this.pathToPrimaryClass, this.nestedFields.map((n) => n.clone()), this.editor, this.autoExpand, this.renderer);
433
- clone.actualPrimaryClassIds = this.actualPrimaryClassIds;
434
- clone.relationshipMeaning = this.relationshipMeaning;
468
+ const clone = new NestedContentField({
469
+ ...this,
470
+ nestedFields: this.nestedFields.map((n) => n.clone()),
471
+ });
435
472
  clone.rebuildParentship(this.parent);
436
473
  return clone;
437
474
  }
@@ -452,7 +489,7 @@ export class NestedContentField extends Field {
452
489
  relationshipMeaning: this.relationshipMeaning,
453
490
  actualPrimaryClassIds: this.actualPrimaryClassIds,
454
491
  nestedFields: this.nestedFields.map((field) => field.toJSON()),
455
- autoExpand: this.autoExpand,
492
+ ...(this.autoExpand ? { autoExpand: true } : undefined),
456
493
  };
457
494
  }
458
495
  /** Serialize this object to compressed JSON */
@@ -474,8 +511,9 @@ export class NestedContentField extends Field {
474
511
  if (!json) {
475
512
  return undefined;
476
513
  }
477
- const field = Object.create(NestedContentField.prototype);
478
- return Object.assign(field, json, this.fromCommonJSON(json, categories), {
514
+ return new NestedContentField({
515
+ ...json,
516
+ ...this.fromCommonJSON(json, categories),
479
517
  nestedFields: json.nestedFields
480
518
  .map((nestedFieldJson) => Field.fromJSON(nestedFieldJson, categories))
481
519
  .filter((nestedField) => !!nestedField),
@@ -484,8 +522,9 @@ export class NestedContentField extends Field {
484
522
  /** Deserialize a [[NestedContentField]] from compressed JSON. */
485
523
  static fromCompressedJSON(json, classesMap, categories) {
486
524
  assert(classesMap.hasOwnProperty(json.contentClassInfo));
487
- const field = Object.create(NestedContentField.prototype);
488
- return Object.assign(field, json, this.fromCommonJSON(json, categories), {
525
+ return new NestedContentField({
526
+ ...json,
527
+ ...this.fromCommonJSON(json, categories),
489
528
  category: this.getCategoryFromFieldJson(json, categories),
490
529
  nestedFields: json.nestedFields
491
530
  .map((nestedFieldJson) => Field.fromCompressedJSON(nestedFieldJson, classesMap, categories))