@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
Widget<P>
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
Properties
domNode
readonlydomNode:HTMLElement
Defined in: src/ui/widgets/widget.ts:24
The DOM node this widget is bound to.
Inherited from
filterBar
protectedfilterBar:FilterDisplayBar
Defined in: src/ui/datagrid/datagrid.tsx:57
The advanced filter bar widget.
idPrefix
readonlyidPrefix:string
Defined in: src/ui/widgets/widget.ts:22
The id prefix used for this widget's child element ids.
Inherited from
onAfterInit
readonlyonAfterInit:PubSub<DataGridEvent>
Defined in: src/ui/datagrid/datagrid.tsx:113
Raised after this grid is initialized.
onCanSubmit
readonlyonCanSubmit:PubSub<DataGridSubmitEvent>
Defined in: src/ui/datagrid/datagrid.tsx:115
Raised to determine whether the grid can submit its view.
onDataChanged
readonlyonDataChanged:PubSub<DataGridEvent>
Defined in: src/ui/datagrid/datagrid.tsx:117
Raised when the grid data changes.
onFiltering
readonlyonFiltering:PubSub<DataGridFilteringEvent<TItem>>
Defined in: src/ui/datagrid/datagrid.tsx:119
Raised while filtering items in the view.
onPersistence
readonlyonPersistence:PubSub<DataGridPersistenceEvent>
Defined in: src/ui/datagrid/datagrid.tsx:121
Raised before/after persisting or restoring grid settings.
onProcessData
readonlyonProcessData:PubSub<DataGridProcessEvent<TItem>>
Defined in: src/ui/datagrid/datagrid.tsx:123
Raised when the view processes a list response.
onSetViewParams
readonlyonSetViewParams:PubSub<DataGridEvent>
Defined in: src/ui/datagrid/datagrid.tsx:127
Raised after view parameters are prepared for submission.
onSubmitting
readonlyonSubmitting: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
protectedreadonlyoptions:WidgetProps<P>
Defined in: src/ui/widgets/widget.ts:18
The widget's options/props.
Inherited from
propertyItemsData
protectedpropertyItemsData:PropertyItemsData
Defined in: src/ui/datagrid/datagrid.tsx:65
The property items data for this grid.
quickFiltersBar
protectedquickFiltersBar:QuickFilterBar
Defined in: src/ui/datagrid/datagrid.tsx:61
The quick filter bar widget.
quickFiltersDiv
protectedquickFiltersDiv:Fluent
Defined in: src/ui/datagrid/datagrid.tsx:59
The quick filters container element.
restoringSettings
protectedrestoringSettings:number
Defined in: src/ui/datagrid/datagrid.tsx:67
Counter tracking nested settings restoration.
slickContainer
protectedslickContainer:Fluent
Defined in: src/ui/datagrid/datagrid.tsx:63
The container element that hosts the grid.
titleDiv
protectedtitleDiv:Fluent
Defined in: src/ui/datagrid/datagrid.tsx:53
The title element.
toolbar
protectedtoolbar:Toolbar
Defined in: src/ui/datagrid/datagrid.tsx:55
The toolbar widget.
uniqueName
readonlyuniqueName:string
Defined in: src/ui/widgets/widget.ts:20
A unique name for this widget instance, used for event namespacing.
Inherited from
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
Overrides
defaultOptions
readonlystaticdefaultOptions: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
readonlystaticisComponent:true=true
Defined in: src/ui/widgets/widget.ts:334
Inherited from
onAfterInit
readonlystaticonAfterInit: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
Inherited from
initialSettings
Get Signature
get initialSettings():
PersistedGridSettings
Defined in: src/ui/datagrid/datagrid.tsx:1841
The initial persisted settings captured at startup.
Returns
Set Signature
set initialSettings(
value):void
Defined in: src/ui/datagrid/datagrid.tsx:1843
Sets the initial persisted settings.
Parameters
value
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
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
staticdefaultColumnWidthDelta():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
staticdefaultColumnWidthDelta(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
staticdefaultColumnWidthScale():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
staticdefaultColumnWidthScale(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
staticdefaultPersistanceStorage():SettingStorage
Defined in: src/ui/datagrid/datagrid.tsx:1849
Deprecated
Use defaultPersistenceStorage — this has a typo.
Returns
The current persistence storage.
Set Signature
set
staticdefaultPersistanceStorage(value):void
Defined in: src/ui/datagrid/datagrid.tsx:1854
Deprecated
Use defaultPersistenceStorage — this has a typo.
Parameters
value
Persistence storage to set.
Returns
void
defaultPersistenceStorage
Get Signature
get
staticdefaultPersistenceStorage():SettingStorage
Defined in: src/ui/datagrid/datagrid.tsx:83
Default storage used for grid persistence.
Returns
The current persistence storage.
Set Signature
set
staticdefaultPersistenceStorage(value):void
Defined in: src/ui/datagrid/datagrid.tsx:88
Sets the default storage used for grid persistence.
Parameters
value
Persistence storage to use (e.g. localStorage-backed).
Returns
void
defaultRowHeight
Get Signature
get
staticdefaultRowHeight():number
Defined in: src/ui/datagrid/datagrid.tsx:78
Default row height used when creating grids.
Returns
number
Methods
addBooleanFilter()
protectedaddBooleanFilter(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
The created select editor.
addCssClass()
protectedaddCssClass():void
Defined in: src/ui/widgets/widget.ts:89
Adds the widget's CSS class to its DOM node.
Returns
void
Inherited from
addDateRangeFilter()
protectedaddDateRangeFilter(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
The created date editor.
addDateTimeRangeFilter()
protectedaddDateTimeRangeFilter(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()
protectedaddFilterSeparator():void
Defined in: src/ui/datagrid/datagrid.tsx:1476
Adds a separator to the quick filter bar.
Returns
void
addQuickFilter()
protectedaddQuickFilter<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
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
afterInit()
protectedafterInit():void
Defined in: src/ui/datagrid/datagrid.tsx:219
Hook invoked after the grid is initialized and settings are restored.
Returns
void
afterRender()
protectedafterRender(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
autoRegisteringPlugin()
protectedautoRegisteringPlugin(args):void
Defined in: src/ui/datagrid/datagrid.tsx:164
Hook invoked when the grid is registered as an auto-registering plugin.
Parameters
args
Auto-registration arguments.
Returns
void
bindToSlickEvents()
protectedbindToSlickEvents():void
Defined in: src/ui/datagrid/datagrid.tsx:697
Subscribes to the underlying grid events.
Returns
void
bindToViewEvents()
protectedbindToViewEvents():void
Defined in: src/ui/datagrid/datagrid.tsx:777
Subscribes to view events for filtering, submitting, and processing data.
Returns
void
booleanQuickFilter()
protectedbooleanQuickFilter(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()
protectedbyId<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
canFilterColumn()
protectedcanFilterColumn(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
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
createColumns()
protectedcreateColumns():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()
protectedcreateFilterBar():void
Defined in: src/ui/datagrid/datagrid.tsx:981
Creates the advanced filter bar and initializes its store.
Returns
void
createIncludeDeletedButton()
protectedcreateIncludeDeletedButton():void
Defined in: src/ui/datagrid/datagrid.tsx:369
Creates the include-deleted toggle button when the row type supports it.
Returns
void
createPager()
protectedcreatePager():void
Defined in: src/ui/datagrid/datagrid.tsx:1006
Creates the pager widget for this grid.
Returns
void
createQuickFilters()
protectedcreateQuickFilters(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()
protectedcreateQuickSearchInput():void
Defined in: src/ui/datagrid/datagrid.tsx:385
Creates the quick search input in the toolbar.
Returns
void
createSleekColumns()
protectedcreateSleekColumns():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()
protectedcreateSlickContainer():Fluent
Defined in: src/ui/datagrid/datagrid.tsx:930
Creates the container element that hosts the grid.
Returns
The grid container element.
createSlickGrid()
protectedcreateSlickGrid():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()
protectedcreateToolbar(buttons):void
Defined in: src/ui/datagrid/datagrid.tsx:1040
Creates the toolbar with the given buttons.
Parameters
buttons
Tool button definitions.
Returns
void
createToolbarExtensions()
protectedcreateToolbarExtensions():void
Defined in: src/ui/datagrid/datagrid.tsx:274
Hook for subclasses to add extra toolbar buttons or controls.
Returns
void
createView()
protectedcreateView():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()
protecteddateRangeQuickFilter(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()
protecteddateTimeRangeQuickFilter(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()
protecteddeferRender():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
destroy()
destroy():
void
Defined in: src/ui/datagrid/datagrid.tsx:398
Cleans up event subscriptions, widgets, and the underlying grid.
Returns
void
Overrides
determineText()
protecteddetermineText(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()
protectededitItem(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()
protectededitItemOfType(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()
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()
protectedenableAdvancedFiltering():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()
protectedensureQuickFilterBar():QuickFilterBar
Defined in: src/ui/datagrid/datagrid.tsx:281
Ensures the quick filter bar exists and returns it.
Returns
The quick filter bar instance.
filterStoreChanged()
protectedfilterStoreChanged():void
Defined in: src/ui/datagrid/datagrid.tsx:549
Handles filter store changes by persisting settings and refreshing.
Returns
void
findById()
protectedfindById<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
findQuickFilter()
protectedfindQuickFilter<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
getAddButtonCaption()
protectedgetAddButtonCaption():string
Defined in: src/ui/datagrid/datagrid.tsx:709
Returns the caption for the add/new button.
Returns
string
The add button caption.
getButtons()
protectedgetButtons():ToolButton[]
Defined in: src/ui/datagrid/datagrid.tsx:717
Returns the toolbar buttons for this grid.
Returns
Tool button definitions.
getColumns()
protectedgetColumns():Column<TItem>[]
Defined in: src/ui/datagrid/datagrid.tsx:1203
Returns
Column<TItem>[]
Deprecated
override createColumns
getColumnsKey()
protectedgetColumnsKey():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()
protectedgetColumnWidthDelta():number
Defined in: src/ui/datagrid/datagrid.tsx:491
Returns the width delta applied to all columns.
Returns
number
The column width delta.
getColumnWidthScale()
protectedgetColumnWidthScale():number
Defined in: src/ui/datagrid/datagrid.tsx:499
Returns the width scale applied to all columns.
Returns
number
The column width scale.
getCssClass()
protectedgetCssClass():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
getCurrentSettings()
getCurrentSettings(
flags?):PersistedGridSettings
Defined in: src/ui/datagrid/datagrid.tsx:1754
Returns the current grid settings snapshot.
Parameters
flags?
Optional persistence flags.
Returns
The current grid settings.
getCustomAttribute()
protectedgetCustomAttribute<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
getDefaultSortBy()
protectedgetDefaultSortBy():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
getFilterStore()
getFilterStore():
FilterStore
Defined in: src/ui/datagrid/datagrid.tsx:1829
Returns the filter store owned by the grid.
Returns
The filter store, or null if no filter bar exists.
Implementation of
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
getGridCanLoad()
protectedgetGridCanLoad():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
A Fluent wrapper for the grid field.
Inherited from
getIdProperty()
protectedgetIdProperty():string
Defined in: src/ui/datagrid/datagrid.tsx:1423
Returns the id property name for this grid.
Returns
string
The id property name.
getIncludeColumns()
protectedgetIncludeColumns(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()
protectedgetInitialTitle():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()
protectedgetIsActiveProperty():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()
protectedgetIsDeletedProperty():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()
protectedgetItemCssClass(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()
protectedgetItemMetadata(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()
protectedgetItemType():string
Defined in: src/ui/datagrid/datagrid.tsx:1088
Returns the item type key for this grid.
Returns
string
The item type key.
getLocalTextDbPrefix()
protectedgetLocalTextDbPrefix():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()
protectedgetLocalTextPrefix():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()
protectedgetPagerOptions():PagerOptions
Defined in: src/ui/datagrid/datagrid.tsx:995
Returns the pager options for this grid.
Returns
Pager options.
getPersistedSettings()
protectedgetPersistedSettings():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()
protectedgetPersistenceKey():string
Defined in: src/ui/datagrid/datagrid.tsx:1603
Returns the key used to store grid settings.
Returns
string
The persistence key.
getPersistenceStorage()
protectedgetPersistenceStorage():SettingStorage
Defined in: src/ui/datagrid/datagrid.tsx:1593
Returns the storage used for grid persistence.
Returns
The persistence storage.
getPropertyItems()
protectedgetPropertyItems():PropertyItem[]
Defined in: src/ui/datagrid/datagrid.tsx:1161
Returns the property items for this grid.
Returns
The property items.
getPropertyItemsData()
protectedgetPropertyItemsData():PropertyItemsData
Defined in: src/ui/datagrid/datagrid.tsx:1169
Loads the property items data, either from script data or local items.
Returns
The property items data.
getPropertyItemsDataAsync()
protectedgetPropertyItemsDataAsync():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()
protectedgetQuickFilters():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()
protectedgetQuickSearchFields():QuickSearchField[]
Defined in: src/ui/datagrid/datagrid.tsx:378
Returns the quick search fields available for this grid.
Returns
The quick search fields, or null for none.
getRowDefinition()
protectedgetRowDefinition():IRowDefinition
Defined in: src/ui/datagrid/datagrid.tsx:1383
Returns the row definition for this grid.
Returns
The row definition, or null for none.
getSlickOptions()
protectedgetSlickOptions():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
getViewOptions()
protectedgetViewOptions():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()
protectedgridPersistenceFlags():GridPersistenceFlags
Defined in: src/ui/datagrid/datagrid.tsx:1620
Returns the default persistence flags for this grid.
Returns
Grid persistence flags.
handleGridClick()
protectedhandleGridClick(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()
protectedhandleGridColumnsReordered():void
Defined in: src/ui/datagrid/datagrid.tsx:683
Persists settings when columns are reordered.
Returns
void
handleGridColumnsResized()
protectedhandleGridColumnsResized():void
Defined in: src/ui/datagrid/datagrid.tsx:690
Persists settings when columns are resized.
Returns
void
handleGridSort()
protectedhandleGridSort(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()
protectedhandleViewFilter(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()
protectedhandleViewProcessData(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()
protectedhandleViewSubmit():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
initializeFilterBar()
protectedinitializeFilterBar():void
Defined in: src/ui/datagrid/datagrid.tsx:536
Initializes the filter bar store with the filterable columns.
Returns
void
initialPopulate()
protectedinitialPopulate():void
Defined in: src/ui/datagrid/datagrid.tsx:506
Performs the initial data population, optionally waiting until visible.
Returns
void
initSleekGrid()
protectedinitSleekGrid():void
Defined in: src/ui/datagrid/datagrid.tsx:592
Hook for subclasses to initialize the grid after creation.
Returns
void
internalRefresh()
protectedinternalRefresh():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
invokeSubmitHandlers()
protectedinvokeSubmitHandlers():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.
itemLink()
protecteditemLink(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()
protectedlayout():void
Defined in: src/ui/datagrid/datagrid.tsx:241
Recalculates the grid layout, handling responsive height behavior.
Returns
void
legacyTemplateRender()
protectedlegacyTemplateRender():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
markupReady()
protectedmarkupReady():void
Defined in: src/ui/datagrid/datagrid.tsx:922
Hook invoked when the grid markup is ready after data changes.
Returns
void
onClick()
protectedonClick(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()
protectedonViewFilter(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()
protectedonViewProcessData(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()
protectedonViewSubmit():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?
Optional persistence flags.
Returns
void | Promise<void>
Void or a promise that resolves when the write completes.
populateLock()
protectedpopulateLock():void
Defined in: src/ui/datagrid/datagrid.tsx:1264
Locks the view against population.
Returns
void
populateUnlock()
protectedpopulateUnlock():void
Defined in: src/ui/datagrid/datagrid.tsx:1271
Unlocks the view population.
Returns
void
populateWhenVisible()
protectedpopulateWhenVisible():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()
protectedpostProcessColumns(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()
protectedpropertyItemsReady(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
Property items and additional items for the grid.
Returns
void
propertyItemsToColumns()
protectedpropertyItemsToColumns(propertyItems):Column<any>[]
Defined in: src/ui/datagrid/datagrid.tsx:1232
Converts property items to grid columns, wrapping edit-link columns.
Parameters
propertyItems
Property items to convert.
Returns
Column<any>[]
The grid columns.
quickFilterChange()
protectedquickFilterChange(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()
protectedrefreshIfNeeded():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
renderContents()
protectedrenderContents():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
resizeCanvas()
protectedresizeCanvas():void
Defined in: src/ui/datagrid/datagrid.tsx:1462
Resizes the underlying grid canvas.
Returns
void
restoreSettings()
protectedrestoreSettings(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?
Optional settings to restore; defaults to persisted settings.
flags?
Optional persistence flags.
Returns
void | Promise<void>
Void or a promise that resolves when restoration completes.
restoreSettingsFrom()
protectedrestoreSettingsFrom(settings,flags?):void
Defined in: src/ui/datagrid/datagrid.tsx:1671
Restores grid state from a persisted settings snapshot.
Parameters
settings
The settings to restore.
flags?
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
setCriteriaParameter()
protectedsetCriteriaParameter():void
Defined in: src/ui/datagrid/datagrid.tsx:864
Sets the Criteria view parameter from the active filter store criteria.
Returns
void
setEquality()
protectedsetEquality(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()
protectedsetIncludeColumnsParameter():void
Defined in: src/ui/datagrid/datagrid.tsx:886
Sets the IncludeColumns view parameter from the grid columns.
Returns
void
setInitialSortOrder()
protectedsetInitialSortOrder():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()
protectedsetViewParams():void
Defined in: src/ui/datagrid/datagrid.tsx:899
Prepares all view parameters and notifies the onSetViewParams subscribers.
Returns
void
subDialogDataChange()
protectedsubDialogDataChange():void
Defined in: src/ui/datagrid/datagrid.tsx:1469
Refreshes the grid when a sub-dialog reports a data change.
Returns
void
syncOrAsyncThen()
protectedsyncOrAsyncThen<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
tryFindQuickFilter()
protectedtryFindQuickFilter<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()
protecteduseAsync():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()
protecteduseIdPrefix():IdPrefixType
Defined in: src/ui/widgets/widget.ts:329
Returns an id prefix helper for resolving child element ids.
Returns
An IdPrefixType proxy for this widget's id prefix.
Inherited from
useLayoutTimer()
protecteduseLayoutTimer():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()
protectedusePager():boolean
Defined in: src/ui/datagrid/datagrid.tsx:955
Whether the grid should render a pager.
Returns
boolean
True when paging is enabled.
viewDataChanged()
protectedviewDataChanged():void
Defined in: src/ui/datagrid/datagrid.tsx:768
Handles view data changes by notifying subscribers and relaying out.
Returns
void
wrapFormatterWithEditLink()
protectedwrapFormatterWithEditLink(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
Property item describing the edit link.
Returns
void
create()
staticcreate<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
createDefaultElement()
staticcreateDefaultElement():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
getWidgetName()
staticgetWidgetName(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
propertyItemToQuickFilter()
staticpropertyItemToQuickFilter(item):QuickFilter<any,any>
Defined in: src/ui/datagrid/datagrid.tsx:334
Converts a property item to a quick filter definition.
Parameters
item
Property item to convert.
Returns
QuickFilter<any, any>
The quick filter definition, or null if not applicable.
registerClass()
protectedstaticregisterClass<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
registerEditor()
protectedstaticregisterEditor<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.