Skip to content

@serenity-is/corelib / DataGrid

Class: DataGrid<TItem, P>

Defined in: src/ui/datagrid/datagrid.tsx:44

Base data grid widget that renders tabular data using SleekGrid, with support for columns, sorting, filtering, quick filters, paging, persistence, and toolbar integration.

Extends

Extended by

Type Parameters

TItem

TItem

Row type displayed in the grid.

P

P = { }

Widget props type.

Implements

Constructors

Constructor

new DataGrid<TItem, P>(props): DataGrid<TItem, P>

Defined in: src/ui/datagrid/datagrid.tsx:133

Creates a data grid widget.

Parameters

props

WidgetProps<P>

Widget props forwarded to the base widget.

Returns

DataGrid<TItem, P>

Overrides

Widget.constructor

Properties

domNode

readonly domNode: HTMLElement

Defined in: src/ui/widgets/widget.ts:24

The DOM node this widget is bound to.

Inherited from

Widget.domNode


filterBar

protected filterBar: FilterDisplayBar

Defined in: src/ui/datagrid/datagrid.tsx:57

The advanced filter bar widget.


idPrefix

readonly idPrefix: string

Defined in: src/ui/widgets/widget.ts:22

The id prefix used for this widget's child element ids.

Inherited from

Widget.idPrefix


onAfterInit

readonly onAfterInit: PubSub<DataGridEvent>

Defined in: src/ui/datagrid/datagrid.tsx:113

Raised after this grid is initialized.


onCanSubmit

readonly onCanSubmit: PubSub<DataGridSubmitEvent>

Defined in: src/ui/datagrid/datagrid.tsx:115

Raised to determine whether the grid can submit its view.


onDataChanged

readonly onDataChanged: PubSub<DataGridEvent>

Defined in: src/ui/datagrid/datagrid.tsx:117

Raised when the grid data changes.


onFiltering

readonly onFiltering: PubSub<DataGridFilteringEvent<TItem>>

Defined in: src/ui/datagrid/datagrid.tsx:119

Raised while filtering items in the view.


onPersistence

readonly onPersistence: PubSub<DataGridPersistenceEvent>

Defined in: src/ui/datagrid/datagrid.tsx:121

Raised before/after persisting or restoring grid settings.


onProcessData

readonly onProcessData: PubSub<DataGridProcessEvent<TItem>>

Defined in: src/ui/datagrid/datagrid.tsx:123

Raised when the view processes a list response.


onSetViewParams

readonly onSetViewParams: PubSub<DataGridEvent>

Defined in: src/ui/datagrid/datagrid.tsx:127

Raised after view parameters are prepared for submission.


onSubmitting

readonly onSubmitting: PubSub<DataGridSubmitEvent>

Defined in: src/ui/datagrid/datagrid.tsx:125

Raised to determine whether the view submit should proceed.


openDialogsAsPanel

openDialogsAsPanel: boolean

Defined in: src/ui/datagrid/datagrid.tsx:72

Whether dialogs opened from this grid should be shown as panels.


options

protected readonly options: WidgetProps<P>

Defined in: src/ui/widgets/widget.ts:18

The widget's options/props.

Inherited from

Widget.options


propertyItemsData

protected propertyItemsData: PropertyItemsData

Defined in: src/ui/datagrid/datagrid.tsx:65

The property items data for this grid.


quickFiltersBar

protected quickFiltersBar: QuickFilterBar

Defined in: src/ui/datagrid/datagrid.tsx:61

The quick filter bar widget.


quickFiltersDiv

protected quickFiltersDiv: Fluent

Defined in: src/ui/datagrid/datagrid.tsx:59

The quick filters container element.


restoringSettings

protected restoringSettings: number

Defined in: src/ui/datagrid/datagrid.tsx:67

Counter tracking nested settings restoration.


slickContainer

protected slickContainer: Fluent

Defined in: src/ui/datagrid/datagrid.tsx:63

The container element that hosts the grid.


titleDiv

protected titleDiv: Fluent

Defined in: src/ui/datagrid/datagrid.tsx:53

The title element.


toolbar

protected toolbar: Toolbar

Defined in: src/ui/datagrid/datagrid.tsx:55

The toolbar widget.


uniqueName

readonly uniqueName: string

Defined in: src/ui/widgets/widget.ts:20

A unique name for this widget instance, used for event namespacing.

Inherited from

Widget.uniqueName


view

view: IRemoteView<TItem>

Defined in: src/ui/datagrid/datagrid.tsx:69

The remote view used for paging and server communication.


[typeInfo]

static [typeInfo]: ClassTypeInfo<"Serenity.">

Defined in: src/ui/datagrid/datagrid.tsx:46

Implementation of

IReadOnly.[typeInfo]

Overrides

Widget.[typeInfo]


defaultOptions

readonly static defaultOptions: object = dataGridDefaults

Defined in: src/ui/datagrid/datagrid.tsx:75

Default options shared by all data grid instances.

columnWidthDelta

columnWidthDelta: number

Default column width delta. This value if specified, is added to the width of columns defined server side. Default is null

columnWidthScale

columnWidthScale: number

Default column width scale. This value if specified, is multiplied with the width of columns defined server side. Default is null

enableAdvancedFiltering

enableAdvancedFiltering: boolean | (grid) => boolean

Controls whether to enable advanced filtering, e.g. via filter dialog/bar. Default is null.

openDialogsAsPanel

openDialogsAsPanel: boolean

Controls whether to open dialogs as panels. Default is null.

persistenceFlags

persistenceFlags: GridPersistenceFlags = defaultGridPersistenceFlags

Default persistence flags. Defaults are true except quickSearch and quickFilterText

persistenceStorage

persistenceStorage: SettingStorage

Default persistence storage. Default is null

rowHeight

rowHeight: number

Default row height. Default is null.


isComponent

readonly static isComponent: true = true

Defined in: src/ui/widgets/widget.ts:334

Inherited from

Widget.isComponent


onAfterInit

readonly static onAfterInit: PubSub<DataGridEvent>

Defined in: src/ui/datagrid/datagrid.tsx:111

Static event raised after any grid is initialized.

Accessors

allColumns

Get Signature

get allColumns(): Column<any>[]

Defined in: src/ui/datagrid/datagrid.tsx:1837

All columns including hidden ones.

Returns

Column<any>[]

All columns from the underlying SleekGrid.


columns

Get Signature

get columns(): Column<TItem>[]

Defined in: src/ui/datagrid/datagrid.tsx:1839

The currently visible columns.

Returns

Column<TItem>[]


element

Get Signature

get element(): Fluent

Defined in: src/ui/widgets/widget.ts:82

Returns a Fluent(this.domNode) object

Returns

Fluent

Inherited from

Widget.element


initialSettings

Get Signature

get initialSettings(): PersistedGridSettings

Defined in: src/ui/datagrid/datagrid.tsx:1841

The initial persisted settings captured at startup.

Returns

PersistedGridSettings

Set Signature

set initialSettings(value): void

Defined in: src/ui/datagrid/datagrid.tsx:1843

Sets the initial persisted settings.

Parameters
value

PersistedGridSettings

Returns

void


props

Get Signature

get props(): WidgetProps<P>

Defined in: src/ui/widgets/widget.ts:307

Returns the widget's props/options.

Returns

WidgetProps<P>

Inherited from

Widget.props


readOnly

Get Signature

get readOnly(): boolean

Defined in: src/ui/datagrid/datagrid.tsx:1341

Whether the grid is in read-only mode.

Returns

boolean

true if read-only, otherwise false.

Set Signature

set readOnly(value): void

Defined in: src/ui/datagrid/datagrid.tsx:1349

Sets whether the grid is in read-only mode.

Parameters
value

boolean

true to enable read-only mode, false to disable.

Returns

void


sleekGrid

Get Signature

get sleekGrid(): ISleekGrid<TItem>

Defined in: src/ui/datagrid/datagrid.tsx:1804

The underlying SleekGrid instance.

Returns

ISleekGrid<TItem>

The current SleekGrid instance.

Set Signature

set sleekGrid(value): void

Defined in: src/ui/datagrid/datagrid.tsx:1809

Sets the underlying SleekGrid instance.

Parameters
value

ISleekGrid<TItem>

SleekGrid instance to set.

Returns

void


slickGrid

Get Signature

get slickGrid(): ISleekGrid<TItem>

Defined in: src/ui/datagrid/datagrid.tsx:1815

Deprecated

Use sleekGrid or getGrid().

Returns

ISleekGrid<TItem>

The underlying SleekGrid instance.


defaultColumnWidthDelta

Get Signature

get static defaultColumnWidthDelta(): number

Defined in: src/ui/datagrid/datagrid.tsx:103

Default column width delta applied to all grids.

Returns

number

The current column width delta.

Set Signature

set static defaultColumnWidthDelta(value): void

Defined in: src/ui/datagrid/datagrid.tsx:108

Sets the default column width delta applied to all grids.

Parameters
value

number

Delta in pixels added to each column width.

Returns

void


defaultColumnWidthScale

Get Signature

get static defaultColumnWidthScale(): number

Defined in: src/ui/datagrid/datagrid.tsx:93

Default column width scale applied to all grids.

Returns

number

The current column width scale.

Set Signature

set static defaultColumnWidthScale(value): void

Defined in: src/ui/datagrid/datagrid.tsx:98

Sets the default column width scale applied to all grids.

Parameters
value

number

Scale factor (e.g. 1.1 for 10% wider).

Returns

void


defaultPersistanceStorage

Get Signature

get static defaultPersistanceStorage(): SettingStorage

Defined in: src/ui/datagrid/datagrid.tsx:1849

Deprecated

Use defaultPersistenceStorage — this has a typo.

Returns

SettingStorage

The current persistence storage.

Set Signature

set static defaultPersistanceStorage(value): void

Defined in: src/ui/datagrid/datagrid.tsx:1854

Deprecated

Use defaultPersistenceStorage — this has a typo.

Parameters
value

SettingStorage

Persistence storage to set.

Returns

void


defaultPersistenceStorage

Get Signature

get static defaultPersistenceStorage(): SettingStorage

Defined in: src/ui/datagrid/datagrid.tsx:83

Default storage used for grid persistence.

Returns

SettingStorage

The current persistence storage.

Set Signature

set static defaultPersistenceStorage(value): void

Defined in: src/ui/datagrid/datagrid.tsx:88

Sets the default storage used for grid persistence.

Parameters
value

SettingStorage

Persistence storage to use (e.g. localStorage-backed).

Returns

void


defaultRowHeight

Get Signature

get static defaultRowHeight(): number

Defined in: src/ui/datagrid/datagrid.tsx:78

Default row height used when creating grids.

Returns

number

Methods

addBooleanFilter()

protected addBooleanFilter(field, title?, yes?, no?): SelectEditor

Defined in: src/ui/datagrid/datagrid.tsx:1554

Adds a boolean quick filter for the specified field.

Parameters

field

string

Field name.

title?

string

Optional display title.

yes?

string

Optional text for the true option.

no?

string

Optional text for the false option.

Returns

SelectEditor

The created select editor.


addCssClass()

protected addCssClass(): void

Defined in: src/ui/widgets/widget.ts:89

Adds the widget's CSS class to its DOM node.

Returns

void

Inherited from

Widget.addCssClass


addDateRangeFilter()

protected addDateRangeFilter(field, title?): DateEditor

Defined in: src/ui/datagrid/datagrid.tsx:1512

Adds a date range quick filter for the specified field.

Parameters

field

string

Field name.

title?

string

Optional display title.

Returns

DateEditor

The created date editor.


addDateTimeRangeFilter()

protected addDateTimeRangeFilter(field, title?): DateTimeEditor<DateTimeEditorOptions>

Defined in: src/ui/datagrid/datagrid.tsx:1532

Adds a date-time range quick filter for the specified field.

Parameters

field

string

Field name.

title?

string

Optional display title.

Returns

DateTimeEditor<DateTimeEditorOptions>

The created date-time editor.


addFilterSeparator()

protected addFilterSeparator(): void

Defined in: src/ui/datagrid/datagrid.tsx:1476

Adds a separator to the quick filter bar.

Returns

void


addQuickFilter()

protected addQuickFilter<TWidget, P>(opt): TWidget

Defined in: src/ui/datagrid/datagrid.tsx:1502

Adds a quick filter to the quick filter bar.

Type Parameters

TWidget

TWidget extends Widget<any>

P

P

Parameters

opt

QuickFilter<TWidget, P>

Quick filter definition.

Returns

TWidget

The created widget instance.


addValidationRule()

Call Signature

addValidationRule(rule, uniqueName?): void

Defined in: src/ui/widgets/widget.ts:142

Adds a validation rule to the widget's DOM node.

Parameters
rule

(input) => string

The validation rule function, or a unique name when the two-argument overload is used.

uniqueName?

string

A unique name for the rule, or the rule function when the two-argument overload is used.

Returns

void

Inherited from

Widget.addValidationRule

Call Signature

addValidationRule(uniqueName, rule): void

Defined in: src/ui/widgets/widget.ts:143

Adds a validation rule to the widget's DOM node.

Parameters
uniqueName

string

A unique name for the rule, or the rule function when the two-argument overload is used.

rule

(input) => string

The validation rule function, or a unique name when the two-argument overload is used.

Returns

void

Inherited from

Widget.addValidationRule


afterInit()

protected afterInit(): void

Defined in: src/ui/datagrid/datagrid.tsx:219

Hook invoked after the grid is initialized and settings are restored.

Returns

void


afterRender()

protected afterRender(callback): void

Defined in: src/ui/widgets/widget.ts:228

Queues a callback to run after the widget's contents are rendered.

Parameters

callback

() => void

The callback to run after rendering.

Returns

void

Inherited from

Widget.afterRender


autoRegisteringPlugin()

protected autoRegisteringPlugin(args): void

Defined in: src/ui/datagrid/datagrid.tsx:164

Hook invoked when the grid is registered as an auto-registering plugin.

Parameters

args

AutoRegisterArgs

Auto-registration arguments.

Returns

void


bindToSlickEvents()

protected bindToSlickEvents(): void

Defined in: src/ui/datagrid/datagrid.tsx:697

Subscribes to the underlying grid events.

Returns

void


bindToViewEvents()

protected bindToViewEvents(): void

Defined in: src/ui/datagrid/datagrid.tsx:777

Subscribes to view events for filtering, submitting, and processing data.

Returns

void


booleanQuickFilter()

protected booleanQuickFilter(field, title?, yes?, no?): QuickFilter<SelectEditor<SelectEditorOptions>, SelectEditorOptions>

Defined in: src/ui/datagrid/datagrid.tsx:1566

Creates a boolean quick filter definition.

Parameters

field

string

Field name.

title?

string

Optional display title.

yes?

string

Optional text for the true option.

no?

string

Optional text for the false option.

Returns

QuickFilter<SelectEditor<SelectEditorOptions>, SelectEditorOptions>

A quick filter definition.


byId()

protected byId<TElement>(id): Fluent<TElement>

Defined in: src/ui/widgets/widget.ts:154

Finds a child element by its prefix-relative id.

Type Parameters

TElement

TElement extends HTMLElement = HTMLElement

Parameters

id

string

The id relative to the widget's id prefix.

Returns

Fluent<TElement>

A Fluent wrapper for the matching element.

Inherited from

Widget.byId


canFilterColumn()

protected canFilterColumn(column): boolean

Defined in: src/ui/datagrid/datagrid.tsx:526

Whether the given column can be used in the advanced filter bar.

Parameters

column

Column

Column to check.

Returns

boolean

True when the column is filterable.


change()

change(handler): void

Defined in: src/ui/widgets/widget.ts:179

Registers a change handler on the widget's DOM node.

Parameters

handler

(e) => void

The change event handler.

Returns

void

Inherited from

Widget.change


changeSelect2()

changeSelect2(handler): void

Defined in: src/ui/widgets/widget.ts:188

Registers a change handler that ignores changes originating from combobox setting values.

Parameters

handler

(e) => void

The change event handler.

Returns

void

Inherited from

Widget.changeSelect2


createColumns()

protected createColumns(): Column<TItem>[]

Defined in: src/ui/datagrid/datagrid.tsx:562

Creates initial column set for this grid. This column set is then passed to postProcessColumns to adjust widths etc, and then used as the initial columns for the slickgrid.

Returns

Column<TItem>[]


createFilterBar()

protected createFilterBar(): void

Defined in: src/ui/datagrid/datagrid.tsx:981

Creates the advanced filter bar and initializes its store.

Returns

void


createIncludeDeletedButton()

protected createIncludeDeletedButton(): void

Defined in: src/ui/datagrid/datagrid.tsx:369

Creates the include-deleted toggle button when the row type supports it.

Returns

void


createPager()

protected createPager(): void

Defined in: src/ui/datagrid/datagrid.tsx:1006

Creates the pager widget for this grid.

Returns

void


createQuickFilters()

protected createQuickFilters(filters?): void

Defined in: src/ui/datagrid/datagrid.tsx:293

Creates the quick filter bar with the given filters.

Parameters

filters?

QuickFilter<Widget<any>, any>[]

Quick filter definitions to render.

Returns

void


createQuickSearchInput()

protected createQuickSearchInput(): void

Defined in: src/ui/datagrid/datagrid.tsx:385

Creates the quick search input in the toolbar.

Returns

void


createSleekColumns()

protected createSleekColumns(): Column<TItem>[]

Defined in: src/ui/datagrid/datagrid.tsx:571

Creates the SleekGrid columns. This method calls createColumns (via getColumns for compatibility) and then post processes them.

Returns

Column<TItem>[]

The SleekGrid columns.


createSlickContainer()

protected createSlickContainer(): Fluent

Defined in: src/ui/datagrid/datagrid.tsx:930

Creates the container element that hosts the grid.

Returns

Fluent

The grid container element.


createSlickGrid()

protected createSlickGrid(): ISleekGrid<TItem>

Defined in: src/ui/datagrid/datagrid.tsx:580

Creates the underlying SleekGrid instance with the processed columns.

Returns

ISleekGrid<TItem>

The created grid instance.


createToolbar()

protected createToolbar(buttons): void

Defined in: src/ui/datagrid/datagrid.tsx:1040

Creates the toolbar with the given buttons.

Parameters

buttons

ToolButton[]

Tool button definitions.

Returns

void


createToolbarExtensions()

protected createToolbarExtensions(): void

Defined in: src/ui/datagrid/datagrid.tsx:274

Hook for subclasses to add extra toolbar buttons or controls.

Returns

void


createView()

protected createView(): IRemoteView<TItem>

Defined in: src/ui/datagrid/datagrid.tsx:938

Creates the remote view used for paging and server communication.

Returns

IRemoteView<TItem>

The remote view instance.


dateRangeQuickFilter()

