Fix broken demand-tracking in DOMFragment.

This commit is contained in:
Tony Garnock-Jones 2014-03-10 11:44:01 -04:00
parent 58c989c56e
commit 0eb5d2b02b
1 changed files with 7 additions and 4 deletions

View File

@ -22,19 +22,22 @@ function DOMFragment(selector, fragmentClass, fragmentSpec) {
DOMFragment.prototype.boot = function () { DOMFragment.prototype.boot = function () {
var self = this; var self = this;
var monitoring = sub(["DOM", self.selector, self.fragmentClass, self.fragmentSpec], 1, 2);
World.spawn(new World(function () { World.spawn(new World(function () {
spawnJQueryDriver(self.selector+" > ."+self.fragmentClass, 1); spawnJQueryDriver(self.selector+" > ."+self.fragmentClass, 1);
World.spawn({ World.spawn({
maxRouteCount: 0,
handleEvent: function (e) { handleEvent: function (e) {
if (e.type === "routes") { if (e.type === "routes") {
this.maxRouteCount = Math.max(this.maxRouteCount, e.routes.length); var needed = false;
if (e.routes.length < this.maxRouteCount) { for (var i = 0; i < e.routes.length; i++) {
needed = needed || (e.routes[i].level === 0); // find participant peers
}
if (e.routes.length > 0 && !needed) {
World.shutdownWorld(); World.shutdownWorld();
} }
} }
} }
}, [sub(["DOM", self.selector, self.fragmentClass, self.fragmentSpec], 1, 1)]); }, [monitoring]);
})); }));
}; };