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 = '
ID | Hits | Diag | Rec | State |
';
+ var table = '
Target ID | Hits | Diags | '
+ +'Records | State |
';
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.');
+ }
+}
|
|