Como animar seus componentes ExtJS

Tutorial (1)

Olá Pessoal, tudo certo?

No post de hoje irei demonstrar um exemplo de animação para nosso aplicativo, para torná-lo mais amigável ou dar uma aparência mais sofisticada dependendo de como a animação é apresentada.

Aqui eu mostrarei como usar os eventos show e beforeclose do componente Window para demonstrar um efeito de animação fade-in/fade-out

Fragmento de código

Ext.create('Ext.Window', {
  title: "Window",
  width: 400,
  height: 300,
  html: "<div id='example'>Hello</div> ",
  listeners: {
    show: function (win) {
       var el = win.getEl();
 
       el.setOpacity(0);
       el.fadeIn({
           duration: 2000
       });
    },
    beforeclose: function (win) {
        if (!win.shouldClose) {
            win.getEl().fadeOut({
               duration: 2000, 
               callback: function () {
                    win.shouldClose = true;
                    win.close();
                }
            });
        }
        return win.shouldClose ? true : false;
    }
}}).show();

Entendendo o código

No Window show, pegamos o elemento do componente usando win.getEI() porque Element(Ext.dom.Element)é a classe que contém todos os métodos de animação, onde você pode chamar element.animate(config) e esta propiedade config deve ser uma configuração válida para Ext.fx.Anim.

O ExtJS fornece algumas configurações predefinidas, como: fadeIn, fadeOut, frame, ghost, slideIn, slideOut,etc.

No beforeclose retornamos false inicialmente, impedindo que a janela feche (porque shouldClose é false), então executamos nossa animação e adicionamos um retorno de chamada que é executado quando a animação termina para definir shouldClose como true e depois fechar a janela com êxito. Isso funciona porque retornar false dentro de um beforeclose listener impede que ele feche, e retornando true permite que ele feche.

Nota: Você poderia usar o mesmo conceito para exibir uma mensagem de confirmação (Ext.Msg.confirm) para verificar se o usuário realmente deseja fechar a janela, por exemplo.

Resultado Final

upload

Espero que você ache essa dica útil, tenha um bom dia e até a próxima.

Veja também:

Desenvolvimento de aplicativos mobile: o que é e por que é importante?

Desenvolvimento de aplicativos mobile: o que é e por que é importante?

Atualmente, é quase impossível imaginar nossa rotina sem os smartphones que se tornaram uma parte crucial de nossas vidas. Em uma pesquisa feita pela FGV, só o Brasil tem 424 milhões de dispositivos digitais em uso. E à medida que surgem mais novidades e utilidades para esses dispositivos, a busca por tecnologias mais avançadas e […]

Tecnologia sencha: por que ela é tão importante?

Tecnologia sencha: por que ela é tão importante?

Quando se trata de aprimorar a integração e o suporte de registro em sua aplicação, é fundamental concentrar-se na otimização dos testes de desenvolvimento e integração. Nesse contexto, a tecnologia sencha se destaca como uma ferramenta indispensável. Ao oferecer recursos abrangentes para o desenvolvimento e teste de aplicativos da web e móveis, a tecnologia sencha […]

Ateliê de software: por que investir nele ao invés de uma fábrica de software?

Ateliê de software: por que investir nele ao invés de uma fábrica de software?

Na busca pelo fornecedor ideal para impulsionar seu negócio, entender as melhores práticas e modelos que se alinham às necessidades específicas da sua empresa é crucial. Esse princípio é ainda mais relevante quando se trata do desenvolvimento de software intuitivo e personalizado. Muitos associam a ideia de desenvolvimento de software a uma fábrica de software, […]

O que é a metodologia ágil e como aplica-la em 5 passos?

O que é a metodologia ágil e como aplica-la em 5 passos?

Você sabia que a metodologia ágil é o que guia as ações das empresas para melhorar seus resultados e o aumento na produtividade? A utilização de uma metodologia ágil contribui na gestão e impulso à inovação nas companhias, a partir de um modelo de fácil implementação em projetos e processos. Este método prioriza a eficiência, […]

Daniel da Cunha Bueno

Daniel da Cunha Bueno

Atualmente como Sencha MVP Senior Software Enginer em aplicações web e mobile (#C,Sencha Ext JS, Xamarin).