X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmkws-filter.js;h=4d600cc58ae26b4f5cbbe0a67a8f2ef7fe306e89;hb=6818463d210ae374dae4f1f1b2ac12ecbbb1293e;hp=219ccd5ccabded37f367d47a3b9a297cc3dccb6c;hpb=f6307fd1250676204721a12251c9ba9933a82608;p=mkws-moved-to-github.git diff --git a/src/mkws-filter.js b/src/mkws-filter.js index 219ccd5..4d600cc 100644 --- a/src/mkws-filter.js +++ b/src/mkws-filter.js @@ -5,14 +5,32 @@ function filterSet(team) { var that = {}; - that.list = function() { - return m_list; + that.toJSON = function() { + return $.toJSON(m_list); }; that.add = function(filter) { m_list.push(filter); }; + that.visitTargets = function(callback) { + for (var i in m_list) { + var filter = m_list[i]; + if (filter.id) { + callback(filter.id, filter.name); + } + } + }; + + that.visitFields = function(callback) { + for (var i in m_list) { + var filter = m_list[i]; + if (!filter.id) { + callback(filter.field, filter.value); + } + } + }; + that.removeMatching = function(matchFn) { var newList = []; for (var i in m_list) { @@ -35,28 +53,34 @@ function filterSet(team) { } } return false; - } + }; that.pp2filter = function() { var res = ""; - for (var i in m_list) { - var filter = m_list[i]; - if (filter.id) { - if (res) res += ","; - if (filter.id.match(/^[a-z:]+[=~]/)) { - m_team.log("filter '" + filter.id + "' already begins with SETTING OP"); - } else { - filter.id = 'pz:id=' + filter.id; - } - res += filter.id; + that.visitTargets(function(id, name) { + if (res) res += ","; + if (id.match(/^[a-z:]+[=~]/)) { + m_team.log("filter '" + id + "' already begins with SETTING OP"); + } else { + id = 'pz:id=' + id; } - } + res += id; + }); return res; - } + }; that.pp2limit = function(initial) { + var OLD = that.OLD_pp2limit(initial); + var NEW = that.NEW_pp2limit(initial); + if (OLD !== NEW) { + alert("pp2limit(): OLD[" + OLD + "] !== NEW[" + NEW + "]"); + } + return OLD; + }; + + that.OLD_pp2limit = function(initial) { var res = initial || ""; for (var i in m_list) { @@ -68,8 +92,11 @@ function filterSet(team) { } return res; - } + }; + that.NEW_pp2limit = function(initial) { + return that.OLD_pp2limit(initial); + } return that; }