X-Git-Url: http://git.indexdata.com/cgi-bin?a=blobdiff_plain;f=js%2Fpz2.js;h=4cd86ef96ff1b99a52c088f221927415f341d8b6;hb=9864b5ebf2fda284dd208c64192a652b5e799cd9;hp=c4b2431a129a028a165631c4a1a16760f29b0d58;hpb=414a47e2db4d91f3733d6ac48c1a5f14c00ced12;p=pazpar2-moved-to-github.git diff --git a/js/pz2.js b/js/pz2.js index c4b2431..4cd86ef 100644 --- a/js/pz2.js +++ b/js/pz2.js @@ -1,5 +1,5 @@ /* -** $Id: pz2.js,v 1.38 2007-06-21 14:05:41 adam Exp $ +** $Id: pz2.js,v 1.41 2007-07-02 10:16:46 jakub Exp $ ** pz2.js - pazpar2's javascript client library. */ @@ -32,10 +32,15 @@ var pz2 = function(paramArray) { __myself.suppProtoVer = '1'; __myself.pz2String = paramArray.pazpar2path || "search.pz2"; __myself.stylesheet = paramArray.detailstylesheet || null; - + __myself.useSessions = true; + if (paramArray.usesessions != undefined) { + __myself.useSessions = paramArray.usesessions; + } + //load stylesheet if required in async mode if( __myself.stylesheet ) { var request = new pzHttpRequest( __myself.stylesheet ); + request.async = false; request.get( [], function ( doc ) { @@ -43,7 +48,7 @@ var pz2 = function(paramArray) { } ); } - + // at least one callback required if ( !paramArray ) throw new Error("An array with parameters has to be suplied when instantiating a class"); @@ -134,15 +139,15 @@ pz2.prototype = init: function ( sessionId ) { __myself.reset(); + if ( sessionId != undefined ) { __myself.initStatusOK = true; __myself.sessionID = sessionId; __myself.ping(); - - } else { + } else if (__myself.useSessions) { var request = new pzHttpRequest(__myself.pz2String, __myself.errorHandler); request.get( - [ { "command": "init" } ], + { "command": "init" }, function(data) { if ( data.getElementsByTagName("status")[0].childNodes[0].nodeValue == "OK" ) { if ( data.getElementsByTagName("protocol")[0].childNodes[0].nodeValue != __myself.suppProtoVer ) @@ -157,7 +162,9 @@ pz2.prototype = setTimeout("__myself.init()", 1000); } ); - } + } else { + __myself.initStatusOK = true; + } }, // no need to ping explicitly ping: function () @@ -167,7 +174,7 @@ pz2.prototype = // session is not initialized code here var request = new pzHttpRequest(__myself.pz2String, __myself.errorHandler); request.get( - [ { "command": "ping", "session": __myself.sessionID } ], + { "command": "ping", "session": __myself.sessionID }, function(data) { if ( data.getElementsByTagName("status")[0].childNodes[0].nodeValue == "OK" ) { __myself.pingStatusOK = true; @@ -237,7 +244,7 @@ pz2.prototype = clearTimeout(__myself.statTimer); var request = new pzHttpRequest(__myself.pz2String, __myself.errorHandler); request.get( - [ { "command": "stat", "session": __myself.sessionID } ], + { "command": "stat", "session": __myself.sessionID }, function(data) { if ( data.getElementsByTagName("stat") ) { var activeClients = Number( data.getElementsByTagName("activeclients")[0].childNodes[0].nodeValue ); @@ -285,8 +292,8 @@ pz2.prototype = var request = new pzHttpRequest(__myself.pz2String, __myself.errorHandler); var context = this; request.get( - [ { "command": "show", "session": __myself.sessionID, "start": __myself.currentStart, - "num": __myself.currentNum, "sort": __myself.currentSort, "block": 1 } ], + { "command": "show", "session": __myself.sessionID, "start": __myself.currentStart, + "num": __myself.currentNum, "sort": __myself.currentSort, "block": 1 }, function(data) { if ( data.getElementsByTagName("status")[0].childNodes[0].nodeValue == "OK" ) { // first parse the status data send along with records @@ -353,7 +360,7 @@ pz2.prototype = __myself.currRecID = id; var request = new pzHttpRequest(__myself.pz2String, __myself.errorHandler); request.get( - [ { "command": "record", "session": __myself.sessionID, "id": __myself.currRecID } ], + { "command": "record", "session": __myself.sessionID, "id": __myself.currRecID }, function(data) { var recordNode; var record = new Array(); @@ -410,7 +417,7 @@ pz2.prototype = clearTimeout(__myself.termTimer); var request = new pzHttpRequest(__myself.pz2String, __myself.errorHandler); request.get( - [ { "command": "termlist", "session": __myself.sessionID, "name": __myself.termKeys } ], + { "command": "termlist", "session": __myself.sessionID, "name": __myself.termKeys }, function(data) { if ( data.getElementsByTagName("termlist") ) { var activeClients = Number( data.getElementsByTagName("activeclients")[0].childNodes[0].nodeValue ); @@ -462,7 +469,7 @@ pz2.prototype = clearTimeout(__myself.bytargetTimer); var request = new pzHttpRequest(__myself.pz2String, __myself.errorHandler); request.get( - [ { "command": "bytarget", "session": __myself.sessionID } ], + { "command": "bytarget", "session": __myself.sessionID }, function(data) { if ( data.getElementsByTagName("status")[0].childNodes[0].nodeValue == "OK" ) { var targetNodes = data.getElementsByTagName("target"); @@ -564,13 +571,13 @@ pzHttpRequest.prototype = var getUrl = this.url; var sep = '?'; - for (var i = 0; i < params.length; i++) { - var el = params[i]; - for (var key in el) { - getUrl += sep + key + '=' + encodeURI(el[key]); - sep = '&'; - } - } + var el = params; + for (var key in el) { + if (el[key] != null) { + getUrl += sep + key + '=' + encodeURI(el[key]); + sep = '&'; + } + } return getUrl; },