이제 필요한 각각의 탭을 관장할 컨트롤러를 만들어 보자.
/**
* 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 |