Ext.application = function(config) {
var createApp = function (App) {
Ext.onReady(function() {
var Viewport = Ext.viewport;
Viewport = Viewport && Viewport['Viewport'];
if (Viewport && Viewport.setup) {
Viewport.setup(App.prototype.config.viewport);
}
Ext.app.Application.instance = new App();
});
};
if (typeof config === "string") {
Ext.require(config, function() {
createApp(Ext.ClassManager.get(config));
});
}
else {
config = Ext.apply({
extend: 'Ext.app.Application'
}, config);
Ext.app.setupPaths(config.name, config.appFolder, config.paths);
config['paths processed'] = true;
Ext.define(config.name + ".$application", config,
function () {
createApp(this);
});
}
};