2
0
Эх сурвалжийг харах

More Filter Corrections (Custom Fields)

IgnatzHome 7 жил өмнө
parent
commit
bc0aef3332
1 өөрчлөгдсөн 3 нэмэгдсэн , 16 устгасан
  1. 3 16
      client/lib/filter.js

+ 3 - 16
client/lib/filter.js

@@ -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();