mkws_html_perpage() preserves current value of m_perpage() rather than
[mkws-moved-to-github.git] / tools / htdocs / mkws.js
index 64ff66b..3664464 100644 (file)
@@ -155,10 +155,10 @@ function team($, teamName) {
     var m_teamName = teamName;
     var m_submitted = false;
     var m_query; // initially undefined
-    var m_sort = 'relevance';
+    var m_sort; // will be set below
     var m_filters = [];
     var m_totalRec = 0;
-    var m_recPerPage = 20;
+    var m_perpage = 20;
     var m_curPage = 1;
     var m_curDetRecId = '';
     var m_curDetRecData = null;
@@ -242,7 +242,7 @@ function team($, teamName) {
                      "onrecord": my_onrecord });
 
     if (!isNaN(parseInt(mkws_config.perpage_default))) {
-       m_recPerPage = parseInt(mkws_config.perpage_default);
+       m_perpage = parseInt(mkws_config.perpage_default);
     }
 
 
@@ -420,12 +420,12 @@ function team($, teamName) {
            });
        });
 
-       if (document.mkwsSelect) {
-           if (document.mkwsSelect.mkwsSort)
-               document.mkwsSelect.mkwsSort.onchange = onSelectDdChange;
-           if (document.mkwsSelect.mkwsPerpage)
-               document.mkwsSelect.mkwsPerpage.onchange = onSelectDdChange;
-       }
+       var node = $('.mkwsSort.mkwsTeam_' + m_teamName);
+       if (node.length)
+           node.change(onSelectDdChange);
+       node = $('.mkwsPerpage.mkwsTeam_' + m_teamName);
+       if (node.length)
+           node.change(onSelectDdChange);
     }
 
 
@@ -453,7 +453,7 @@ function team($, teamName) {
        m_filters = []
        redraw_navi();
        resetPage(); // ### the globals it resents should be indexed by windowid
-       loadSelect(); // ### should use windowid
+       loadSelect();
        triggerSearch(query, sort, targets, windowid);
        that.switchView('records'); // In case it's configured to start off as hidden
        m_submitted = true;
@@ -465,7 +465,7 @@ function team($, teamName) {
        if (!m_submitted) return false;
        resetPage();
        loadSelect();
-       m_paz.show(0, m_recPerPage, m_sort);
+       m_paz.show(0, m_perpage, m_sort);
        return false;
     }
 
@@ -521,17 +521,21 @@ function team($, teamName) {
        }
        debug("triggerSearch(" + m_query + "): filters = " + $.toJSON(m_filters) + ", pp2filter = " + pp2filter + ", params = " + $.toJSON(params));
 
-       m_paz.search(m_query, m_recPerPage, m_sort, pp2filter, undefined, params);
+       m_paz.search(m_query, m_perpage, m_sort, pp2filter, undefined, params);
     }
 
 
     function loadSelect ()
     {
-       if (document.mkwsSelect) {
-           if (document.mkwsSelect.mkwsSort)
-               m_sort = document.mkwsSelect.mkwsSort.value;
-           if (document.mkwsSelect.mkwsPerpage)
-               m_recPerPage = document.mkwsSelect.mkwsPerpage.value;
+       var node = $('.mkwsSort.mkwsTeam_' + m_teamName);
+       if (node.length && node.val() != m_sort) {
+           debug("changing m_sort from " + m_sort + " to " + node.val());
+           m_sort = node.val();
+       }
+       node = $('.mkwsPerpage.mkwsTeam_' + m_teamName);
+       if (node.length && node.val() != m_perpage) {
+           debug("changing m_perpage from " + m_perpage + " to " + node.val());
+           m_perpage = node.val();
        }
     }
 
@@ -644,7 +648,7 @@ function team($, teamName) {
 
        //client indexes pages from 1 but pz2 from 0
        var onsides = 6;
-       var pages = Math.ceil(m_totalRec / m_recPerPage);
+       var pages = Math.ceil(m_totalRec / m_perpage);
 
        var firstClkbl = (m_curPage - onsides > 0)
             ? m_curPage - onsides
@@ -698,7 +702,7 @@ function team($, teamName) {
 
     // simple paging functions
     mkws.pagerNext = function () {
-       if (m_totalRec - m_recPerPage*m_curPage > 0) {
+       if (m_totalRec - m_perpage*m_curPage > 0) {
             m_paz.showNext();
             m_curPage++;
        }
@@ -1015,7 +1019,7 @@ function team($, teamName) {
 
     function mkws_html_sort() {
        debug("HTML sort, m_sort = '" + m_sort + "'");
-       var sort_html = '<select name="mkwsSort" id="mkwsSort">';
+       var sort_html = '<select class="mkwsSort mkwsTeam_' + m_teamName + '">';
 
        for(var i = 0; i < mkws_config.sort_options.length; i++) {
            var opt = mkws_config.sort_options[i];
@@ -1035,14 +1039,14 @@ function team($, teamName) {
 
 
     function mkws_html_perpage() {
-       debug("HTML perpage");
-       var perpage_html = '<select name="mkwsPerpage" id="mkwsPerpage">';
+       debug("HTML perpage, m_perpage = " + m_perpage);
+       var perpage_html = '<select class="mkwsPerpage mkwsTeam_' + m_teamName + '">';
 
        for(var i = 0; i < mkws_config.perpage_options.length; i++) {
            var key = mkws_config.perpage_options[i];
 
            perpage_html += '<option value="' + key + '"';
-           if (key == mkws_config.perpage_default) {
+           if (key == m_perpage) {
                perpage_html += ' selected="selected"';
            }
            perpage_html += '>' + key + '</option>';