X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=src%2Fmkws-team.js;h=7c95c86a36c55c121c55ccc92cdc400a1f45e183;hb=6030b5f69deeebd240fba34de5a7666461179c4f;hp=88745b7ec745fc842ea4011a905bb945e9a9782f;hpb=637b62f52b3b834861c39f7a734d8d4f51182534;p=mkws-moved-to-github.git diff --git a/src/mkws-team.js b/src/mkws-team.js index 88745b7..7c95c86 100644 --- a/src/mkws-team.js +++ b/src/mkws-team.js @@ -332,10 +332,10 @@ function team($, teamName) { // switching view between targets and records function switchView(view) { - var targets = findnode('.mkwsTargets'); - var results = findnode('.mkwsResults,.mkwsRecords'); - var blanket = findnode('.mkwsBlanket'); - var motd = findnode('.mkwsMOTD'); + var targets = widgetNode('Targets'); + var results = widgetNode('Results') || widgetNode('Records'); + var blanket = widgetNode('Blanket'); + var motd = widgetNode('MOTD'); switch(view) { case 'targets': @@ -452,7 +452,7 @@ function team($, teamName) { mkwsHtmlSwitch(); findnode('.mkwsSearchForm').submit(function() { - var val = findnode('.mkwsQuery').val(); + var val = widgetNode('Query').val(); newSearch(val); return false; }); @@ -620,6 +620,13 @@ function team($, teamName) { that.findnode = findnode; + // This much simpler and more efficient function should be usable + // in place of most uses of findnode. + function widgetNode(type) { + var w = that.widget(type); + return w ? $(w.node) : undefined; + } + function renderDetails(data, marker) { var template = loadTemplate("Record"); var details = template(data); @@ -744,7 +751,7 @@ function team($, teamName) { that.addWidget = function(w) { if (!m_widgets[w.type]) { - m_widgets[w.type] = widget; + 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; @@ -755,6 +762,12 @@ function team($, 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]; }