X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=experiments%2Fspclient%2Fmkws.js;h=70672962456d1a6adefb7e242a8cb72a8c0e9cd0;hb=87ef8000ce7bd19a81bb2844ee5613cba0dac8b6;hp=6114955ffee0caeef1ad935cde764687dffcd7a7;hpb=d37a64ffac0420df8d47270f3815ad7b71b13a96;p=mkws-moved-to-github.git diff --git a/experiments/spclient/mkws.js b/experiments/spclient/mkws.js index 6114955..7067296 100644 --- a/experiments/spclient/mkws.js +++ b/experiments/spclient/mkws.js @@ -12,6 +12,8 @@ var service_proxy_url = mkws_config.service_proxy_url ? mkws_config.service_prox 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": { "Authors": "Autoren", @@ -36,17 +38,17 @@ var mkws_locale_lang = { "Authors": "Forfattere", "Subjects": "Emner", "Sources": "Kilder", - "TERMLISTS": "Termlisten", + "TERMLISTS": "TERMLISTS", "Next": "Næste", "Prev": "Forrige", "Search": "Søg", "Sort by": "Sorter efter", - "and show": "og show", + "and show": "og vis", "per page": "per side", - "Displaying": "Visning", + "Displaying": "Viser", "to": "til", - "of": "under", - "found": "fundet", + "of": "ud af", + "found": "fandt", "dummy": "dummy" } @@ -436,23 +438,37 @@ function mkws_html_all(data) { perpage_default: 20, query_width: 50, switch: true, /* show/hide Records|Targets menu */ + debug: 0, /* debug level for development: 0..2 */ dummy: "dummy" }; + /* set global debug flag early */ + if (data.debug !== 'undefined') { + mkws_debug = data.debug; + } else if (config.debug !== 'undefined') { + mkws_debug = config.debug; + } + /* override standard config values by function parameters */ for (var k in data) { config[k] = data[k]; + debug("Set config: " + k + ' => ' + data[k]); } + + mkws_set_lang(mkws_config); + mkws_html_lang(mkws_config); // For some reason, doing this programmatically results in // document.search.query being undefined, hence the raw HTML. + debug("HTML search form"); $("#mkwsSearch").html('\
\ \ \
'); + debug("HTML records"); $("#mkwsRecords").html('\ \ \ @@ -482,7 +498,21 @@ function mkws_html_all(data) { domReady(); } +function mkws_set_lang(mkws_config) { + var lang = jQuery.parseQuerystring().lang || mkws_config.lang || ""; + if (!lang || !mkws_locale_lang[lang]) { + mkws_config.lang = "" + } else { + mkws_config.lang = lang; + } + + debug("Locale language: " + (mkws_config.lang ? mkws_config.lang : "none")); + return mkws_config.lang; +} + function mkws_html_switch(config) { + debug("HTML switch"); + $("#mkwsSwitch").html($("", { href: '#', onclick: "switchView(\'records\')", @@ -495,6 +525,7 @@ function mkws_html_switch(config) { text: "Targets" })); + debug("HTML targets"); $("#mkwsTargets").html('\
\ No information available yet.\ @@ -502,11 +533,13 @@ function mkws_html_switch(config) { $("#mkwsTargets").css("display", "none"); if (!config.switch) { + debug("disable switch"); $("#mkwsSwitch").css("display", "none"); } } function mkws_html_sort(config) { + debug("HTML sort"); var sort_html = ''; for(var i = 0; i < config.perpage.length; i++) { @@ -549,6 +583,8 @@ function mkws_html_perpage(config) { function mkws_service_proxy_auth(auth_url) { if (!auth_url) auth_url = "/service-proxy-auth"; + + debug("Run service proxy auth URL: " + auth_url); var jqxhr = jQuery.get(auth_url) .fail(function() { @@ -567,6 +603,34 @@ function mkws_service_proxy_auth(auth_url) { }); } +/* create locale language menu */ +function mkws_html_lang(mkws_config) { + var lang_default = "en"; + var lang = mkws_config.lang || lang_default; + var list = [lang_default]; + + for (var k in mkws_locale_lang) { + list.push(k); + } + debug("Language menu for: " + list.join(", ")); + + var data = ""; + for(var i = 0; i < list.length; i++) { + var l = list[i]; + + if (data) + data += ' | '; + + if (lang == l) { + data += l; + } else { + data += ' ' + l + ' ' + } + } + + $("#mkwsLang").html(data); +} + /* locale */ function M(word) { var lang = mkws_config.lang; @@ -577,5 +641,29 @@ function M(word) { return mkws_locale_lang[lang][word] ? mkws_locale_lang[lang][word] : word; } +/* implement jQuery.parseQuerystring() for parsing URL parameters */ +jQuery.extend({ + parseQuerystring: function() { + var nvpair = {}; + var qs = window.location.search.replace('?', ''); + var pairs = qs.split('&'); + $.each(pairs, function(i, v){ + var pair = v.split('='); + nvpair[pair[0]] = pair[1]; + }); + return nvpair; +} }); + +function debug(string) { + if (!mkws_debug) + return; + + if (!console) { /* ARGH!!! */ + return; + } + + console.log(string); +} + /* magic */ $(document).ready(function() { mkws_html_all(mkws_config) });