diff options
Diffstat (limited to 'client/lib')
-rw-r--r-- | client/lib/filter.js | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/client/lib/filter.js b/client/lib/filter.js index 1ca3a280..9ddea65c 100644 --- a/client/lib/filter.js +++ b/client/lib/filter.js @@ -439,6 +439,14 @@ class AdvancedFilter { const commands = this._filterToCommands(); return this._arrayToSelector(commands); } + getRegexSelector() { + // generate a regex for filter list + this._dep.depend(); + return new RegExp( + `^.*${this._filter.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}.*$`, + 'i', + ); + } } // The global Filter object. @@ -455,6 +463,7 @@ Filter = { hideEmpty: new SetFilter(), customFields: new SetFilter('_id'), advanced: new AdvancedFilter(), + lists: new AdvancedFilter(), // we need the ability to filter list by name as well _fields: ['labelIds', 'members', 'archive', 'hideEmpty', 'customFields'], @@ -533,6 +542,7 @@ Filter = { const filter = this[fieldName]; filter.reset(); }); + this.lists.reset(); this.advanced.reset(); this.resetExceptions(); }, |