Skip to content

Data Models

Parameters for an append-mode fetch request.

Type ParameterDefault type
ParamsRecord<string, unknown>

unknown


number


Params


AbortSignal


Result for an append-mode fetch request.

Type Parameter
T

unknown


number

number


boolean


T[]


Configuration for an append-mode remote model.

Type ParameterDefault type
T-
ParamsRecord<string, unknown>

fetch: (params) => Promise<AppendFetchResult<T>>

ParameterType
paramsAppendFetchParams<Params>

Promise<AppendFetchResult<T>>



Params


"append"


optional onError: (error) => void

ParameterType
errorError

void


optional onViewportChange: (context) => AppendViewportAction

ParameterType
contextAppendViewportContext<Params>

AppendViewportAction



AppendViewportAction = { loadMore: true; } | void

Action returned by an append viewport handler.


Context passed to an append viewport handler.

Type ParameterDefault type
ParamsRecord<string, unknown>

number


boolean


boolean


number


number


Params


number


ConcurrencyStrategy = "supersede" | "queue" | "deduplicate"

Concurrency strategies supported by model actions.


The handle exposed by local and remote data models.

Type ParameterDefault type
Tunknown

destroy(): void

void


optional getActionState(): ModelActionState

ModelActionState


send(msg): void

ParameterType
msg{ action: string; payload?: unknown; requestId?: string; viewId?: string; }
msg.actionstring
msg.payload?unknown
msg.requestId?string
msg.viewId?string

void


optional setData(data, groups?): void

ParameterType
dataT[]
groups?object[]

void


subscribe(listener): () => void

ParameterType
listener(msg) => void

(): void

void


optional subscribeToActionState(handler): () => void

ParameterType
handler(state) => void

(): void

void


Optional persistence capability exposed by data models.

Type ParameterDefault type
StateModelPersistenceState

capture(viewId, previous): State

ParameterType
viewIdstring
previousState | null

State


restore(viewId, state): void

ParameterType
viewIdstring
stateState | null

void


subscribe(viewId, onChange): () => void

ParameterType
viewIdstring
onChange() => void

(): void

void


A normalized table data result returned by data models.

Type ParameterDefault type
Tunknown
Gnever

data: (T | G)[]


object[]

number

number


defaultAppendViewportHandler<Params>(context): AppendViewportAction

Default viewport strategy for append mode.

Type Parameter
Params
ParameterType
contextAppendViewportContext<Params>

AppendViewportAction


defaultOffsetViewportHandler<Params>(context): OffsetViewportAction

Default viewport strategy for offset mode.

Type Parameter
Params
ParameterType
contextOffsetViewportContext<Params>

OffsetViewportAction


Parameters for an offset-based fetch request.

Type ParameterDefault type
ParamsRecord<string, unknown>

number


number


Params


AbortSignal


Result for an offset-based fetch request.

Type Parameter
T

number

number


T[]


number


localModel<T, G>(config): DataModelHandle<T | G>

Creates a local reactive data model for the table.

Type ParameterDefault type
T-
Gnever
ParameterType
configLocalModelConfig<T, G>

DataModelHandle<T | G>


Configuration for localModel().

Type ParameterDefault type
T-
Gnever

T[]


number

number




Message envelope used by data model protocols.

Type ParameterDefault type
Punknown

string



string




string


"error" | "request" | "ack" | "result" | "cancel" | "event"


string


ModelActionPersistenceConfig<State, SourceState> = boolean | { capture?: (context) => State; isEmpty?: (state) => boolean; key?: string; restore?: (context) => SourceState; }

Persistence configuration for a data model action.

Type ParameterDefault type
Stateunknown
SourceStateunknown

Serializable model state used by model-backed persistence adapters.

Record<string, unknown>


1


Configuration for an offset-mode remote model.

Type ParameterDefault type
T-
ParamsRecord<string, unknown>

fetch: (params) => Promise<FetchResult<T>>

ParameterType
paramsFetchParams<Params>

Promise<FetchResult<T>>



Params



optional onError: (error) => void

ParameterType
errorError

void


optional onViewportChange: (context) => OffsetViewportAction

ParameterType
contextOffsetViewportContext<Params>

OffsetViewportAction




OffsetViewportAction = { fetch: object[]; } | void

Action returned by an offset viewport handler.


Context passed to an offset viewport handler.

Type ParameterDefault type
ParamsRecord<string, unknown>

number


object[]

number

number


number


Params


number


number


ParamTransformer<Params> = (ctx) => Params

Transforms action payloads into remote query params.

Type Parameter
Params
ParameterType
ctx{ params: Params; payload: unknown; }
ctx.paramsParams
ctx.payloadunknown

Params


Configuration for a derived pipeline action.

Type ParameterDefault type
T-
Gnever

PipelineHandler<T, G>



string



PipelineHandler<T, G> = (params) => PipelineResult<T, G>

A pipeline stage handler for localModel().

Type ParameterDefault type
T-
Gnever
ParameterType
params{ data: (T | G)[]; payload: unknown; }
params.data(T | G)[]
params.payloadunknown

PipelineResult<T, G>


PipelineResult<T, G> = (T | G)[] | DataResult<T, G>

The result of a local pipeline stage.

Type ParameterDefault type
T-
Gnever

Configuration for a remote action.

Type Parameter
Params

ParamTransformer<Params>




remoteModel<T, Params>(config): DataModelHandle<T>

Creates a remote reactive data model for the table.

Type ParameterDefault type
T-
ParamsRecord<string, unknown>
ParameterType
configRemoteModelConfig<T, Params>

DataModelHandle<T>


RemoteModelConfig<T, Params> = OffsetRemoteModelConfig<T, Params> | AppendRemoteModelConfig<T, Params>

Configuration for remoteModel().

Type ParameterDefault type
T-
ParamsRecord<string, unknown>

Event payload emitted by remoteModel() through the model event channel.


"loading"


RemoteModelLoadingPhase


RemoteModelLoadingReason


RemoteModelLoadingPhase = "start" | "success" | "error" | "cancel"

Loading lifecycle phase emitted by remoteModel().


RemoteModelLoadingReason = "initial" | "refresh" | "end" | "viewport"

Loading reasons emitted by remoteModel().


SourceMutator<T> = (params) => T[]

A mutator that updates the backing source array.

Type Parameter
T
ParameterType
params{ payload: unknown; source: T[]; }
params.payloadunknown
params.sourceT[]

T[]


Configuration for a source mutation action.

Type Parameter
T

SourceMutator<T>