X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=js%2Fpz2.js;h=096a89d184436d80fc4b1b8ca559839317aa05a6;hb=d3a8af85f8c4bae492ab6b5fa3bd488fbfcb07fb;hp=50ecd0121a35a3d2e8b2a1f82ace46c8d7b1a232;hpb=c4d61f7da9aa32ec5cba3971f3826e20cb46ee29;p=pazpar2-moved-to-github.git diff --git a/js/pz2.js b/js/pz2.js index 50ecd01..096a89d 100644 --- 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; @@ -629,7 +634,12 @@ pz2.prototype = var context = this; var request = new pzHttpRequest(this.pz2String, this.errorHandler); request.safeGet( - { "command": "bytarget", "session": this.sessionID, "windowid" : window.name}, + { + "command": "bytarget", + "session": this.sessionID, + "block": 1, + "windowid" : window.name + }, function(data) { if ( data.getElementsByTagName("status")[0] .childNodes[0].nodeValue == "OK" ) { @@ -642,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 (tagetNodes[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") { @@ -660,6 +677,11 @@ pz2.prototype = } else if (bytarget[i].diagnostic == "2") { bytarget[i].diagnostic = "Temporary system error"; } + var targetsSuggestions = targetNodes[i].getElementsByTagName("suggestions"); + if (targetsSuggestions != undefined && targetsSuggestions.length>0) { + var suggestions = targetsSuggestions[0]; + bytarget[i]["suggestions"] = Element_parseChildNodes(suggestions); + } } context.bytargetCounter++;