Estou com o seguinte problema, estou usando um poll que controla um tipo de fila, e quando a pessoa chegar na posiçõa '1' da fila irá aparecer um botão para que essa pessoa possa entrar.
<p:toolbar>
<p:toolbarGroup>
<p:outputPanel rendered="#{filaBean.posicao == 1}" id="botaoEntrar">
<p:commandButton value="Iniciar atendimento" image="ui-icon-play"/>
</p:outputPanel>
<p:commandButton action="atendentes" value="Cancelar" image="ui-icon-closethick" ajax="false" immediate="true" />
</p:toolbarGroup>
</p:toolbar>
<h:panelGrid cellspacing="5px" columns="2">
<h:outputText value="Sua posição na fila é:"/>
<p:ajaxStatus style="width:16px;height:16px;">
<f:facet name="start">
<h:graphicImage value="lib/imgs/ajaxloading.gif" />
</f:facet>
<f:facet name="complete">
<h:outputText id="fila_status" value="#{filaBean.posicao}" />
</f:facet>
</p:ajaxStatus>
<p:poll interval="5" actionListener="#{filaBean.check}" update="fila_status,:botaoEntrar" autoStart="true" process="@this">
<f:param name="posicao" value="#{filaAtendimentoBean.cdFilaAtendimento}" />
</p:poll>
</h:panelGrid>
Meu bean:
public void check(ActionEvent actionEvent) {
long id = Long.parseLong(FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("posicao"));
List<Long> fila = filaAtendimentoAction.obterFila();
posicao = fila.indexOf(id) + 1;
}
A posição está sendo atualizada normalmente, só que quando a variavel posicao chega no numero 1 nada acontece.
A tag rendered só funciona quando a página é carregada ? não irá funcionar com ajax ? Eu vi que a tag visible funciona bem, só o commandButton não tem ela.
Obs: Não postei todo o código, mas o
Abs.