@itwin/presentation-common 5.0.0-dev.50 → 5.0.0-dev.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts +1 -1
  2. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts.map +1 -1
  3. package/lib/cjs/presentation-common/content/ContentTraverser.js +31 -13
  4. package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
  5. package/lib/cjs/presentation-common/content/Fields.d.ts +111 -8
  6. package/lib/cjs/presentation-common/content/Fields.d.ts.map +1 -1
  7. package/lib/cjs/presentation-common/content/Fields.js +133 -95
  8. package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
  9. package/lib/cjs/presentation-common/content/Item.d.ts +19 -0
  10. package/lib/cjs/presentation-common/content/Item.d.ts.map +1 -1
  11. package/lib/cjs/presentation-common/content/Item.js +30 -28
  12. package/lib/cjs/presentation-common/content/Item.js.map +1 -1
  13. package/lib/esm/presentation-common/content/ContentTraverser.d.ts +1 -1
  14. package/lib/esm/presentation-common/content/ContentTraverser.d.ts.map +1 -1
  15. package/lib/esm/presentation-common/content/ContentTraverser.js +31 -13
  16. package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
  17. package/lib/esm/presentation-common/content/Fields.d.ts +111 -8
  18. package/lib/esm/presentation-common/content/Fields.d.ts.map +1 -1
  19. package/lib/esm/presentation-common/content/Fields.js +133 -95
  20. package/lib/esm/presentation-common/content/Fields.js.map +1 -1
  21. package/lib/esm/presentation-common/content/Item.d.ts +19 -0
  22. package/lib/esm/presentation-common/content/Item.d.ts.map +1 -1
  23. package/lib/esm/presentation-common/content/Item.js +30 -28
  24. package/lib/esm/presentation-common/content/Item.js.map +1 -1
  25. package/package.json +10 -10
@@ -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":"AAIA;;GAEG;AAEH,OAAO,EAAU,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,SAAS,EACT,aAAa,EACb,uBAAuB,EAKvB,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,mBAAmB,EAAE,MAAM,2DAA2D,CAAC;AAEhG,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CAC3C;AAED;;;GAGG;AAEH,MAAM,WAAW,mBAAmB,CAAC,cAAc,GAAG,aAAa,CAAE,SAAQ,aAAa;IACxF,UAAU,EAAE,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC;CAC5C;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB,CAAC,cAAc,GAAG,SAAS,CAAE,SAAQ,mBAAmB,CAAC,cAAc,CAAC;IAC/G,UAAU,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB,CAAC,cAAc,GAAG,SAAS,CAAE,SAAQ,mBAAmB,CAAC,cAAc,CAAC;IAChH,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,EAAE,CAAC;CACrD;AAED;;;GAGG;AAEH,MAAM,WAAW,sBAAsB,CAAC,cAAc,GAAG,aAAa,CAAE,SAAQ,aAAa;IAC3F,gBAAgB,EAAE,cAAc,CAAC;IACjC,kBAAkB,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACzD,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,qBAAqB,CAAC,EAAE,UAAU,EAAE,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;CAC3C;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,CAAC,cAAc,GAAG,aAAa,IAChD,aAAa,GACb,mBAAmB,CAAC,cAAc,CAAC,GACnC,wBAAwB,CAAC,cAAc,CAAC,GACxC,yBAAyB,CAAC,cAAc,CAAC,GACzC,sBAAsB,CAAC,cAAc,CAAC,CAAC;AA8B3C;;;GAGG;AACH,UAAU,UAAU;IAClB,2BAA2B;IAC3B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,IAAI,EAAE,eAAe,CAAC;IACtB,yCAAyC;IACzC,UAAU,EAAE,OAAO,CAAC;IACpB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,+CAA+C;IAC/C,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CAC3C;AAED;;;;;GAKG;AACH,qBAAa,KAAK;IAChB,2BAA2B;IACpB,QAAQ,EAAE,mBAAmB,CAAC;IACrC,kBAAkB;IACX,IAAI,EAAE,MAAM,CAAC;IACpB,oBAAoB;IACb,KAAK,EAAE,MAAM,CAAC;IACrB,mDAAmD;IAC5C,IAAI,EAAE,eAAe,CAAC;IAC7B,yCAAyC;IAClC,UAAU,EAAE,OAAO,CAAC;IAC3B,kFAAkF;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACxB,4DAA4D;IACrD,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IACtC,wDAAwD;IACjD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAClC,+CAA+C;IACxC,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACjD,mBAAmB;IACnB,OAAO,CAAC,OAAO,CAAC,CAAqB;IAErC;;;;;;;;;;;;OAYG;gBAED,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,eAAe,EACrB,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,QAAQ,CAAC,EAAE,mBAAmB,EAC9B,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;IAE3C,wCAAwC;gBACrB,KAAK,EAAE,UAAU;IAsCpC;;OAEG;IACI,iBAAiB,IAAI,IAAI,IAAI,eAAe;IAInD;;OAEG;IACI,oBAAoB,IAAI,IAAI,IAAI,kBAAkB;IAIzD;;OAEG;IACH,IAAW,MAAM,IAAI,kBAAkB,GAAG,SAAS,CAElD;IAEM,KAAK;IAMZ,oCAAoC;IAC7B,MAAM,IAAI,SAAS;IAc1B,+CAA+C;IACxC,gBAAgB,CAAC,WAAW,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,CAAA;KAAE,GAAG,SAAS,CAAC,MAAM,CAAC;IAIlG,sCAAsC;WACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,KAAK,GAAG,SAAS;IAiBzG,oDAAoD;WACtC,kBAAkB,CAC9B,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,EACnC,UAAU,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,CAAA;KAAE,EACrD,UAAU,EAAE,mBAAmB,EAAE,GAChC,KAAK,GAAG,SAAS;IAgBpB,SAAS,CAAC,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,mBAAmB;IAQvH,6BAA6B;IACtB,eAAe,IAAI,IAAI;IAI9B,oEAAoE;IAC7D,iBAAiB,CAAC,WAAW,CAAC,EAAE,kBAAkB,GAAG,IAAI;IAIhE;;;OAGG;IACI,kBAAkB,IAAI,eAAe;IAO5C;;;OAGG;IACI,iBAAiB,CAAC,UAAU,EAAE,eAAe;CAGrD;AAED;;;GAGG;AACH,UAAU,oBAAqB,SAAQ,UAAU;IAC/C,sDAAsD;IACtD,UAAU,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,sDAAsD;IAC/C,UAAU,EAAE,QAAQ,EAAE,CAAC;IAE9B;;;;;;;;;;;;OAYG;gBAED,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,eAAe,EACrB,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,QAAQ,EAAE,EACtB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,QAAQ,CAAC,EAAE,mBAAmB;IAEhC,kDAAkD;gBAC/B,KAAK,EAAE,oBAAoB;IA+B9C,wCAAwC;IACjC,sBAAsB,IAAI,IAAI,IAAI,oBAAoB;IAG7D,yCAAyC;IAClC,uBAAuB,IAAI,IAAI,IAAI,qBAAqB;IAI/C,KAAK;IAMrB,oCAAoC;IACpB,MAAM,IAAI,mBAAmB;IAO7C,+CAA+C;IAC/B,gBAAgB,CAAC,UAAU,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,CAAA;KAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC;IAOpH,gDAAgD;WACzB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,eAAe,GAAG,SAAS;IAgBtI;;;OAGG;WACoB,kBAAkB,CACvC,IAAI,EAAE,mBAAmB,CAAC,UAAU,CAAC,EACrC,UAAU,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,CAAA;KAAE,EACrD,UAAU,EAAE,mBAAmB,EAAE,GAChC,eAAe,GAAG,SAAS;IAc9B;;;OAGG;IACa,kBAAkB,IAAI,eAAe;IAiBrD;;;OAGG;IACa,iBAAiB,CAAC,UAAU,EAAE,eAAe;CAkC9D;AAED;;;GAGG;AACH,UAAU,yBAA0B,SAAQ,oBAAoB;IAC9D,UAAU,EAAE,eAAe,CAAC;CAC7B;AAED;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,eAAe;IAChD,UAAU,EAAE,eAAe,CAAC;IAEnC;;;OAGG;gBAED,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,eAAe,EACrB,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,QAAQ,EAAE,EACtB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,QAAQ,CAAC,EAAE,mBAAmB;IAEhC,uDAAuD;gBACpC,KAAK,EAAE,yBAAyB;IAiCnC,sBAAsB,IAAI,IAAI,IAAI,oBAAoB;IAItD,KAAK;IAMrB,oCAAoC;IACpB,MAAM,IAAI,wBAAwB;IAOlD,+CAA+C;IAC/B,gBAAgB,CAAC,UAAU,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,CAAA;KAAE,GAAG,wBAAwB,CAAC,MAAM,CAAC;IAOzH,qDAAqD;WAC9B,QAAQ,CAAC,IAAI,EAAE,wBAAwB,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,oBAAoB;IAQxH;;;OAGG;WACoB,kBAAkB,CACvC,IAAI,EAAE,wBAAwB,CAAC,UAAU,CAAC,EAC1C,UAAU,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,CAAA;KAAE,EACrD,UAAU,EAAE,mBAAmB,EAAE,GAChC,oBAAoB;CAQxB;AAED;;;GAGG;AACH,UAAU,0BAA2B,SAAQ,oBAAoB;IAC/D,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;IACjD,YAAY,EAAE,eAAe,EAAE,CAAC;IAEvC;;;OAGG;gBAED,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,eAAe,EACrB,YAAY,EAAE,eAAe,EAAE,EAC/B,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,QAAQ,EAAE,EACtB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,QAAQ,CAAC,EAAE,mBAAmB;IAEhC,wDAAwD;gBACrC,KAAK,EAAE,0BAA0B;IAiCpC,uBAAuB,IAAI,IAAI,IAAI,qBAAqB;IAIxD,KAAK;IAMrB,oCAAoC;IACpB,MAAM,IAAI,yBAAyB;IAOnD,+CAA+C;IAC/B,gBAAgB,CAAC,UAAU,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,CAAA;KAAE,GAAG,yBAAyB,CAAC,MAAM,CAAC;IAO1H,sDAAsD;WAC/B,QAAQ,CAAC,IAAI,EAAE,yBAAyB,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,qBAAqB;IAQ1H;;;OAGG;WACoB,kBAAkB,CACvC,IAAI,EAAE,yBAAyB,CAAC,UAAU,CAAC,EAC3C,UAAU,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,CAAA;KAAE,EACrD,UAAU,EAAE,mBAAmB,EAAE,GAChC,qBAAqB;CAQzB;AAED;;;GAGG;AACH,UAAU,uBAAwB,SAAQ,UAAU;IAClD,iFAAiF;IACjF,gBAAgB,EAAE,SAAS,CAAC;IAC5B,iGAAiG;IACjG,kBAAkB,EAAE,gBAAgB,CAAC;IACrC;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,UAAU,EAAE,CAAC;IACrC,8BAA8B;IAC9B,YAAY,EAAE,KAAK,EAAE,CAAC;IACtB,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,iFAAiF;IAC1E,gBAAgB,EAAE,SAAS,CAAC;IACnC,iGAAiG;IAC1F,kBAAkB,EAAE,gBAAgB,CAAC;IAC5C;;;;;;OAMG;IACI,mBAAmB,EAAE,mBAAmB,CAAC;IAChD;;;;;;;;;OASG;IACI,qBAAqB,EAAE,UAAU,EAAE,CAAC;IAC3C,8BAA8B;IACvB,YAAY,EAAE,KAAK,EAAE,CAAC;IAC7B,uDAAuD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;;;;;;;;;;;;OAgBG;gBAED,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,eAAe,EACrB,UAAU,EAAE,OAAO,EACnB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,SAAS,EAC3B,kBAAkB,EAAE,gBAAgB,EACpC,YAAY,EAAE,KAAK,EAAE,EACrB,MAAM,CAAC,EAAE,iBAAiB,EAC1B,UAAU,CAAC,EAAE,OAAO,EACpB,QAAQ,CAAC,EAAE,mBAAmB;IAEhC,qDAAqD;gBAClC,KAAK,EAAE,uBAAuB;IA0CjC,KAAK;IASrB;;;;OAIG;IACI,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS;IAIzE,oCAAoC;IACpB,MAAM,IAAI,sBAAsB;IAYhD,+CAA+C;IAC/B,gBAAgB,CAAC,UAAU,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,CAAA;KAAE,GAAG,sBAAsB,CAAC,MAAM,CAAC;IAWvH;;;OAGG;WACoB,QAAQ,CAAC,IAAI,EAAE,sBAAsB,GAAG,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,kBAAkB,GAAG,SAAS;IAa5I,iEAAiE;WAC1C,kBAAkB,CACvC,IAAI,EAAE,sBAAsB,CAAC,UAAU,CAAC,EACxC,UAAU,EAAE;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,CAAA;KAAE,EACrD,UAAU,EAAE,mBAAmB,EAAE;IAgBnC,OAAO,CAAC,MAAM,CAAC,cAAc;IAS7B,yDAAyD;IACzC,eAAe,IAAI,IAAI;IAOvC;;;OAGG;IACa,iBAAiB,CAAC,WAAW,CAAC,EAAE,kBAAkB,GAAG,IAAI;CAM1E;AAED,gBAAgB;AAChB,eAAO,MAAM,cAAc,WAAY,KAAK,EAAE,QAAQ,MAAM,GAAG,SAAS,YAAY,OAAO,KAAG,KAAK,GAAG,SAgBrG,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,oBAAoB,WAAY,KAAK,EAAE,mBAAmB,eAAe,YAAY,OAAO,KAAG,KAAK,GAAG,SAcnH,CAAC;AAEF;;;GAGG;AACH,oBAAY,mBAAmB;IAC7B,IAAI,SAAS;IACb,UAAU,eAAe;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,oBAAoB,GAAG,yBAAyB,CAAC;AAE/E,cAAc;AAEd,yBAAiB,eAAe,CAAC;IAC/B,uCAAuC;IACvC,SAAgB,OAAO,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,IAAI,oBAAoB,CAErE;IACD,4CAA4C;IAC5C,SAAgB,YAAY,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,IAAI,yBAAyB,CAE/E;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,IAAI,EAAE,mBAAmB,CAAC,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,IAAI,EAAE,mBAAmB,CAAC,UAAU,CAAC;IACrC,6BAA6B,EAAE,wBAAwB,CAAC;IACxD;;;OAGG;IACH,UAAU,EAAE,KAAK,CAAC;QAChB,sBAAsB;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,oBAAoB;QACpB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACJ"}
@@ -9,8 +9,8 @@ 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 { Property } from "./Property";
13
12
  import { omitUndefined } from "../Utils";
