mirror of
https://github.com/gristlabs/grist-core.git
synced 2025-06-13 20:53:59 +00:00
Summary: Makes the following improvements to formula autocomplete: - When a user types `$RefCol` (or part of it), also show `$RefCol.VisibleCol` (replace actual column names) in the autocomplete even before the `.` is typed, to help users understand the difference between a raw reference/record and its visible column. - When a user types a table name, show `.lookupOne` and `.lookupRecords` in the autocomplete, again even before the `.` is typed. - For `.lookupRecords(` and `.lookupOne(`, once the `(` is entered, suggest each column name as a keyword argument. - Also suggest lookup arguments involving compatible reference columns, especially 'reverse reference' lookups like `refcol=$id` which are very common and difficult for users. - To support these features, the Ace editor autocomplete needs some patching to fetch fresh autocomplete options after typing `.` or `(`. This also improves unrelated behaviour that wasn't great before when one column name is contained in another. See the first added browser test. Discussions: - https://grist.slack.com/archives/CDHABLZJT/p1659707068383179 - https://grist.quip.com/HoSmAlvFax0j#MbTADAH5kgG - https://grist.quip.com/HoSmAlvFax0j/Formula-Improvements#temp:C:MbT3649fe964a184e8dada9bbebb Test Plan: Added Python and nbrowser tests. Reviewers: paulfitz Reviewed By: paulfitz Differential Revision: https://phab.getgrist.com/D3580 |
||
---|---|---|
.. | ||
AceEditor.css | ||
AceEditor.js | ||
AceEditorCompletions.ts | ||
ActionLog.css | ||
ActionLog.ts | ||
Banner.ts | ||
Base.js | ||
BaseView2.ts | ||
BaseView.js | ||
CellPosition.ts | ||
ChartView.css | ||
ChartView.ts | ||
ClientScope.ts | ||
Clipboard.css | ||
Clipboard.js | ||
CodeEditorPanel.css | ||
CodeEditorPanel.ts | ||
ColumnFilters.css | ||
ColumnTransform.ts | ||
Comm.ts | ||
commandList.js | ||
commands.css | ||
commands.js | ||
CopySelection.ts | ||
Cursor.ts | ||
CursorMonitor.ts | ||
CustomView.css | ||
CustomView.ts | ||
DataTables.ts | ||
DetailView.css | ||
DetailView.js | ||
DocComm.ts | ||
DocConfigTab.js | ||
DocumentUsage.ts | ||
Drafts.ts | ||
duplicatePage.ts | ||
EditorMonitor.ts | ||
EmbedForm.css | ||
FieldConfigTab.css | ||
FormulaTransform.ts | ||
GridView.css | ||
GridView.js | ||
GristDoc.css | ||
GristDoc.ts | ||
GristWSConnection.ts | ||
Importer.ts | ||
Layout.css | ||
Layout.js | ||
LayoutEditor.css | ||
LayoutEditor.js | ||
LayoutPreview.css | ||
LayoutPreview.js | ||
LinkingState.ts | ||
Login.css | ||
ParseOptions.ts | ||
PluginScreen.ts | ||
Preferences.css | ||
Printing.css | ||
Printing.ts | ||
RawData.ts | ||
RecordLayout.css | ||
RecordLayout.js | ||
RecordLayoutEditor.js | ||
RefSelect.ts | ||
SearchBar.css | ||
Selector.js | ||
TypeConversion.ts | ||
TypeTransform.ts | ||
UndoStack.ts | ||
UnsavedChanges.ts | ||
ValidationPanel.css | ||
ValidationPanel.js | ||
viewCommon.css | ||
viewCommon.js | ||
ViewConfigTab.css | ||
ViewConfigTab.js | ||
ViewLayout.css | ||
ViewLayout.ts | ||
ViewLinker.css | ||
ViewPane.ts | ||
WidgetFrame.ts |