X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=tools%2Fhtdocs%2Fmkws.js;h=646f58014b4da17b29c1bdf20559c4cb6c59984b;hb=c8d7a38bbdb2874e3f7a0ff4ec8c7f21727abee6;hp=2b34b2145c4f9687990ca043339db910b20e0cf1;hpb=0963738961d50ff0ae8d47317b9cf1bfed41acff;p=mkws-moved-to-github.git diff --git a/tools/htdocs/mkws.js b/tools/htdocs/mkws.js index 2b34b21..646f580 100644 --- a/tools/htdocs/mkws.js +++ b/tools/htdocs/mkws.js @@ -10,7 +10,6 @@ Handlebars.registerHelper('json', function(obj) { Handlebars.registerHelper('translate', function(s) { - debug("translating '" + s + "'"); return mkws.M(s); }); @@ -71,14 +70,14 @@ Handlebars.registerHelper('commaList', function(items, options) { // Handlebars helper 'translate' -// Set up global mkws object. Contains a hash of session objects, +// Set up global mkws object. Contains a hash of team objects, // indexed by windowid. var mkws = { authenticated: false, - init: false, debug_function: undefined, // will be set during initialisation debug_level: undefined, // will be initialised from mkws_config - sessions: {}, + paz: undefined, // will be set up during initialisation + teams: {}, locale_lang: { "de": { "Authors": "Autoren", @@ -142,7 +141,9 @@ if (mkws_config == null || typeof mkws_config != 'object') { // wrapper for jQuery lib -function _make_mkws_team($, teamName) { +function team($, teamName) { + var that = {}; + var m_teamName = teamName; var m_submitted = false; var m_query; // initially undefined var m_sort = 'relevance'; @@ -157,19 +158,15 @@ function _make_mkws_team($, teamName) { "start": $.now(), "last": $.now() }; + var m_paz; // will be initialised below - // call this function only once - if (mkws.init) { - alert("_make_mkws_team() called twice: how did that happen?!"); - return; - } - // if (console && console.log) // disabled, will fail in IE8 - // console.log("run _make_mkws_team(" + (teamName ? teamName : "") + ")"); + // console.log("run team(" + (teamName ? teamName : "") + ")"); - // Needs to be defined inside _make_mkws_team() so it can see m_debug_time + // Needs to be defined inside team() so it can see m_debug_time + // ### member access won't work: there is only one instance of this function mkws.debug_function = function (string) { if (!mkws.debug_level) return; @@ -193,53 +190,6 @@ function _make_mkws_team($, teamName) { var debug = mkws.debug_function; // local alias debug("start running MKWS"); - - { - - /* default mkws config */ - var config_default = { - use_service_proxy: true, - pazpar2_url: "http://mkws.indexdata.com/service-proxy/", - service_proxy_auth: "http://mkws.indexdata.com/service-proxy-auth", - lang: "", - sort_options: [["relevance"], ["title:1", "title"], ["date:0", "newest"], ["date:1", "oldest"]], - perpage_options: [10, 20, 30, 50], - sort_default: "relevance", - perpage_default: 20, - query_width: 50, - show_lang: true, /* show/hide language menu */ - show_sort: true, /* show/hide sort menu */ - show_perpage: true, /* show/hide perpage menu */ - lang_options: [], /* display languages links for given languages, [] for all */ - facets: ["sources", "subjects", "authors"], /* display facets, in this order, [] for none */ - responsive_design_width: undefined, /* a page with less pixel width considered as narrow */ - debug_level: 1, /* debug level for development: 0..2 */ - - dummy: "dummy" - }; - - /* set global debug_level flag early */ - if (typeof mkws_config.debug_level !== 'undefined') { - mkws.debug_level = mkws_config.debug_level; - } else if (typeof config_default.debug_level !== 'undefined') { - mkws.debug_level = config_default.debug_level; - } - - // make sure the mkws_config is a valid hash - if (!$.isPlainObject(mkws_config)) { - debug("ERROR: mkws_config is not an JS object, ignore it...."); - mkws_config = {}; - } - - /* override standard config values by function parameters */ - for (var k in config_default) { - if (typeof mkws_config[k] === 'undefined') - mkws_config[k] = config_default[k]; - debug("Set config: " + k + ' => ' + mkws_config[k]); - } - } - - m_sort = mkws_config.sort_default; debug("copied mkws_config.sort_default '" + mkws_config.sort_default + "' to m_sort"); @@ -259,27 +209,28 @@ function _make_mkws_team($, teamName) { } } - // protocol independend link for pazpar2: "//mkws/sp" -> "https://mkws/sp" + // protocol independent 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("adjust protocol independent 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 // autoInit is set to true on default - var m_paz = new pz2( { "onshow": my_onshow, - "showtime": 500, //each timer (show, stat, term, bytarget) can be specified this way - "pazpar2path": mkws_config.pazpar2_url, - "oninit": my_oninit, - "onstat": my_onstat, - "onterm": my_onterm, - "termlist": "xtargets,subject,author", - "onbytarget": my_onbytarget, - "usesessions" : mkws_config.use_service_proxy ? false : true, - "showResponseType": '', // or "json" (for debugging?) - "onrecord": my_onrecord } ); + m_paz = new pz2({ "onshow": my_onshow, + "windowid": teamName, + "showtime": 500, //each timer (show, stat, term, bytarget) can be specified this way + "pazpar2path": mkws_config.pazpar2_url, + "oninit": my_oninit, + "onstat": my_onstat, + "onterm": my_onterm, + "termlist": "xtargets,subject,author", + "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_recPerPage = parseInt(mkws_config.perpage_default); @@ -289,13 +240,15 @@ function _make_mkws_team($, teamName) { // // pz2.js event handlers: // - function my_oninit() { + function my_oninit(teamName) { + debug("init for " + teamName); m_paz.stat(); m_paz.bytarget(); } - function my_onshow(data) { + function my_onshow(data, teamName) { + debug("show for " + teamName); m_totalRec = data.merged; // move it out var pager = document.getElementById("mkwsPager"); @@ -309,7 +262,7 @@ function _make_mkws_team($, teamName) { } // navi - var results = document.getElementById("mkwsRecords"); + var results = $(".mkwsRecords.mkwsTeam_" + m_teamName); var html = []; for (var i = 0; i < data.hits.length; i++) { @@ -321,7 +274,7 @@ function _make_mkws_team($, teamName) { html.push(renderDetails(m_curDetRecData)); } } - replaceHtml(results, html.join('')); + results.html(html.join('')); } @@ -329,12 +282,13 @@ function _make_mkws_team($, teamName) { { var template = loadTemplate("Summary"); hit._id = "mkwsRec_" + hit.recid; - hit._onclick = "mkws.showDetails(this.id);return false;" + hit._onclick = "mkws.showDetails(this.id, '" + m_teamName + "');return false;" return template(hit); } - function my_onstat(data) { + function my_onstat(data, teamName) { + debug("stat for " + teamName); var stat = document.getElementById("mkwsStat"); if (stat == null) return; @@ -347,7 +301,8 @@ function _make_mkws_team($, teamName) { } - function my_onterm(data) { + function my_onterm(data, teamName) { + debug("term for " + teamName); // no facets if (!mkws_config.facets || mkws_config.facets.length == 0) { $("#mkwsTermlists").hide(); @@ -373,16 +328,16 @@ function _make_mkws_team($, teamName) { } } - var termlist = document.getElementById("mkwsTermlists"); + var termlist = $("#mkwsTermlists"); if (termlist) - replaceHtml(termlist, acc.join('')); + termlist.html(acc.join('')); } function add_single_facet(acc, caption, data, max, pzIndex) { acc.push('