menu
Adianti Framework
menu Menu
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(); };


Comentários

Herbert Thiago: ( 2017-02-15)
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.
Alexandre F. da Costa: ( 2017-04-06)
Olá Herbert Thiago, conseguiu utilizar a mensagem de carregando para uma action de um datagrid? Poderia me ajudar, estou precisando disso também?
Herbety Thiago: ( 2017-06-08)
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.
 


Você precisa realizar login para enviar posts, comentários, dentre outros. Para isso, clique em um dos botões a seguir para logar utilizando a API de um dos serviços.