gristlabs_grist-core/app/client/models
Paul Fitzpatrick 603238e966 (core) Adds a UI panel for managing webhooks
Summary:
This adds a UI panel for managing webhooks. Work started by Cyprien Pindat. You can find the UI on a document's settings page. Main changes relative to Cyprien's demo:

  * Changed behavior of virtual table to be more consistent with the rest of Grist, by factoring out part of the implementation of on-demand tables.
  * Cell values that would create an error can now be denied and reverted (as for the rest of Grist).
  * Changes made by other users are integrated in a sane way.
  * Basic undo/redo support is added using the regular undo/redo stack.
  * The table list in the drop-down is now updated if schema changes.
  * Added a notification from back-end when webhook status is updated so constant polling isn't needed to support multi-user operation.
  *  Factored out webhook specific logic from general virtual table support.
  * Made a bunch of fixes to various broken behavior.
  * Added tests.

The code remains somewhat unpolished, and behavior in the presence of errors is imperfect in general but may be adequate for this case.

I assume that we'll soon be lifting the restriction on the set of domains that are supported for webhooks - otherwise we'd want to provide some friendly way to discover that list of supported domains rather than just throwing an error.

I don't actually know a lot about how the front-end works - it looks like tables/columns/fields/sections can be safely added if they have string ids that won't collide with bone fide numeric ids from the back end. Sneaky.

Contains a migration, so needs an extra reviewer for that.

Test Plan: added tests

Reviewers: jarek, dsagal

Reviewed By: jarek, dsagal

Differential Revision: https://phab.getgrist.com/D3856
2023-05-08 18:25:27 -04:00
..
entities (core) Adds a UI panel for managing webhooks 2023-05-08 18:25:27 -04:00
AppModel.ts (core) Direct users to last visited site when possible 2023-05-02 07:48:22 -07:00
BaseRowModel.js (core) Update ACL resources/rules when tables/columns get renamed 2021-01-04 22:03:01 -05:00
ClientColumnGetters.ts (core) Faster builds all around. 2022-07-04 10:42:40 -04:00
ColumnACIndexes.ts Rename text cleaning function to "normalizeText" 2022-08-17 19:11:52 +02:00
ColumnCache.ts (core) Show count of formula errors in the column config in the right-side panel. 2021-04-20 21:26:17 -04:00
ColumnFilter.ts (core) Fix date filter for DateTime columns. 2023-01-18 10:18:15 +01:00
ColumnFilterMenuModel.ts (core) Add behavioral and coaching call popups 2022-12-20 09:49:41 -05:00
ColumnToMap.ts add a description property to column mapping for custom widgets (#255) 2022-08-26 08:25:34 -04:00
ConnectState.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
DataRowModel.ts (core) When a checkbox is clicked on a new record, set default values determined by linking 2022-11-10 14:34:40 -05:00
DataTableModel.js (core) move client code to core 2020-10-02 13:24:21 -04:00
DataTableModelWithDiff.ts (core) Faster builds all around. 2022-07-04 10:42:40 -04:00
DocData.ts (core) Adds a UI panel for managing webhooks 2023-05-08 18:25:27 -04:00
DocModel.ts (core) Adds a UI panel for managing webhooks 2023-05-08 18:25:27 -04:00
DocPageModel.ts (core) Polish tutorial popups 2023-04-20 12:20:03 -04:00
errors.ts (core) Add telemetry 2023-04-06 12:34:54 -04:00
features.ts (core) Draft version of AI assistant 2023-03-24 10:07:26 +01:00
gristConfigCache.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
gristUrlState.ts (core) Direct users to last visited site when possible 2023-05-02 07:48:22 -07:00
HomeModel.ts (core) Add tip for "Add New" button 2023-01-16 16:50:42 -08:00
MetaRowModel.js (core) move client code to core 2020-10-02 13:24:21 -04:00
MetaTableModel.js (core) Raw renames 2022-04-27 22:21:55 +02:00
modelUtil.js (core) move client code to core 2020-10-02 13:24:21 -04:00
NotifyModel.ts (core) Changing shortcuts for adding and removing rows 2022-10-21 18:45:25 +02:00
QuerySet.ts (core) Faster builds all around. 2022-07-04 10:42:40 -04:00
rowset.ts (core) Comments 2022-10-17 13:38:21 +02:00
rowuid.js (core) move client code to core 2020-10-02 13:24:21 -04:00
RuleOwner.ts (core) Implementing row conditional formatting 2022-08-09 20:11:36 +02:00
SearchModel.ts (core) Fixing couple of bugs in collapsed section layout 2023-03-22 16:23:09 +01:00
SectionFilter.ts (core) Speed up and upgrade build. 2022-06-27 16:10:10 -04:00
Styles.ts (core) Multi-column configuration 2022-10-17 09:51:19 +02:00
TableData.ts (core) Use MetaTableData more 2021-12-07 17:09:58 +02:00
TableModel.js (core) Change how formula columns can be converted to data. 2021-03-05 12:42:57 -05:00
TreeModel.ts (core) Revealing hidden pages with visible children. 2022-10-31 14:02:38 +01:00
UserManagerModel.ts (core) User language switcher 2023-01-26 09:47:14 +01:00
UserPrefs.ts (core) Improve dark mode 2023-04-12 01:58:48 -04:00
ViewFieldConfig.ts (core) Fixing click-away bug for the cell color widget 2022-10-24 16:21:14 +02:00
VirtualTable.ts (core) Adds a UI panel for managing webhooks 2023-05-08 18:25:27 -04:00
WorkspaceInfo.ts (core) move client code to core 2020-10-02 13:24:21 -04:00