(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:
Paul Fitzpatrick
2022-03-15 10:35:15 -04:00
parent 02e69fb685
commit 98f64a8461
14 changed files with 405 additions and 152 deletions

View File

@@ -88,7 +88,7 @@ export interface GristDocAPI {
// Applies an array of user actions.
// todo: return type should be Promise<ApplyUAResult>, but this requires importing modules from
// `app/common` which is not currently supported by the build.
applyUserActions(actions: any[][]): Promise<any>;
applyUserActions(actions: any[][], options?: any): Promise<any>;
}
export interface GristView {