ExtJS 4.1 Chame um controlador de outro
Nota: Eu sou totalmente ignorante em relação ao javascript.
Eu quebrei meu aplicativo ExtJS 4.1 MVC em vários controladores como:
/app/controller/Auth
| |Quiz
| |Result
| |Blah...
|model/...
Eu quero responder a um "evento", não umEvento DOM, um poucoExt.form.action.Submit.success
evento chamando funções emambos minhaAuth
eQuiz
controladores. O código resumido da primeira parte está aqui:
// File: app/controller/Auth.js
attemptLogin : function() {
var form = Ext.ComponentQuery.query('#loginpanel')[0].form;
if (form.isValid()) {
form.submit({
success : function(form, action) {
// THIS IS THE FUNCTION FROM THE CURRENT CONTROLLER
Assessor.controller.Auth.prototype.finishLogin();
// THIS IS THE FUNCTION FROM THE OTHER CONTROLLER
Assessor.controller.Quiz.prototype.setupAssessment();
},
Isso funciona, mas parece errado. Existe uma maneira correta de fazer isso? Parece que eu deveria disparar um evento único que é ouvido pelos dois controladores, mas não consigo entender como fazer isso comExt.Event
. Alguma orientação?
Obrigado! Estou muito grato por todas as grandes ideias e conselhos.