Skip to main content

ArrayProperty <T, ArrayT>

Hierarchy

Index

Properties

optionalField

Field?: ComponentType<FieldProps<T, any, any>>

If you need to render a custom field, you can create a component that takes FieldProps as props. You receive the value, a function to update the value and additional utility props such as if there is an error. You can customize it by passing custom props that are received in the component.

optionalPreview

Preview?: ComponentType<PropertyPreviewProps<T, any>>

Configure how a property is displayed as a preview, e.g. in the collection view. You can customize it by passing custom props that are received in the component.

optionalcolumnWidth

columnWidth?: number

Width in pixels of this column in the collection view. If not set the width is inferred based on the other configurations

optionalcustomProps

customProps?: any

Additional props that are passed to the components defined in field or in preview.

dataType

dataType: array

Datatype of the property

optionaldefaultValue

defaultValue?: null | T

This value will be set by default for new entities.

optionaldescription

description?: string

Property description, always displayed under the field

optionaldisabled

disabled?: boolean | PropertyDisabledConfig

Is this field disabled. When set to true, it gets rendered as a disabled field. You can also specify a configuration for defining the behaviour of disabled properties (including custom messages, clear value on disabled or hide the field completely)

optionaleditable

editable?: boolean

Should this property be editable. If set to true, the user will be able to modify the property and save the new config. The saved config will then become the source of truth.

optionalexpanded

expanded?: boolean

Should the field be initially expanded. Defaults to true

optionalhideFromCollection

hideFromCollection?: boolean

Do not show this property in the collection view

optionallongDescription

longDescription?: string

Longer description of a field, displayed under a popover

optionalname

name?: string

Property name (e.g. Product)

optionalof

of?: PropertyOrBuilder<ArrayT, Record<string, any>> | Property<ArrayT>[]

The property of this array. You can specify any property (except another Array property) You can leave this field empty only if you are providing a custom field, or using the oneOf prop, otherwise an error will be thrown.

optionaloneOf

oneOf?: { properties: Properties<any>; propertiesOrder?: string[]; typeField?: string; valueField?: string }

Use this field if you would like to have an array of typed objects. It is useful if you need to have values of different types in the same array. Each entry of the array is an object with the shape:

{ type: "YOUR_TYPE", value: "YOUR_VALUE"}

Note that you can use any property so value can take any value (strings, numbers, array, objects...) You can customise the type and value fields to suit your needs.

An example use case for this feature may be a blog entry, where you have images and text blocks using markdown.


Type declaration

  • properties: Properties<any>

    Record of properties, where the key is the type and the value is the corresponding property

  • optionalpropertiesOrder?: string[]

    Order in which the properties are displayed. If you are specifying your collection as code, the order is the same as the one you define in properties, and you don't need to specify this prop.

  • optionaltypeField?: string

    Name of the field to use as the discriminator for type Defaults to type

  • optionalvalueField?: string

    Name of the field to use as the value Defaults to value

optionalpropertyConfig

propertyConfig?: string

You can use this prop to reuse a property that has been defined in the top level of the CMS in the prop fields. All the configuration will be taken from the inherited config, and overwritten by the current property config.

optionalreadOnly

readOnly?: boolean

Is this a read only property. When set to true, it gets rendered as a preview.

optionalvalidation

Rules for validating this property

Sign up to our newsletter to get the latest news and updates. No spam!