diff options
author | Lauri Ojansivu <x@xet7.org> | 2018-05-19 18:40:03 +0300 |
---|---|---|
committer | Lauri Ojansivu <x@xet7.org> | 2018-05-19 18:40:03 +0300 |
commit | 38ab2b766d8924ab9049b54a0778eb9273241c9b (patch) | |
tree | 12cee0e524cc087dcebba7248484fe82759bd704 /client/lib/filter.js | |
parent | 8101d7ade85dbdf6dad95d96a937bf9718630373 (diff) | |
parent | 410e5aa28d065508558fdc46fa82bd540d21b97a (diff) | |
download | wekan-38ab2b766d8924ab9049b54a0778eb9273241c9b.tar.gz wekan-38ab2b766d8924ab9049b54a0778eb9273241c9b.tar.bz2 wekan-38ab2b766d8924ab9049b54a0778eb9273241c9b.zip |
Merge branch 'feuerball11-feature-custom-fields-filter' into devel
Diffstat (limited to 'client/lib/filter.js')
-rw-r--r-- | client/lib/filter.js | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/client/lib/filter.js b/client/lib/filter.js index 8129776b..f68c9711 100644 --- a/client/lib/filter.js +++ b/client/lib/filter.js @@ -10,10 +10,13 @@ function showFilterSidebar() { // Use a "set" filter for a field that is a set of documents uniquely // identified. For instance `{ labels: ['labelA', 'labelC', 'labelD'] }`. +// use "subField" for searching inside object Fields. +// For instance '{ 'customFields._id': ['field1','field2']} (subField would be: _id) class SetFilter { - constructor() { + constructor(subField = '') { this._dep = new Tracker.Dependency(); this._selectedElements = []; + this.subField = subField; } isSelected(val) { @@ -86,8 +89,9 @@ Filter = { // before changing the schema. labelIds: new SetFilter(), members: new SetFilter(), + customFields: new SetFilter('_id'), - _fields: ['labelIds', 'members'], + _fields: ['labelIds', 'members', 'customFields'], // We don't filter cards that have been added after the last filter change. To // implement this we keep the id of these cards in this `_exceptions` fields @@ -111,7 +115,14 @@ Filter = { this._fields.forEach((fieldName) => { const filter = this[fieldName]; if (filter._isActive()) { - filterSelector[fieldName] = filter._getMongoSelector(); + if (filter.subField !== '') + { + filterSelector[`${fieldName}.${filter.subField}`] = filter._getMongoSelector(); + } + else + { + filterSelector[fieldName] = filter._getMongoSelector(); + } emptySelector[fieldName] = filter._getEmptySelector(); if (emptySelector[fieldName] !== null) { includeEmptySelectors = true; |