/*! MKWS, the MasterKey Widget Set.
- * Copyright (C) 2013-2014 Index Data
+ * Copyright (C) 2013-2015 Index Data
* 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
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: {},
"Date": "Datum",
"Subject": "Schlagwort",
"subject": "schlagwort",
- "Location": "Ort",
+ "Location": "Bestand",
+ "Locations": "Bestand",
"Records": "Datensätze",
"Targets": "Datenbanken",
+ "State": "Status",
+ "relevance": "Relevanz",
+ "title": "Titel",
+ "newest": "Neueste",
+ "oldest": "Älteste",
"dummy": "dummy"
},
"Subject": "Emneord",
"subject": "emneord",
"Location": "Lokation",
+ "Locations": "Lokationer",
"Records": "Poster",
"Targets": "Baser",
+ "State": "Status",
+ "relevance": "Relevans",
+ "title": "Titel",
+ "newest": "Nyeste",
+ "oldest": "Ældste",
"dummy": "dummy"
}
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]} );
-
-
-function _log(fn, string) {
- if (!mkws.log_level)
- return;
+mkws.logger.setOptions({ "appenders": [consoleAppender] });
- // 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) };
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];
}
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,
// or a selector string you would like to constrain the search for widgets to.
//
// This function has no side effects if run again on an operating session,
- // even if the element/selector passed causes existing widgets to be reparsed:
+ // even if the element/selector passed causes existing widgets to be reparsed:
//
// (TODO: that last bit isn't true and we currently have to avoid reinitialising
// widgets, MKWS-261)
mkws.init = function(message, rootsel) {
var greet = "MKWS initialised";
if (rootsel) greet += " (limited to " + rootsel + ")"
- if (message) greet += " :: " + message;
+ if (message) greet += " :: " + message;
mkws.info(greet);
// MKWS is not active until init() has been run against an object with widget nodes.
} else if (!mkws.authenticating) {
// raw pp2 or we have a session already open
runAutoSearches();
+ for (var teamName in mkws.teams) {
+ mkws.teams[teamName].queue("authenticated").publish();
+ }
}
-
+
mkws.isActive = true;
return true;
};
}
});
+ // 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.$);