X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=tools%2Fhtdocs%2Fmkws.js;h=65848c9000b8cb262c5d32626bbc17bb40adea08;hb=c7eb1ed9a3bdced7967bb0fa4bfd8d2fb72a20f9;hp=c17c097bae32515104243b15e9aec559f39a3cf6;hpb=7ea0e2cad7e27c5f1d09b1658e12554ceb978d66;p=mkws-moved-to-github.git diff --git a/tools/htdocs/mkws.js b/tools/htdocs/mkws.js index c17c097..65848c9 100644 --- a/tools/htdocs/mkws.js +++ b/tools/htdocs/mkws.js @@ -72,7 +72,7 @@ Handlebars.registerHelper('index1', function(obj) { // Set up global mkws object. Contains truly global state such as SP -// authentication, and a hash of team objects, indexed by windowid. +// authentication, and a hash of team objects, indexed by team-name. // var mkws = { authenticated: false, @@ -228,22 +228,8 @@ function team($, teamName) { m_sort = mkws_config.sort_default; debug("copied mkws_config.sort_default '" + mkws_config.sort_default + "' to m_sort"); - // ### should be in global code - if (mkws_config.query_width < 5 || mkws_config.query_width > 150) { - debug("Reset query width: " + mkws_config.query_width); - mkws_config.query_width = 50; - } - - // ### should be in global code - 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]; - debug("Added locally configured language '" + lang + "'"); - } - } + if (!isNaN(parseInt(mkws_config.perpage_default))) { + m_perpage = parseInt(mkws_config.perpage_default); } // protocol independent link for pazpar2: "//mkws/sp" -> "https://mkws/sp" @@ -256,42 +242,47 @@ function team($, teamName) { // 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 - m_paz = new pz2({ "onshow": my_onshow, - "windowid": teamName, - "showtime": 500, //each timer (show, stat, term, bytarget) can be specified this way + m_paz = new pz2({ "windowid": teamName, "pazpar2path": mkws_config.pazpar2_url, - "oninit": my_oninit, - "onstat": my_onstat, - "onterm": (mkws_config.facets.length ? my_onterm : undefined), - "termlist": mkws_config.facets.join(','), - "onbytarget": my_onbytarget, "usesessions" : mkws_config.use_service_proxy ? false : true, - "showResponseType": '', // or "json" (for debugging?) - "onrecord": my_onrecord }); - - if (!isNaN(parseInt(mkws_config.perpage_default))) { - m_perpage = parseInt(mkws_config.perpage_default); - } + "oninit": onInit, + "onbytarget": onBytarget, + "onstat": onStat, + "onterm": (mkws_config.facets.length ? onTerm : undefined), + "onshow": onShow, + "onrecord": onRecord, + "showtime": 500, //each timer (show, stat, term, bytarget) can be specified this way + "termlist": mkws_config.facets.join(','), + "showResponseType": '' // or "json" (for debugging?) + }); // Finds the node of the specified class within the current team + // Multiple OR-clauses separated by commas are handled + // More complex cases may not work + // function findnode(selector, teamName) { teamName = teamName || m_teamName; - return $(selector + '.mkwsTeam_' + m_teamName); + + selector = selector.split(',').map(function(s) { + return s + '.mkwsTeam_' + teamName; + }).join(','); + + return $(selector); } // // pz2.js event handlers: // - function my_oninit(teamName) { + function onInit(teamName) { debug("init"); m_paz.stat(); m_paz.bytarget(); } - function my_onshow(data, teamName) { + function onShow(data, teamName) { debug("show"); m_totalRec = data.merged; @@ -328,7 +319,7 @@ function team($, teamName) { } - function my_onstat(data, teamName) { + function onStat(data, teamName) { debug("stat"); var stat = findnode('.mkwsStat'); if (stat.length === 0) @@ -342,14 +333,14 @@ function team($, teamName) { } - function my_onterm(data, teamName) { + function onTerm(data, teamName) { debug("term"); var node = findnode(".mkwsTermlists"); if (node.length == 0) return; // no facets: this should never happen if (!mkws_config.facets || mkws_config.facets.length == 0) { - alert("my_onterm called even though we have no facets: " + $.toJSON(data)); + alert("onTerm called even though we have no facets: " + $.toJSON(data)); node.hide(); return; } @@ -363,11 +354,11 @@ function team($, teamName) { for(var i = 0; i < facets.length; i++) { if (facets[i] == "xtargets") { - add_single_facet(acc, "Sources", data.xtargets, 16, null); + addSingleFacet(acc, "Sources", data.xtargets, 16, null); } else if (facets[i] == "subject") { - add_single_facet(acc, "Subjects", data.subject, 10, "subject"); + addSingleFacet(acc, "Subjects", data.subject, 10, "subject"); } else if (facets[i] == "author") { - add_single_facet(acc, "Authors", data.author, 10, "author"); + addSingleFacet(acc, "Authors", data.author, 10, "author"); } else { alert("bad facet configuration: '" + facets[i] + "'"); } @@ -377,7 +368,7 @@ function team($, teamName) { } - function add_single_facet(acc, caption, data, max, pzIndex) { + function addSingleFacet(acc, caption, data, max, pzIndex) { acc.push('