gristlabs_grist-core/app/client/models
Alex Hall 1c89d08ea3 (core) Add a row to summary tables grouped by list column(s) corresponding to empty lists
Summary:
Adds some special handling to summary table and lookup logic:

- Source rows with empty choicelists/reflists get a corresponding summary row with an empty string/reference when grouping by that column, instead of excluding them from any group
- Adds a new `QueryOperation` 'empty' in the client which is used in `LinkingState`, `QuerySet`, and `recursiveMoveToCursorPos` to match empty lists in source tables against falsy values in linked summary tables.
- Adds a new parameter `match_empty` to the Python `CONTAINS` function so that regular formulas can implement the same behaviour as summary tables. See https://grist.slack.com/archives/C0234CPPXPA/p1654030490932119
- Uses the new `match_empty` argument in the formula generated for the `group` column when detaching a summary table.

Test Plan: Updated and extended Python and nbrowser tests of summary tables grouped by choicelists to test for new behaviour with empty lists.

Reviewers: georgegevoian

Reviewed By: georgegevoian

Differential Revision: https://phab.getgrist.com/D3471
2022-06-09 23:38:14 +02:00
..
entities (core) Fix column and view fields mismatch in filters 2022-06-07 10:26:15 +02:00
AppModel.ts (core) Product update popups and hosted stripe integration 2022-06-08 21:10:49 +02:00
BaseRowModel.js (core) Update ACL resources/rules when tables/columns get renamed 2021-01-04 22:03:01 -05:00
BillingModel.ts (core) Product update popups and hosted stripe integration 2022-06-08 21:10:49 +02:00
ClientColumnGetters.ts (core) Adding sort options for columns. 2021-11-03 15:31:39 +01:00
ColumnACIndexes.ts (core) Use visibleCol instead of displayCol with createFormatter 2021-12-16 22:19:36 +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) Adds new range filter for numeric columns 2022-05-30 10:30:16 +02:00
ColumnFilterMenuModel.ts (core) Fix values ordering in column filter menu 2022-05-24 16:30:28 +02:00
ColumnToMap.ts (core) Custom Widget column mapping feature. 2022-02-08 17:41:04 +01:00
ConnectState.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
DataRowModel.ts (core) Fix JS error when scrolling with a column of hyperlinks, and use stricter types. 2021-05-12 17:31:56 -04:00
DataTableModel.js (core) move client code to core 2020-10-02 13:24:21 -04:00
DataTableModelWithDiff.ts (core) Restoring context menu when comparing documents 2022-04-26 21:31:36 +02:00
DocData.ts (core) Wait for transform column before finalizing 2022-03-01 13:59:14 -08:00
DocModel.ts (core) Raw renames 2022-04-27 22:21:55 +02:00
DocPageModel.ts (core) Broadcast doc usage updates to clients 2022-06-06 09:55:34 -07:00
errors.ts (core) Improve debug logging related for client-side errors and sandbox crashes. 2022-04-11 17:54:40 -04:00
gristConfigCache.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
gristUrlState.ts (core) Include hash/fragment in post-login redirect URLs 2022-04-13 09:16:29 -07:00
HomeModel.ts (core) Broadcast doc usage updates to clients 2022-06-06 09:55:34 -07: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) Error message on Duplicate Document 2021-11-09 19:12:57 +01:00
QuerySet.ts (core) Add a row to summary tables grouped by list column(s) corresponding to empty lists 2022-06-09 23:38:14 +02:00
rowset.ts (core) Fix some bugs with repositioning rows. 2022-06-07 16:55:45 -04:00
rowuid.js (core) move client code to core 2020-10-02 13:24:21 -04:00
SearchModel.ts (core) Raw renames 2022-04-27 22:21:55 +02:00
SectionFilter.ts (core) Allow filtering hidden columns 2021-11-22 10:26:08 -08:00
Styles.ts (core) Adding font options to the style picker 2022-04-07 20:35:03 +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) Fix some bugs with repositioning rows. 2022-06-07 16:55:45 -04:00
UserManagerModel.ts (core) Polish Access Details 2022-05-19 09:45:26 -07:00
UserPrefs.ts (core) Fix bugs when both welcomeTour and docTour are available 2022-03-22 16:51:05 -04:00
WorkspaceInfo.ts (core) move client code to core 2020-10-02 13:24:21 -04:00