/* A very simple client that shows a basic usage of the pz2.js
-** $Id: example_client.js,v 1.2 2007-06-22 10:54:46 adam Exp $
+** $Id: example_client.js,v 1.5 2007-07-24 08:15:12 jakub Exp $
*/
// create a parameters array and pass it to the pz2's constructor
var curPage = 1;
var recPerPage = 20;
var totalRec = 0;
-var curDetRecId = -1;
+var curDetRecId = '';
var curDetRecData = null;
// wait until the DOM is ready
function onFormSubmitEventHandler()
{
curPage = 1;
- curDetRecId = -1;
+ curDetRecId = '';
totalRec = 0;
my_paz.search(document.search.query.value, recPerPage, 'relevance');
return false;
for (var i = 0; i < data.hits.length; i++) {
var hit = data.hits[i];
- body.innerHTML += '<div class="record" id="rec_' + hit.recid + '" onclick="showDetails(this.id)">'
- +'<span>' + (i + 1 + recPerPage * ( curPage - 1)) + '. </span>'
- +'<span class="jslink"><b>' + hit["md-title"] +
- ' </b></span> by <span><i>' + hit["md-author"] + '</i></span></div>';
-
+ var html = '<div class="record" id="rec_' + hit.recid + '" onclick="showDetails(this.id)">'
+ +'<span>' + (i + 1 + recPerPage * ( curPage - 1)) + '. </span>'
+ +'<span class="jslink"><b>' + hit["md-title"] +
+ ' </b></span>';
+ if (hit["md-title-remainder"] !== undefined) {
+ html += '<span>' + hit["md-title-remainder"] + '</span>';
+ }
+ if (hit["md-title-responsibility"] !== undefined) {
+ html += '<span><i>' + hit["md-title-responsibility"] + '</i></span>';
+ }
+ html += '</div>';
+ body.innerHTML += html;
if ( hit.recid == curDetRecId ) {
drawCurDetails();
}
termlist.innerHTML = "<hr/><b>TERMLISTS:</b><hr/>";
termlist.innerHTML += '<div class="termtitle">.::Subjects</div>';
for (var i = 0; i < data.subject.length; i++ ) {
- termlist.innerHTML += '<span>'
+ termlist.innerHTML += '<span class="jslink" onclick="limitQuery(\'su\', this.firstChild.nodeValue)">'
+ data.subject[i].name
- + ' </span><span> ('
+ + '</span><span> ('
+ data.subject[i].freq
+ ')</span><br/>';
}
termlist.innerHTML += "<hr/>";
termlist.innerHTML += '<div class="termtitle">.::Authors</div>';
for (var i = 0; i < data.author.length; i++ ) {
- termlist.innerHTML += '<span>'
+ termlist.innerHTML += '<span class="jslink" onclick="limitQuery(\'au\', this.firstChild.nodeValue)">'
+ data.author[i].name
+ ' </span><span> ('
+ data.author[i].freq
// detailed record drawing
function showDetails ( prefixRecId ) {
- var recId = Number(prefixRecId.replace('rec_', ''));
+ var recId = prefixRecId.replace('rec_', '');
// remove current detailed view if any
var detRecordDiv = document.getElementById('det_'+curDetRecId);
// if the same clicked do not redraw
if ( recId == curDetRecId ) {
- curDetRecId = -1;
+ curDetRecId = '';
return;
}
'"><table><tr><td><b>Ttle</b></td><td><b>:</b> '+data["md-title"] +
"</td></tr><tr><td><b>Date</b></td><td><b>:</b> " + data["md-date"] +
"</td></tr><tr><td><b>Author</b></td><td><b>:</b> " + data["md-author"] +
+ '</td></tr><tr><td><b>URL</b></td><td><b>:</b> <a href="' + data["md-electronic-url"] + '">' + data["md-electronic-url"] + '</a>' +
"</td></tr><tr><td><b>Subject</b></td><td><b>:</b> " + data["md-subject"] +
"</td></tr><tr><td><b>Location</b></td><td><b>:</b> " + data["location"][0].name +
"</td></tr></table></div>";
}
+// limit the query after clicking the facet
+function limitQuery (field, value)
+{
+ document.search.query.value += ' and ' + field + '="' + value + '"';
+ onFormSubmitEventHandler();
+}
// simple paging functions