Added simple stylesheet to the example.
[pazpar2-moved-to-github.git] / www / example / example_client.js
index 5629656..4dbac1c 100644 (file)
@@ -1,5 +1,5 @@
 /* A very simple client that shows a basic usage of the pz2.js
-** $Id: example_client.js,v 1.1 2007-05-18 11:36:39 jakub Exp $
+** $Id: example_client.js,v 1.2 2007-05-18 15:16:18 jakub Exp $
 */
 
 // create a parameters array and pass it to the pz2's constructor
@@ -24,6 +24,7 @@ var curDetRecData = null;
 function domReady () 
 { 
     document.search.onsubmit = onFormSubmitEventHandler;
+    my_paz.stat();
 }
 
 // when search button pressed
@@ -43,15 +44,19 @@ function my_onshow(data) {
     var body = document.getElementById("body");
     body.innerHTML = "";
 
-    body.innerHTML +='<div>Displaying: ' + data.start + ' to ' + (data.start + data.num) +
-                     ' of ' + data.merged + ' (total not merged hits: ' + data.total + ')</div><hr/>';
+    body.innerHTML +='<hr/><div style="float: right">Displaying: ' 
+                    + data.start + ' to ' + (data.start + data.num) +
+                     ' of ' + data.merged + ' (total not merged hits: ' 
+                     + data.total + ')</div>';
 
-    body.innerHTML += '<span id="prev" onclick="pagerPrev();" style="cursor: pointer;">Prev</span> <b>|</b> ' 
-                + '<span id="next" onclick="pagerNext()" style="cursor: pointer;">Next</span><hr/>';
+    body.innerHTML += '<div style="float: clear"><span id="prev" onclick="pagerPrev();" style="cursor: pointer;">'
+                    +'&#60;&#60; Prev</span> <b>|</b> ' 
+                    +'<span id="next" onclick="pagerNext()" style="cursor: pointer;">'
+                    +'Next &#62;&#62;</span></div><hr/>';
     
     for (var i = 0; i < data.hits.length; i++) {
         var hit = data.hits[i];
-        body.innerHTML += '<div id="rec_' + hit.recid + '" onclick="showDetails(this.id)">'
+        body.innerHTML += '<div class="record" id="rec_' + hit.recid + '" onclick="showDetails(this.id)">'
                         +'<span>' + (i + 1 + recPerPage * ( curPage - 1)) + '. </span>'
                         +'<span style="cursor: pointer;"><b>' + hit["md-title"] +
                         ' </b></span> by <span><i>' + hit["md-author"] + '</i></span></div>';
@@ -74,15 +79,23 @@ function my_onstat(data) {
 
 function my_onterm(data) {
     var termlist = document.getElementById("termlist");
-    termlist.innerHTML = "";
-    termlist.innerHTML  += "<div><b> --Author </b></div>";
+    termlist.innerHTML = "<hr/><b>TERMLISTS:</b><hr/>";
+    termlist.innerHTML += "<div><b> --Author </b></div>";
     for (var i = 0; i < data.author.length; i++ ) {
-        termlist.innerHTML += '<div><span>' + data.author[i].name + ' </span><span> (' + data.author[i].freq + ')</span></div>';
+        termlist.innerHTML += '<div><span>' 
+                            + data.author[i].name 
+                            + ' </span><span> (' 
+                            + data.author[i].freq 
+                            + ')</span></div>';
     }
     termlist.innerHTML += "<hr/>";
     termlist.innerHTML += "<div><b> --Subject </b></div>";
     for (var i = 0; i < data.subject.length; i++ ) {
-        termlist.innerHTML += '<div><span>' + data.subject[i].name + ' </span><span> (' + data.subject[i].freq + ')</span></div>';
+        termlist.innerHTML += '<div><span>' 
+                            + data.subject[i].name 
+                            + ' </span><span> (' 
+                            + data.subject[i].freq 
+                            + ')</span></div>';
     }
 }
 
@@ -98,31 +111,38 @@ function my_onrecord(data) {
 
 function my_onbytarget(data) {
     var targetDiv = document.getElementById("bytarget");
-    targetDiv.innerHTML = '<thead><tr><td>ID</td><td>Hits</td><td>Diag</td><td>Rec</td><td>State</td></tr></thead>';
+    var table = '<thead><tr><td>Target ID</td><td>Hits</td><td>Diags</td>'
+                         +'<td>Records</td><td>State</td></tr></thead><tbody>';
     
     for (var i = 0; i < data.length; i++ ) {
-        targetDiv.innerHTML += "<tr><td><b>" + data[i].id +
-                               "</b></td><td>" + data[i].hits +
-                               "</td><td>" + data[i].diagnostic +
-                               "</td><td>" + data[i].records +
-                               "</td><td>" + data[i].state + "</td></tr>";
+        table += "<tr><td>" + data[i].id +
+                    "</td><td>" + data[i].hits +
+                    "</td><td>" + data[i].diagnostic +
+                    "</td><td>" + data[i].records +
+                    "</td><td>" + data[i].state + "</td></tr>";
     }
+
+    table += '</tbody>';
+    targetDiv.innerHTML = table;
+
 }
 
 // detailed record drawing
 function showDetails ( prefixRecId ) {
     var recId = Number(prefixRecId.replace('rec_', ''));
     
-    // if the same clicked ignore
-    if ( recId == curDetRecId )
-        return;
-    
-    // if different remove the old one 
+    // remove current detailed view if any
     var detRecordDiv = document.getElementById('det_'+curDetRecId);
     // lovin DOM!
     if ( detRecordDiv )
             detRecordDiv.parentNode.removeChild(detRecordDiv);
 
+    // if the same clicked do not redraw
+    if ( recId == curDetRecId ) {
+        curDetRecId = -1;
+        return;
+    }
+
     curDetRecId = recId;
 
     // request the record
@@ -133,7 +153,8 @@ function drawCurDetails ()
 {
     var data = curDetRecData;
     var recordDiv = document.getElementById('rec_'+data.recid);
-    recordDiv.innerHTML += '<div id="det_'+data.recid+'"><table><tr><td><b>Ttle</b></td><td><b>:</b> ' + data["md-title"] +
+    recordDiv.innerHTML += '<div class="details" id="det_'+data.recid+
+                            '"><table><tr><td><b>Ttle</b></td><td><b>:</b> '+data["md-title"] +
                             "</td></tr><tr><td><b>Date</b></td><td><b>:</b> " + data["md-date"] +
                             "</td></tr><tr><td><b>Author</b></td><td><b>:</b> " + data["md-author"] +
                             "</td></tr><tr><td><b>Subject</b></td><td><b>:</b> " + data["md-subject"] +