filter factory accepts name argument.
authorMike Taylor <mike@indexdata.com>
Wed, 23 Apr 2014 13:43:34 +0000 (14:43 +0100)
committerMike Taylor <mike@indexdata.com>
Wed, 23 Apr 2014 13:43:34 +0000 (14:43 +0100)
src/mkws-filter.js

index c62235e..232d0d5 100644 (file)
@@ -1,5 +1,36 @@
+// Factory function for sets of filters.
+function filterSet() {
+    var that = {};
+    var m_list = [];
+
+    that.list = function() {
+       return m_list;
+    };
+
+    that.add = function(filter) {
+       m_list.push(filter);
+    };
+
+    that.removeMatching = function(matchFn) {
+       var newList = [];
+       for (var i in m_list) {
+           var filter = m_list[i];
+           if (matchFn(filter)) {
+               log("removeMatching() removing filter " + $.toJSON(filter));
+           } else {
+               log("removeMatching() keeping filter " + $.toJSON(filter));
+               newList.push(filter);
+           }
+       }
+       m_list = newList;
+    };
+
+    return that;
+}
+
+
 // Factory function for filters. These can be of several types.
-function filter(id, field, value) {
+function filter(id, name, field, value) {
     var res;
 
     if (id) {