gristlabs_grist-core/app/client/models
Cyprien P 4b54c7d99b (core) Fix column and view fields mismatch in filters
Summary:
The problem manifested while filtering by a column, closing the filter
would change the set of rows visible on the table. This would happen
only for rare table.

What caused that problem was that the filter being edited was wrongly
applyed also to another column, so depending on the content of the
column, it would entail unexpected behaviour.

The cause of that wrong association, was a mistakingly comparing the
id of two different type of thing: column and view field. The problem
would manifest if in the same section there were a view fields with
same row id as the column being filtered.

What made that confusion possible is the `.fieldOrColumn:
ViewFieldRec|ColumnRec` property of the FileInfo object, which could
hold either a view fields or a column record and was initialized with
view fields or columns if view fields was not found (ie: hidden
column).

Solution was to make sure FieldInfo is initialized with ColumnRec
alwasy (even for hidden column).

I'm not sure what is the reason why FilterInfo needed to support both
column record and view field record in the past, but it looks like
this is not needed anymore.

As a followup commit I think it would be worth the effort to refactor
FileInfo to accept only ColumnRec.

Test Plan: Includes new regression test

Reviewers: georgegevoian

Reviewed By: georgegevoian

Differential Revision: https://phab.getgrist.com/D3463
2022-06-07 10:26:15 +02:00
..
entities (core) Fix column and view fields mismatch in filters 2022-06-07 10:26:15 +02:00
AppModel.ts (core) Broadcast doc usage updates to clients 2022-06-06 09:55:34 -07:00
BaseRowModel.js (core) Update ACL resources/rules when tables/columns get renamed 2021-01-04 22:03:01 -05:00
BillingModel.ts (core) Migrate to Stripe v8 + implement discount codes 2021-10-20 12:34:03 -07: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 other direction of linking by reflist 2021-08-30 17:39:15 +02:00
rowset.ts (core) Download as CSV button on sections 2021-05-27 15:48:12 +02: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 Correct spelling mistakes 2022-02-19 09:46:49 +00: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