From: Mike Taylor Date: Wed, 23 Apr 2014 13:43:34 +0000 (+0100) Subject: filter factory accepts name argument. X-Git-Tag: 1.0.0~893 X-Git-Url: http://git.indexdata.com/?p=mkws-moved-to-github.git;a=commitdiff_plain;h=681a6de3a7f4d1c9493d66157b11c948c59434ae filter factory accepts name argument. --- diff --git a/src/mkws-filter.js b/src/mkws-filter.js index c62235e..232d0d5 100644 --- a/src/mkws-filter.js +++ b/src/mkws-filter.js @@ -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) {