Documentation

@kanunilabs/datagrid-react


@kanunilabs/datagrid-react / GridStateStore

Class: GridStateStore

Constructors

Constructor

new GridStateStore(options?): GridStateStore

Parameters

options?

GridStateStoreOptions

Returns

GridStateStore

Methods

applyState()

applyState(state): void

Replace the whole interaction state in ONE notification (view restore).

Parameters

state

GridInteractionState

Returns

void


clampPage()

clampPage(pageCount): number

Pull the page back inside a shrunken result, WITHOUT notifying.

Called from inside a recompute that is about to publish anyway, so a notification here would only cost a second pass. Returns the page to slice with. Clamping (rather than resetting to 0) is what a user deleting one row on page 7 expects — they stay where they were unless that page is gone.

Parameters

pageCount

number

Returns

number


clearColumnFilters()

clearColumnFilters(): void

Returns

void


clearSort()

clearSort(): void

Returns

void


collapsedSet()

collapsedSet(): ReadonlySet<string>

Collapsed group keys as a set — O(1) membership, built once per change.

Returns

ReadonlySet<string>


effectiveFilter()

effectiveFilter(): FilterNode | null

Programmatic filter AND every column filter — what the pipeline runs.

Returns

FilterNode | null


expandedSet()

expandedSet(): ReadonlySet<RowKey>

Row keys with an open detail panel, as a set.

Returns

ReadonlySet<RowKey>


getColumnFilter()

getColumnFilter(columnId, part?): FilterNode | null

The effective filter for a column, or one part of it.

Parameters

columnId

string

part?

string

Returns

FilterNode | null


getState()

getState(): GridInteractionState

Returns

GridInteractionState


getVersion()

getVersion(): number

Returns

number


isDetailExpanded()

isDetailExpanded(rowKey): boolean

Parameters

rowKey

RowKey

Returns

boolean


isGroupCollapsed()

isGroupCollapsed(key): boolean

Parameters

key

string

Returns

boolean


reset()

reset(): void

Returns

void


resetPage()

resetPage(): void

Reset to the first page. Called whenever the row set changes (filter, search, grouping): staying on page 12 of a result that now has 3 pages is the classic "my grid went blank after filtering" bug.

Returns

void


setCollapsedGroups()

setCollapsedGroups(keys): void

Parameters

keys

readonly string[]

Returns

void


setColumnFilter()

setColumnFilter(columnId, node, part?): void

Set (or clear, with null) one column's UI filter.

part names the surface it came from (P3.7). Two parts on one column are ANDed; omitting it REPLACES the column's filter outright, which is what a programmatic caller and a "clear this column" gesture mean.

Parameters

columnId

string

node

FilterNode | null

part?

string

Returns

void


setExpandedDetails()

setExpandedDetails(keys): void

Parameters

keys

readonly RowKey[]

Returns

void


setFilter()

setFilter(filter): void

Parameters

filter

FilterNode | null

Returns

void


setFilterEnabled()

setFilterEnabled(enabled): void

Apply or suspend the filter without touching its conditions.

Re-enabling has to put the user back exactly where they were, so nothing is cleared here — effectiveFilter() still reports the conditions, and the controller decides whether to run them.

Parameters

enabled

boolean

Returns

void


setGroupBy()

setGroupBy(groupBy): boolean

Accepts a single column, a level list, or null/[] to ungroup.

Parameters

groupBy

string | readonly string[] | null

Returns

boolean


setPage()

setPage(page): void

Parameters

page

number

Returns

void


setPageSize()

setPageSize(pageSize): void

Parameters

pageSize

number

Returns

void


setSearchText()

setSearchText(searchText): void

Parameters

searchText

string

Returns

void


setSort()

setSort(sort): void

Parameters

sort

SortDescriptor[]

Returns

void


subscribe()

subscribe(listener): () => void

Parameters

listener

Listener

Returns

() => void


toggleDetail()

toggleDetail(rowKey): void

Parameters

rowKey

RowKey

Returns

void


toggleGroup()

toggleGroup(key): void

Parameters

key

string

Returns

void


toggleSort()

toggleSort(columnId, additive?): void

Toggle a column's sort: none → asc → desc → none. Respects multiSort.

Parameters

columnId

string

additive?

boolean

Returns

void