Store query contract: filtering, searching, sorting, grouping, paging, projection and cancellation.
Vue: omitted options are undefined; DataSource supplies count and paging defaults. Dart defaults appear in the constructor. skip/take apply to rows and top-level groups. Local processing returns counts even without a count request. Vue select is a field list; Dart select is a T→T callback. Forward signal/cancellation to custom async operations.
interface TxLoadOptions<T> {
sort?: TxSort<T>[]
filter?: TxFilter<T>
searchExpr?: TxSelector<T>[]
searchValue?: string
group?: TxSort<T>[]
skip?: number
take?: number
select?: string[]
requireTotalCount?: boolean
requireGroupCount?: boolean
signal?: AbortSignal
}| Field | Meaning |
|---|---|
| sort | Sort descriptors in priority order. |
| filter | Filter expression. |
| searchExpr | Search fields or getters. |
| searchValue | Search text; local search ignores case. |
| group | Group descriptors or group name. |
| skip | Number of results to skip. |
| take | Maximum number of results to return. |
| select | Projection before final mapping. |
| requireTotalCount | Requests the total count before paging. |
| requireGroupCount | Requests the number of top-level groups. |
| signal | AbortSignal for cooperative cancellation. |
import type { TxLoadOptions } from '@tekocloud.de/tecexpress'
const example: TxLoadOptions<{ id: number }> = { take: 10, requireTotalCount: true }
console.log(example)