mkwsDet_* and mkwsRecdiv_* IDs include teamName.
[mkws-moved-to-github.git] / tools / htdocs / mkws.js
index bd122e2..a96fd32 100644 (file)
@@ -148,8 +148,7 @@ if (mkws_config == null || typeof mkws_config != 'object') {
 // called from outside code -- specifically, from generated
 // HTML. These functions are that.switchView(), showDetails(),
 // limitTarget(), limitQuery(), delimitTarget(), delimitQuery(),
-// pagerPrev(), pagerNext(), showPage(). Also mkws.M() is made
-// available for the Handlebars helper 'translate'
+// pagerPrev(), pagerNext(), showPage().
 //
 function team($, teamName) {
     var that = {};
@@ -247,13 +246,14 @@ function team($, teamName) {
            pager.html(drawPager(data))
        }
 
-       // navi
        var results = $(".mkwsRecords.mkwsTeam_" + m_teamName);
+       if (!results.length)
+           return;
 
        var html = [];
        for (var i = 0; i < data.hits.length; i++) {
             var hit = data.hits[i];
-           html.push('<div class="record" id="mkwsRecdiv_' + hit.recid + '" >',
+           html.push('<div class="record" id="mkwsRecdiv_' + teamName + '_' + hit.recid + '" >',
                      renderSummary(hit),
                      '</div>');
            if (hit.recid == m_curDetRecId) {
@@ -346,14 +346,14 @@ function team($, teamName) {
 
 
     function my_onrecord(data, args, teamName) {
-       debug("record");
+       debug("record: teamName=" + teamName + ", m_teamName=" + m_teamName);
        // FIXME: record is async!!
        clearTimeout(m_paz.recordTimer);
        // in case on_show was faster to redraw element
-       var detRecordDiv = document.getElementById('mkwsDet_'+data.recid);
+       var detRecordDiv = document.getElementById('mkwsDet_' + teamName + '_' + data.recid);
        if (detRecordDiv) return;
        m_curDetRecData = data;
-       var recordDiv = document.getElementById('mkwsRecdiv_'+m_curDetRecData.recid);
+       var recordDiv = document.getElementById('mkwsRecdiv_' + teamName + '_' + m_curDetRecData.recid);
        var html = renderDetails(m_curDetRecData);
        recordDiv.innerHTML += html;
     }
@@ -390,27 +390,6 @@ function team($, teamName) {
     ////////////////////////////////////////////////////////////////////////////////
 
 
-    // wait until the DOM is ready
-    function domReady ()
-    {
-       $('.mkwsSearchForm.mkwsTeam_' + m_teamName).each(function (i, obj) {
-           debug("adding search-forms for team '" + m_teamName + "'");
-           var node = this;
-           mkws.handle_node_with_team(node, function(tname) {
-               debug("adding search-form '" + tname + "' for team '" + m_teamName + "'");
-               $(node).submit(onFormSubmitEventHandler);
-           });
-       });
-
-       var node = $('.mkwsSort.mkwsTeam_' + m_teamName);
-       if (node.length)
-           node.change(onSelectDdChange);
-       node = $('.mkwsPerpage.mkwsTeam_' + m_teamName);
-       if (node.length)
-           node.change(onSelectDdChange);
-    }
-
-
     // when search button pressed
     function onFormSubmitEventHandler()
     {
@@ -640,9 +619,9 @@ function team($, teamName) {
             ? firstClkbl + 2*onsides
             : pages;
 
-       var prev = '<span id="mkwsPrev">&#60;&#60; ' + M('Prev') + '</span><b> | </b>';
+       var prev = '<span class="mkwsPrev">&#60;&#60; ' + M('Prev') + '</span><b> | </b>';
        if (m_curPage > 1)
-            prev = '<a href="#" id="mkwsPrev" onclick="mkws.pagerPrev(\'' + m_teamName + '\');">'
+            prev = '<a href="#" class="mkwsPrev" onclick="mkws.pagerPrev(\'' + m_teamName + '\');">'
             +'&#60;&#60; ' + M('Prev') + '</a><b> | </b>';
 
        var middle = '';
@@ -655,9 +634,9 @@ function team($, teamName) {
                + numLabel + ' </a>';
        }
 
-       var next = '<b> | </b><span id="mkwsNext">' + M('Next') + ' &#62;&#62;</span>';
+       var next = '<b> | </b><span class="mkwsNext">' + M('Next') + ' &#62;&#62;</span>';
        if (pages - m_curPage > 0)
-            next = '<b> | </b><a href="#" id="mkwsNext" onclick="mkws.pagerNext(\'' + m_teamName + '\')">'
+            next = '<b> | </b><a href="#" class="mkwsNext" onclick="mkws.pagerNext(\'' + m_teamName + '\')">'
             + M('Next') + ' &#62;&#62;</a>';
 
        var predots = '';
@@ -737,7 +716,7 @@ function team($, teamName) {
        m_curDetRecId = recId;
 
        // remove current detailed view if any
-       var detRecordDiv = document.getElementById('mkwsDet_'+oldRecId);
+       var detRecordDiv = document.getElementById('mkwsDet_' + m_teamName + '_' + oldRecId);
        // lovin DOM!
        if (detRecordDiv)
            detRecordDiv.parentNode.removeChild(detRecordDiv);
@@ -758,7 +737,7 @@ function team($, teamName) {
     {
        var template = loadTemplate("Record");
        var details = template(data);
-       return '<div class="details" id="mkwsDet_' + data.recid + '">' + details + '</div>';
+       return '<div class="details" id="mkwsDet_' + m_teamName + '_' + data.recid + '">' + details + '</div>';
     }
 
 
@@ -934,6 +913,7 @@ function team($, teamName) {
 
        mkws_html_switch();
 
+       // ### Should not be in the team code, since window size is global
        if (mkws_config.responsive_design_width) {
            // Responsive web design - change layout on the fly based on
            // current screen width. Required for mobile devices.
@@ -942,7 +922,21 @@ function team($, teamName) {
            $(document).ready(function() { mkws.resize_page() });
        }
 
-       domReady();
+       $('.mkwsSearchForm.mkwsTeam_' + m_teamName).each(function (i, obj) {
+           debug("adding search-forms for team '" + m_teamName + "'");
+           var node = this;
+           mkws.handle_node_with_team(node, function(tname) {
+               debug("adding search-form '" + tname + "' for team '" + m_teamName + "'");
+               $(node).submit(onFormSubmitEventHandler);
+           });
+       });
+
+       node = $('.mkwsSort.mkwsTeam_' + m_teamName);
+       if (node.length)
+           node.change(onSelectDdChange);
+       node = $('.mkwsPerpage.mkwsTeam_' + m_teamName);
+       if (node.length)
+           node.change(onSelectDdChange);
 
        // on first page, hide the termlist
        $(document).ready(function() { $(".mkwsTermlists.mkwsTeam_" + m_teamName).hide(); });
@@ -1116,16 +1110,8 @@ function team($, teamName) {
  * implement jQuery plugin $.pazpar2({})
  */
 function _mkws_jquery_plugin ($) {
-    var debug_level = 1;
-
     function debug (string) {
-       if (!debug_level)
-           return;
-
-       if (typeof console === "undefined" || typeof console.log === "undefined")
-           return;
-
-       console.log("jquery.pazpar2: " + string);
+       mkws.debug("jquery.pazpar2: " + string);
     }
 
     function init_popup(obj) {