Skip to content

MapProperty

@firecms/core


@firecms/core / MapProperty

Defined in: types/properties.ts:526

T extends Record<string, CMSType> = Record<string, CMSType>

optional columnWidth: number

Defined in: types/properties.ts:101

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

BaseProperty.columnWidth


optional customProps: any

Defined in: types/properties.ts:148

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

BaseProperty.customProps


dataType: "map"

Defined in: types/properties.ts:528

Datatype of the property

BaseProperty.dataType


optional defaultValue: T | null

Defined in: types/properties.ts:153

This value will be set by default for new entities.

BaseProperty.defaultValue


optional description: string

Defined in: types/properties.ts:82

Property description, always displayed under the field

BaseProperty.description


optional disabled: boolean | PropertyDisabledConfig

Defined in: types/properties.ts:121

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)

BaseProperty.disabled


optional editable: boolean

Defined in: types/properties.ts:159

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.

BaseProperty.editable


optional expanded: boolean

Defined in: types/properties.ts:578

Should the field be initially expanded. Defaults to true


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

Defined in: types/properties.ts:135

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.

BaseProperty.Field


optional hideFromCollection: boolean

Defined in: types/properties.ts:106

Do not show this property in the collection view

BaseProperty.hideFromCollection


optional keyValue: boolean

Defined in: types/properties.ts:584

Render this map as a key-value table that allows to use arbitrary keys. You don’t need to define the properties in this case.


optional longDescription: string

Defined in: types/properties.ts:95

Longer description of a field, displayed under a popover

BaseProperty.longDescription


optional minimalistView: boolean

Defined in: types/properties.ts:573

Display the child properties directly, without being wrapped in an extendable panel. Note that this will also hide the title of this property.


optional name: string

Defined in: types/properties.ts:77

Property name (e.g. Product)

BaseProperty.name


optional pickOnlySomeKeys: boolean

Defined in: types/properties.ts:561

Allow the user to add only some keys in this map. By default, all properties of the map have the corresponding field in the form view. Setting this flag to true allows to pick only some. Useful for map that can have a lot of sub-properties that may not be needed


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

Defined in: types/properties.ts:142

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.

BaseProperty.Preview


optional previewProperties: Partial<Extract<keyof T, string>>[]

Defined in: types/properties.ts:552

Properties that are displayed when rendered as a preview


optional properties: PropertiesOrBuilders<T>

Defined in: types/properties.ts:533

Record of properties included in this map.


optional propertiesOrder: Extract<keyof T, string>[]

Defined in: types/properties.ts:540

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.


optional propertyConfig: string

Defined in: types/properties.ts:90

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.

BaseProperty.propertyConfig


optional readOnly: boolean

Defined in: types/properties.ts:112

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

BaseProperty.readOnly


optional spreadChildren: boolean

Defined in: types/properties.ts:567

Display the child properties as independent columns in the collection view


optional validation: PropertyValidationSchema

Defined in: types/properties.ts:547

Rules for validating this property. NOTE: If you don’t set required in the map property, an empty object will be considered valid, even if you set required in the properties.

BaseProperty.validation


optional widthPercentage: number

Defined in: types/properties.ts:165

A number between 0 and 100 that indicates the width of the field in the form view. It defaults to 100, but you can set it to 50 to have two fields in the same row.

BaseProperty.widthPercentage