{
total: number,
filtered: number,
fields: DField[],
data: any[],
summary: { [key: string]: number },
query: DQuery
}
DField = {
name: string,
text?: string,
sort?: 'asc'|'desc'|'',
// simple values (one of these may be present)
string?: string|null,
number?: number|null,
numbers?: number[],
date?: string|null, // ISO YYYY-MM-DD
checkbox?: boolean|null,
select?: { // select-like inputs
type: 'number'|'date'|'string',
value?: any|null,
options: { value: any, text: string }[]
},
checkbuttons?: { // select-like inputs
type: 'number'|'string',
value?: any|null,
options: { value: any, text: string }[]
},
checkboxes?: { // select-like inputs
type: 'number'|'date'|'string'|'number[]'|'string[]',
values?: any[],
options: { value: any, text: string }[],
classInput?: string
},
range?: { // ranges and validity
type: 'number'|'date',
nullable?: boolean,
from?: number|string|Date|null,
to?: number|string|Date|null
},
valid_until?: {
type: 'date',
nullable?: boolean,
value?: string|Date|null
}
}
DQuery = {
from: number,
size: number,
init?: number,
fields: DField[]
}