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
37 lines
1.3 KiB
TypeScript
37 lines
1.3 KiB
TypeScript
/**
|
|
* This module was automatically generated by `ts-interface-builder`
|
|
*/
|
|
import * as t from "ts-interface-checker";
|
|
// tslint:disable:object-literal-key-quotes
|
|
|
|
export const ComponentKind = t.union(t.lit("safeBrowser"), t.lit("safePython"), t.lit("unsafeNode"));
|
|
|
|
export const GristAPI = t.iface([], {
|
|
"render": t.func("number", t.param("path", "string"), t.param("target", "RenderTarget"), t.param("options", "RenderOptions", true)),
|
|
"dispose": t.func("void", t.param("procId", "number")),
|
|
"subscribe": t.func("void", t.param("tableId", "string")),
|
|
"unsubscribe": t.func("void", t.param("tableId", "string")),
|
|
});
|
|
|
|
export const GristDocAPI = t.iface([], {
|
|
"getDocName": t.func("string"),
|
|
"listTables": t.func(t.array("string")),
|
|
"fetchTable": t.func("any", t.param("tableId", "string")),
|
|
"applyUserActions": t.func("any", t.param("actions", t.array(t.array("any"))), t.param("options", "any", true)),
|
|
});
|
|
|
|
export const GristView = t.iface([], {
|
|
"fetchSelectedTable": t.func("any"),
|
|
"fetchSelectedRecord": t.func("any", t.param("rowId", "number")),
|
|
"allowSelectBy": t.func("void"),
|
|
"setSelectedRows": t.func("void", t.param("rowIds", t.array("number"))),
|
|
});
|
|
|
|
const exportedTypeSuite: t.ITypeSuite = {
|
|
ComponentKind,
|
|
GristAPI,
|
|
GristDocAPI,
|
|
GristView,
|
|
};
|
|
export default exportedTypeSuite;
|