protected dateRangeQuickFilter(field, title?): QuickFilter<DateEditor<DateEditorOptions>, DateTimeEditorOptions>

Defined in: src/ui/datagrid/datagrid.tsx:1522

Creates a date range quick filter definition.

Parameters

field

string

Field name.

title?

string

Optional display title.

Returns

QuickFilter<DateEditor<DateEditorOptions>, DateTimeEditorOptions>

A quick filter definition.


dateTimeRangeQuickFilter()

protected dateTimeRangeQuickFilter(field, title?): QuickFilter<DateTimeEditor<DateTimeEditorOptions>, DateTimeEditorOptions>

Defined in: src/ui/datagrid/datagrid.tsx:1542

Creates a date-time range quick filter definition.

Parameters

field

string

Field name.

title?

string

Optional display title.

Returns

QuickFilter<DateTimeEditor<DateTimeEditorOptions>, DateTimeEditorOptions>

A quick filter definition.


deferRender()

protected deferRender(): boolean

Defined in: src/ui/widgets/widget.ts:98

Determines whether rendering should be deferred until init is called.

Returns

boolean

True to defer rendering.

Inherited from

Widget.deferRender


destroy()

destroy(): void

Defined in: src/ui/datagrid/datagrid.tsx:398

Cleans up event subscriptions, widgets, and the underlying grid.

Returns

void

Overrides

Widget.destroy


determineText()

protected determineText(getKey): string

Defined in: src/ui/datagrid/datagrid.tsx:1485

Resolves a localized text using the grid's local text db prefix.

Parameters

getKey

(prefix) => string

Callback that builds the text key from the prefix.

Returns

string

The localized text, or null if not found.


editItem()

protected editItem(entityOrId): void

Defined in: src/ui/datagrid/datagrid.tsx:725

Opens an edit dialog for the given entity or id.

Parameters

entityOrId

any

Entity instance or identifier to edit.

Returns

void


editItemOfType()

protected editItemOfType(itemType, entityOrId): void

Defined in: src/ui/datagrid/datagrid.tsx:734

Opens an edit dialog for a specific item type.

Parameters

itemType

string

Item type key.

entityOrId

any

Entity instance or identifier to edit.

Returns

void


EditLink(props): any

Defined in: src/ui/datagrid/datagrid.tsx:1107

Renders an edit link for the item in current row. Returns a DocumentFragment for non-data rows, and an anchor element otherwise.

Parameters

props
children?

any

The link text. If not provided it will be taken from ctx.escape(ctx.value)

context?

FormatterContext

formatter context (contains item, value etc)

cssClass?

string

Extra CSS class to add to the link element besides s-EditLink. Optional.

id?

string

The id of the entity to link to. If not provided it will be taken from ctx.item[idField]

idField?

string

The name of the field in item that contains the entity id. Defaults to idProperty. Used if id is not provided.

itemType?

string

The item type to link to. Defaults to this.getItemType()

tabindex?

number

The tabindex to assign to the link, default is undefined

tabIndex?

number

Deprecated

Use tabindex.

Returns

any


enableAdvancedFiltering()

protected enableAdvancedFiltering(): boolean

Defined in: src/ui/datagrid/datagrid.tsx:963

Whether advanced filtering is enabled for this grid.

Returns

boolean

True when advanced filtering is enabled.


ensureQuickFilterBar()

protected ensureQuickFilterBar(): QuickFilterBar

Defined in: src/ui/datagrid/datagrid.tsx:281

Ensures the quick filter bar exists and returns it.

Returns

QuickFilterBar

The quick filter bar instance.


filterStoreChanged()

protected filterStoreChanged(): void

Defined in: src/ui/datagrid/datagrid.tsx:549

Handles filter store changes by persisting settings and refreshing.

Returns

void


findById()

protected findById<TElement>(id): TElement

Defined in: src/ui/widgets/widget.ts:163

Finds a child element by its prefix-relative id.

Type Parameters

TElement

TElement extends HTMLElement = HTMLElement

Parameters

id

string

The id relative to the widget's id prefix.

Returns

TElement

The matching element, or null if not found.

Inherited from

Widget.findById


findQuickFilter()

protected findQuickFilter<TWidget>(type, field): TWidget

Defined in: src/ui/datagrid/datagrid.tsx:344

Finds a quick filter widget by field name.

Type Parameters

TWidget

TWidget

Parameters

type

(...args) => TWidget

Widget constructor type.

field

string

Field name of the quick filter.

Returns

TWidget

The widget instance.


get_readOnly()

get_readOnly(): boolean

Defined in: src/ui/datagrid/datagrid.tsx:1357

Returns whether the grid is in read-only mode.

Returns

boolean

True when read-only.

Implementation of

IReadOnly.get_readOnly


getAddButtonCaption()

protected getAddButtonCaption(): string

Defined in: src/ui/datagrid/datagrid.tsx:709

Returns the caption for the add/new button.

Returns

string

The add button caption.


getButtons()

protected getButtons(): ToolButton[]

Defined in: src/ui/datagrid/datagrid.tsx:717

Returns the toolbar buttons for this grid.

Returns

ToolButton[]

Tool button definitions.


getColumns()

protected getColumns(): Column<TItem>[]

Defined in: src/ui/datagrid/datagrid.tsx:1203

Returns

Column<TItem>[]

Deprecated

override createColumns


getColumnsKey()

protected getColumnsKey(): string

Defined in: src/ui/datagrid/datagrid.tsx:1153

Returns the columns key used to load property items.

Returns

string

The columns key, or null for none.


getColumnWidthDelta()

protected getColumnWidthDelta(): number

Defined in: src/ui/datagrid/datagrid.tsx:491

Returns the width delta applied to all columns.

Returns

number

The column width delta.


getColumnWidthScale()

protected getColumnWidthScale(): number

Defined in: src/ui/datagrid/datagrid.tsx:499

Returns the width scale applied to all columns.

Returns

number

The column width scale.


getCssClass()

protected getCssClass(): string

Defined in: src/ui/widgets/widget.ts:106

Returns the CSS class(es) applied to the widget's DOM node.

Returns

string

The space-separated CSS class string.

Inherited from

Widget.getCssClass


getCurrentSettings()

getCurrentSettings(flags?): PersistedGridSettings

Defined in: src/ui/datagrid/datagrid.tsx:1754

Returns the current grid settings snapshot.

