Evitando que o waitIcon pisque

Esses dias tive que alterar um sistema para mostrar mais dados numa tabela.

Como já sabem, não podemos trazer uma tabela inteira para a tela a não ser que ela seja pequena. Com tabelas acima de 30, 50 registros a história muda e precisamos segmentar a puxada.

Com YeAPF isso é bem fácil de fazer bastando apenas fazer várias chamadas seguidas incrementando xq_start a cada chamada. Estamos preparando ainda o yinterface.js que permitirá fazer isso tudo sem se preocupar (puxada completa, paginação, formulários dinâmicos, etc) se bem que -ao meu ver- é uma prática desaconselhável.

Mas voltando ao problema, eu fiz a mudança solicitada e coloquei 300 registros por página divididos em puxadas de 50 registros. Isso permite ao usuário revisar linha por linha a planilha (de um total de mais de 1000 páginas) em blocos administráveis durante o dia.

Só que isso me deixou com um problema, eu precisava indicar a carga e não tinha criado um waitIcon para entreter o usuário enquanto os dados viajam pelo cyberespaço.

Fazer um waitIcon com YeAPF é bem fácil e relato isso neste post. Porém, o problema é que piscava entre as requisições y eso – sinceramente- me molesta.

Então a solução foi a seguinte:1) No html criei um waitIcon no inicio do body

<body>
  <div id='waitIcon'>
    <img src="img/carregando.gif" height="64px">
  </div>
  ...
</body>

Depois alterei o CSS para deixar ele fixo e permitir transições suaves

#waitIcon {
    position: fixed;
    right: 8px;
    top: 135px;
    z-index: 1000;
    display: none;
    transition: all 0.5s linear;
}

Pronto… sem graça e simples