13
+ import { Property } from "./Property";
14
14
  function isPropertiesField(field) {
15
15
  return !!field.properties;
16
16
  }
@@ -30,28 +30,30 @@ function isNestedContentField(field) {
30
30
  * @public
31
31
  */
32
32
  export class Field {
33
- /**
34
- * Creates an instance of Field.
35
- * @param category Category information
36
- * @param name Unique name
37
- * @param label Display label
38
- * @param type Description of this field's values data type
39
- * @param isReadonly Are values in this field read-only
40
- * @param priority Priority of the field
41
- * @param editor Property editor used to edit values of this field
42
- * @param renderer Property renderer used to render values of this field
43
- * @param extendedData Extended data associated with this field
44
- */
45
- constructor(category, name, label, type, isReadonly, priority, editor, renderer, extendedData) {
46
- this.category = category;
47
- this.name = name;
48
- this.label = label;
49
- this.type = type;
50
- this.isReadonly = isReadonly;
51
- this.priority = priority;
52
- this.editor = editor;
53
- this.renderer = renderer;
54
- 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;
55
57
  }
56
58
  /**
57
59
  * Is this a [[PropertiesField]]
@@ -72,7 +74,7 @@ export class Field {
72
74
  return this._parent;
73
75
  }
74
76
  clone() {
75
- 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);
76
78
  clone.rebuildParentship(this.parent);
77
79
  return clone;
78
80
  }
@@ -106,8 +108,8 @@ export class Field {
106
108
  // eslint-disable-next-line @typescript-eslint/no-deprecated
107
109
  return NestedContentField.fromJSON(json, categories);
108
110
  }
109
- const field = Object.create(Field.prototype);
110
- return Object.assign(field, json, {
111
+ return new Field({
112
+ ...json,
111
113
  category: Field.getCategoryFromFieldJson(json, categories),
112
114
  });
113
115
  }
@@ -122,8 +124,8 @@ export class Field {
122
124
  if (isNestedContentField(json)) {
123
125
  return NestedContentField.fromCompressedJSON(json, classesMap, categories);
124
126
  }
125
- const field = Object.create(Field.prototype);
126
- return Object.assign(field, json, {
127
+ return new Field({
128
+ ...json,
127
129
  category: Field.getCategoryFromFieldJson(json, categories),
128
130
  });
129
131
  }
@@ -167,21 +169,23 @@ export class Field {
167
169
  * @public
168
170
  */
169
171
  export class PropertiesField extends Field {
170
- /**
171
- * Creates an instance of PropertiesField.
172
- * @param category Category information
173
- * @param name Unique name
174
- * @param label Display label
175
- * @param type Description of this field's values data type
176
- * @param isReadonly Are values in this field read-only
177
- * @param priority Priority of the field
178
- * @param properties A list of properties this field is created from
179
- * @param editor Property editor used to edit values of this field
180
- * @param renderer Property renderer used to render values of this field
181
- */
182
- constructor(category, name, label, description, isReadonly, priority, properties, editor, renderer) {
183
- super(category, name, label, description, isReadonly, priority, editor, renderer);
184
- 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;
185
189
  }
186
190
  /** Is this a an array property field */
187
191
  isArrayPropertiesField() {
@@ -192,7 +196,7 @@ export class PropertiesField extends Field {
192
196
  return false;
193
197
  }
194
198
  clone() {
195
- 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);
196
200
  clone.rebuildParentship(this.parent);
197
201
  return clone;
198
202
  }
@@ -221,8 +225,8 @@ export class PropertiesField extends Field {
221
225
  if (isStructPropertiesField(json)) {
222
226
  return StructPropertiesField.fromJSON(json, categories);
223
227
  }
224
- const field = Object.create(PropertiesField.prototype);
225
- return Object.assign(field, json, {
228
+ return new PropertiesField({
229
+ ...json,
226
230
  category: this.getCategoryFromFieldJson(json, categories),
227
231
  });
228
232
  }
@@ -237,8 +241,8 @@ export class PropertiesField extends Field {
237
241
  if (isStructPropertiesField(json)) {
238
242
  return StructPropertiesField.fromCompressedJSON(json, classesMap, categories);
239
243
  }
240
- const field = Object.create(PropertiesField.prototype);
241
- return Object.assign(field, json, {
244
+ return new PropertiesField({
245
+ ...json,
242
246
  category: this.getCategoryFromFieldJson(json, categories),
243
247
  properties: json.properties.map((propertyJson) => fromCompressedPropertyJSON(propertyJson, classesMap)),
244
248
  });
@@ -299,15 +303,30 @@ export class PropertiesField extends Field {
299
303
  * @public
300
304
  */
301
305
  export class ArrayPropertiesField extends PropertiesField {
302
- constructor(category, name, label, description, itemsField, isReadonly, priority, properties, editor, renderer) {
303
- super(category, name, label, description, isReadonly, priority, properties, editor, renderer);
304
- 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;
305
324
  }
306
325
  isArrayPropertiesField() {
307
326
  return true;
308
327
  }
309
328
  clone() {
310
- 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);
311
330
  clone.rebuildParentship(this.parent);
312
331
  return clone;
313
332
  }
@@ -327,8 +346,8 @@ export class ArrayPropertiesField extends PropertiesField {
327
346
  }
328
347
  /** Deserialize [[ArrayPropertiesField]] from JSON */
329
348
  static fromJSON(json, categories) {
330
- const field = Object.create(ArrayPropertiesField.prototype);
331
- return Object.assign(field, json, {
349
+ return new ArrayPropertiesField({
350
+ ...json,
332
351
  category: this.getCategoryFromFieldJson(json, categories),
333
352
  itemsField: PropertiesField.fromJSON(json.itemsField, categories),
334
353
  });
@@ -338,8 +357,8 @@ export class ArrayPropertiesField extends PropertiesField {
338
357
  * @public
339
358
  */
340
359
  static fromCompressedJSON(json, classesMap, categories) {
341
- const field = Object.create(ArrayPropertiesField.prototype);
342
- return Object.assign(field, json, {
360
+ return new ArrayPropertiesField({
361
+ ...json,
343
362
  category: this.getCategoryFromFieldJson(json, categories),
344
363
  properties: json.properties.map((propertyJson) => fromCompressedPropertyJSON(propertyJson, classesMap)),
345
364
  itemsField: PropertiesField.fromCompressedJSON(json.itemsField, classesMap, categories),
@@ -351,15 +370,30 @@ export class ArrayPropertiesField extends PropertiesField {
351
370
  * @public
352
371
  */
353
372
  export class StructPropertiesField extends PropertiesField {
354
- constructor(category, name, label, description, memberFields, isReadonly, priority, properties, editor, renderer) {
355
- super(category, name, label, description, isReadonly, priority, properties, editor, renderer);
356
- 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;
357
391
  }
358
392
  isStructPropertiesField() {
359
393
  return true;
360
394
  }
361
395
  clone() {
362
- 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);
363
397
  clone.rebuildParentship(this.parent);
364
398
  return clone;
365
399
  }
@@ -379,8 +413,8 @@ export class StructPropertiesField extends PropertiesField {
379
413
  }
380
414
  /** Deserialize [[StructPropertiesField]] from JSON */
381
415
  static fromJSON(json, categories) {
382
- const field = Object.create(StructPropertiesField.prototype);
383
- return Object.assign(field, json, {
416
+ return new StructPropertiesField({
417
+ ...json,
384
418
  category: this.getCategoryFromFieldJson(json, categories),
385
419
  memberFields: json.memberFields.map((m) => PropertiesField.fromJSON(m, categories)),
386
420
  });
@@ -390,8 +424,8 @@ export class StructPropertiesField extends PropertiesField {
390
424
  * @public
391
425
  */
392
426
  static fromCompressedJSON(json, classesMap, categories) {
393
- const field = Object.create(StructPropertiesField.prototype);
394
- return Object.assign(field, json, {
427
+ return new StructPropertiesField({
428
+ ...json,
395
429
  category: this.getCategoryFromFieldJson(json, categories),
396
430
  properties: json.properties.map((propertyJson) => fromCompressedPropertyJSON(propertyJson, classesMap)),
397
431
  memberFields: json.memberFields.map((m) => PropertiesField.fromCompressedJSON(m, classesMap, categories)),
@@ -404,35 +438,37 @@ export class StructPropertiesField extends PropertiesField {
404
438
  * @public
405
439
  */
406
440
  export class NestedContentField extends Field {
407
- /**
408
- * Creates an instance of NestedContentField.
409
- * @param category Category information
410
- * @param name Unique name
411
- * @param label Display label
412
- * @param type Description of this field's values data type
413
- * @param isReadonly Are values in this field read-only
414
- * @param priority Priority of the field
415
- * @param contentClassInfo Information about an ECClass whose properties are nested inside this field
416
- * @param pathToPrimaryClass Relationship path to [Primary class]($docs/presentation/content/Terminology#primary-class)
417
- * @param nestedFields Contained nested fields
418
- * @param editor Property editor used to edit values of this field
419
- * @param autoExpand Flag specifying whether field should be expanded
420
- * @param relationshipMeaning RelationshipMeaning of the field
421
- * @param renderer Property renderer used to render values of this field
422
- */
423
- constructor(category, name, label, description, isReadonly, priority, contentClassInfo, pathToPrimaryClass, nestedFields, editor, autoExpand, renderer) {
424
- super(category, name, label, description, isReadonly, priority, editor, renderer);
425
- this.contentClassInfo = contentClassInfo;
426
- this.pathToPrimaryClass = pathToPrimaryClass;
427
- this.relationshipMeaning = RelationshipMeaning.RelatedInstance;
428
- this.nestedFields = nestedFields;
429
- this.autoExpand = autoExpand;
430
- 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 ?? [];
431
466
  }
432
467
  clone() {
433
- 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);
434
- clone.actualPrimaryClassIds = this.actualPrimaryClassIds;
435
- clone.relationshipMeaning = this.relationshipMeaning;
468
+ const clone = new NestedContentField({
469
+ ...this,
470
+ nestedFields: this.nestedFields.map((n) => n.clone()),
471
+ });
436
472
  clone.rebuildParentship(this.parent);
437
473
  return clone;
438
474
  }
@@ -475,8 +511,9 @@ export class NestedContentField extends Field {
475
511
  if (!json) {
476
512
  return undefined;
477
513
  }
478
- const field = Object.create(NestedContentField.prototype);
479
- return Object.assign(field, json, this.fromCommonJSON(json, categories), {
514
+ return new NestedContentField({
515
+ ...json,
516
+ ...this.fromCommonJSON(json, categories),
480
517
  nestedFields: json.nestedFields
481
518
  .map((nestedFieldJson) => Field.fromJSON(nestedFieldJson, categories))
482
519
  .filter((nestedField) => !!nestedField),
@@ -485,8 +522,9 @@ export class NestedContentField extends Field {
485
522
  /** Deserialize a [[NestedContentField]] from compressed JSON. */
486
523
  static fromCompressedJSON(json, classesMap, categories) {
487
524
  assert(classesMap.hasOwnProperty(json.contentClassInfo));
488
- const field = Object.create(NestedContentField.prototype);
489
- return Object.assign(field, json, this.fromCommonJSON(json, categories), {
525
+ return new NestedContentField({
526
+ ...json,
527
+ ...this.fromCommonJSON(json, categories),
490
528
  category: this.getCategoryFromFieldJson(json, categories),
491
529
  nestedFields: json.nestedFields
492
530
  .map((nestedFieldJson) => Field.fromCompressedJSON(nestedFieldJson, classesMap, categories))