Dae galera!
To com um problema aqui meio chato que é o seguinte, minha tela tem muito conteudo, incluido uma listagem (dataTable) com milhares de registros, e filtros e etc... na propria dataTable eu tenho um botão(imagem) que quando eu clico nele carrega uma modalPanel com uma lista, como se fosse um mestre-detalhe.
Para carregar a modal eu utilizo:
<h:graphicImage url="/images/history.png" style="cursor:pointer;hand;"
rendered="#{row.type =='Metric'}">
<a4j:support event="onclick" immediate="true" ajaxSingle="true"
onsubmit="#{rich:component('ajaxLoading')}.show();"
action="#{geralMetricServiceListController.editObject}"
reRender="historyMetric,dtHistoryMetric,dsHistoryMetric"
oncomplete="#{rich:component('ajaxLoading')}.hide();#{rich:component('historyMetric')}.show();">
<f:param value="#{
row.name}" name="nameHistory"/>
<f:param value="#{row.type}" name="type"/>
<f:param value="#{row.idMetricService}" name="idMetricService"/>
</a4j:support>
</h:graphicImage>
O problema eh que ta
muito lento!
O que eu andei percebendo é que mesmo utilizando o immediate="true" e ajaxSingle="true", ele passa no get de todos outros componentes da tela, repopulando muitas listas e etc... então eu comecei a colocar uns if's nos get dos objetos... gambiarra pra solucionar isso...
Alguem tem idéias pra tunar o carregamento da listagem dessa minha modalPanel? eu aindei implementando paginação pras dataTable e ainda assim está lento.
Att.