From: Mike Taylor Date: Tue, 15 Apr 2014 15:26:20 +0000 (+0100) Subject: Team now has has m_widgets hash, mapping type to widget object. X-Git-Tag: 1.0.0~954 X-Git-Url: http://sru.miketaylor.org.uk/cgi-bin?a=commitdiff_plain;h=b2d534358939d5b942863a9d5b4840221b6ad75d;p=mkws-moved-to-github.git Team now has has m_widgets hash, mapping type to widget object. New method team.registerWidget adds a widget to the register. New method team.widget returns the widget of a specified type, or a count if there is more than one such widget. --- diff --git a/src/mkws-team.js b/src/mkws-team.js index d6fc49f..1ea6a63 100644 --- a/src/mkws-team.js +++ b/src/mkws-team.js @@ -28,6 +28,7 @@ function team($, teamName) { 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 + ']'; }; @@ -741,6 +742,22 @@ function team($, teamName) { return s; } + that.addWidget = function(w) { + if (!m_widgets[w.type]) { + m_widgets[w.type] = widget; + 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.widget =function(type) { + return m_widgets[type]; + } mkwsHtmlAll()