Walk across all MKWS nodes twice: once to make teams, then to make widgets.
authorMike Taylor <mike@indexdata.com>
Tue, 18 Mar 2014 17:39:29 +0000 (17:39 +0000)
committerMike Taylor <mike@indexdata.com>
Tue, 18 Mar 2014 17:39:29 +0000 (17:39 +0000)
It has to be done in two passes because the first pass has the
side-effect of creating some widget elements, e.g. mkwsResults has
mkwsTermlists created within it.

So far, no functional differences.

tools/htdocs/mkws.js

index 8c102b5..e1bcd06 100644 (file)
@@ -1473,6 +1473,14 @@ function team($, teamName) {
                    mkws.teams[tname] = team(j, tname);
                    debug("Made MKWS team '" + tname + "'");
                }
+           });
+       });
+       // Second pass: make the individual widget objects. This has
+       // to be done separately, and after the team-creation, since
+       // that sometimes makes new widget nodes (e.g. creating
+       // mkwsTermlists instead mkwsResults.
+       $('[class^="mkws"],[class*=" mkws"]').each(function () {
+           mkws.handleNodeWithTeam(this, function(tname, type) {
                var myTeam = mkws.teams[tname];
                var myWidget = widget(j, myTeam, type, this);
            });