mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
98f64a8461
Summary: This makes an equivalent of the /records REST endpoint available within custom widgets. For simple operations, it is compatible with https://github.com/airtable/airtable.js/. About half of the diff is refactoring code from DocApi that implements /records using applyUserActions, to make that code available in the plugin api. Test Plan: added tests Reviewers: alexmojaki Reviewed By: alexmojaki Differential Revision: https://phab.getgrist.com/D3320
29 lines
865 B
TypeScript
29 lines
865 B
TypeScript
// Letter codes for CellValue types encoded as [code, args...] tuples.
|
|
export const enum GristObjCode {
|
|
List = 'L',
|
|
LookUp = 'l',
|
|
Dict = 'O',
|
|
DateTime = 'D',
|
|
Date = 'd',
|
|
Skip = 'S',
|
|
Censored = 'C',
|
|
Reference = 'R',
|
|
ReferenceList = 'r',
|
|
Exception = 'E',
|
|
Pending = 'P',
|
|
Unmarshallable = 'U',
|
|
Versions = 'V',
|
|
}
|
|
|
|
export type CellValue = number|string|boolean|null|[GristObjCode, ...unknown[]];
|
|
export interface BulkColValues { [colId: string]: CellValue[]; }
|
|
|
|
export interface RowRecord {
|
|
id: number;
|
|
[colId: string]: CellValue;
|
|
}
|
|
|
|
export type GristType = 'Any' | 'Attachments' | 'Blob' | 'Bool' | 'Choice' | 'ChoiceList' |
|
|
'Date' | 'DateTime' |
|
|
'Id' | 'Int' | 'ManualSortPos' | 'Numeric' | 'PositionNumber' | 'Ref' | 'RefList' | 'Text';
|