Less verbose logging when a widget makes new HTML on creation.
[mkws-moved-to-github.git] / src / mkws-filter.js
index c2bc711..2266993 100644 (file)
@@ -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,12 +25,21 @@ 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);
            }
        }
     };
 
+    that.visitCategories = function(callback) {
+       for (var i in m_list) {
+           var filter = m_list[i];
+           if (filter.type === 'category') {
+               callback(filter.id);
+           }
+       }
+    };
+
     that.removeMatching = function(matchFn) {
        var newList = [];
        for (var i in m_list) {
@@ -47,7 +56,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;
            }
@@ -81,6 +90,16 @@ function filterSet(team) {
        return res;
     }
 
+    that.pp2catLimit = function() {
+       var res = "";
+
+       that.visitCategories(function(id) {
+           if (res) res += ",";
+           res += "category~" + id.replace(/[\\|,]/g, '\\$&');
+       });
+       return res;
+    }
+
     return that;
 }
 
@@ -92,8 +111,6 @@ function targetFilter(id, name) {
         id: id,
         name: name
     };
-
-    return res;
 }
 
 function fieldFilter(field, value) {
@@ -103,3 +120,10 @@ function fieldFilter(field, value) {
         value: value
     };
 }
+
+function categoryFilter(id) {
+    return {
+        type: 'category',
+        id: id,
+    };
+}