mirror of
https://github.com/wekan/wekan.git
synced 2025-04-22 04:57:07 -04:00
More Filter Corrections (Custom Fields)
This commit is contained in:
parent
f6d19d2833
commit
bc0aef3332
1 changed files with 3 additions and 16 deletions
|
@ -11,7 +11,7 @@ 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 : { $in: ['field1']}}]} (subField would be: _id)
|
||||
// For instance '{ 'customFields._id': ['field1','field2']} (subField would be: _id)
|
||||
class SetFilter {
|
||||
constructor(subField = '') {
|
||||
this._dep = new Tracker.Dependency();
|
||||
|
@ -64,21 +64,7 @@ class SetFilter {
|
|||
|
||||
_getMongoSelector() {
|
||||
this._dep.depend();
|
||||
if (this.subField !== '')
|
||||
{
|
||||
|
||||
const selector = [];
|
||||
this._selectedElements.forEach((element) => {
|
||||
const item = [];
|
||||
item[this.subField] = {$in: [element]};
|
||||
selector.push(item);
|
||||
});
|
||||
return {$in: selector};
|
||||
}
|
||||
else
|
||||
{
|
||||
return { $in: this._selectedElements };
|
||||
}
|
||||
return { $in: this._selectedElements };
|
||||
}
|
||||
|
||||
_getEmptySelector() {
|
||||
|
@ -128,6 +114,7 @@ Filter = {
|
|||
let includeEmptySelectors = false;
|
||||
this._fields.forEach((fieldName) => {
|
||||
const filter = this[fieldName];
|
||||
if (filter.subField !== '') fieldName = `${fieldName}.${filter.subField}`;
|
||||
if (filter._isActive()) {
|
||||
filterSelector[fieldName] = filter._getMongoSelector();
|
||||
emptySelector[fieldName] = filter._getEmptySelector();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue