X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=www%2Fiphone%2Fexample_client.js;h=68ad93ef884b01eb72658b23b3c18477f6bd7e59;hb=7068a311c4567c49660ae9a26d419f02ef24bc49;hp=a336f8ee5d1427e313fd4e4eb9a6afeebe7b1121;hpb=68b7620cc5510380ffbccda64ef28c985cde2fa9;p=pazpar2-moved-to-github.git
diff --git a/www/iphone/example_client.js b/www/iphone/example_client.js
index a336f8e..68ad93e 100644
--- a/www/iphone/example_client.js
+++ b/www/iphone/example_client.js
@@ -14,27 +14,31 @@ var querys_server = {};
var useLimit = 1;
// Fail to get JSON working stabil.
var showResponseType = 'xml';
+
+var imageHelper = new ImageHelper();
+
if (document.location.hash == '#pazpar2' || document.location.search.match("useproxy=false")) {
usesessions = true;
pazpar2path = '/pazpar2/search.pz2';
showResponseType = 'xml';
}
-
my_paz = new pz2( { "onshow": my_onshow,
- "showtime": 500, //each timer (show, stat, term, bytarget) can be specified this way
+// "showtime": 2000, //each timer (show, stat, term, bytarget) can be specified this way
"pazpar2path": pazpar2path,
"oninit": my_oninit,
- "onstat": my_onstat,
+ "onstat": null,
"onterm": my_onterm_iphone,
"termlist": "xtargets,subject,author",
- "onbytarget": my_onbytarget,
+ "onbytarget": null,
"usesessions" : usesessions,
"showResponseType": showResponseType,
- "onrecord": my_onrecord } );
+ "onrecord": my_onrecord,
+ "errorhandler" : my_onerror}
+);
// some state vars
var curPage = 1;
-var recPerPage = 100;
+var recPerPage = 10;
var recToShowPageSize = 20;
var recToShow = recToShowPageSize;
var recIDs = {};
@@ -52,6 +56,29 @@ var tab = "recordview";
var triedPass = "";
var triedUser = "";
+//
+// pz2.js event handlers:
+//
+function my_onerror(error) {
+ switch(error.code) {
+ // No targets!
+ case "8": alert("No resources were selected for the search"); break;
+ // target not configured, this is a pazpar2 bug
+ // but for now simply research
+ case "9":
+ triggerSearch();
+ break;
+ // authentication
+ case "100" :
+ loginFormSubmit();
+ //window.location = "login.html";
+ break;
+ default:
+ alert("Unhandled error: " + error.code);
+ throw error; // display error in JavaScript console
+ }
+}
+
function loginFormSubmit() {
triedUser = document.loginForm.username.value;
triedPass = document.loginForm.password.value;
@@ -121,7 +148,7 @@ function logInOrOut() {
}
function loggedIn() {
var login = document.getElementById("login");
- login.innerHTML = 'Logout(' + auth.displayName + ')';
+ login.innerHTML = 'Logout';
document.getElementById("log").innerHTML = login.innerHTML;
}
@@ -153,16 +180,45 @@ function showMoreRecords() {
}
}
+function hideRecords() {
+ for ( var i = 0; i < recToShow; i++) {
+ var element = document.getElementById(recIDs[i]);
+ if (element && recIDs != curDetRecId)
+ element.style.display = 'none';
+ }
+ var element = document.getElementById('recdiv_END');
+ if (element)
+ element.style.display = 'none';
+}
+
+function showRecords() {
+ for (var i = 0 ; i < recToShow && i < recPerPage; i++) {
+ var element = document.getElementById(recIDs[i]);
+ if (element)
+ element.style.display = '';
+ }
+ var element = document.getElementById('recdiv_END');
+ if (element) {
+ if (i == recPerPage)
+ element.style.display = 'none';
+ else
+ element.style.display = '';
+ }
+}
+
+
+
+
function my_onshow(data) {
totalRec = data.merged;
// move it out
var pager = document.getElementById("pager");
pager.innerHTML = "";
- pager.innerHTML +='
Displaying: '
+ drawPager(pager);
+ pager.innerHTML +='
Displaying: '
+ (data.start + 1) + ' to ' + (data.start + data.num) +
' of ' + data.merged + ' (found: '
+ data.total + ')
';
- drawPager(pager);
var results = document.getElementById("results");
@@ -172,33 +228,75 @@ function my_onshow(data) {
var style = '';
for (var i = 0; i < data.hits.length; i++) {
var hit = data.hits[i];
- var recID = "recdiv_" + hit.recid;
- //var recID = "recdiv_" + i;
- recIDs[i] = recID;
+ var recDivID = "recdiv_" + hit.recid;
+ recIDs[i] = recDivID;
+ var lines = 0;
if (i == recToShow)
style = ' style="display:none" ';
- html.push('
'
- +''
- + hit["md-title"] +' ');
- if (hit["md-title-responsibility"] !== undefined) {
- html.push(''+hit["md-title-responsibility"]+' ');
- if (hit["md-title-remainder"] !== undefined) {
- html.push('' + hit["md-title-remainder"] + ' ');
- }
- }
+ html.push('' );
+ html.push('');
+ if (1) {
+ var useThumbnails = hit["md-use_thumbnails"];
+ var thumburls = hit["md-thumburl"];
+ if (thumburls && (useThumbnails == undefined || useThumbnails == "1")) {
+ var thumbnailtag = imageHelper.getImageTagByRecId(hit.recid,"md-thumburl", 60, "S");
+ html.push(thumbnailtag);
+ } else {
+ if (hit["md-isbn"] != undefined) {
+ var coverimagetag = imageHelper.getImageTagByRecId(hit.recid, "md-isbn", 60, "S");
+ if (coverimagetag.length>0) {
+ html.push(coverimagetag);
+ } else {
+ html.push(" ");
+ }
+ }
+ }
+ }
+ html.push("");
+ html.push('');
+ html.push(hit["md-title"]);
+ html.push("");
+
+ if (hit["md-title-remainder"] != undefined) {
+ html.push('');
+ html.push(hit["md-title-remainder"]);
+ html.push("");
+ lines++;
+ }
+ if (hit["md-author"] != undefined) {
+ html.push('');
+ html.push(hit["md-author"]);
+ html.push("");
+ lines++;
+ }
+ else if (hit["md-title-responsibility"] != undefined) {
+ html.push('');
+ html.push(hit["md-title-responsibility"]);
+ html.push("");
+ lines++;
+ }
+ for (var idx = lines ; idx < 2 ; idx++) {
+ html.push('');
+ html.push(" ");
+ html.push("");
+ }
+/*
if (hit.recid == curDetRecId) {
html.push(renderDetails_iphone(curDetRecData));
}
+*/
html.push('');
}
+ if (data.activeclients == 0)
+ document.getElementById("loading").style.display = 'none';
+/*
// set up "More..." if needed.
style = 'display:none';
if (recToShow < recPerPage) {
style = 'display:block';
}
- html.push('
More...');
-
+ html.push('
More...');
+*/
replaceHtml(results, html.join(''));
}
@@ -214,13 +312,15 @@ function my_onstat(data) {
+ '/' + data.hits + ' :.';
}
-function showhide(newtab) {
+function showhide(newtab, hash) {
var showtermlist = false;
if (newtab != null)
tab = newtab;
if (tab == "recordview") {
document.getElementById("recordview").style.display = '';
+ if (hash != undefined)
+ document.location.hash = hash;
}
else
document.getElementById("recordview").style.display = 'none';
@@ -246,6 +346,16 @@ function showhide(newtab) {
else
document.getElementById("term_authors").style.display = 'none';
+ if (tab == "detailview") {
+ document.getElementById("detailview").style.display = '';
+ }
+ else {
+ document.getElementById("detailview").style.display = 'none';
+ var element = document.getElementById("rec_" + curDetRecId);
+ if (element != undefined)
+ element.scrollIntoView();
+
+ }
if (showtermlist == false)
document.getElementById("termlist").style.display = 'none';
else
@@ -265,10 +375,10 @@ function my_onterm(data) {
termlists.push('
');
termlists.push('
Sources
');
- termlists.push('
');
- termlists.push('- All
');
+ termlists.push('