Much simpler switchView() code, what a dummy I was.
[mkws-moved-to-github.git] / experiments / spclient / mkws.js
index 213bfbe..4c75a8c 100644 (file)
@@ -16,7 +16,8 @@ if (!mkws_config)
 if (typeof mkws_config.use_service_proxy === 'undefined')
     mkws_config.use_service_proxy = true;
 
-var mkws_debug = 1;
+// global debug flag
+var mkws_debug;
 
 var pazpar2_url = mkws_config.pazpar2_url ? mkws_config.pazpar2_url : "/pazpar2/search.pz2";
 var service_proxy_url = mkws_config.service_proxy_url ? mkws_config.service_proxy_url : "http://mkws.indexdata.com/service-proxy/";
@@ -115,7 +116,7 @@ function my_onshow(data) {
     // move it out
     var pager = document.getElementById("mkwsPager");
     pager.innerHTML = "";
-    pager.innerHTML +='<hr/><div style="float: right">' + M('Displaying') + ': '
+    pager.innerHTML +='<div style="float: right">' + M('Displaying') + ': '
                     + (data.start + 1) + ' ' + M('to') + ' ' + (data.start + data.num) +
                      ' ' + M('of') + ' ' + data.merged + ' (' + M('found') + ': '
                      + data.total + ')</div>';
@@ -160,12 +161,12 @@ function my_onstat(data) {
 function my_onterm(data) {
     // no facets
     if (!mkws_config.facets || mkws_config.facets.length == 0) {
-       $("#mkwsTermlists").parent().hide();
+       $("#mkwsTermlists").hide();
        return;
     }
 
     // display if we first got results
-    $("#mkwsTermlists").parent().show();
+    $("#mkwsTermlists").show();
 
     var acc = [];
     acc.push('<div class="title">' + M('Termlists') + '</div>');
@@ -288,8 +289,10 @@ function triggerSearch ()
 function loadSelect ()
 {
     if (document.mkwsSelect) {
-       curSort = document.mkwsSelect.mkwsSort.value;
-       recPerPage = document.mkwsSelect.mkwsPerpage.value;
+       if (document.mkwsSelect.mkwsSort)
+           curSort = document.mkwsSelect.mkwsSort.value;
+       if (document.mkwsSelect.mkwsPerpage)
+           recPerPage = document.mkwsSelect.mkwsPerpage.value;
     }
 }
 
@@ -307,7 +310,6 @@ function limitTarget (id, name)
     navi.innerHTML =
         'Source: <a class="crossout" href="#" onclick="delimitTarget();return false;">'
         + name + '</a>';
-    navi.innerHTML += '<hr/>';
     curFilter = 'pz:id=' + id;
     resetPage();
     loadSelect();
@@ -369,7 +371,7 @@ function drawPager (pagerDiv)
         postdots = '...';
 
     pagerDiv.innerHTML += '<div style="float: clear">'
-        + prev + predots + middle + postdots + next + '</div><hr/>';
+        + prev + predots + middle + postdots + next + '</div>';
 }
 
 function showPage (pageNum)
@@ -395,29 +397,29 @@ function pagerPrev() {
 // switching view between targets and records
 
 function switchView(view) {
-
     var targets = document.getElementById('mkwsTargets');
-    var records = document.getElementById('mkwsResults');
+    var results = document.getElementById('mkwsResults') ||
+                 document.getElementById('mkwsRecords');
     var blanket = document.getElementById('mkwsBlanket');
 
     switch(view) {
         case 'targets':
-            targets.style.display = "block";
-            if (records) records.style.display = "none";
-            if (blanket) { blanket.style.display = "none"; }
+            if (targets) targets.style.display = "block";
+            if (results) results.style.display = "none";
+            if (blanket) blanket.style.display = "none";
             break;
         case 'records':
-            targets.style.display = "none";
-            if (records) records.style.display = "block";
-            if (blanket) { blanket.style.display = "block"; }
+            if (targets) targets.style.display = "none";
+            if (results) results.style.display = "block";
+            if (blanket) blanket.style.display = "block";
             break;
        case 'none':
-            targets.style.display = "none";
-            if (records) records.style.display = "none";
-            if (blanket) { blanket.style.display = "none"; }
+            if (targets) targets.style.display = "none";
+            if (results) results.style.display = "none";
+            if (blanket) blanket.style.display = "none";
             break;
         default:
-            alert('Unknown view.');
+            alert("Unknown view '" + view + "'");
     }
 }
 
@@ -507,7 +509,7 @@ function mkws_html_all(config) {
        sort_default: "relevance",
        perpage_default: 20,
        query_width: 50,
-       switch_menu: true,      /* show/hide Records|Targets menu */
+       switch_menu: false,     /* show/hide Records|Targets menu */
        lang_menu: true,        /* show/hide language menu */
        sort_menu: true,        /* show/hide sort menu */
        perpage_menu: true,     /* show/hide perpage menu */
@@ -602,7 +604,7 @@ function mkws_html_all(config) {
     domReady();
 
     // on first page, hide the termlist
-    $(document).ready(function() { $("#mkwsTermlists").parent().hide(); } );
+    $(document).ready(function() { $("#mkwsTermlists").hide(); } );
 }
 
 /* Responsive web design - change layout on the fly depending on
@@ -778,14 +780,14 @@ function mkws_mobile_resize () {
            $("#" + list[i]).hide();
        }
 
-       $("#mkwsTermlists").parent().hide();
-       obj = $("#mkwsTermlists").parent().html();
-        $("#mkwsShiftedTermlists").html("<hr/>" + obj);
+       $("#mkwsTermlists").hide();
+       obj = $("#mkwsTermlists").html();
+        $("#mkwsShiftedTermlists").html(obj);
     } else {
        for(var i = 0; i < list.length; i++) {
            $("#" + list[i]).show();
        }
-       $("#mkwsTermlists").parent().show();
+       $("#mkwsTermlists").show();
        $("#mkwsShiftedTermlists").html("");
     }
 };