Boa tarde pessoal!
Já faz algumas boas horas que estou tentando resolver isso sem sucesso. Eu tenho uma datatable em JSF onde eu listo algumas imagens, em cada imagem tem um commandButton que ao ser clicado à adicionará a uma “pasta”, depois que o usuário adicionar uma ou mais imagens a essa pasta ele terá a opção de baixar todas as imagens ao mesmo tempo. Tudo isso fiz e funciona. O problema é que ao clicar no + para adicionar a imagem à pasta, o datatable atualiza, mas não quero que ele atualize, quero que apenas o marcador da pasta atualize, informando quantas imagens ela contem.
Segue alguns trechos do código.
O button que adiciona a imagem à pasta é o que tem o actionListener “#imageMB.addOrRemoveImageFromWorkFolder(img)}” no onComplete dele ele executa o remoteCommand
<p:remoteCommand name=“updateWorkFolderBadge” update=“visual-search-workfolder-badge” />
Que por sua vez da um update no outputtext que tem a quantidade de imagens adicionadas a pasta, LEMBRANDO que esse outputtext com o número da quantidade de imagens adicionadas está FORA do datatable, logo eu quero apenas atualizar ele e não o datatable. Eu já tentei dar um update direto no button ao invés de usar o remote command mas sem sucesso também. QUALQUER tipo de ajuda será super bem vinda! Muito obrigado.
<p:dataTable var=“img” value="#{visualSearchMB.evenImages}" rows=“10” paginator=“true” rowIndexVar=“rowIndex” paginatorTemplate="{PreviousPageLink} {PageLinks} {NextPageLink}" rowsPerPageTemplate=“5,10,15” >
<p:column >
<div class="col-md-12" >
<div class="panel panel-default" >
<div class="image-options-container" >
<p:commandButton styleClass="btn-info btn-base-image-options btn-show-more-images" icon="fa fa-ellipsis-h" ajax="true"
actionListener="#{imageMB.showMoreImagesExamples(img.imageId)}"
update="related-images-id" />
<h:form>
<p:commandButton styleClass="btn-info btn-base-image-options"
actionListener="#{imageMB.addOrRemoveImageFromWorkFolder(img)}"
global="false" icon="#{imageMB.hasImage(img) ? 'fa fa-minus-circle' : 'fa fa-plus-circle'}" ajax="true" >
<p:ajax oncomplete="updateWorkFolderBadge()" process="@form" />
</p:commandButton>
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
</h:form>
<p:commandButton styleClass="btn-info btn-base-image-options" icon="fa fa-cloud-download" ajax="true" rendered="false" />
</div>
<div class="panel-heading image-title" >#{img.brand}, #{img.propertyType}, #{img.date}</div>
<div class="panel-body" >
<img class="sport-image img-responsive center-block" src="/images/#{img.imageRelativePath}" />
</div>
</div>
</div>
</p:column>
</p:dataTable>