X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=src%2Fmkws-filter.js;h=f19edcb612f602fb68d0bd7f9408c11b2dccf729;hb=21517d3fc6abff3ced7cad2a68cfb290df60922f;hp=e37a0bd319bb0e53ff2ca23ca101da63fc11b653;hpb=b77d3c71a27d3ef8323789281ea88efdebc158b5;p=mkws-moved-to-github.git diff --git a/src/mkws-filter.js b/src/mkws-filter.js index e37a0bd..f19edcb 100644 --- a/src/mkws-filter.js +++ b/src/mkws-filter.js @@ -5,8 +5,8 @@ function filterSet(team) { var that = {}; - that.list = function() { - return m_list; + that.toJSON = function() { + return $.toJSON(m_list); }; that.add = function(filter) { @@ -53,42 +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 res = initial || ""; - for (var i in m_list) { - var filter = m_list[i]; - if (!filter.id) { - if (res) res += ","; - res += filter.field + "=" + filter.value.replace(/[\\|,]/g, '\\$&'); - } - } - + that.visitFields(function(field, value) { + if (res) res += ","; + res += field + "=" + value.replace(/[\\|,]/g, '\\$&'); + }); return res; } - return that; }