X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=tools%2Fhtdocs%2Fmkws.js;h=2c716101f9e765ee097f61e0fd3091cbb90d179f;hb=fc26ddbf9dfec3deb9a75b79eb3c293fbf73a754;hp=08b78627c545105991f49245f69e44db956acae1;hpb=6ad264891941d02dda2b751680806750940cfe72;p=mkws-moved-to-github.git diff --git a/tools/htdocs/mkws.js b/tools/htdocs/mkws.js index 08b7862..2c71610 100644 --- a/tools/htdocs/mkws.js +++ b/tools/htdocs/mkws.js @@ -375,7 +375,6 @@ function team($, teamName) { debug("target for " + teamName); var targetDiv = $('.mkwsBytarget.mkwsTeam_' + teamName); if (!targetDiv) { - // No mkwsTargets div. return; } @@ -451,7 +450,7 @@ function team($, teamName) { resetPage(); // ### the globals it resents should be indexed by windowid loadSelect(); // ### should use windowid triggerSearch(query, sort, targets, windowid); - mkws.switchView('records'); // In case it's configured to start off as hidden + mkws.switchView(m_teamName, 'records'); // In case it's configured to start off as hidden m_submitted = true; } @@ -701,12 +700,11 @@ function team($, teamName) { // switching view between targets and records - mkws.switchView = function(view) { - debug("switchView: " + view); + mkws.switchView = function(tname, view) { + debug("switchView(" + tname + ", " + view + ")"); - //var targets = document.getElementById('mkwsTargets'); - var targets = $('#mkwsTargets'); - var results = $('#mkwsResults,#mkwsRecords'); + var targets = $('.mkwsTargets.mkwsTeam_' + tname); + var results = $('.mkwsResults.mkwsTeam_' + tname + ',.mkwsRecords.mkwsTeam_' + tname); var blanket = $('#mkwsBlanket'); var motd = $('#mkwsMOTD'); @@ -724,7 +722,7 @@ function team($, teamName) { if (motd) motd.css('display', 'none'); break; case 'none': - alert("mkws.switchView('none') shouldn't happen"); + alert("mkws.switchView(" + tname + ", 'none') shouldn't happen"); if (targets) targets.css('display', 'none'); if (results) results.css('display', 'none'); if (blanket) blanket.css('display', 'none'); @@ -878,7 +876,8 @@ function team($, teamName) { // For some reason, doing this programmatically results in // document.mkwsSearchForm.mkwsQuery being undefined, hence the raw HTML. debug("HTML search form"); - $('.mkwsSearch').each(function (i, obj) { + // ### There is only one match here by design: fix not to bother looping + $('.mkwsSearch.mkwsTeam_' + m_teamName).each(function (i, obj) { var node = this; mkws.handle_node_with_team(node, function(tname) { $(node).html('\ @@ -890,16 +889,17 @@ function team($, teamName) { }); debug("HTML records"); - // If the application has an #mkwsResults, populate it in the - // usual way. If not, assume that it's a smarter application that - // defines its own subcomponents: - // #mkwsTermlists - // #mkwsRanking - // #mkwsPager - // #mkwsNavi - // #mkwsRecords - if ($("#mkwsResults").length) { - $("#mkwsResults").html('\ + // If the team has a .mkwsResults, populate it in the usual + // way. If not, assume that it's a smarter application that + // defines its own subcomponents, some or all of the + // following: + // .mkwsTermlists + // .mkwsRanking + // .mkwsPager + // .mkwsNavi + // .mkwsRecords + if ($(".mkwsResults.mkwsTeam_" + m_teamName).length) { + $(".mkwsResults.mkwsTeam_" + m_teamName).html('\ \ \
\ @@ -988,9 +988,9 @@ function team($, teamName) { debug("HTML switch for team " + m_teamName); var node = $(".mkwsSwitch.mkwsTeam_" + m_teamName); - node.append($('' + M('Records') + '')); + node.append($('' + M('Records') + '')); node.append($("", { text: " | " })); - node.append($('' + M('Targets') + '')); + node.append($('' + M('Targets') + '')); debug("HTML targets"); var node = $(".mkwsTargets.mkwsTeam_" + m_teamName); @@ -1050,18 +1050,18 @@ function team($, teamName) { /* display a list of configured languages, or all */ var lang_options = mkws_config.lang_options || []; - var hash = {}; + var toBeIncluded = {}; for (var i = 0; i < lang_options.length; i++) { - hash[lang_options[i]] = 1; + toBeIncluded[lang_options[i]] = true; } for (var k in mkws.locale_lang) { - if (hash[k] == 1 || lang_options.length == 0) + if (toBeIncluded[k] || lang_options.length == 0) list.push(k); } // add english link - if (lang_options.length == 0 || hash[lang_default] == 1) + if (lang_options.length == 0 || toBeIncluded[lang_default]) list.push(lang_default); debug("Language menu for: " + list.join(", ")); @@ -1081,7 +1081,7 @@ function team($, teamName) { } } - $("#mkwsLang").html(data); + $(".mkwsLang.mkwsTeam_" + m_teamName).html(data); } @@ -1311,11 +1311,20 @@ function _mkws_jquery_plugin ($) { var id = 'mkws' + ids[i]; var node = $('#' + id); if (node.attr('id')) { - node.addClass(id + " mkwsTeam_AUTO"); - log("added magic classes to '" + node.attr('id') + "'"); + node.addClass(id); + log("added magic class to '" + node.attr('id') + "'"); } } + // For all MKWS-classed nodes that don't have a team + // specified, set the team to AUTO. + $('div[class^="mkws"],div[class*=" mkws"]').each(function () { + if (!this.className.match(/mkwsTeam_/)) { + log("adding AUTO team to node with class '" + this.className + "'"); + $(this).addClass('mkwsTeam_AUTO'); + } + }); + // Find all nodes with class (NOT id) mkwsRecords, and // determine their team from the mkwsTeam_* class. So: //
@@ -1352,8 +1361,6 @@ function _mkws_jquery_plugin ($) { tname = cname.replace(/^mkwsTeam_/, ''); } } - if (!tname) - tname = "AUTO"; callback(tname); } @@ -1414,11 +1421,11 @@ function _mkws_jquery_plugin ($) { * for the site. */ function authenticate_session(auth_url, auth_domain, pp2_url) { - console.log("Run service proxy auth URL: " + auth_url); + log("Run service proxy auth URL: " + auth_url); if (!auth_domain) { auth_domain = pp2_url.replace(/^(https?:)?\/\/(.*?)\/.*/, '$2'); - console.log("guessed auth_domain '" + auth_domain + "' from pp2_url '" + pp2_url + "'"); + log("guessed auth_domain '" + auth_domain + "' from pp2_url '" + pp2_url + "'"); } var request = new pzHttpRequest(auth_url, function(err) { @@ -1437,7 +1444,7 @@ function _mkws_jquery_plugin ($) { return; } - console.log("Service proxy auth successfully done"); + log("Service proxy auth successfully done"); mkws.authenticated = true; run_auto_searches(); }); @@ -1445,13 +1452,13 @@ function _mkws_jquery_plugin ($) { function run_auto_searches() { - console.log("running auto searches"); + log("running auto searches"); for (var teamName in mkws.teams) { // ### should check mkwsTermlist as well, for facet-only teams var node = $('.mkwsRecords.mkwsTeam_' + teamName); var query = node.attr('autosearch'); - console.log("teamName '" + teamName + "', node=" + node + ", class='" + node.className + "', query=" + query); + log("teamName '" + teamName + "', node=" + node + ", class='" + node.className + "', query=" + query); if (query) { var sort = node.attr('sort'); @@ -1460,9 +1467,9 @@ function _mkws_jquery_plugin ($) { if (teamName) s += " [teamName '" + teamName + "']"; if (sort) s += " sorted by '" + sort + "'"; if (targets) s += " in targets '" + targets + "'"; - console.log(s); + log(s); var team = mkws.teams[teamName]; - console.log($.toJSON(team)); + log($.toJSON(team)); team.newSearch(query, sort, targets, teamName); } }