X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=tools%2Fhtdocs%2Fmkws.js;h=e3f02a27afbf0018a92ef00aa24c2d1e5028b124;hb=ed4bbecdf389e73ac88b8f8b0158b8180d5945a0;hp=ef156877506af8d158a5712f1e4f1eb2ba0a085d;hpb=44f9694f200809e6c5cd7811988aa8e97c5917ac;p=mkws-moved-to-github.git diff --git a/tools/htdocs/mkws.js b/tools/htdocs/mkws.js index ef15687..e3f02a2 100644 --- a/tools/htdocs/mkws.js +++ b/tools/htdocs/mkws.js @@ -2,11 +2,10 @@ "use strict"; // HTML5: disable for debug_level >= 2 -// Set up namespace and some state. +// Set up global mkws object. Contains a hash of session objects, +// indexed by windowid. var mkws = { - sort: 'relevance', - authenticated: false, - filters: [] + sessions: {} }; // Define empty mkws_config for simple applications that don't define it. @@ -19,7 +18,14 @@ function _mkws($) { // if (console && console.log) console.log("run _mkws()"); // call this function only once - if (mkws.init) return; + if (mkws.init) { + alert("_mkws() called twice: how did that happen?!"); + return; + } + +mkws.sort = 'relevance'; +mkws.authenticated = false; +mkws.filters = []; mkws.locale_lang = { "de": { @@ -42,7 +48,8 @@ mkws.locale_lang = { "Date": "Datum", "Subject": "Schlagwort", "Location": "Ort", - // ### to add: Records, Targets + "Records": "Datensätze", + "Targets": "Datenbanken", "dummy": "dummy" }, @@ -67,7 +74,8 @@ mkws.locale_lang = { "Date": "Dato", "Subject": "Emneord", "Location": "Lokation", - // ### to add: Records, Targets + "Records": "Poster", + "Targets": "Baser", "dummy": "dummy" } @@ -108,6 +116,12 @@ Handlebars.registerHelper('json', function(obj) { }); +Handlebars.registerHelper('translate', function(s) { + debug("translating '" + s + "'"); + return M(s); +}); + + // We need {{attr '@name'}} because Handlebars can't parse {{@name}} Handlebars.registerHelper('attr', function(attrName) { return this[attrName]; @@ -201,6 +215,7 @@ Handlebars.registerHelper('commaList', function(items, options) { } } + mkws.sort = mkws_config.sort_default; debug("copied mkws_config.sort_default '" + mkws_config.sort_default + "' to mkws.sort"); @@ -222,6 +237,12 @@ for (var key in mkws_config) { } } +// protocol independend link for pazpar2: "//mkws/sp" -> "https://mkws/sp" +if (mkws_config.pazpar2_url.match(/^\/\//)) { + mkws_config.pazpar2_url = document.location.protocol + mkws_config.pazpar2_url; + debug("adjust protocol independend links: " + mkws_config.pazpar2_url); +} + debug("Create main pz2 object"); // create a parameters array and pass it to the pz2's constructor // then register the form submit event with the pz2.search function @@ -251,6 +272,10 @@ var SourceMax = 16; var SubjectMax = 10; var AuthorMax = 10; +if (!isNaN(parseInt(mkws_config.perpage_default))) { + recPerPage = parseInt(mkws_config.perpage_default); +} + // // pz2.js event handlers: // @@ -782,7 +807,7 @@ function defaultTemplate(name) return '\ \ \ - \ + \ \ {{#if md-date}}\ \ - \ + \ \ \ {{/if}}\ {{#if md-author}}\ \ - \ + \ \ \ {{/if}}\ {{#if md-electronic-url}}\ \ - \ + \ \ - \ + \ \ {{/if-any}}\ \ - \ + \
Title{{translate "Title"}}\ {{md-title}}\ {{#if md-title-remainder}}\ @@ -795,19 +820,19 @@ function defaultTemplate(name)
Date{{translate "Date"}}{{md-date}}
Author{{translate "Author"}}{{md-author}}
URL{{translate "URL"}}\ {{#each md-electronic-url}}\ {{this}}
\ @@ -817,7 +842,7 @@ function defaultTemplate(name) {{/if}}\ {{#if-any location having="md-subject"}}\
Subject{{translate "Subject"}}\ {{#first location having="md-subject"}}\ {{#if md-subject}}\ @@ -828,7 +853,7 @@ function defaultTemplate(name)
Locations{{translate "Locations"}}\ {{#commaList location}}\ {{attr "@name"}}{{/commaList}}\ @@ -1065,7 +1090,7 @@ function mkws_service_proxy_auth(auth_url, auth_domain, pp2_url) { debug("Run service proxy auth URL: " + auth_url); if (!auth_domain) { - auth_domain = pp2_url.replace(/^http:\/\/(.*?)\/.*/, '$1'); + auth_domain = pp2_url.replace(/^(https?:)?\/\/(.*?)\/.*/, '$2'); debug("guessed auth_domain '" + auth_domain + "' from pp2_url '" + pp2_url + "'"); } @@ -1191,9 +1216,16 @@ function M(word) { * implement jQuery plugin $.pazpar2({}) */ function _mkws_jquery_plugin ($) { - // delayed debug, internal variables are set after dom ready + var debug_level = 1; + function debug (string) { - setTimeout(function() { mkws.debug_function(string); }, 500); + if (!debug_level) + return; + + if (typeof console === "undefined" || typeof console.log === "undefined") + return; + + console.log("jquery.pazpar2: " + string); } function init_popup(obj) { @@ -1209,7 +1241,7 @@ function _mkws_jquery_plugin ($) { // make sure that jquery-ui was loaded afte jQuery core lib, e.g.: // if (!$.ui) { - debug("Error: jquery-ui.js is missing, did you included it after jquery core in the HTML file?"); + debug("Error: jquery-ui.js is missing, did you include it after jQuery core in the HTML file?"); return; }