findnode() correctly handles selectors with commas ("or").
[mkws-moved-to-github.git] / tools / htdocs / mkws.js
index cd0a18e..177aa98 100644 (file)
@@ -275,8 +275,17 @@ function team($, teamName) {
 
 
     // Finds the node of the specified class within the current team
-    function findnode(s) {
-        return $(s + '.mkwsTeam_' + m_teamName);
+    // Multiple OR-clauses separated by commas are handled
+    // More complex cases may not work
+    //
+    function findnode(selector, teamName) {
+       teamName = teamName || m_teamName;
+
+       selector = selector.split(',').map(function(s) {
+           return s + '.mkwsTeam_' + teamName;
+       }).join(',');
+
+       return $(selector);
     }
 
 
@@ -751,8 +760,7 @@ function team($, teamName) {
     // switching view between targets and records
     that.switchView = function(view) {
        var targets = findnode('.mkwsTargets');
-       // ### Fix next line to use findnode()
-       var results = $('.mkwsResults.mkwsTeam_' + m_teamName + ',.mkwsRecords.mkwsTeam_' + m_teamName);
+       var results = findnode('.mkwsResults,.mkwsRecords');
        var blanket = findnode('.mkwsBlanket');
        var motd    = findnode('.mkwsMOTD');
 
@@ -822,7 +830,7 @@ function team($, teamName) {
            // Fall back to generic template if there is no team-specific one
            var node = findnode(".mkwsTemplate_" + name);
            if (!node.length) {
-               node = $(".mkwsTemplate_" + name + ".mkwsTeam_ALL");
+               node = findnode(".mkwsTemplate_" + name, "ALL");
            }
 
            var source = node.html();