Cell Plugins
Define how a table property stores, displays, edits, and groups its values.
A CellPlugin<Key, Data, Config> describes one property type. Key is its
unique identifier, Data is the stored cell value, and Config is the
property-level configuration.
Plugin definition
| Field | Description |
|---|---|
id | Unique property type identifier. |
meta | Name, description, and icon displayed in the property-type menu. |
default | Default name, icon, configuration, width, and data for newly created properties and cells. |
fromValue | Converts a comparable value into the plugin's cell data. |
toValue | Converts cell data into a string, number, boolean, or null value for sorting. |
toTextValue | Converts cell data into text for compact display or export. |
Optional capabilities
| Field | Description |
|---|---|
toGroupValue | Supplies a value for grouping. Falls back to toValue. |
sorting | Declares the sorting methods available for the property. |
grouping | Declares the grouping methods available for the property. |
counting | Declares footer calculations for the property. |
compare | Legacy row comparator for the property. Prefer sorting.methods for new plugins. |
transferConfig | Converts an existing property configuration when its type changes. |
disableBulkEdit | Excludes an editor-capable plugin from the bulk-edit bar. |
Rendering
| Field | Description |
|---|---|
renderCellValue | Required. Renders the cell's read-only value. It receives CellValueProps, including the value, property configuration, row, layout, and disabled state. |
renderCellEditor | Renders the editing UI and returns either an inline or popover editor. It receives CellEditorProps, including onChange, onCancel, and a scope for a single cell or selected rows. Plugins with this capability are eligible for bulk editing. |
renderConfigMenu | Renders the property configuration UI. |
renderGroupingValue | Renders a group label. |
Types
| Type | Description |
|---|---|
CellValueProps<Data, Config> | Props for a cell value renderer. |
CellEditorProps<Data, Config> | Props for a cell editor, including its update callback and edit scope. |
ConfigMenuProps<Config> | Props for a property configuration menu. |
CellEditorResult | The inline or popover editor returned by renderCellEditor. |
InferKey, InferData, InferConfig, InferPlugin | Utility types for deriving plugin types. |