mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) Update sort and filter UI
Summary: The sort and filter UI now has a more unified UI, with similar capabilities that are accessible from different parts of Grist. It's now also possible to pin individual filters to the filter bar, which replaces the old toggle for showing all filters in the filter bar. Test Plan: Various tests (browser, migration, project). Reviewers: jarek, dsagal Reviewed By: jarek, dsagal Subscribers: dsagal Differential Revision: https://phab.getgrist.com/D3669
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import {allInclusive, ColumnFilter} from 'app/client/models/ColumnFilter';
|
||||
import {ALL_INCLUSIVE_FILTER_JSON, ColumnFilter} from 'app/client/models/ColumnFilter';
|
||||
import {GristObjCode} from 'app/plugin/GristData';
|
||||
import {CellValue} from 'app/common/DocActions';
|
||||
import {assert} from 'chai';
|
||||
@@ -57,10 +57,10 @@ describe('ColumnFilter', function() {
|
||||
assert.isTrue(filter.includes('Carol'));
|
||||
});
|
||||
|
||||
it('should generate an all-inclusive filter from empty string or null', async function() {
|
||||
it('should generate an all-inclusive filter from empty string/object or null', async function() {
|
||||
const filter = new ColumnFilter('');
|
||||
const defaultJson = filter.makeFilterJson();
|
||||
assert.equal(defaultJson, allInclusive);
|
||||
assert.equal(defaultJson, ALL_INCLUSIVE_FILTER_JSON);
|
||||
|
||||
filter.clear();
|
||||
assert.equal(filter.makeFilterJson(), '{"included":[]}');
|
||||
@@ -69,7 +69,10 @@ describe('ColumnFilter', function() {
|
||||
assert.equal(filter.makeFilterJson(), defaultJson);
|
||||
|
||||
// Check that the string 'null' initializes properly
|
||||
assert.equal(new ColumnFilter('null').makeFilterJson(), allInclusive);
|
||||
assert.equal(new ColumnFilter('null').makeFilterJson(), ALL_INCLUSIVE_FILTER_JSON);
|
||||
|
||||
// Check that the empty object initializes properly
|
||||
assert.equal(new ColumnFilter('{}').makeFilterJson(), ALL_INCLUSIVE_FILTER_JSON);
|
||||
});
|
||||
|
||||
it('should generate a proper FilterFunc and JSON string', async function() {
|
||||
|
||||
Reference in New Issue
Block a user