X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;ds=sidebyside;f=www%2Fexample%2Fexample_client.js;h=aad63032c2639908bf396fbed964bdce2037303c;hb=1ff3480de3d2cc209fedda35a0bd9bac8a793191;hp=5629656682e2ecc9a3711a3f2b2dffd20f04e2fc;hpb=84a66a0ff48346b0d3477934e95a30135e79be8e;p=pazpar2-moved-to-github.git diff --git a/www/example/example_client.js b/www/example/example_client.js index 5629656..aad6303 100644 --- a/www/example/example_client.js +++ b/www/example/example_client.js @@ -1,5 +1,5 @@ /* A very simple client that shows a basic usage of the pz2.js -** $Id: example_client.js,v 1.1 2007-05-18 11:36:39 jakub Exp $ +** $Id: example_client.js,v 1.4 2007-05-21 08:21:33 jakub Exp $ */ // create a parameters array and pass it to the pz2's constructor @@ -15,7 +15,7 @@ my_paz = new pz2( { "onshow": my_onshow, "onrecord": my_onrecord } ); // some state vars var curPage = 1; -var recPerPage = 15; +var recPerPage = 20; var totalRec = 0; var curDetRecId = -1; var curDetRecData = null; @@ -24,11 +24,16 @@ var curDetRecData = null; function domReady () { document.search.onsubmit = onFormSubmitEventHandler; + my_paz.stat(); + my_paz.bytarget(); } // when search button pressed function onFormSubmitEventHandler() { + curPage = 1; + curDetRecId = -1; + totalRec = 0; my_paz.search(document.search.query.value, recPerPage, 'relevance'); return false; } @@ -43,17 +48,21 @@ function my_onshow(data) { var body = document.getElementById("body"); body.innerHTML = ""; - body.innerHTML +='
Displaying: ' + data.start + ' to ' + (data.start + data.num) + - ' of ' + data.merged + ' (total not merged hits: ' + data.total + ')

'; + body.innerHTML +='
Displaying: ' + + data.start + ' to ' + (data.start + data.num) + + ' of ' + data.merged + ' (total not merged hits: ' + + data.total + ')
'; - body.innerHTML += 'Prev | ' - + 'Next
'; + body.innerHTML += '
' + +'<< Prev | ' + +'' + +'Next >>

'; for (var i = 0; i < data.hits.length; i++) { var hit = data.hits[i]; - body.innerHTML += '
' + body.innerHTML += '
' +'' + (i + 1 + recPerPage * ( curPage - 1)) + '. ' - +'' + hit["md-title"] + + +'' + hit["md-title"] + ' by ' + hit["md-author"] + '
'; if ( hit.recid == curDetRecId ) { @@ -65,25 +74,33 @@ function my_onshow(data) { function my_onstat(data) { var stat = document.getElementById("stat"); - stat.innerHTML = 'active clients: ' + data.activeclients + ' ' + - 'hits: ' + data.hits + ' ' + - 'records: ' + data.records + ' ' + - 'clients: ' + data.clients + ' ' + - 'searching: ' + data.searching + ''; + stat.innerHTML = 'Active clients: '+ data.activeclients + + '/' + data.clients + ' | ' + + 'Retrieved records: ' + data.records + + '/' + data.hits + ''; } function my_onterm(data) { var termlist = document.getElementById("termlist"); - termlist.innerHTML = ""; - termlist.innerHTML += "
--Author
"; - for (var i = 0; i < data.author.length; i++ ) { - termlist.innerHTML += '
' + data.author[i].name + ' (' + data.author[i].freq + ')
'; + termlist.innerHTML = "
TERMLISTS:
"; + termlist.innerHTML += '
.::Subjects
'; + for (var i = 0; i < data.subject.length; i++ ) { + termlist.innerHTML += '' + + data.subject[i].name + + ' (' + + data.subject[i].freq + + ')
'; } termlist.innerHTML += "
"; - termlist.innerHTML += "
--Subject
"; - for (var i = 0; i < data.subject.length; i++ ) { - termlist.innerHTML += '
' + data.subject[i].name + ' (' + data.subject[i].freq + ')
'; + termlist.innerHTML += '
.::Authors
'; + for (var i = 0; i < data.author.length; i++ ) { + termlist.innerHTML += '' + + data.author[i].name + + ' (' + + data.author[i].freq + + ')
'; } + } function my_onrecord(data) { @@ -98,31 +115,38 @@ function my_onrecord(data) { function my_onbytarget(data) { var targetDiv = document.getElementById("bytarget"); - targetDiv.innerHTML = 'IDHitsDiagRecState'; + var table = 'Target IDHitsDiags' + +'RecordsState'; for (var i = 0; i < data.length; i++ ) { - targetDiv.innerHTML += "" + data[i].id + - "" + data[i].hits + - "" + data[i].diagnostic + - "" + data[i].records + - "" + data[i].state + ""; + table += "" + data[i].id + + "" + data[i].hits + + "" + data[i].diagnostic + + "" + data[i].records + + "" + data[i].state + ""; } + + table += ''; + targetDiv.innerHTML = table; + } // detailed record drawing function showDetails ( prefixRecId ) { var recId = Number(prefixRecId.replace('rec_', '')); - // if the same clicked ignore - if ( recId == curDetRecId ) - return; - - // if different remove the old one + // remove current detailed view if any var detRecordDiv = document.getElementById('det_'+curDetRecId); // lovin DOM! if ( detRecordDiv ) detRecordDiv.parentNode.removeChild(detRecordDiv); + // if the same clicked do not redraw + if ( recId == curDetRecId ) { + curDetRecId = -1; + return; + } + curDetRecId = recId; // request the record @@ -133,7 +157,8 @@ function drawCurDetails () { var data = curDetRecData; var recordDiv = document.getElementById('rec_'+data.recid); - recordDiv.innerHTML += '
Ttle: ' + data["md-title"] + + recordDiv.innerHTML += '
Ttle: '+data["md-title"] + "
Date: " + data["md-date"] + "
Author: " + data["md-author"] + "
Subject: " + data["md-subject"] + @@ -155,3 +180,24 @@ function pagerPrev() { if ( my_paz.showPrev() != false ) curPage--; } + +// swithing view between targets and records + +function switchView(view) { + + var targets = document.getElementById('targetview'); + var records = document.getElementById('recordview'); + + switch(view) { + case 'targetview': + targets.style.display = "block"; + records.style.display = "none"; + break; + case 'recordview': + targets.style.display = "none"; + records.style.display = "block"; + break; + default: + alert('Unknown view.'); + } +}