X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=tools%2Fhtdocs%2Fmkws.js;h=df0010244799781dac530f4852fdd3aba4e62ed6;hb=2b55e6d855f08eca88e5ea5a3a0975e125f21128;hp=05bb91cf94b2a66b156acb496b5ab6b4d756b22b;hpb=13a8a21fb144b2675f0e8671ed395d22ff7b9185;p=mkws-moved-to-github.git diff --git a/tools/htdocs/mkws.js b/tools/htdocs/mkws.js index 05bb91c..df00102 100644 --- a/tools/htdocs/mkws.js +++ b/tools/htdocs/mkws.js @@ -66,18 +66,11 @@ Handlebars.registerHelper('commaList', function(items, options) { -// Some functions are visible to be called from outside code, namely -// generated HTML: that.switchView(), showDetails(), limitTarget(), -// limitQuery(), delimitTarget(), delimitQuery(), pagerPrev(), -// pagerNext(), showPage(). Also mkws.M() is made available for the -// Handlebars helper 'translate' - - -// Set up global mkws object. Contains a hash of team objects, -// indexed by windowid. +// Set up global mkws object. Contains truly global state such as SP +// authentication, and a hash of team objects, indexed by windowid. +// var mkws = { authenticated: false, - debug_function: undefined, // will be set during initialisation debug_level: undefined, // will be initialised from mkws_config paz: undefined, // will be set up during initialisation teams: {}, @@ -149,7 +142,15 @@ if (mkws_config == null || typeof mkws_config != 'object') { } -// wrapper for jQuery lib +// Factory function for team objects. As much as possible, this uses +// only member variables (prefixed "m_") and inner functions with +// private scope. Some functions are visibl as member-functions to be +// called from outside code -- specifically, from generated +// HTML. These functions are that.switchView(), showDetails(), +// limitTarget(), limitQuery(), delimitTarget(), delimitQuery(), +// pagerPrev(), pagerNext(), showPage(). Also mkws.M() is made +// available for the Handlebars helper 'translate' +// function team($, teamName) { var that = {}; var m_teamName = teamName; @@ -184,19 +185,23 @@ function team($, teamName) { return; } - var now = $.now(); - var timestamp = ((now - m_debug_time.start)/1000).toFixed(3) + " (+" + ((now - m_debug_time.last)/1000).toFixed(3) + ") " - m_debug_time.last = now; - // you need to disable use strict at the top of the file!!! if (mkws.debug_level >= 3) { - console.log(timestamp + arguments.callee.caller); + console.log(arguments.callee.caller); } else if (mkws.debug_level >= 2) { - console.log(timestamp + ">>> called from function " + arguments.callee.caller.name + ' <<<'); + console.log(">>> called from function " + arguments.callee.caller.name + ' <<<'); } - console.log(m_teamName + ": " + timestamp + string); + console.log(string); + } + + var debug = function (s) { + var now = $.now(); + var timestamp = ((now - m_debug_time.start)/1000).toFixed(3) + " (+" + ((now - m_debug_time.last)/1000).toFixed(3) + ") " + m_debug_time.last = now; + + mkws.debug_function(m_teamName + ": " + timestamp + s); } - var debug = mkws.debug_function; // local alias + debug("start running MKWS"); m_sort = mkws_config.sort_default; @@ -452,7 +457,7 @@ function team($, teamName) { m_filters = [] redraw_navi(); - resetPage(); // ### the globals it resents should be indexed by windowid + resetPage(); loadSelect(); triggerSearch(query, sort, targets, windowid); that.switchView('records'); // In case it's configured to start off as hidden @@ -660,7 +665,7 @@ function team($, teamName) { var prev = '<< ' + M('Prev') + ' | '; if (m_curPage > 1) - prev = '' + prev = '' +'<< ' + M('Prev') + ' | '; var middle = ''; @@ -669,13 +674,13 @@ function team($, teamName) { if(i == m_curPage) numLabel = '' + i + ''; - middle += ' ' + middle += ' ' + numLabel + ' '; } var next = ' | ' + M('Next') + ' >>'; if (pages - m_curPage > 0) - next = ' | ' + next = ' | ' + M('Next') + ' >>'; var predots = ''; @@ -693,7 +698,7 @@ function team($, teamName) { } - mkws.showPage = function (pageNum) + that.showPage = function (pageNum) { m_curPage = pageNum; m_paz.showPage(m_curPage - 1); @@ -701,7 +706,7 @@ function team($, teamName) { // simple paging functions - mkws.pagerNext = function () { + that.pagerNext = function () { if (m_totalRec - m_perpage*m_curPage > 0) { m_paz.showNext(); m_curPage++; @@ -709,7 +714,7 @@ function team($, teamName) { } - mkws.pagerPrev = function () { + that.pagerPrev = function () { if (m_paz.showPrev() != false) m_curPage--; } @@ -1356,6 +1361,18 @@ function _mkws_jquery_plugin ($) { mkws.teams[tname].delimitQuery(field, value); } + mkws.showPage = function (tname, pageNum) { + mkws.teams[tname].showPage(pageNum); + } + + mkws.pagerPrev = function (tname) { + mkws.teams[tname].pagerPrev(); + } + + mkws.pagerNext = function (tname) { + mkws.teams[tname].pagerNext(); + } + function default_mkws_config() { /* default mkws config */