Fire test against z3950.indexdata.com/marc instead.
[pazpar2-moved-to-github.git] / www / pz2_js / client_pz2.js
index 1ae5dcb..c759e6f 100644 (file)
@@ -1,11 +1,30 @@
-function init() {
-    my_paz = new pz2( { "onshow": my_onshow,
-                        "onstat": my_onstat,
-                        "onterm": my_onterm,
-                        "termlist": "subject,author",
-                        "onrecord": my_onrecord } );
-}
+// very simple client that shows a basic usage of the pz2.js
+
+// create a parameters array and pass it to the pz2's constructor
+// then register the form submit event with the pz2.search function
+
+my_paz = new pz2( { "onshow": my_onshow,
+                    "showtime": 500,            //each timer (show, stat, term, bytarget) can be specified this way
+                    "onstat": my_onstat,
+                    "onterm": my_onterm,
+                    "termlist": "subject,author",
+                    "onbytarget": my_onbytarget,
+                    "onrecord": my_onrecord } );
 
+// wait until the DOM is ready (could have been defined in the HTML)
+$(document).ready( function() { 
+                    document.search.onsubmit = onFormSubmitEventHandler;
+                    document.getElementById("next").onclick = pagerNext;
+                    document.getElementById("prev").onclick = pagerPrev;
+                    } );
+
+function onFormSubmitEventHandler() {
+    my_paz.search(document.search.query.value, 15, 'relevance');
+    return false;
+}
+//
+// pz2.js event handlers:
+//
 function my_onshow(data) {
     var body = document.getElementById("body");
     body.innerHTML = "";
@@ -47,10 +66,33 @@ function my_onterm(data) {
 }
 
 function my_onrecord(data) {
+    details = data;
     recordDiv = document.getElementById(data.recid);
     recordDiv.innerHTML = "<table><tr><td><b>Ttle</b> : </td><td>" + data["md-title"] +
                             "</td></tr><tr><td><b>Date</b> : </td><td>" + data["md-date"] +
                             "</td></tr><tr><td><b>Author</b> : </td><td>" + data["md-author"] +
-                            "</td></tr><tr><td><b>Subject</b> : </td><td>" + data["md-subject"] + "</td></tr>";
+                            "</td></tr><tr><td><b>Subject</b> : </td><td>" + data["md-subject"] + 
+                            "</td></tr><tr><td><b>Location</b> : </td><td>" + data["location"][0].name + "</td></tr></table>";
+
+}
+
+function my_onbytarget(data) {
+    targetDiv = document.getElementById("bytarget");
+    targetDiv.innerHTML = "<tr><td>ID</td><td>Hits</td><td>Diag</td><td>Rec</td><td>State</td></tr>";
+    
+    for ( 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>";
+    }
+}
+
+function pagerNext() {
+    my_paz.showNext();
+}
 
+function pagerPrev() {
+    my_paz.showPrev();
 }