X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmkws-filter.js;h=7d9fac06672e02ca220922301fb8d0a6bd210805;hb=fea2b711c389ba5f31aed757622fe268b7084768;hp=f19edcb612f602fb68d0bd7f9408c11b2dccf729;hpb=21517d3fc6abff3ced7cad2a68cfb290df60922f;p=mkws-moved-to-github.git diff --git a/src/mkws-filter.js b/src/mkws-filter.js index f19edcb..7d9fac0 100644 --- a/src/mkws-filter.js +++ b/src/mkws-filter.js @@ -16,7 +16,7 @@ function filterSet(team) { that.visitTargets = function(callback) { for (var i in m_list) { var filter = m_list[i]; - if (filter.id) { + if (filter.type === 'target') { callback(filter.id, filter.name); } } @@ -25,7 +25,7 @@ function filterSet(team) { that.visitFields = function(callback) { for (var i in m_list) { var filter = m_list[i]; - if (!filter.id) { + if (filter.type === 'field') { callback(filter.field, filter.value); } } @@ -47,7 +47,7 @@ function filterSet(team) { that.targetFiltered = function(id) { for (var i = 0; i < m_list.length; i++) { - if (m_list[i].id === id || + if (m_list[i].type === 'target' || m_list[i].id === 'pz:id=' + id) { return true; } @@ -85,15 +85,26 @@ function filterSet(team) { } -// Factory function for filters. These can be of several types. -function filter(id, name, field, value) { - var res; +// Factory functions for filters. These can be of several types. +function targetFilter(id, name) { + return { + type: 'target', + id: id, + name: name + }; +} - if (id) { - res = { id: id, name: name }; - } else { - res = { field: field, value: value }; - } +function fieldFilter(field, value) { + return { + type: 'field', + field: field, + value: value + }; +} - return res; +function categoryFilter(id) { + return { + type: 'category', + id: id, + }; }