mkws.handle_node_with_team() now works with both DOM nodes and jQuery
authorMike Taylor <mike@indexdata.com>
Fri, 28 Feb 2014 12:31:10 +0000 (12:31 +0000)
committerMike Taylor <mike@indexdata.com>
Fri, 28 Feb 2014 12:31:10 +0000 (12:31 +0000)
objects.

Previously it handled only the former. For some retarded reason
related to the JavaScript runtime, if it was given the latter (so that
node.className was undefined), pushing on and assigning
list = classes.split(/\s+/)
would not yield an error message: instead, this function and its
callers, up several stack level, silently return. What a crock.

This took FOREVER to find.

tools/htdocs/mkws.js

index ca77487..75a88c7 100644 (file)
@@ -1240,7 +1240,16 @@ function team($, teamName) {
 
 
     mkws.handle_node_with_team = function(node, callback) {
-       var classes = node.className;
+       // First branch for DOM objects; second branch for jQuery objects
+       var classes = node.className || node.attr('class');
+       if (!classes) {
+           // For some reason, if we try to proceed when classes is
+           // undefined, we don't get an error message, but this
+           // function and its callers, up several stack level,
+           // silently return. What a crock.
+           mkws.debug("handle_node_with_team() called on node with no classes");
+           return;
+       }
        var list = classes.split(/\s+/)
        var teamName, type;