App.js
资源名称:ext-3.0.0.zip [点击查看]
上传用户:shuoshiled
上传日期:2018-01-28
资源大小:10124k
文件大小:2k
源码类别:
中间件编程
开发平台:
JavaScript
- /*! * Ext JS Library 3.0.0 * Copyright(c) 2006-2009 Ext JS, LLC * licensing@extjs.com * http://www.extjs.com/license */ Ext.app.App = function(cfg){
- Ext.apply(this, cfg);
- this.addEvents({
- 'ready' : true,
- 'beforeunload' : true
- });
- Ext.onReady(this.initApp, this);
- };
- Ext.extend(Ext.app.App, Ext.util.Observable, {
- isReady: false,
- startMenu: null,
- modules: null,
- getStartConfig : function(){
- },
- initApp : function(){
- this.startConfig = this.startConfig || this.getStartConfig();
- this.desktop = new Ext.Desktop(this);
- this.launcher = this.desktop.taskbar.startMenu;
- this.modules = this.getModules();
- if(this.modules){
- this.initModules(this.modules);
- }
- this.init();
- Ext.EventManager.on(window, 'beforeunload', this.onUnload, this);
- this.fireEvent('ready', this);
- this.isReady = true;
- },
- getModules : Ext.emptyFn,
- init : Ext.emptyFn,
- initModules : function(ms){
- for(var i = 0, len = ms.length; i < len; i++){
- var m = ms[i];
- this.launcher.add(m.launcher);
- m.app = this;
- }
- },
- getModule : function(name){
- var ms = this.modules;
- for(var i = 0, len = ms.length; i < len; i++){
- if(ms[i].id == name || ms[i].appType == name){
- return ms[i];
- }
- }
- return '';
- },
- onReady : function(fn, scope){
- if(!this.isReady){
- this.on('ready', fn, scope);
- }else{
- fn.call(scope, this);
- }
- },
- getDesktop : function(){
- return this.desktop;
- },
- onUnload : function(e){
- if(this.fireEvent('beforeunload', this) === false){
- e.stopEvent();
- }
- }
- });