Parameters

flags?

GridPersistenceFlags

Optional persistence flags.

Returns

PersistedGridSettings

The current grid settings.


getCustomAttribute()

protected getCustomAttribute<TAttr>(attrType, inherit): TAttr

Defined in: src/ui/widgets/widget.ts:220

Returns a custom attribute applied to the widget's type.

Type Parameters

TAttr

TAttr extends CustomAttribute

Parameters

attrType

(...args) => TAttr

The attribute type to look up.

inherit

boolean = true

Whether to search inherited types; defaults to true.

Returns

TAttr

The matching attribute, or null.

Inherited from

Widget.getCustomAttribute


getDefaultSortBy()

protected getDefaultSortBy(): any[]

Defined in: src/ui/datagrid/datagrid.tsx:947

Returns the default sort order for the grid.

Returns

any[]

Array of sort descriptors.


getElement()

getElement(): HTMLElement

Defined in: src/ui/datagrid/datagrid.tsx:1788

Returns the root DOM element of the grid widget.

Returns

HTMLElement

The grid container element.

Implementation of

IDataGrid.getElement


getFilterStore()

getFilterStore(): FilterStore

Defined in: src/ui/datagrid/datagrid.tsx:1829

Returns the filter store owned by the grid.

Returns

FilterStore

The filter store, or null if no filter bar exists.

Implementation of

IDataGrid.getFilterStore


getGrid()

getGrid(): ISleekGrid<TItem>

Defined in: src/ui/datagrid/datagrid.tsx:1796

Returns the underlying SleekGrid instance.

Returns

ISleekGrid<TItem>

The grid instance.

Implementation of

IDataGrid.getGrid


getGridCanLoad()

protected getGridCanLoad(): boolean

Defined in: src/ui/datagrid/datagrid.tsx:1279

Determines whether the grid can load data, notifying onCanSubmit subscribers.

Returns

boolean

True when the grid can load.


getGridField()

getGridField(): Fluent

Defined in: src/ui/widgets/widget.ts:171

Returns the closest .field element containing the widget's DOM node.

Returns

Fluent

A Fluent wrapper for the grid field.

Inherited from

Widget.getGridField


getIdProperty()

protected getIdProperty(): string

Defined in: src/ui/datagrid/datagrid.tsx:1423

Returns the id property name for this grid.

Returns

string

The id property name.


getIncludeColumns()

protected getIncludeColumns(include): void

Defined in: src/ui/datagrid/datagrid.tsx:846

Collects the fields and referenced fields of all columns into the given map.

Parameters

include

Map to populate with column field names.

Returns

void


getInitialTitle()

protected getInitialTitle(): string

Defined in: src/ui/datagrid/datagrid.tsx:267

Returns the initial title shown above the grid.

Returns

string

The title text, or null for no title.


getIsActiveProperty()

protected getIsActiveProperty(): string

Defined in: src/ui/datagrid/datagrid.tsx:1448

Returns the is-active property name for this grid.

Returns

string

The is-active property name.


getIsDeletedProperty()

protected getIsDeletedProperty(): string

Defined in: src/ui/datagrid/datagrid.tsx:1438

Returns the is-deleted property name for this grid.

Returns

string

The is-deleted property name, or undefined.


getItemCssClass()

protected getItemCssClass(item, index): string

Defined in: src/ui/datagrid/datagrid.tsx:443

Returns the CSS class for a grid row based on its active/deleted state.

Parameters

item

TItem

The row item.

index

number

The row index.

Returns

string

The CSS class name, or an empty string.


getItemMetadata()

protected getItemMetadata(item, index): any

Defined in: src/ui/datagrid/datagrid.tsx:453

Returns row metadata (e.g. CSS classes) for the given item.

Parameters

item

TItem

The row item.

index

number

The row index.

Returns

any

Row metadata object.


getItems()

getItems(): TItem[]

Defined in: src/ui/datagrid/datagrid.tsx:651

Returns the items currently displayed in the grid.

Returns

TItem[]

The grid items.


getItemType()

protected getItemType(): string

Defined in: src/ui/datagrid/datagrid.tsx:1088

Returns the item type key for this grid.

Returns

string

The item type key.


getLocalTextDbPrefix()

protected getLocalTextDbPrefix(): string

Defined in: src/ui/datagrid/datagrid.tsx:1393

Returns the local text database prefix for this grid.

Returns

string

The local text db prefix.


getLocalTextPrefix()

protected getLocalTextPrefix(): string

Defined in: src/ui/datagrid/datagrid.tsx:1409

Returns the local text prefix for this grid.

Returns

string

The local text prefix, or undefined.


getPagerOptions()

protected getPagerOptions(): PagerOptions

Defined in: src/ui/datagrid/datagrid.tsx:995

Returns the pager options for this grid.

Returns

PagerOptions

Pager options.


getPersistedSettings()

protected getPersistedSettings(): PersistedGridSettings | Promise<PersistedGridSettings>

Defined in: src/ui/datagrid/datagrid.tsx:1630

Retrieves the persisted grid settings from storage.

Returns

PersistedGridSettings | Promise<PersistedGridSettings>

The persisted settings, or a promise resolving to them.


getPersistenceKey()

protected getPersistenceKey(): string

Defined in: src/ui/datagrid/datagrid.tsx:1603

Returns the key used to store grid settings.

Returns

string

The persistence key.


getPersistenceStorage()

protected getPersistenceStorage(): SettingStorage

Defined in: src/ui/datagrid/datagrid.tsx:1593

Returns the storage used for grid persistence.

Returns

SettingStorage

The persistence storage.


getPropertyItems()

protected getPropertyItems(): PropertyItem[]

Defined in: src/ui/datagrid/datagrid.tsx:1161

Returns the property items for this grid.

Returns

PropertyItem[]

The property items.


getPropertyItemsData()

protected getPropertyItemsData(): PropertyItemsData

Defined in: src/ui/datagrid/datagrid.tsx:1169

Loads the property items data, either from script data or local items.

Returns

PropertyItemsData

The property items data.


getPropertyItemsDataAsync()

protected getPropertyItemsDataAsync(): Promise<PropertyItemsData>

Defined in: src/ui/datagrid/datagrid.tsx:1193

Asynchronously loads the property items data.

Returns

Promise<PropertyItemsData>

A promise resolving to the property items data.


getQuickFilters()

protected getQuickFilters(): QuickFilter<Widget<any>, any>[]

