mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) Cursor in custom widgets
Summary: Adding a new method `setCursorPos` in the widget API, and a new configuration option for the ready message `allowSelectBy` that exposes custom widgets in the `Select by` dropdown. With this, a custom widget can control the position of the linked widgets and is able to change the column in the creator panel. Test Plan: Added new test. Existing tests should pass. Reviewers: JakubSerafin Reviewed By: JakubSerafin Subscribers: JakubSerafin Differential Revision: https://phab.getgrist.com/D3993
This commit is contained in:
@@ -4,6 +4,15 @@
|
||||
import * as t from "ts-interface-checker";
|
||||
// tslint:disable:object-literal-key-quotes
|
||||
|
||||
export const UIRowId = t.union("number", t.lit('new'));
|
||||
|
||||
export const CursorPos = t.iface([], {
|
||||
"rowId": t.opt("UIRowId"),
|
||||
"rowIndex": t.opt("number"),
|
||||
"fieldIndex": t.opt("number"),
|
||||
"sectionId": t.opt("number"),
|
||||
});
|
||||
|
||||
export const ComponentKind = t.union(t.lit("safeBrowser"), t.lit("safePython"), t.lit("unsafeNode"));
|
||||
|
||||
export const GristAPI = t.iface([], {
|
||||
@@ -25,7 +34,8 @@ 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"))),
|
||||
"setSelectedRows": t.func("void", t.param("rowIds", t.union(t.array("number"), "null"))),
|
||||
"setCursorPos": t.func("void", t.param("pos", "CursorPos")),
|
||||
});
|
||||
|
||||
export const AccessTokenOptions = t.iface([], {
|
||||
@@ -39,6 +49,8 @@ export const AccessTokenResult = t.iface([], {
|
||||
});
|
||||
|
||||
const exportedTypeSuite: t.ITypeSuite = {
|
||||
UIRowId,
|
||||
CursorPos,
|
||||
ComponentKind,
|
||||
GristAPI,
|
||||
GristDocAPI,
|
||||
|
||||
Reference in New Issue
Block a user