for (var i in m_list) {
var filter = m_list[i];
if (matchFn(filter)) {
- m_team.log("removeMatching() removing filter " + mkws.$.toJSON(filter));
+ m_team.info("removeMatching: removing filter " + mkws.$.toJSON(filter));
} else {
- m_team.log("removeMatching() keeping filter " + mkws.$.toJSON(filter));
+ m_team.info("removeMatching: keeping filter " + mkws.$.toJSON(filter));
newList.push(filter);
}
}
m_list = newList;
};
+ // ### Surely the || in this function should be &&
that.targetFiltered = function(id) {
for (var i = 0; i < m_list.length; i++) {
if (m_list[i].type === 'target' ||
that.visitTargets(function(id, name) {
if (res) res += ",";
if (id.match(/^[a-z:]+[=~]/)) {
- m_team.log("filter '" + id + "' already begins with SETTING OP");
+ m_team.info("filter '" + id + "' already begins with SETTING OP");
} else {
id = 'pz:id=' + id;
}
that.visitCategories(function(id) {
if (res) res += ",";
- res += "category~" + id.replace(/[\\|,]/g, '\\$&');
+ res += "category~" + id.replace(/[\\,]/g, '\\$&');
});
return res;
}
+ // Returns a hash of key=value pairs representing the filter-set
+ // These will become part of the URL-fragment representing the state
+ that.fragmentItems = function() {
+ var hash = {};
+
+ for (var i in m_list) {
+ var filter = m_list[i];
+ var type = filter.type;
+ if (type === 'target') {
+ hash['xt-' + filter.id] = filter.name;
+ } else if (type === 'field') {
+ // Ugly names, but we need to include the value because fields can be repeated
+ hash['xf-' + filter.field + '-' + filter.value] = 1;
+ } else if (type === 'category') {
+ hash['xc-' + filter.id] = 1;
+ } else {
+ alert("unsupported filter-type '" + type + "'");
+ }
+ }
+
+ return hash;
+ }
+
return that;
}