handleNodeWithTeam(this, function(tname, type) {
var myTeam = mkws.teams[tname];
var myWidget = widget(j, myTeam, type, this);
+ myTeam.addWidget(myWidget);
});
});
var now = $.now();
log("Walking MKWS nodes took " + (now-then) + " ms");
+// for (var tName in mkws.teams) {
+// var myTeam = mkws.teams[tName]
+// var types = myTeam.widgetTypes();
+// log("TEAM '" + tName + "' = " + myTeam + " has widget types " + types);
+// for (var i = 0; i < types.length; i++) {
+// var type = types[i];
+// log(" has widget of type '" + type + "': " + myTeam.widget(type));
+// }
+// }
+
if (mkws.config.use_service_proxy) {
authenticateSession(mkws.config.service_proxy_auth,
mkws.config.service_proxy_auth_domain,
var m_paz; // will be initialised below
var m_template = {};
var m_config = mkws.objectInheritingFrom(mkws.config);
+ var m_widgets = {}; // Maps widget-type to object
that.toString = function() { return '[Team ' + teamName + ']'; };
return s;
}
+ that.addWidget = function(w) {
+ if (!m_widgets[w.type]) {
+ m_widgets[w.type] = w;
+ log("Registered '" + w.type + "' widget in team '" + m_teamName + "'");
+ } else if (typeof(m_widgets[w.type]) !== 'number') {
+ m_widgets[w.type] = 2;
+ log("Registered duplicate '" + w.type + "' widget in team '" + m_teamName + "'");
+ } else {
+ m_widgets[w.type] += 1;
+ log("Registered '" + w.type + "' widget #" + m_widgets[w.type] + "' in team '" + m_teamName + "'");
+ }
+ }
+
+ that.widgetTypes = function() {
+ var keys = [];
+ for (var k in m_widgets) keys.push(k);
+ return keys.sort();
+ }
+
+ that.widget = function(type) {
+ return m_widgets[type];
+ }
mkwsHtmlAll()