menu
Fórum Adianti
menu Menu
Bloqueio de tela com "Carregando..." em requisições longas No Adianti Framework, por default, apenas requisições POST tem a tela bloqueada com o famoso "Carregando..." enquanto a requisição não completa. Inicialmente por que são as requisições POST que realizam processamentos mais demorados. Normalmente requisições GET são utilizadas apenas para carga simples de páginas, edição e exclusão de registros, que são requisições mais rápida...
PD
Bloqueio de tela com "Carregando..." em requisições longas  
Fechado
No Adianti Framework, por default, apenas requisições POST tem a tela bloqueada com o famoso "Carregando..." enquanto a requisição não completa. Inicialmente por que são as requisições POST que realizam processamentos mais demorados.

Normalmente requisições GET são utilizadas apenas para carga simples de páginas, edição e exclusão de registros, que são requisições mais rápidas. Mas é possível adicionar o bloqueio de tela também para requisições GET. Entretanto se adicionarmos este comportamento à todas requisições GET, a todo instante a tela ficará bloqueando, o que é ruim. Portanto neste artigo ensinaremos a adicionar este comportamento somente quando a requisição demorar mais que 400ms.

Esta dica vem do amigo Matheus Agnes Dias, com quem trabalho em alguns projetos na Univates. Para entender melhor este artigo, antes é importante já ter lido o artigo "Novos eventos JavaScript para carga de páginas" (www.adianti.com.br/forum/pt/view_1069?novos-eventos-javascript-para-). Nesta solução, antes da carga iniciar (onBeforeLoad), é agendado um evento (showLoading) para ocorrer após 400ms, e a variável loading é definida como true. Quando a carga da página terminar (onAfterLoad), a variável loading volta para false. Caso os 400ms passem antes da carga da página ser concluída, o showLoading() será executado, caso contrário não.

app/lib/include/application.js

loading = true; function showLoading() { if(loading) __adianti_block_ui('Carregando'); } Adianti.onBeforeLoad = function() { loading = true; setTimeout(function(){showLoading()}, 400); }; Adianti.onAfterLoad = function() { loading = false; __adianti_unblock_ui(); };

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (3)


HT

Boa Tarde,

Não entendi como faço para funcionar a mensagem de carregando quando utilizo a action de um data grid chamando uma função.
AC

Olá Herbert Thiago, conseguiu utilizar a mensagem de carregando para uma action de um datagrid? Poderia me ajudar, estou precisando disso também?
HT

Alexandre F. da Costa, Consegui como esta descrito no post, o interessante é que na hora não funciona, mas veio funcionar depois. Quando atualizei o framework, tinha esquecido deste detalhe, refiz, mas não apareceu ainda srsrsrsr.