Varous display changes to MK demo
[pazpar2-moved-to-github.git] / www / masterkey / js / client.js
index 8432e63..9fb9412 100644 (file)
@@ -1,16 +1,19 @@
 /*
-** $Id: client.js,v 1.18 2007-04-16 20:23:25 quinn Exp $
+** $Id: client.js,v 1.22 2007-04-30 14:28:09 quinn Exp $
 ** MasterKey - pazpar2's javascript client .
 */
 
 /* start with creating pz2 object and passing it event handlers*/
-var my_paz = new pz2( { "onshow": my_onshow,
+var my_paz = new pz2({ 
+                    "onshow": my_onshow,
                     //"showtime": 1000,
                     //"onstat": my_onstat,
                     "onterm": my_onterm,
                     "termlist": "xtargets,subject,author,date",
                     //"onbytarget": my_onbytarget,
-                    "onrecord": my_onrecord } );
+                    "onrecord": my_onrecord,
+                    "errorhandler": my_errorhandler
+                    });
 
 /* some state variable */
 var currentSort = 'relevance';
@@ -57,6 +60,7 @@ function onFormSubmitEventHandler() {
     curQuery.clearFilter();
     fireSearch();
     drawBreadcrumb();
+    $('div.motd').empty();
     $('div.content').show();
     $("div.leftbar").show();
     return false;
@@ -67,6 +71,14 @@ function onFormSubmitEventHandler() {
 ** pz2 Event Handlers ***********************************************************
 *********************************************************************************
 */
+function my_errorhandler(err)
+{
+    switch (err.message) 
+    {
+        case 'QUERY': alert("Your query was not understood. Please rephrase."); break;
+        default: alert(err.message);
+    }
+}
 
 /*
 ** data.hits["md-title"], data.hits["md-author"], data.hits.recid, data.hits.count
@@ -101,7 +113,7 @@ function my_onshow(data)
         if( author ) {
             recBody.append('<i> by </i>');
             $('<a name="author" class="recAuthor">'+author+'</a>\n').click(function(){ 
-                            refine(this.name, this.firstChild.nodeValue) }).appendTo(recBody);
+                            refine("authoronly", this.firstChild.nodeValue) }).appendTo(recBody);
         }
 
         if( currentDetailedId == id ) {
@@ -271,7 +283,7 @@ function drawDetailedRec(detailBox)
 
     var hdtarget;
     if( recLocation ) {
-        hdtarget = $('<tr><td class="item">Available at:</td></tr>');
+        hdtarget = $('<tr><td class="item" align="right">Available at:&nbsp;</td></tr>');
        detailTable.append(hdtarget);
 
        for(var i=0; i < recLocation.length; i++)
@@ -280,7 +292,13 @@ function drawDetailedRec(detailBox)
                hdtarget = $('<tr><td class="item">&nbsp;</td></tr>').appendTo(detailTable);
            var url = recLocation[i]["md-url"];
            var description = recLocation[i]["md-description"];
+           var date = recLocation[i]["md-date"];
+           var citation = recLocation[i]["md-citation"];
            hdtarget.append('<td><b>'+recLocation[i].name+'</b></td>');
+           if (date)
+               detailTable.append($('<tr><td align="right">Date:&nbsp;</td><td>'+date+'</td></tr>'));
+           if (citation)
+               detailTable.append($('<tr><td align="right" valign="top">Citation:&nbsp;</td><td>'+citation+'</td></tr>'));
            if (description)
                detailTable.append($('<tr><td>&nbsp</td><td>'+description+'</td></tr>'));
            if (url) {
@@ -302,6 +320,7 @@ function drawDetailedRec(detailBox)
 function refine(field, value, opt)
 {
     switch(field) {
+        case "authoronly":  curQuery.reset(); curQuery.addTerm('au', value); break;
         case "author":  curQuery.addTerm('au', value); break;
         case "title":   curQuery.addTerm('ti', value); break;
         case "date":    curQuery.addTerm('date', value); break;