Defined in: src/ui/datagrid/datagrid.tsx:319

Returns the quick filter definitions derived from the grid columns.

Returns

QuickFilter<Widget<any>, any>[]

Quick filter definitions for columns marked as quick filters.


getQuickSearchFields()

protected getQuickSearchFields(): QuickSearchField[]

Defined in: src/ui/datagrid/datagrid.tsx:378

Returns the quick search fields available for this grid.

Returns

QuickSearchField[]

The quick search fields, or null for none.


getRowDefinition()

protected getRowDefinition(): IRowDefinition

Defined in: src/ui/datagrid/datagrid.tsx:1383

Returns the row definition for this grid.

Returns

IRowDefinition

The row definition, or null for none.


getSlickOptions()

protected getSlickOptions(): GridOptions

Defined in: src/ui/datagrid/datagrid.tsx:1247

Returns the SleekGrid options for this grid.

Returns

GridOptions

Grid options.


getTitle()

getTitle(): string

Defined in: src/ui/datagrid/datagrid.tsx:1052

Returns the current grid title text.

Returns

string

The title text, or null if no title is set.


getView()

getView(): IRemoteView<TItem>

Defined in: src/ui/datagrid/datagrid.tsx:1821

Returns the remote view used for paging and server communication.

Returns

IRemoteView<TItem>

The remote view instance.

Implementation of

IDataGrid.getView


getViewOptions()

protected getViewOptions(): RemoteViewOptions<any>

Defined in: src/ui/datagrid/datagrid.tsx:1014

Returns the remote view options for this grid.

Returns

RemoteViewOptions<any>

Remote view options.


gridPersistenceFlags()

protected gridPersistenceFlags(): GridPersistenceFlags

Defined in: src/ui/datagrid/datagrid.tsx:1620

Returns the default persistence flags for this grid.

Returns

GridPersistenceFlags

Grid persistence flags.


handleGridClick()

protected handleGridClick(e): void

Defined in: src/ui/datagrid/datagrid.tsx:676

Handles grid cell click events by delegating to onClick.

Parameters

e

CellMouseEvent

Cell mouse event.

Returns

void


handleGridColumnsReordered()

protected handleGridColumnsReordered(): void

Defined in: src/ui/datagrid/datagrid.tsx:683

Persists settings when columns are reordered.

Returns

void


handleGridColumnsResized()

protected handleGridColumnsResized(): void

Defined in: src/ui/datagrid/datagrid.tsx:690

Persists settings when columns are resized.

Returns

void


handleGridSort()

protected handleGridSort(e): void

Defined in: src/ui/datagrid/datagrid.tsx:667

Handles grid sort events by applying the sort and persisting settings.

Parameters

e

GridSortEvent

Grid sort event.

Returns

void


handleViewFilter()

protected handleViewFilter(item): boolean

Defined in: src/ui/datagrid/datagrid.tsx:790

Filters a view item, notifying the onFiltering subscribers.

Parameters

item

TItem

The item to filter.

Returns

boolean

True when the item matches.


handleViewProcessData()

protected handleViewProcessData(response): ListResponse<TItem>

Defined in: src/ui/datagrid/datagrid.tsx:804

Processes a list response, notifying the onProcessData subscribers.

Parameters

response

ListResponse<TItem>

The list response.

Returns

ListResponse<TItem>

The processed response.


handleViewSubmit()

protected handleViewSubmit(): boolean

Defined in: src/ui/datagrid/datagrid.tsx:815

Handles view submission, notifying the onSubmitting subscribers.

Returns

boolean

True when the submit should proceed.


init()

init(): this

Defined in: src/ui/widgets/widget.ts:243

Initializes the widget, rendering its contents if rendering was deferred.

Returns

this

This widget instance.

Inherited from

Widget.init


initializeFilterBar()

protected initializeFilterBar(): void

Defined in: src/ui/datagrid/datagrid.tsx:536

Initializes the filter bar store with the filterable columns.

Returns

void


initialPopulate()

protected initialPopulate(): void

Defined in: src/ui/datagrid/datagrid.tsx:506

Performs the initial data population, optionally waiting until visible.

Returns

void


initSleekGrid()

protected initSleekGrid(): void

Defined in: src/ui/datagrid/datagrid.tsx:592

Hook for subclasses to initialize the grid after creation.

Returns

void


internalRefresh()

protected internalRefresh(): void

Defined in: src/ui/datagrid/datagrid.tsx:1331

Performs the actual data refresh by populating the view.

Returns

void


internalRenderContents()

internalRenderContents(): void

Defined in: src/ui/widgets/widget.ts:266

Renders the widget's contents and runs any queued after-render callbacks.

Returns

void

Inherited from

Widget.internalRenderContents


invokeSubmitHandlers()

protected invokeSubmitHandlers(): void

Defined in: src/ui/datagrid/datagrid.tsx:1573

Invokes the quick filter submit handlers with the current view params.

Returns

void


itemAt()

itemAt(row): TItem

Defined in: src/ui/datagrid/datagrid.tsx:626

Returns the item at the given row index.

Parameters

row

number

Row index.

Returns

TItem

The item at that row.


itemId()

itemId(item): any

Defined in: src/ui/datagrid/datagrid.tsx:635

Returns the id of the given item using the grid id property.

Parameters

item

TItem

The item.

Returns

any

The item id.


protected itemLink(itemType?, idField?, text?, cssClass?, encode?): Format<TItem>

Defined in: src/ui/datagrid/datagrid.tsx:1101

Creates a formatter that renders a link to an item.

Parameters

itemType?

string

Item type key; defaults to the grid item type.

idField?

string

Id field name; defaults to the grid id property.

text?

Format<TItem>

Optional text formatter.

cssClass?

(ctx) => string

Optional CSS class formatter.

encode?

boolean = true

Whether to HTML-encode the link text.

Returns

Format<TItem>

A formatter function.


layout()

protected layout(): void

Defined in: src/ui/datagrid/datagrid.tsx:241

Recalculates the grid layout, handling responsive height behavior.

Returns

void


legacyTemplateRender()

protected legacyTemplateRender(): boolean

Defined in: src/ui/widgets/widget.ts:291

Renders the widget from a legacy getTemplate string, if defined.

Returns

boolean

True if a legacy template was rendered.

Inherited from

Widget.legacyTemplateRender


markupReady()

