gristlabs_grist-core/app/client/components
Dmitry S 2a592d8b4d (core) Automatically finalize action bundles when unrelated actions/bundles come in.
Summary:
Type conversions and formula tranforms wait for the user and bundle multiple
actions. When an unrelated action is done (e.g. adding a page widget or a
column), we want to finalize the transform before applying it.

The approach turns out fairly complicated. There is an implicit queue of
bundles (which we don't let grow beyond 2, as that's too abnormal). Bundles may
be finalized by a user clicking something, or by an unrelated action/bundle, or
(as before) by transform DOM getting disposed.

- Updated RecordLayout to use bundleActions() helper
- Added support for nesting bundleActions inside another bundle (needed for
  setting visibleCol during type change)
- In an unrelated tweak, when in debug-log in ActiveDoc, use a short representation of result.

Test Plan: Added a unittest for action bundling during type transform

Reviewers: paulfitz

Reviewed By: paulfitz

Differential Revision: https://phab.getgrist.com/D2655
2020-11-10 10:32:07 -05:00
..
AceEditor.css (core) move client code to core 2020-10-02 13:24:21 -04:00
AceEditor.js (core) move client code to core 2020-10-02 13:24:21 -04:00
ActionLog.css (core) move client code to core 2020-10-02 13:24:21 -04:00
ActionLog.ts (core) Store formula values in DB, and include them into .stored/.undo fields of actions. 2020-11-04 16:45:47 -05:00
Base.js (core) move client code to core 2020-10-02 13:24:21 -04:00
BaseView.js (core) Implement 'Print widget' option to print individual view sections. 2020-10-10 00:35:33 -04:00
ChartView.css (core) move client code to core 2020-10-02 13:24:21 -04:00
ChartView.ts (core) Improve printing of tables, fix printing of charts, add a browser test. 2020-10-12 16:04:18 -04:00
ClientScope.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
Clipboard.css (core) move client code to core 2020-10-02 13:24:21 -04:00
Clipboard.js (core) Improve focus and keyboard shortcuts in modals. 2020-10-03 22:56:00 -04:00
CodeEditorPanel.css (core) move client code to core 2020-10-02 13:24:21 -04:00
CodeEditorPanel.js (core) move client code to core 2020-10-02 13:24:21 -04:00
ColumnFilters.css (core) move client code to core 2020-10-02 13:24:21 -04:00
ColumnTransform.ts (core) Automatically finalize action bundles when unrelated actions/bundles come in. 2020-11-10 10:32:07 -05:00
Comm.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
commandList.js (core) Implement 'Print widget' option to print individual view sections. 2020-10-10 00:35:33 -04:00
commands.css (core) move client code to core 2020-10-02 13:24:21 -04:00
commands.js (core) Improve focus and keyboard shortcuts in modals. 2020-10-03 22:56:00 -04:00
Confirm.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
CopySelection.js (core) move client code to core 2020-10-02 13:24:21 -04:00
Cursor.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
CustomView.css (core) Fix CustomView css to take full height of widget on all browsers including Safari 2020-10-06 13:18:50 -04:00
CustomView.ts (core) Implement 'Print widget' option to print individual view sections. 2020-10-10 00:35:33 -04:00
DetailView.css (core) Improve printing of tables, fix printing of charts, add a browser test. 2020-10-12 16:04:18 -04:00
DetailView.js (core) Implement 'Print widget' option to print individual view sections. 2020-10-10 00:35:33 -04:00
DocComm.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
DocConfigTab.js (core) move client code to core 2020-10-02 13:24:21 -04:00
duplicatePage.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
EmbedForm.css (core) move client code to core 2020-10-02 13:24:21 -04:00
EmbedForm.js (core) move client code to core 2020-10-02 13:24:21 -04:00
FieldConfigTab.css (core) move client code to core 2020-10-02 13:24:21 -04:00
FieldConfigTab.js (core) move client code to core 2020-10-02 13:24:21 -04:00
FormulaTransform.ts (core) Automatically finalize action bundles when unrelated actions/bundles come in. 2020-11-10 10:32:07 -05:00
GridView.css (core) Improve printing of tables, fix printing of charts, add a browser test. 2020-10-12 16:04:18 -04:00
GridView.js (core) Implement 'Print widget' option to print individual view sections. 2020-10-10 00:35:33 -04:00
GristDoc.css (core) move client code to core 2020-10-02 13:24:21 -04:00
GristDoc.ts (core) switch to newer download endpoint in client 2020-10-19 12:44:03 -04:00
GristWSConnection.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
Importer.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
Layout.css (core) move client code to core 2020-10-02 13:24:21 -04:00
Layout.js (core) move client code to core 2020-10-02 13:24:21 -04:00
LayoutEditor.css (core) move client code to core 2020-10-02 13:24:21 -04:00
LayoutEditor.js (core) move client code to core 2020-10-02 13:24:21 -04:00
LayoutPreview.css (core) move client code to core 2020-10-02 13:24:21 -04:00
LayoutPreview.js (core) move client code to core 2020-10-02 13:24:21 -04:00
LinkingState.js (core) move client code to core 2020-10-02 13:24:21 -04:00
Login.css (core) move client code to core 2020-10-02 13:24:21 -04:00
Login.js (core) move client code to core 2020-10-02 13:24:21 -04:00
ModalDialog.js (core) move client code to core 2020-10-02 13:24:21 -04:00
ParseOptions.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
Preferences.css (core) move client code to core 2020-10-02 13:24:21 -04:00
Printing.css (core) Improve printing of tables, fix printing of charts, add a browser test. 2020-10-12 16:04:18 -04:00
Printing.ts (core) Improve printing of tables, fix printing of charts, add a browser test. 2020-10-12 16:04:18 -04:00
ProfileForm.js (core) move client code to core 2020-10-02 13:24:21 -04:00
RecordLayout.css (core) move client code to core 2020-10-02 13:24:21 -04:00
RecordLayout.js (core) Automatically finalize action bundles when unrelated actions/bundles come in. 2020-11-10 10:32:07 -05:00
RecordLayoutEditor.js (core) move client code to core 2020-10-02 13:24:21 -04:00
RefSelect.js (core) move client code to core 2020-10-02 13:24:21 -04:00
REPLTab.css (core) move client code to core 2020-10-02 13:24:21 -04:00
REPLTab.js (core) move client code to core 2020-10-02 13:24:21 -04:00
SearchBar.css (core) move client code to core 2020-10-02 13:24:21 -04:00
SearchBar.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
Selector.js (core) move client code to core 2020-10-02 13:24:21 -04:00
SummaryConfig.js (core) move client code to core 2020-10-02 13:24:21 -04:00
TypeConversion.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
TypeTransform.ts (core) Automatically finalize action bundles when unrelated actions/bundles come in. 2020-11-10 10:32:07 -05:00
UndoStack.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
UnsavedChanges.ts (core) support ?embed=true and &style=light for a clean embed experience 2020-08-14 13:34:38 -04:00
ValidationPanel.css (core) move client code to core 2020-10-02 13:24:21 -04:00
ValidationPanel.js (core) move client code to core 2020-10-02 13:24:21 -04:00
viewCommon.css (core) move client code to core 2020-10-02 13:24:21 -04:00
viewCommon.js (core) move client code to core 2020-10-02 13:24:21 -04:00
ViewConfigTab.css (core) move client code to core 2020-10-02 13:24:21 -04:00
ViewConfigTab.js (core) move client code to core 2020-10-02 13:24:21 -04:00
ViewLayout.css (core) move client code to core 2020-10-02 13:24:21 -04:00
ViewLayout.ts (core) Implement 'Print widget' option to print individual view sections. 2020-10-10 00:35:33 -04:00
ViewLinker.css (core) move client code to core 2020-10-02 13:24:21 -04:00
ViewPane.ts (core) move client code to core 2020-10-02 13:24:21 -04:00