이제 필요한 각각의 탭을 관장할 컨트롤러를 만들어 보자.
/** * File : app/controller/Content.js * Class Name : Docs.controller.Content * Desc : 컨트롤러 상위클래스 */ Ext.define("Docs.controller.Content", { extend: "Ext.app.Controller", MIDDLE: 1, title: "", onLaunch: function () { } }); /** * File : app/controller/Welcome.js * Class Name : Docs.controller.Welcome * Desc : 환영페이지 컨트롤러 */ Ext.define("Docs.controller.Welcome", { extend: "Docs.controller.Content", baseUrl: "#", init: function () { console.log('Docs.controller.Welcome.init called..'); this.addEvents("loadIndex") } }); /** * File : app/controller/Classes.js * Class Name : Docs.controller.Classes * Desc : */ Ext.define("Docs.controller.Classes", { extend: "Docs.controller.Content", baseUrl: "#!/api", title: "API Documentation", requires: ["Docs.Settings"], stores: ["Settings"], models: ["Setting"], init: function () { //console.log('Docs.controller.Classes call', this.stores); } }); /** * File : app/controller/Tabs.js * Class Name : Docs.controller.Tabs * Desc : 상단 탭영역 처리 */ Ext.define("Docs.controller.Tabs", { extend: "Ext.app.Controller", //requires: ["Docs.Settings"], refs: [{ ref: "doctabs", // this.getDoctabs()로 접근이 가능하다. 하단에서. selector: "#doctabs" },{ ref: "welcomeIndex", selector: "#welcomeindex" }, { ref: "classIndex", selector: "#classindex" }], init: function () { /*this.getController("Classes").addListener({ showClass: function (b) { //console.log('b', b); this.addTabFromTree("#!/api/" + b) }, scope: this });*/ }, onLaunch: function () { this.getDoctabs().setStaticTabs(Ext.Array.filter([ this.getWelcomeIndex().getTab(), this.getClassIndex().getTab()], function (a) { return a })); } }); /** * File : app.js * Class Name : Docs.Application * App Name : Docs * Desc : Main Class */ // app.js 에 controller : ["Welcome"]를 추가한다. Ext.define("Docs.Application", { extend: "Ext.app.Application", name: "Docs", appFolder : 'app', controllers: ["Welcome","Classes","Tabs"], // 이 부분을 추가한다. launch: function () { Docs.App = this; Ext.create("Docs.view.Viewport"); Ext.get("loading").remove() } }); // 위의 4개 클래스를 index.html에서 access할 수 있도록 하자.
'자바스크립트 > Ext JS' 카테고리의 다른 글
Ext JS 4.1 beta Doc 어플리케이션 분석7 (0) | 2012.01.04 |
---|---|
Ext JS 4.1 beta Doc 어플리케이션 분석6 (0) | 2012.01.02 |
Ext JS 4.1 beta Doc 어플리케이션 분석4 (0) | 2011.12.30 |
Ext JS 4.1 beta Doc 어플리케이션 분석3 (0) | 2011.12.30 |
Ext JS 4.1 beta Doc 어플리케이션 분석2 (0) | 2011.12.30 |