protected markupReady(): void

Defined in: src/ui/datagrid/datagrid.tsx:922

Hook invoked when the grid markup is ready after data changes.

Returns

void


onClick()

protected onClick(e, row, cell): void

Defined in: src/ui/datagrid/datagrid.tsx:749

Handles cell clicks, opening edit links when clicked.

Parameters

e

Event

Click event.

row

number

Row index.

cell

number

Cell index.

Returns

void


onViewFilter()

protected onViewFilter(item): boolean

Defined in: src/ui/datagrid/datagrid.tsx:838

Hook for subclasses to filter view items.

Parameters

item

TItem

The item to filter.

Returns

boolean

True when the item should be included.


onViewProcessData()

protected onViewProcessData(response): ListResponse<TItem>

Defined in: src/ui/datagrid/datagrid.tsx:829

Hook for subclasses to process a list response before it is applied.

Parameters

response

ListResponse<TItem>

The list response.

Returns

ListResponse<TItem>

The processed response.


onViewSubmit()

protected onViewSubmit(): boolean

Defined in: src/ui/datagrid/datagrid.tsx:910

Hook invoked before the view submits; prepares parameters and checks loadability.

Returns

boolean

True when the view can load.


persistenceLock()

persistenceLock(): void

Defined in: src/ui/datagrid/datagrid.tsx:1720

Increments the persistence lock, preventing settings from being persisted.

Returns

void


persistenceUnlock()

persistenceUnlock(): void

Defined in: src/ui/datagrid/datagrid.tsx:1727

Decrements the persistence lock.

Returns

void


persistSettings()

persistSettings(flags?): void | Promise<void>

Defined in: src/ui/datagrid/datagrid.tsx:1736

Persists the current grid settings to storage.

Parameters

flags?

GridPersistenceFlags

Optional persistence flags.

Returns

void | Promise<void>

Void or a promise that resolves when the write completes.


populateLock()

protected populateLock(): void

Defined in: src/ui/datagrid/datagrid.tsx:1264

Locks the view against population.

Returns

void


populateUnlock()

protected populateUnlock(): void

Defined in: src/ui/datagrid/datagrid.tsx:1271

Unlocks the view population.

Returns

void


populateWhenVisible()

protected populateWhenVisible(): boolean

Defined in: src/ui/datagrid/datagrid.tsx:974

Whether the grid should wait until visible before populating data.

Returns

boolean

True when population waits for visibility.


postProcessColumns()

protected postProcessColumns(columns): Column<any>[]

Defined in: src/ui/datagrid/datagrid.tsx:466

Applies defaults and width adjustments to the given columns.

Parameters

columns

Column<any>[]

Columns to post-process.

Returns

Column<any>[]

The processed columns.


prepareSubmit()

prepareSubmit(): boolean

Defined in: src/ui/datagrid/datagrid.tsx:1293

Prepares submit arguments in this.view.params by calling this.view.onSubmit if available, or this.handleViewSubmit if not. Note that if getGridCanLoad returns false, the prepared arguments might be in an incomplete state.

Returns

boolean

True when the submit should proceed.


propertyItemsReady()

protected propertyItemsReady(itemsData): void

Defined in: src/ui/datagrid/datagrid.tsx:178

Called once property items are available; creates the grid, filter bar, pager, quick filters, and restores persisted settings.

Parameters

itemsData

PropertyItemsData

Property items and additional items for the grid.

Returns

void


propertyItemsToColumns()

protected propertyItemsToColumns(propertyItems): Column<any>[]

Defined in: src/ui/datagrid/datagrid.tsx:1232

Converts property items to grid columns, wrapping edit-link columns.

Parameters

propertyItems

PropertyItem[]

Property items to convert.

Returns

Column<any>[]

The grid columns.


quickFilterChange()

protected quickFilterChange(e): void

Defined in: src/ui/datagrid/datagrid.tsx:1583

Handles quick filter changes by persisting settings and refreshing.

Parameters

e

Event

Change event.

Returns

void


refresh()

refresh(): void

Defined in: src/ui/datagrid/datagrid.tsx:1305

Refreshes the grid data, waiting for visibility if configured to do so.

Returns

void


refreshIfNeeded()

protected refreshIfNeeded(): void

Defined in: src/ui/datagrid/datagrid.tsx:1321

Refreshes the grid if a refresh was requested while hidden.

Returns

void


render()

render(): any

Defined in: src/ui/widgets/widget.ts:253

Returns the main element for this widget or the document fragment. As widgets may get their elements from props unlike regular JSX widgets, this method should not be overridden. Override renderContents() instead.

Returns

any

Inherited from

Widget.render


renderContents()

protected renderContents(): any

Defined in: src/ui/widgets/widget.ts:281

Renders the widget's contents. Override this to provide custom content.

Returns

any

The rendered contents.

Inherited from

Widget.renderContents


resizeCanvas()

protected resizeCanvas(): void

Defined in: src/ui/datagrid/datagrid.tsx:1462

Resizes the underlying grid canvas.

Returns

void


restoreSettings()

protected restoreSettings(settings?, flags?): void | Promise<void>

Defined in: src/ui/datagrid/datagrid.tsx:1655

Restores grid settings from the given settings or from storage.

Parameters

settings?

PersistedGridSettings

Optional settings to restore; defaults to persisted settings.

flags?

GridPersistenceFlags

Optional persistence flags.

Returns

void | Promise<void>

Void or a promise that resolves when restoration completes.


restoreSettingsFrom()

protected restoreSettingsFrom(settings, flags?): void

Defined in: src/ui/datagrid/datagrid.tsx:1671

Restores grid state from a persisted settings snapshot.

Parameters

settings

PersistedGridSettings

The settings to restore.

flags?

GridPersistenceFlags

Optional persistence flags.

Returns

void


rowCount()

rowCount(): number

Defined in: src/ui/datagrid/datagrid.tsx:643

Returns the number of rows in the grid.

Returns

number

The row count.


set_readOnly()

set_readOnly(value): void

Defined in: src/ui/datagrid/datagrid.tsx:1365

Sets whether the grid is in read-only mode and updates the interface.

Parameters

value

boolean

True to enable read-only mode.

Returns

void

Implementation of

IReadOnly.set_readOnly


setCriteriaParameter()

protected setCriteriaParameter(): void

Defined in: src/ui/datagrid/datagrid.tsx:864

