fix theme==undefined in cloud9 splitview

This commit is contained in:
nightwing 2013-03-24 12:24:40 +04:00
commit 9cc74437c2
2 changed files with 21 additions and 4 deletions

View file

@ -93,22 +93,37 @@ exports.setModuleUrl = function(name, subst) {
return options.$moduleUrls[name] = subst;
};
exports.$loading = {};
exports.loadModule = function(moduleName, onLoad) {
var module, moduleType;
if (Array.isArray(moduleName)) {
moduleType = moduleName[0];
moduleName = moduleName[1];
}
try {
module = require(moduleName);
} catch (e) {};
if (module)
// require(moduleName) can return empty object if called after require([moduleName], callback)
if (module && !exports.$loading[moduleName])
return onLoad && onLoad(module);
if (!exports.$loading[moduleName])
exports.$loading[moduleName] = [];
exports.$loading[moduleName].push(onLoad);
if (exports.$loading[moduleName].length > 1)
return;
var afterLoad = function() {
require([moduleName], function(module) {
exports._emit("load.module", {name: moduleName, module: module});
onLoad && onLoad(module);
var listeners = exports.$loading[moduleName];
exports.$loading[moduleName] = null;
listeners.forEach(function(onLoad) {
onLoad && onLoad(module);
});
});
};

View file

@ -1268,6 +1268,8 @@ var VirtualRenderer = function(container, theme) {
}
function afterLoad(theme) {
if (!theme.cssClass)
return;
dom.importCssString(
theme.cssText,
theme.cssClass,