Add documentation of template system.
[mkws-moved-to-github.git] / tools / htdocs / mkws.js
index c0171d9..281f5b2 100644 (file)
@@ -417,7 +417,7 @@ function onFormSubmitEventHandler()
     return false;
 }
 
-function newSearch(query, sort)
+function newSearch(query, sort, targets)
 {
     if (!mkws.authenticated) {
        alert("searching before authentication");
@@ -428,7 +428,7 @@ function newSearch(query, sort)
     redraw_navi();
     resetPage();
     loadSelect();
-    triggerSearch(query, sort);
+    triggerSearch(query, sort, targets);
     mkws.switchView('records'); // In case it's configured to start off as hidden
     submitted = true;
 }
@@ -448,7 +448,7 @@ function resetPage()
     totalRec = 0;
 }
 
-function triggerSearch (query, sort)
+function triggerSearch (query, sort, targets)
 {
     var pp2filter = "";
     var pp2limit = "";
@@ -460,13 +460,22 @@ function triggerSearch (query, sort)
     if (sort) {
        mkws.sort = sort;
     }
+    if (targets) {
+       // ### should support multiple |-separated targets
+       mkws.filters.push({ id: targets, name: targets });
+    }
 
     for (var i in mkws.filters) {
        var filter = mkws.filters[i];
        if (filter.id) {
            if (pp2filter)
                pp2filter += ",";
-           pp2filter += 'pz:id=' + filter.id;
+           if (filter.id.match(/^[a-z:]+[=~]/)) {
+               debug("filter '" + filter.id + "' already begins with SETTING OP");
+           } else {
+               filter.id = 'pz:id=' + filter.id;
+           }
+           pp2filter += filter.id;
        } else {
            if (pp2limit)
                pp2limit += ",";