in src/main/jbake/assets/js/tree.jquery.js [3194:3246]
JqTreeWidget.prototype._setInitialStateOnDemand = function(cb_finished) {
var autoOpenNodes, restoreState;
restoreState = (function(_this) {
return function() {
var state;
if (!(_this.options.saveState && _this.save_state_handler)) {
return false;
} else {
state = _this.save_state_handler.getStateFromStorage();
if (!state) {
return false;
} else {
_this.save_state_handler.setInitialStateOnDemand(state, cb_finished);
return true;
}
}
};
})(this);
autoOpenNodes = (function(_this) {
return function() {
var loadAndOpenNode, loading_count, max_level, openNodes;
max_level = _this._getAutoOpenMaxLevel();
loading_count = 0;
loadAndOpenNode = function(node) {
loading_count += 1;
return _this._openNode(node, false, function() {
loading_count -= 1;
return openNodes();
});
};
openNodes = function() {
_this.tree.iterate(function(node, level) {
if (node.load_on_demand) {
if (!node.is_loading) {
loadAndOpenNode(node);
}
return false;
} else {
_this._openNode(node, false);
return level !== max_level;
}
});
if (loading_count === 0) {
return cb_finished();
}
};
return openNodes();
};
})(this);
if (!restoreState()) {
return autoOpenNodes();
}
};