Reagindo a mudanças de abas

As abas são o dispositivo que o YeAPF entrega para um desenvolvedor poder construir aplicativo “mono-página” como os usados em aplicativos Web de última geração ou em dispositivos móveis.

São elas as que nos permitem uma mudança rápida na tela sem que por isso seja necessário carrega-las do servidor já que se encontram numa mesma e imensa página HTML5.

Uma das coisas bonitas que se podem fazer é reagir à mudança de forma mais automática. Ou seja, tipicamente o que costumamos fazer é mudar a tela pelo acionamento de um botão ou item de menu e nessa mudança puxamos os dados necessários para essa tela.

Nada contra essa aproximação, mas digamos que você construiu um pequeno framework sobre o YeAPF e quer esquecer das mudanças de telas, carregamento de tabelas e formulários (o CRUD bendito) mas quer uma forma simpática de fazer algum processo sem ter que hackear seu próprio e belo framework.

Uma forma fácil de fazer isso é respondendo aos eventos que o mTabNav gera no objeto window.

mTabNav dispara os seguintes eventos:

tabchange, tabblur, tabfocus e tabshow

Você pode se pendurar deles assim:

function myShowTabHandler() {
  alert("Aba mudada para "+mTabNav.getCurrentTabId());
}

addOnLoadManager(
  function() {
    window.addEventListener('tabshow', myShowTabHandler, true);
  }
);

 

Eu acho simples…