X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=tools%2Fhtdocs%2Fmkws.js;h=796fd2c2504c9a21ab0b0c448805d6b5a1a82279;hb=a4549c27facf4260bf93d71ef26d7a755063d13b;hp=163da6af5187686dc839d2acca7c5f8d0e8a53a8;hpb=e7a59689a9f67bd5745cc1fd455b654d4fb2b578;p=mkws-moved-to-github.git diff --git a/tools/htdocs/mkws.js b/tools/htdocs/mkws.js index 163da6a..796fd2c 100644 --- a/tools/htdocs/mkws.js +++ b/tools/htdocs/mkws.js @@ -179,9 +179,60 @@ function widget($, team, type, node) { node: node }; + var M = mkws.M; + + if (type === 'Targets') { + promoteTargets(); + } else if (type === 'Stat') { + promoteStat(); + } else { + // Unsupported widget type: call an extension? + } + // ### More to do here, surely: e.g. wiring into the team mkws.debug("made widget(team=" + team + ", type=" + type + ", node=" + node); + + function promoteTargets() { + mkws.queue("targets").subscribe(function(data) { + if (node.length === 0) alert("huh?!"); + + var table ='' + + '' + + '' + + '' + + '' + + '' + + ''; + + for (var i = 0; i < data.length; i++) { + table += ""; + } + + table += '
' + M('Target ID') + '' + M('Hits') + '' + M('Diags') + '' + M('Records') + '' + M('State') + '
" + data[i].id + + "" + data[i].hits + + "" + data[i].diagnostic + + "" + data[i].records + + "" + data[i].state + "
'; + var subnode = $(node).children('.mkwsBytarget'); + subnode.html(table); + }); + } + + + function promoteStat() { + mkws.queue("stat").subscribe(function(data) { + if (node.length === 0) alert("huh?!"); + + $(node).html('' + M('Status info') + '' + + ' -- ' + + '' + M('Active clients') + ': ' + data.activeclients + '/' + data.clients + '' + + ' -- ' + + '' + M('Retrieved records') + ': ' + data.records + '/' + data.hits + ''); + }); + } + + return that; } @@ -226,11 +277,7 @@ function team($, teamName) { debug("start running MKWS"); m_sort = mkws_config.sort_default; - debug("copied mkws_config.sort_default '" + mkws_config.sort_default + "' to m_sort"); - - if (!isNaN(parseInt(mkws_config.perpage_default))) { - m_perpage = parseInt(mkws_config.perpage_default); - } + m_perpage = mkws_config.perpage_default; debug("Create main pz2 object"); // create a parameters array and pass it to the pz2's constructor @@ -253,56 +300,26 @@ function team($, teamName) { // // pz2.js event handlers: // - function onInit(teamName) { + function onInit() { debug("init"); m_paz.stat(); m_paz.bytarget(); } - function onBytarget(data, teamName) { + function onBytarget(data) { debug("target"); - var targetDiv = findnode('.mkwsBytarget'); - if (!targetDiv) { - return; - } - - var table ='' + - '' + - '' + - '' + - '' + - '' + - ''; - - for (var i = 0; i < data.length; i++) { - table += ""; - } - - table += '
' + M('Target ID') + '' + M('Hits') + '' + M('Diags') + '' + M('Records') + '' + M('State') + '
" + data[i].id + - "" + data[i].hits + - "" + data[i].diagnostic + - "" + data[i].records + - "" + data[i].state + "
'; - targetDiv.html(table); + mkws.queue("targets").publish(data); } - function onStat(data, teamName) { + function onStat(data) { debug("stat"); - var stat = findnode('.mkwsStat'); - if (stat.length === 0) - return; - - stat.html('' + M('Status info') + '' + - ' -- ' + - '' + M('Active clients') + ': ' + data.activeclients + '/' + data.clients + '' + - ' -- ' + - '' + M('Retrieved records') + ': ' + data.records + '/' + data.hits + ''); + mkws.queue("stat").publish(data); } - function onTerm(data, teamName) { + function onTerm(data) { debug("term"); var node = findnode(".mkwsTermlists"); if (node.length == 0) return; @@ -366,7 +383,7 @@ function team($, teamName) { function onRecord(data, args, teamName) { - debug("record: teamName=" + teamName + ", m_teamName=" + m_teamName); + debug("record"); // FIXME: record is async!! clearTimeout(m_paz.recordTimer); // in case on_show was faster to redraw element @@ -414,6 +431,60 @@ function team($, teamName) { } + function drawPager (data) + { + var s = '
' + M('Displaying') + ': ' + + (data.start + 1) + ' ' + M('to') + ' ' + (data.start + data.num) + + ' ' + M('of') + ' ' + data.merged + ' (' + M('found') + ': ' + + data.total + ')
'; + + //client indexes pages from 1 but pz2 from 0 + var onsides = 6; + var pages = Math.ceil(m_totalRec / m_perpage); + + var firstClkbl = (m_curPage - onsides > 0) + ? m_curPage - onsides + : 1; + + var lastClkbl = firstClkbl + 2*onsides < pages + ? firstClkbl + 2*onsides + : pages; + + var prev = '<< ' + M('Prev') + ' | '; + if (m_curPage > 1) + prev = '' + +'<< ' + M('Prev') + ' | '; + + var middle = ''; + for(var i = firstClkbl; i <= lastClkbl; i++) { + var numLabel = i; + if(i == m_curPage) + numLabel = '' + i + ''; + + middle += ' ' + + numLabel + ' '; + } + + var next = ' | ' + M('Next') + ' >>'; + if (pages - m_curPage > 0) + next = ' | ' + + M('Next') + ' >>'; + + var predots = ''; + if (firstClkbl > 1) + predots = '...'; + + var postdots = ''; + if (lastClkbl < pages) + postdots = '...'; + + s += '
' + + prev + predots + middle + postdots + next + '
'; + + return s; + } + + //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// @@ -456,6 +527,31 @@ function team($, teamName) { } + function redrawNavi () + { + var navi = findnode('.mkwsNavi'); + if (!navi) return; + + var text = ""; + for (var i in m_filters) { + if (text) { + text += " | "; + } + var filter = m_filters[i]; + if (filter.id) { + text += M('source') + ': ' + filter.name + ''; + } else { + text += M(filter.field) + ': ' + filter.value + ''; + } + } + + navi.html(text); + } + + function resetPage() { m_curPage = 1; @@ -463,6 +559,21 @@ function team($, teamName) { } + function loadSelect () + { + var node = findnode('.mkwsSort'); + if (node.length && node.val() != m_sort) { + debug("changing m_sort from " + m_sort + " to " + node.val()); + m_sort = node.val(); + } + node = findnode('.mkwsPerpage'); + if (node.length && node.val() != m_perpage) { + debug("changing m_perpage from " + m_perpage + " to " + node.val()); + m_perpage = node.val(); + } + } + + function triggerSearch (query, sort, targets) { var pp2filter = ""; @@ -510,21 +621,6 @@ function team($, teamName) { } - function loadSelect () - { - var node = findnode('.mkwsSort'); - if (node.length && node.val() != m_sort) { - debug("changing m_sort from " + m_sort + " to " + node.val()); - m_sort = node.val(); - } - node = findnode('.mkwsPerpage'); - if (node.length && node.val() != m_perpage) { - debug("changing m_perpage from " + m_perpage + " to " + node.val()); - m_perpage = node.val(); - } - } - - // limit by target functions that.limitTarget = function (id, name) { @@ -599,85 +695,6 @@ function team($, teamName) { } - function redrawNavi () - { - var navi = findnode('.mkwsNavi'); - if (!navi) return; - - var text = ""; - for (var i in m_filters) { - if (text) { - text += " | "; - } - var filter = m_filters[i]; - if (filter.id) { - text += M('source') + ': ' + filter.name + ''; - } else { - text += M(filter.field) + ': ' + filter.value + ''; - } - } - - navi.html(text); - } - - - function drawPager (data) - { - var s = '
' + M('Displaying') + ': ' - + (data.start + 1) + ' ' + M('to') + ' ' + (data.start + data.num) + - ' ' + M('of') + ' ' + data.merged + ' (' + M('found') + ': ' - + data.total + ')
'; - - //client indexes pages from 1 but pz2 from 0 - var onsides = 6; - var pages = Math.ceil(m_totalRec / m_perpage); - - var firstClkbl = (m_curPage - onsides > 0) - ? m_curPage - onsides - : 1; - - var lastClkbl = firstClkbl + 2*onsides < pages - ? firstClkbl + 2*onsides - : pages; - - var prev = '<< ' + M('Prev') + ' | '; - if (m_curPage > 1) - prev = '' - +'<< ' + M('Prev') + ' | '; - - var middle = ''; - for(var i = firstClkbl; i <= lastClkbl; i++) { - var numLabel = i; - if(i == m_curPage) - numLabel = '' + i + ''; - - middle += ' ' - + numLabel + ' '; - } - - var next = ' | ' + M('Next') + ' >>'; - if (pages - m_curPage > 0) - next = ' | ' - + M('Next') + ' >>'; - - var predots = ''; - if (firstClkbl > 1) - predots = '...'; - - var postdots = ''; - if (lastClkbl < pages) - postdots = '...'; - - s += '
' - + prev + predots + middle + postdots + next + '
'; - - return s; - } - - that.showPage = function (pageNum) { m_curPage = pageNum; @@ -862,21 +879,46 @@ function team($, teamName) { } - function mkwsHtmlSwitch() { - debug("HTML switch for team " + m_teamName); + /* create locale language menu */ + function mkwsHtmlLang() { + var lang_default = "en"; + var lang = mkws_config.lang || lang_default; + var list = []; - var node = findnode(".mkwsSwitch"); - node.append($('' + M('Records') + '')); - node.append($("", { text: " | " })); - node.append($('' + M('Targets') + '')); + /* display a list of configured languages, or all */ + var lang_options = mkws_config.lang_options || []; + var toBeIncluded = {}; + for (var i = 0; i < lang_options.length; i++) { + toBeIncluded[lang_options[i]] = true; + } - debug("HTML targets"); - var node = findnode(".mkwsTargets"); - node.html('\ -
\ - No information available yet.\ -
'); - node.css("display", "none"); + for (var k in mkws.locale_lang) { + if (toBeIncluded[k] || lang_options.length == 0) + list.push(k); + } + + // add english link + if (lang_options.length == 0 || toBeIncluded[lang_default]) + list.push(lang_default); + + debug("Language menu for: " + list.join(", ")); + + /* the HTML part */ + 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 + ' ' + } + } + + findnode(".mkwsLang").html(data); } @@ -920,46 +962,21 @@ function team($, teamName) { } - /* create locale language menu */ - function mkwsHtmlLang() { - var lang_default = "en"; - var lang = mkws_config.lang || lang_default; - var list = []; - - /* display a list of configured languages, or all */ - var lang_options = mkws_config.lang_options || []; - var toBeIncluded = {}; - for (var i = 0; i < lang_options.length; i++) { - toBeIncluded[lang_options[i]] = true; - } - - for (var k in mkws.locale_lang) { - if (toBeIncluded[k] || lang_options.length == 0) - list.push(k); - } - - // add english link - if (lang_options.length == 0 || toBeIncluded[lang_default]) - list.push(lang_default); - - debug("Language menu for: " + list.join(", ")); - - /* the HTML part */ - var data = ""; - for(var i = 0; i < list.length; i++) { - var l = list[i]; - - if (data) - data += ' | '; + function mkwsHtmlSwitch() { + debug("HTML switch for team " + m_teamName); - if (lang == l) { - data += ' ' + l + ' '; - } else { - data += ' ' + l + ' ' - } - } + var node = findnode(".mkwsSwitch"); + node.append($('' + M('Records') + '')); + node.append($("", { text: " | " })); + node.append($('' + M('Targets') + '')); - findnode(".mkwsLang").html(data); + debug("HTML targets"); + var node = findnode(".mkwsTargets"); + node.html('\ +
\ + No information available yet.\ +
'); + node.css("display", "none"); }