Developer Docs - Obsidian - Grid
Properties
Data
Type: GridData | Promise<GridDataBag>
Required
The data to be displayed in the grid. This may either be an object that contains the grid data directly or a function that returns the grid data. The function may return a Promise which will be waited asynchronously until the data is ready.
Definition
Type: GridDefinitionBag
Contains the definition data about the grid. This contains information about the fields, action URLS and other features of the grid.
keyField
Type: string
Identifies the field that will be used to uniquely identify each row. This is not required but many advanced features of the grid require this to function.
personKeyField
Type: string
Identifies the field that will contain the person key. If the grid does not represent Person records then leave this unset.
communicationRecipientPersonKeyFields
Type: string[]
Specifies the fields to be used to identify communication recipients when using the communicate action. This will take precedence over the personKeyField if both are set.
tooltipField
Type: string
Identifies the key that will be used to provide the tooltip text for each row in the Grid. This property is not reactive.
light
Type: boolean
Default: false
Indicates that this grid should operate in light mode which disables a number of features. This is intended to be used with small grids that are embedded inside other blocks or controls.
liveUpdates
Type: boolean
Default: false
Determines if the grid will monitor for changes in the data of existing rows, new rows and removed rows. Should not be used for grids with more than 10,000 rows. This property is not reactive.
stickyHeader
Type: boolean
Default: false
If enabled then the grid will have a sticky header.
itemTerm
Type: string
Optional
The term that identifies individual rows in the grid. This property is not reactive. If not specified it will default to "item". This value should be singular and not plural.
entityTypeGuid
Type: Guid
Optional
exportTitle
The unique identifier of the entity type that the rows represent.
personAsBusiness
Type: string
Optional
The title to use when exporting the grid contents. This is used as the exported filename as well as some other information inside the export file. If not specified it will default to the itemTerm property.
mergeTemplateAsPerson
Type: boolean
Default: false
If true, then any Person operations will instead be Business operations.
showBulkUpdate
Type: boolean
Default: false
If true, then the merge template operation will operate as if the records are Person records. If they are not then it will not work correctly. This required that personKeyField also be set.
showPersonMerge
Type: boolean
Optional
Determines if the bulk update action will be available. If not explicitly set then it will default to enabled if the personKeyField property has been set.
showLaunchWorkflow
Type: boolean
Optional
Determines if the merge person/business action will be available. If not explicitly set then it will default to enabled if the personKeyField property has been set.
showCommunicate
Type: boolean
Optional
Determines if the launch workflow action will be available. If not explicitly set then it will default to enabled if the entityTypeGuid and keyField properties have been set.
showMergeTemplate
Type: boolean
Optional
Determines if the communicate action will be available. If not explicitly set then it will default to enabled if either the personKeyField or communicationRecipientPersonKeyFields properties have been set.
showExport
Type: boolean
Optional
Determines if the merge template action will be available. If not explicitly set then it will default to being shown. In the future this default state might change.
communicationMergeFields
Type: boolean
Optional
Determines if the export action will be available. If not explicitly set then it will default to being shown. In the future this default state might change.
expectedRowCount
Type: string[]
Optional
Any fields that should be included when sending a communication. If a column name matches the field name then the formatted value of the column will be used. Otherwise the raw field value will be used.
customActions
Type: number
Optional
The number of rows expected to fill the table. This does not need to be anywhere close to the real number. It is used to determine optimization settings and calculate how many skeleton rows to display while loading.
preferencePrefix
Type: GridAction[]
Optional
Any custom actions that should be available for the individual to see in the list of actions.
disabledPreferences
Type: string
Optional
The custom prefix to use when accessing person preferences related to the grid. This prefix is appended to the standard prefix used by the grid. This property is not reactive.
gridSettings
Type: boolean
Default: false
When true, all preferences will be disabled on the grid. Preferences will not be read nor will they be saved. This property is not reactive.
gridSettingsActive
Type: boolean
Default: false
When true, a grid settings icon will be displayed and emit the gridSettingsClick event when clicked.
gridSettingsActive
Type: boolean
Default: false
When true, the grid settings icon will be displayed in an active state. When false, the grid settings icon will be displayed in an in-active state.
onAddItem
Type: () => void | Promise<void>
Optional
The function to call in response to the add button being clicked. Providing this function will automatically enable the add button.
onSelectItem
Type: (key: string) => void | Promise<void>
Optional
The function to call in response to a row being clicked. This requires that an keyField be specified. Providing this function will automatically enable row selection.