Reorder some functions.
[mkws-moved-to-github.git] / tools / htdocs / mkws.js
index 32be2c7..d592626 100644 (file)
@@ -550,9 +550,6 @@ 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;
@@ -561,9 +558,9 @@ function team($, teamName) {
 
     function onSortChange()
     {
+       m_sortOrder = findnode('.mkwsSort').val();
        if (!m_submitted) return false;
        resetPage();
-       loadSelect();
        m_paz.show(0, m_perpage, m_sortOrder);
        return false;
     }
@@ -571,97 +568,19 @@ function team($, teamName) {
 
     function onPerpageChange()
     {
+       m_perpage = findnode('.mkwsPerpage').val();
        if (!m_submitted) return false;
        resetPage();
-       loadSelect();
        m_paz.show(0, m_perpage, m_sortOrder);
        return false;
     }
 
 
-    function redrawNavi ()
-    {
-       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);
-    }
-
-
     // limit by target functions
     that.limitTarget  = function (id, name)
     {
        debug("limitTarget(id=" + id + ", name=" + name + ")");
        m_filters.push({ id: id, name: name });
-       redrawNavi();
-       resetPage();
-       loadSelect();
        triggerSearch();
        return false;
     }
@@ -672,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;
     }
@@ -695,9 +611,6 @@ function team($, teamName) {
        }
        m_filters = newFilters;
 
-       redrawNavi();
-       resetPage();
-       loadSelect();
        triggerSearch();
        return false;
     }
@@ -720,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;