X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=experiments%2Fspclient%2Fmkws.js;h=fb5e751a8ee3ab2ea5df6d8524ecb8a3932de972;hb=a5bf25ebca49cb20f18bc3133a65a684bebf69bf;hp=cad3ede6b1226d76964f8cbc57287ae424012d3b;hpb=88d05f3fa38f63d18b4ef0febfef13256f3129d3;p=mkws-moved-to-github.git diff --git a/experiments/spclient/mkws.js b/experiments/spclient/mkws.js index cad3ede..fb5e751 100644 --- a/experiments/spclient/mkws.js +++ b/experiments/spclient/mkws.js @@ -3,17 +3,24 @@ "use strict"; // HTML5: disable for debug >= 2 -// global config object mkws_config +/* + * 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; + 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 pazpar2path = mkws_config.use_service_proxy ? service_proxy_url : pazpar2_url; var usesessions = mkws_config.use_service_proxy ? false : true; -var mkws_debug = 1; var mkws_locale_lang = { "de": { @@ -442,10 +449,10 @@ function renderDetails(data, marker) * All the HTML stuff to render the search forms and * result pages. */ -function mkws_html_all(data) { +function mkws_html_all(config) { - /* default config */ - var config = { + /* default mkws config */ + var mkws_config_default = { sort: [["relevance"], ["title:1", "title"], ["date:0", "newest"], ["date:1", "oldest"]], perpage: [10, 20, 30, 50], sort_default: "relevance", @@ -461,17 +468,19 @@ function mkws_html_all(data) { }; /* set global debug flag early */ - if (data.debug !== 'undefined') { - mkws_debug = data.debug; - } else if (config.debug !== 'undefined') { + if (config.debug !== 'undefined') { mkws_debug = config.debug; + } else if (mkws_config_default.debug !== 'undefined') { + mkws_debug = mkws_config_default.debug; } /* override standard config values by function parameters */ - for (var k in data) { - config[k] = data[k]; - debug("Set config: " + k + ' => ' + data[k]); + for (var k in mkws_config_default) { + if (typeof config[k] === 'undefined') + mkws_config[k] = mkws_config_default[k]; + debug("Set config: " + k + ' => ' + mkws_config[k]); } + if (mkws_config.query_width < 5 || mkws_config.query_width > 150) { debug("Reset query width: " + mkws_config.query_width); mkws_config.query_width = 50; @@ -637,13 +646,15 @@ function mkws_html_lang(mkws_config) { hash[lang_display[i]] = 1; } - if (hash[lang_default] == 1) - list.push(lang_default); - for (var k in mkws_locale_lang) { if (hash[k] == 1 || lang_display.length == 0) list.push(k); } + + // add english link + if (lang_display.length == 0 || hash[lang_default] == 1) + list.push(lang_default); + debug("Language menu for: " + list.join(", ")); /* the HTML part */ @@ -657,7 +668,7 @@ function mkws_html_lang(mkws_config) { if (lang == l) { data += l; } else { - data += ' ' + l + ' ' + data += ' ' + l + ' ' } } @@ -676,7 +687,7 @@ function M(word) { /* implement jQuery.parseQuerystring() for parsing URL parameters */ jQuery.extend({ - parseQuerystring: function() { + parseQuerystring: function() { var nvpair = {}; var qs = window.location.search.replace('?', ''); var pairs = qs.split('&'); @@ -685,14 +696,27 @@ jQuery.extend({ nvpair[pair[0]] = pair[1]; }); return nvpair; -} }); + }, + pazpar2: function(data) { + document.write('
\ +
\ +
\ +
\ +
\ + '); + + mkws_html_all(mkws_config); + } +}); function debug(string) { if (!mkws_debug) return; - - var console; // IE8 quirks - if (!console) { /* ARGH!!! */ + + if (typeof console === "undefined" || typeof console.log === "undefined") { /* ARGH!!! old IE */ return; }