Vertical whitespace.
[mkws-moved-to-github.git] / tools / htdocs / mkws.js
index 9b7d65c..edd44cb 100644 (file)
@@ -184,8 +184,6 @@ function widget($, team, type, node) {
 
     function promoteTargets() {
        team.queue("targets").subscribe(function(data) {
-           if (node.length === 0) alert("huh?!");
-
            var table ='<table><thead><tr>' +
                '<td>' + M('Target ID') + '</td>' +
                '<td>' + M('Hits') + '</td>' +
@@ -552,97 +550,29 @@ function team($, teamName) {
        }
 
        m_filters = []
-       redrawNavi();
-       resetPage();
-       loadSelect();
        triggerSearch(query, sortOrder, targets);
        switchView('records'); // In case it's configured to start off as hidden
        m_submitted = true;
     }
 
 
-    function onSelectDdChange()
+    function onSortChange()
     {
+       m_sortOrder = findnode('.mkwsSort').val();
        if (!m_submitted) return false;
        resetPage();
-       loadSelect();
        m_paz.show(0, m_perpage, m_sortOrder);
        return false;
     }
 
 
-    function redrawNavi ()
+    function onPerpageChange()
     {
-       queue("navi").publish();
-    }
-
-
-    function resetPage()
-    {
-       m_currentPage = 1;
-       m_totalRecordCount = 0;
-    }
-
-
-    function loadSelect ()
-    {
-       var node = findnode('.mkwsSort');
-       if (node.length && node.val() != m_sortOrder) {
-           debug("changing m_sortOrder from " + m_sortOrder + " to " + node.val());
-           m_sortOrder = node.val();
-       }
-       node = findnode('.mkwsPerpage');
-       if (node.length && node.val() != m_perpage) {
-           debug("changing m_perpage from " + m_perpage + " to " + node.val());
-           m_perpage = node.val();
-       }
-    }
-
-
-    function triggerSearch (query, sortOrder, targets)
-    {
-       var pp2filter = "";
-       var pp2limit = "";
-
-       // Continue to use previous query/sort-order unless new ones are specified
-       if (query) {
-           m_query = query;
-       }
-       if (sortOrder) {
-           m_sortOrder = sortOrder;
-       }
-       if (targets) {
-           m_filters.push({ id: targets, name: targets });
-       }
-
-       for (var i in m_filters) {
-           var filter = m_filters[i];
-           if (filter.id) {
-               if (pp2filter)
-                   pp2filter += ",";
-               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 += ",";
-               pp2limit += filter.field + "=" + filter.value.replace(/[\\|,]/g, '\\$&');
-           }
-       }
-
-       var params = {};
-       if (pp2limit) {
-           params.limit = pp2limit;
-       }
-
-       debug("triggerSearch(" + m_query + "): filters = " + $.toJSON(m_filters) + ", pp2filter = " + pp2filter + ", params = " + $.toJSON(params));
-
-       // We can use: params.torusquery = "udb=NAME"
-       // Note: that won't work when running against raw pazpar2
-       m_paz.search(m_query, m_perpage, m_sortOrder, pp2filter, undefined, params);
+       m_perpage = findnode('.mkwsPerpage').val();
+       if (!m_submitted) return false;
+       resetPage();
+       m_paz.show(0, m_perpage, m_sortOrder);
+       return false;
     }
 
 
@@ -651,9 +581,6 @@ function team($, teamName) {
     {
        debug("limitTarget(id=" + id + ", name=" + name + ")");
        m_filters.push({ id: id, name: name });
-       redrawNavi();
-       resetPage();
-       loadSelect();
        triggerSearch();
        return false;
     }
@@ -664,9 +591,6 @@ function team($, teamName) {
     {
        debug("limitQuery(field=" + field + ", value=" + value + ")");
        m_filters.push({ field: field, value: value });
-       redrawNavi();
-       resetPage();
-       loadSelect();
        triggerSearch();
        return false;
     }
@@ -687,9 +611,6 @@ function team($, teamName) {
        }
        m_filters = newFilters;
 
-       redrawNavi();
-       resetPage();
-       loadSelect();
        triggerSearch();
        return false;
     }
@@ -712,14 +633,68 @@ function team($, teamName) {
        }
        m_filters = newFilters;
 
-       redrawNavi();
-       resetPage();
-       loadSelect();
        triggerSearch();
        return false;
     }
 
 
+    function resetPage()
+    {
+       m_currentPage = 1;
+       m_totalRecordCount = 0;
+    }
+
+
+    function triggerSearch (query, sortOrder, targets)
+    {
+       resetPage();
+       queue("navi").publish();
+
+       var pp2filter = "";
+       var pp2limit = "";
+
+       // Continue to use previous query/sort-order unless new ones are specified
+       if (query) {
+           m_query = query;
+       }
+       if (sortOrder) {
+           m_sortOrder = sortOrder;
+       }
+       if (targets) {
+           m_filters.push({ id: targets, name: targets });
+       }
+
+       for (var i in m_filters) {
+           var filter = m_filters[i];
+           if (filter.id) {
+               if (pp2filter)
+                   pp2filter += ",";
+               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 += ",";
+               pp2limit += filter.field + "=" + filter.value.replace(/[\\|,]/g, '\\$&');
+           }
+       }
+
+       var params = {};
+       if (pp2limit) {
+           params.limit = pp2limit;
+       }
+
+       debug("triggerSearch(" + m_query + "): filters = " + $.toJSON(m_filters) + ", pp2filter = " + pp2filter + ", params = " + $.toJSON(params));
+
+       // We can use: params.torusquery = "udb=NAME"
+       // Note: that won't work when running against raw pazpar2
+       m_paz.search(m_query, m_perpage, m_sortOrder, pp2filter, undefined, params);
+    }
+
+
     that.showPage = function (pageNum)
     {
        m_currentPage = pageNum;
@@ -773,8 +748,6 @@ function team($, teamName) {
             alert("Unknown view '" + view + "'");
        }
     }
-
-
     that.switchView = switchView;
 
 
@@ -874,10 +847,10 @@ function team($, teamName) {
            node.submit(onFormSubmitEventHandler);
        node = findnode('.mkwsSort');
        if (node.length)
-           node.change(onSelectDdChange);
+           node.change(onSortChange);
        node = findnode('.mkwsPerpage');
        if (node.length)
-           node.change(onSelectDdChange);
+           node.change(onPerpageChange);
 
        // on first page, hide the termlist
        $(document).ready(function() { findnode(".mkwsTermlists").hide(); });
@@ -1125,7 +1098,6 @@ function team($, teamName) {
        }
        return queues[id];
     }
-
     that.queue = queue;