Typo in the 'bytarget' fix
[pazpar2-moved-to-github.git] / js / pz2.js
index 1b586df..7edf35d 100644 (file)
--- a/js/pz2.js
+++ b/js/pz2.js
@@ -79,6 +79,7 @@ var pz2 = function ( paramArray )
 
     // where are we?
     this.currentStart = 0;
+    // currentNum can be overwritten in show 
     this.currentNum = 20;
 
     // last full record retrieved
@@ -360,7 +361,7 @@ pz2.prototype =
             }
         );
     },
-    show: function(start, num, sort)
+    show: function(start, num, sort, query_state)
     {
         if( !this.searchStatusOK && this.useSessions )
             throw new Error(
@@ -379,7 +380,7 @@ pz2.prototype =
 
         var context = this;
         var request = new pzHttpRequest(this.pz2String, this.errorHandler);
-        request.safeGet(
+       var requestParameters = 
           {
             "command": "show", 
             "session": this.sessionID, 
@@ -389,7 +390,11 @@ pz2.prototype =
             "block": 1,
             "type": this.showResponseType,
             "windowid" : window.name
-          },
+          };
+        if (query_state)
+          requestParameters["query-state"] = query_state;
+        request.safeGet(
+         requestParameters,
           function(data, type) {
             var show = null;
             var activeClients = 0;
@@ -430,10 +435,6 @@ pz2.prototype =
                 for (i = 0; i < hits.length; i++)
                   show.hits[i] = Element_parseChildNodes(hits[i]);
             } else {
-               // We prob. got a 417 Already blocked, need to retry
-               context.showTimer = setTimeout(function () {
-                   context.show();
-                }, delay);
               context.throwError('Show failed. Malformed WS resonse.',
                   114);
             }
@@ -651,10 +652,17 @@ pz2.prototype =
                                 == Node.ELEMENT_NODE ) {
                                 var nodeName = 
                                     targetNodes[i].childNodes[j].nodeName;
-                                var nodeText = 
-                                    targetNodes[i].childNodes[j]
-                                        .firstChild.nodeValue;
-                                bytarget[i][nodeName] = nodeText;
+                               if (targetNodes[i].childNodes[j].firstChild != null) 
+                               {
+                                    var nodeText = targetNodes[i].childNodes[j]
+                                       .firstChild.nodeValue;
+                                    bytarget[i][nodeName] = nodeText;
+                               }
+                               else { 
+                                   bytarget[i][nodeName] = "";  
+                               }
+
+
                             }
                         }
                         if (bytarget[i]["state"]=="Client_Disconnected") {