X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=tools%2Fhtdocs%2Fmkws.js;h=0b0a5099537baaa245333e0cdb79213f2be07958;hb=4a46b49eca2fe9a7b3bf01c3934215367b7e3050;hp=fb72ddb02df2acac3774dbadfa492013fb97b3fb;hpb=93fbae933da149a1aeaf84db02fa5f08966bacaf;p=mkws-moved-to-github.git diff --git a/tools/htdocs/mkws.js b/tools/htdocs/mkws.js index fb72ddb..0b0a509 100644 --- a/tools/htdocs/mkws.js +++ b/tools/htdocs/mkws.js @@ -164,6 +164,8 @@ function widget($, team, type, node) { promoteStat(); } else if (type === 'Termlists') { promoteTermlists(); + } else if (type === 'Pager') { + promotePager(); } else { // ### Handle other types here } @@ -276,6 +278,66 @@ function widget($, team, type, node) { } }); } + + + function promotePager() { + team.queue("pager").subscribe(function(data) { + $(node).html(drawPager(data)) + + 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(team.totalRecordCount() / team.perpage()); + var currentPage = team.currentPage(); + + var firstClkbl = (currentPage - onsides > 0) + ? currentPage - onsides + : 1; + + var lastClkbl = firstClkbl + 2*onsides < pages + ? firstClkbl + 2*onsides + : pages; + + var prev = '<< ' + M('Prev') + ' | '; + if (currentPage > 1) + prev = '' + +'<< ' + M('Prev') + ' | '; + + var middle = ''; + for(var i = firstClkbl; i <= lastClkbl; i++) { + var numLabel = i; + if(i == currentPage) + numLabel = '' + i + ''; + + middle += ' ' + + numLabel + ' '; + } + + var next = ' | ' + M('Next') + ' >>'; + if (pages - currentPage > 0) + next = ' | ' + + M('Next') + ' >>'; + + var predots = ''; + if (firstClkbl > 1) + predots = '...'; + + var postdots = ''; + if (lastClkbl < pages) + postdots = '...'; + + s += '
' + + prev + predots + middle + postdots + next + '
'; + + return s; + } + }); + } } @@ -290,7 +352,6 @@ function widget($, team, type, node) { function team($, teamName) { var that = {}; var m_teamName = teamName; - that.name = function() { return m_teamName; } var m_submitted = false; var m_query; // initially undefined var m_sortOrder; // will be set below @@ -308,6 +369,10 @@ function team($, teamName) { var m_paz; // will be initialised below var m_template = {}; + that.name = function() { return m_teamName; } + that.perpage = function() { return m_perpage; } + that.totalRecordCount = function() { return m_totalRecordCount; } + that.currentPage = function() { return m_currentPage; } var debug = function (s) { var now = $.now(); @@ -372,10 +437,7 @@ function team($, teamName) { debug("show"); m_totalRecordCount = data.merged; - var pager = findnode(".mkwsPager"); - if (pager.length) { - pager.html(drawPager(data)) - } + queue("pager").publish(data); var results = findnode(".mkwsRecords"); if (!results.length) @@ -422,60 +484,6 @@ 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_totalRecordCount / m_perpage); - - var firstClkbl = (m_currentPage - onsides > 0) - ? m_currentPage - onsides - : 1; - - var lastClkbl = firstClkbl + 2*onsides < pages - ? firstClkbl + 2*onsides - : pages; - - var prev = '<< ' + M('Prev') + ' | '; - if (m_currentPage > 1) - prev = '' - +'<< ' + M('Prev') + ' | '; - - var middle = ''; - for(var i = firstClkbl; i <= lastClkbl; i++) { - var numLabel = i; - if(i == m_currentPage) - numLabel = '' + i + ''; - - middle += ' ' - + numLabel + ' '; - } - - var next = ' | ' + M('Next') + ' >>'; - if (pages - m_currentPage > 0) - next = ' | ' - + M('Next') + ' >>'; - - var predots = ''; - if (firstClkbl > 1) - predots = '...'; - - var postdots = ''; - if (lastClkbl < pages) - postdots = '...'; - - s += '
' - + prev + predots + middle + postdots + next + '
'; - - return s; - } - - //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// @@ -570,7 +578,7 @@ function team($, teamName) { var pp2filter = ""; var pp2limit = ""; - // Re-use previous query/sort-order if new ones are not specified + // Continue to use previous query/sort-order unless new ones are specified if (query) { m_query = query; }