X-Git-Url: http://git.indexdata.com/?p=mkws-moved-to-github.git;a=blobdiff_plain;f=src%2Fmkws-core.js;h=327519a2ef111450c4c53b4161fedb0b0a881e4c;hp=bbfa16fdc5d3e7be0218c3d35d589b6525caa735;hb=f4860b3d6d8965ad2999eca215adb801defdf7a2;hpb=9d1b6e16b3057439b5d50f98769424136c32adb8 diff --git a/src/mkws-core.js b/src/mkws-core.js index bbfa16f..327519a 100644 --- a/src/mkws-core.js +++ b/src/mkws-core.js @@ -3,7 +3,7 @@ * See the file LICENSE for details */ -"use strict"; // HTML5: disable for log_level >= 2 +"use strict"; // Set up global mkws object. Contains truly global state such as SP @@ -17,8 +17,7 @@ window.mkws = { authenticating: false, active: false, logger: undefined, - log_level: 1, // Will be overridden from mkws.config, but - // initial value allows jQuery popup to use logging. + log_level: "info", teams: {}, widgetType2function: {}, defaultTemplates: {}, @@ -91,29 +90,35 @@ if (typeof(mkws_jQuery) !== "undefined") { mkws.$ = jQuery; } +// It's ridiculous that JSNLog doesn't provide this +mkws.stringToLevel = function(s) { + if (s === 'trace') { + return JL.getTraceLevel(); + } else if (s === 'debug') { + return JL.getDebugLevel(); + } else if (s === 'info') { + return JL.getInfoLevel(); + } else if (s === 'warn') { + return JL.getWarnLevel(); + } else if (s === 'error') { + return JL.getErrorLevel(); + } else if (s === 'fatal') { + return JL.getFatalLevel(); + } else { + throw "bad log-level '" + s + "'"; + } +} + mkws.logger = JL('mkws'); var consoleAppender = JL.createConsoleAppender('consoleAppender'); -mkws.logger.setOptions({ "appenders": [consoleAppender]} ); - +mkws.logger.setOptions({ "appenders": [consoleAppender] }); -function _log(fn, string) { - if (!mkws.log_level) - return; - // you need to disable use strict at the top of the file!!! - if (mkws.log_level >= 3) { - // Works in Chrome; not sure about elsewhere - console.trace(); - } else if (mkws.log_level >= 2) { - - } - fn.call(mkws.logger, string); +function _log() { + var argsAsARealArray = Array.prototype.slice.call(arguments); + var fn = argsAsARealArray.shift(); + fn.apply(mkws.logger, argsAsARealArray); }; - - -// ### transitional placeholder function until we have promoted all invocations -mkws.log = function(x) { _log(mkws.logger.debug, "LEGACY LOG: " + x) }; - mkws.trace = function(x) { _log(mkws.logger.trace, x) }; mkws.debug = function(x) { _log(mkws.logger.debug, x) }; mkws.info = function(x) { _log(mkws.logger.info, x) }; @@ -146,7 +151,7 @@ mkws.getParameterByName = function(name, url) { mkws.registerWidgetType = function(name, fn) { if(mkws._old2new.hasOwnProperty(name)) { - mkws.warn("Warning: registerWidgetType old widget name: " + name + " => " + mkws._old2new[name]); + mkws.warn("registerWidgetType old widget name: " + name + " => " + mkws._old2new[name]); name = mkws._old2new[name]; } @@ -154,16 +159,18 @@ mkws.registerWidgetType = function(name, fn) { mkws.info("registered widget-type '" + name + "'"); }; +mkws.aliasWidgetType = function(newName, oldName) { + mkws.widgetType2function[newName] = mkws.widgetType2function[oldName]; + mkws.info("aliased widget-type '" + newName + "' to '" + oldName + "'"); + +}; + mkws.promotionFunction = function(name) { return mkws.widgetType2function[name]; }; mkws.setMkwsConfig = function(overrides) { - // Set global log_level flag early so that _log() works - var tmp = overrides.log_level; - if (typeof(tmp) !== 'undefined') mkws.log_level = tmp; - var config_default = { use_service_proxy: true, pazpar2_url: undefined, @@ -518,7 +525,7 @@ mkws.info("Using window.name '" + window.name + "'"); myTeam.addWidget(myWidget); var newHTML = this.innerHTML; if (newHTML !== oldHTML) { - myTeam.log("widget " + type + " HTML changed: reparsing"); + myTeam.info("widget " + type + " HTML changed: reparsing"); makeWidgetsWithin(level+1, $(this)); } }); @@ -613,7 +620,7 @@ mkws.info("Using window.name '" + window.name + "'"); for (var tName in mkws.teams) { var myTeam = mkws.teams[tName] myTeam.makePz2(); - myTeam.log("made PZ2 object"); + myTeam.info("made PZ2 object"); /* myTeam.visitWidgets(function(t, w) { mkws.debug(" has widget of type '" + t + "': " + w); @@ -663,4 +670,11 @@ mkws.info("Using window.name '" + window.name + "'"); } }); + // Set global log_level flag early so that _log() works + if (typeof mkws_config !== 'undefined') { + var tmp = mkws_config.log_level; + if (typeof tmp !== 'undefined') { + mkws.logger.setOptions({ "level": mkws.stringToLevel(tmp) }); + } + } })(mkws.$);