Sets the Criteria view parameter from the active filter store criteria.

Returns

void


setEquality()

protected setEquality(field, value): void

Defined in: src/ui/datagrid/datagrid.tsx:879

Sets an equality filter on the view parameters.

Parameters

field

string

Field name.

value

any

Equality value.

Returns

void


setIncludeColumnsParameter()

protected setIncludeColumnsParameter(): void

Defined in: src/ui/datagrid/datagrid.tsx:886

Sets the IncludeColumns view parameter from the grid columns.

Returns

void


setInitialSortOrder()

protected setInitialSortOrder(): void

Defined in: src/ui/datagrid/datagrid.tsx:598

Applies the default sort order to the grid and view.

Returns

void


setItems()

setItems(value): void

Defined in: src/ui/datagrid/datagrid.tsx:659

Sets the items displayed in the grid.

Parameters

value

TItem[]

The items to display.

Returns

void


setTitle()

setTitle(value): void

Defined in: src/ui/datagrid/datagrid.tsx:1064

Sets the grid title text, creating or removing the title element as needed.

Parameters

value

string

The title text, or null to remove the title.

Returns

void


setViewParams()

protected setViewParams(): void

Defined in: src/ui/datagrid/datagrid.tsx:899

Prepares all view parameters and notifies the onSetViewParams subscribers.

Returns

void


subDialogDataChange()

protected subDialogDataChange(): void

Defined in: src/ui/datagrid/datagrid.tsx:1469

Refreshes the grid when a sub-dialog reports a data change.

Returns

void


syncOrAsyncThen()

protected syncOrAsyncThen<T>(syncMethod, asyncMethod, then): void

Defined in: src/ui/widgets/widget.ts:318

Runs a method synchronously or asynchronously depending on the widget's useAsync flag, then invokes a continuation.

Type Parameters

T

T

Parameters

syncMethod

() => T

The synchronous method to run.

asyncMethod

() => PromiseLike<T>

The asynchronous method to run.

then

(v) => void

The continuation invoked with the result.

Returns

void

Inherited from

Widget.syncOrAsyncThen


tryFindQuickFilter()

protected tryFindQuickFilter<TWidget>(type, field): TWidget

Defined in: src/ui/datagrid/datagrid.tsx:358

Tries to find a quick filter widget by field name.

Type Parameters

TWidget

TWidget

Parameters

type

(...args) => TWidget

Widget constructor type.

field

string

Field name of the quick filter.

Returns

TWidget

The widget instance, or null if not found.


updateInterface()

updateInterface(): void

Defined in: src/ui/datagrid/datagrid.tsx:1375

Updates the toolbar interface to reflect the current grid state.

Returns

void


useAsync()

protected useAsync(): boolean

Defined in: src/ui/datagrid/datagrid.tsx:226

Whether the grid should load property items asynchronously.

Returns

boolean

True when async loading is used.


useIdPrefix()

protected useIdPrefix(): IdPrefixType

Defined in: src/ui/widgets/widget.ts:329

Returns an id prefix helper for resolving child element ids.

Returns

IdPrefixType

An IdPrefixType proxy for this widget's id prefix.

Inherited from

Widget.useIdPrefix


useLayoutTimer()

protected useLayoutTimer(): boolean

Defined in: src/ui/datagrid/datagrid.tsx:234

Whether the grid should use the layout timer for responsive resizing.

Returns

boolean

True when the layout timer is used.


usePager()

protected usePager(): boolean

Defined in: src/ui/datagrid/datagrid.tsx:955

Whether the grid should render a pager.

Returns

boolean

True when paging is enabled.


viewDataChanged()

protected viewDataChanged(): void

Defined in: src/ui/datagrid/datagrid.tsx:768

Handles view data changes by notifying subscribers and relaying out.

Returns

void


protected wrapFormatterWithEditLink(column, item): void

Defined in: src/ui/datagrid/datagrid.tsx:1212

Wraps a column formatter with an edit link formatter.

Parameters

column

Column

Column to wrap.

item

PropertyItem

Property item describing the edit link.

Returns

void


create()

static create<TWidget, P>(params): TWidget

Defined in: src/ui/widgets/widget.ts:202

Creates a widget instance from the given params, appending its element to the container and invoking the init/init callbacks.

Type Parameters

TWidget

TWidget extends Widget<P>

P

P

Parameters

params

CreateWidgetParams<TWidget, P>

The widget creation params.

Returns

TWidget

The created widget instance.

Inherited from

Widget.create


createDefaultElement()

static createDefaultElement(): HTMLElement

Defined in: src/ui/widgets/widget.ts:75

Creates the default DOM element for a widget.

Returns

HTMLElement

A new div element.

Inherited from

Widget.createDefaultElement


getWidgetName()

static getWidgetName(type): string

Defined in: src/ui/widgets/widget.ts:131

Returns the widget name for a type, used for association and unique names.

Parameters

type

Function

The widget type.

Returns

string

The widget name.

Inherited from

Widget.getWidgetName


propertyItemToQuickFilter()

static propertyItemToQuickFilter(item): QuickFilter<any, any>

Defined in: src/ui/datagrid/datagrid.tsx:334

Converts a property item to a quick filter definition.

Parameters

item

PropertyItem

Property item to convert.

Returns

QuickFilter<any, any>

The quick filter definition, or null if not applicable.


registerClass()

protected static registerClass<TypeName>(typeName, intfAndAttr?): ClassTypeInfo<TypeName>

Defined in: src/ui/widgets/widget.ts:342

Registers this type as a class with the given type name.

Type Parameters

TypeName

TypeName

Parameters

typeName

StringLiteral<TypeName>

The type name to register.

intfAndAttr?

(InterfaceType | AttributeSpecifier)[]

Optional interfaces and attributes.

Returns

ClassTypeInfo<TypeName>

The class type info.

Inherited from

Widget.registerClass


registerEditor()

protected static registerEditor<TypeName>(typeName, intfAndAttr?): EditorTypeInfo<TypeName>

Defined in: src/ui/widgets/widget.ts:357

Registers this type as an editor with the given type name.

Type Parameters

TypeName

TypeName

Parameters

typeName

StringLiteral<TypeName>

The type name to register.

intfAndAttr?

(InterfaceType | AttributeSpecifier)[]

Optional interfaces and attributes.

Returns

EditorTypeInfo<TypeName>

The editor type info.

Inherited from

Widget.registerEditor