X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=experiments%2Fspclient%2Fmkws.js;h=dfd1c196247cc15944146d07b9b039fc98afb605;hb=30a22d917d431e47c2c6bcc09d842b5eb587b2c4;hp=4a6eb6dadaad3db3e64746b755f7fc1eeddf916f;hpb=71aa8121e550f16068eddc1365881e2ab652f8ee;p=mkws-moved-to-github.git
diff --git a/experiments/spclient/mkws.js b/experiments/spclient/mkws.js
index 4a6eb6d..dfd1c19 100644
--- a/experiments/spclient/mkws.js
+++ b/experiments/spclient/mkws.js
@@ -3,20 +3,24 @@
"use strict"; // HTML5: disable for debug >= 2
-/*
- * global config object: mkws_config
- *
- * needs to be defined in the HTML header before
+/*
+ * global config object: mkws_config
+ *
+ * needs to be defined in the HTML header before
* including this JS file
*/
if (!mkws_config)
var mkws_config = {}; // for the guys who forgot to define mkws_config...
-var mkws_debug = 1;
+if (typeof mkws_config.use_service_proxy === 'undefined')
+ mkws_config.use_service_proxy = true;
+
+// global debug flag
+var mkws_debug;
var pazpar2_url = mkws_config.pazpar2_url ? mkws_config.pazpar2_url : "/pazpar2/search.pz2";
-var service_proxy_url = mkws_config.service_proxy_url ? mkws_config.service_proxy_url : "/service-proxy/";
+var service_proxy_url = mkws_config.service_proxy_url ? mkws_config.service_proxy_url : "http://mkws.indexdata.com/service-proxy/";
var pazpar2path = mkws_config.use_service_proxy ? service_proxy_url : pazpar2_url;
var usesessions = mkws_config.use_service_proxy ? false : true;
@@ -27,7 +31,7 @@ var mkws_locale_lang = {
"Authors": "Autoren",
"Subjects": "Schlagwörter",
"Sources": "Daten und Quellen",
- "TERMLISTS": "Termlisten",
+ "Termlists": "Termlisten",
"Next": "Weiter",
"Prev": "Zurück",
"Search": "Suche",
@@ -51,7 +55,7 @@ var mkws_locale_lang = {
"Authors": "Forfattere",
"Subjects": "Emner",
"Sources": "Kilder",
- "TERMLISTS": "TERMLISTS",
+ "Termlists": "Termlists",
"Next": "Næste",
"Prev": "Forrige",
"Search": "Søg",
@@ -72,6 +76,18 @@ var mkws_locale_lang = {
}
};
+
+for (var key in mkws_config) {
+ if (mkws_config.hasOwnProperty(key)) {
+ if (key.match(/^language_/)) {
+ var lang = key.replace(/^language_/, "");
+ // Copy custom languages into list
+ mkws_locale_lang[lang] = mkws_config[key];
+ }
+ }
+}
+
+
// create a parameters array and pass it to the pz2's constructor
// then register the form submit event with the pz2.search function
// autoInit is set to true on default
@@ -110,22 +126,22 @@ function my_oninit() {
function my_onshow(data) {
totalRec = data.merged;
// move it out
- var pager = document.getElementById("pager");
+ var pager = document.getElementById("mkwsPager");
pager.innerHTML = "";
- pager.innerHTML +='
';
drawPager(pager);
// navi
- var results = document.getElementById("results");
+ var results = document.getElementById("mkwsRecords");
var html = [];
for (var i = 0; i < data.hits.length; i++) {
var hit = data.hits[i];
- html.push('
');
- for (var i = 0; i < data.author.length && i < AuthorMax; i++ ) {
- termlists.push(''
- + data.author[i].name
- + ' ('
- + data.author[i].freq
- + ') ');
+ var termlist = document.getElementById("mkwsTermlists");
+ replaceHtml(termlist, acc.join(''));
+
+ if (mkws_config.responsive_design)
+ mkws_mobile_resize();
+}
+
+function add_single_facet(acc, caption, data, max, cclIndex) {
+ acc.push('
');
+ acc.push('
' + M(caption) + '
');
+ for (var i = 0; i < data.length && i < max; i++ ) {
+ acc.push('' + data[i].name + ''
+ + ' (' + data[i].freq + ') ');
}
- var termlist = document.getElementById("termlist");
- replaceHtml(termlist, termlists.join(''));
+ acc.push('
');
}
function my_onrecord(data) {
// FIXME: record is async!!
clearTimeout(my_paz.recordTimer);
// in case on_show was faster to redraw element
- var detRecordDiv = document.getElementById('det_'+data.recid);
+ var detRecordDiv = document.getElementById('mkwsDet_'+data.recid);
if (detRecordDiv) return;
curDetRecData = data;
- var recordDiv = document.getElementById('recdiv_'+curDetRecData.recid);
+ var recordDiv = document.getElementById('mkwsRecdiv_'+curDetRecData.recid);
var html = renderDetails(curDetRecData);
recordDiv.innerHTML += html;
}
function my_onbytarget(data) {
- var targetDiv = document.getElementById("bytarget");
+ var targetDiv = document.getElementById("mkwsBytarget");
var table ='
Target ID
Hits
Diags
'
+'
Records
State
';
@@ -219,10 +257,14 @@ function my_onbytarget(data) {
// wait until the DOM is ready
function domReady ()
{
- document.search.onsubmit = onFormSubmitEventHandler;
- document.search.query.value = '';
- document.select.sort.onchange = onSelectDdChange;
- document.select.perpage.onchange = onSelectDdChange;
+ document.mkwsSearchForm.onsubmit = onFormSubmitEventHandler;
+ document.mkwsSearchForm.mkwsQuery.value = '';
+ if (document.mkwsSelect) {
+ if (document.mkwsSelect.mkwsSort)
+ document.mkwsSelect.mkwsSort.onchange = onSelectDdChange;
+ if (document.mkwsSelect.mkwsPerpage)
+ document.mkwsSelect.mkwsPerpage.onchange = onSelectDdChange;
+ }
}
// when search button pressed
@@ -231,6 +273,7 @@ function onFormSubmitEventHandler()
resetPage();
loadSelect();
triggerSearch();
+ switchView('records'); // In case it's configured to start off as hidden
submitted = true;
return false;
}
@@ -252,30 +295,33 @@ function resetPage()
function triggerSearch ()
{
- my_paz.search(document.search.query.value, recPerPage, curSort, curFilter);
+ my_paz.search(document.mkwsSearchForm.mkwsQuery.value, recPerPage, curSort, curFilter);
}
function loadSelect ()
{
- curSort = document.select.sort.value;
- recPerPage = document.select.perpage.value;
+ if (document.mkwsSelect) {
+ if (document.mkwsSelect.mkwsSort)
+ curSort = document.mkwsSelect.mkwsSort.value;
+ if (document.mkwsSelect.mkwsPerpage)
+ recPerPage = document.mkwsSelect.mkwsPerpage.value;
+ }
}
// limit the query after clicking the facet
function limitQuery (field, value)
{
- document.search.query.value += ' and ' + field + '="' + value + '"';
+ document.mkwsSearchForm.query.value += ' and ' + field + '="' + value + '"';
onFormSubmitEventHandler();
}
// limit by target functions
function limitTarget (id, name)
{
- var navi = document.getElementById('navi');
+ var navi = document.getElementById('mkwsNavi');
navi.innerHTML =
'Source: '
+ name + '';
- navi.innerHTML += '';
curFilter = 'pz:id=' + id;
resetPage();
loadSelect();
@@ -285,7 +331,7 @@ function limitTarget (id, name)
function delimitTarget ()
{
- var navi = document.getElementById('navi');
+ var navi = document.getElementById('mkwsNavi');
navi.innerHTML = '';
curFilter = null;
resetPage();
@@ -308,9 +354,9 @@ function drawPager (pagerDiv)
? firstClkbl + 2*onsides
: pages;
- var prev = '<< ' + M('Prev') + ' | ';
+ var prev = '<< ' + M('Prev') + ' | ';
if (curPage > 1)
- prev = ''
+ prev = ''
+'<< ' + M('Prev') + ' | ';
var middle = '';
@@ -323,9 +369,9 @@ function drawPager (pagerDiv)
+ numLabel + ' ';
}
- var next = ' | ' + M('Next') + ' >>';
+ var next = ' | ' + M('Next') + ' >>';
if (pages - curPage > 0)
- next = ' | '
+ next = ' | '
+ M('Next') + ' >>';
var predots = '';
@@ -337,7 +383,7 @@ function drawPager (pagerDiv)
postdots = '...';
pagerDiv.innerHTML += '