(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:
Jarosław Sadziński
2023-08-28 11:16:17 +02:00
parent c02acff361
commit b6a431dd58
33 changed files with 155 additions and 84 deletions

View File

@@ -1,5 +1,6 @@
<html>
<body>
<script src="/grist-plugin-api.js"></script>
<h1 id="hello-title">Hello World</h1>
</body>
</html>

View File

@@ -1281,10 +1281,10 @@ export async function checkForErrors() {
/**
* Opens a Creator Panel on Widget/Table settings tab.
*/
export async function openWidgetPanel() {
export async function openWidgetPanel(tab: 'widget'|'sortAndFilter'|'data' = 'widget') {
await toggleSidePanel('right', 'open');
await driver.find('.test-right-tab-pagewidget').click();
await driver.find(".test-config-widget").click();
await driver.find(`.test-config-${tab}`).click();
}
/**