Generate target filters first, then keyword filters separately.
[mkws-moved-to-github.git] / src / mkws-widgets.js
index 19f1066..c04c3f9 100644 (file)
@@ -267,18 +267,23 @@ mkws.registerWidgetType('Navi', function() {
     var M = mkws.M;
 
     this.team.queue("navi").subscribe(function() {
+       // This is very low-level poking around inside the filter structure
        var filters = that.team.filters();
        var text = "";
 
        for (var i in filters) {
-           if (text) {
-               text += " | ";
-           }
            var filter = filters[i];
            if (filter.id) {
+               if (text) text += " | ";
                text += M('source') + ': <a class="crossout" href="#" onclick="mkws.delimitTarget(\'' + teamName +
                    "', '" + filter.id + "'" + ');return false;">' + filter.name + '</a>';
-           } else {
+           }
+       }
+
+       for (var i in filters) {
+           var filter = filters[i];
+           if (!filter.id) {
+               if (text) text += " | ";
                text += M(filter.field) + ': <a class="crossout" href="#" onclick="mkws.delimitQuery(\'' + teamName +
                    "', '" + filter.field + "', '" + filter.value + "'" +
                    ');return false;">' + filter.value + '</a>';