X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=tools%2Fhtdocs%2Fmkws.js;h=57d560660b525d0b22c627d51d1e1db6ce7b6079;hb=f869d536eca69f90dad06f4cbc1ce6d59ecd0887;hp=e9da39d6fcdc323c77e83775985e47ba9a7a704e;hpb=2ff86cfc8d8fd83b34a8600f3e7bc0a4e0da60d3;p=mkws-moved-to-github.git diff --git a/tools/htdocs/mkws.js b/tools/htdocs/mkws.js index e9da39d..57d5606 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; @@ -170,33 +171,14 @@ function team($, teamName) { var m_paz; // will be initialised below - // if (console && console.log) // disabled, will fail in IE8 - // console.log("run team(" + (teamName ? teamName : "") + ")"); - - - // 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; - - if (typeof console === "undefined" || typeof console.log === "undefined") { /* ARGH!!! old IE */ - return; - } - + 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; - // you need to disable use strict at the top of the file!!! - if (mkws.debug_level >= 3) { - console.log(timestamp + arguments.callee.caller); - } else if (mkws.debug_level >= 2) { - console.log(timestamp + ">>> called from function " + arguments.callee.caller.name + ' <<<'); - } - console.log(m_teamName + ": " + timestamp + string); + mkws.debug_function(m_teamName + ": " + timestamp + s); } - var debug = mkws.debug_function; // local alias + debug("start running MKWS"); m_sort = mkws_config.sort_default; @@ -1275,6 +1257,24 @@ function _mkws_jquery_plugin ($) { // wrapper to call team() after page load (function (j) { + mkws.debug_function = function (string) { + if (!mkws.debug_level) + return; + + if (typeof console === "undefined" || typeof console.log === "undefined") { /* ARGH!!! old IE */ + return; + } + + // you need to disable use strict at the top of the file!!! + if (mkws.debug_level >= 3) { + console.log(arguments.callee.caller); + } else if (mkws.debug_level >= 2) { + console.log(">>> called from function " + arguments.callee.caller.name + ' <<<'); + } + console.log(string); + } + + function log(s) { if (typeof console === "undefined" || typeof console.log === "undefined") { /* ARGH!!! old IE */ return;