Fix broken demand-tracking in DOMFragment.
This commit is contained in:
parent
58c989c56e
commit
0eb5d2b02b
|
@ -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]);
|
||||||
}));
|
}));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue