mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) add grist.selectedTable.create/update/destroy/upsert to custom widget api
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
This commit is contained in:
@@ -22,6 +22,10 @@ export const GristObjCode = t.enumtype({
|
||||
|
||||
export const CellValue = t.union("number", "string", "boolean", "null", t.tuple("GristObjCode", t.rest(t.array("unknown"))));
|
||||
|
||||
export const BulkColValues = t.iface([], {
|
||||
[t.indexKey]: t.array("CellValue"),
|
||||
});
|
||||
|
||||
export const RowRecord = t.iface([], {
|
||||
"id": "number",
|
||||
[t.indexKey]: "CellValue",
|
||||
@@ -32,6 +36,7 @@ export const GristType = t.union(t.lit('Any'), t.lit('Attachments'), t.lit('Blob
|
||||
const exportedTypeSuite: t.ITypeSuite = {
|
||||
GristObjCode,
|
||||
CellValue,
|
||||
BulkColValues,
|
||||
RowRecord,
|
||||
GristType,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user