0

I have a p:panel nested inside a ui:repeat , when I try to toggle any of the panels always the last panel is toggled

<ui:repeat id="listes" value="#{rechercheTypeMesureCtrl.allTypeMesureArterielle}" var="l" varStatus="varStatus">

    <p:growl id="msg" showDetail="true" />
    <p:panel id="p" header="#{l.nom}" toggleable="true" closable="true" toggleSpeed="500" closeSpeed="500" widgetVar="panel" style="margin-bottom:20px" value="#{l.id_typeMesure}" >
        <p:ajax event="close" listener="#{panelView.onClose}" />

        <p:ajax event="toggle" listener="#{panelView.onToggle}" />

        <h:panelGrid columns="8" cellpadding="10">

            <h:outputText value="Mesure"></h:outputText>
            <h:inputHidden value="#{l.id_typeMesure}" />
            <p:inputText value="#{l.nom}"> 
             </p:inputText>
              <h:outputText value="Min value"></h:outputText>
            <p:inputText value="#{l.valeurMin}"> 
             </p:inputText>
              <h:outputText value="Max value"></h:outputText>
            <p:inputText value="#{l.valeurMax}"> 
             </p:inputText>
             <p:commandButton  actionListener="#{typeMesureCtrl.updateTypeMesureArterielle(l)}" id="iconOnly" icon= "ui-icon-pencil" action="typeMesure.xhtml?faces-redirect=true"/>



        </h:panelGrid>
    </p:panel>
</ui:repeat>
BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555
mila
  • 1
  • 2

1 Answers1

0

I'm a little late, but just got the similar situation... Check this answer.

So, try to remove panel widgetvar completely - if you are using generic buttons in right panel header corner for toggle/close.

Or just parameterized panel widgetvar value inside repeat block:

 varStatus="varStatus"
 widgetVar="panel_#{varStatus.index}"

and if you wont to toggle eg. row 5 with external button or link:

onclick="PF('panel_5').toggle();"

or if button is inside repat block:

onclick="PF('panel_#{varStatus.index}').toggle();"

(Second part of answer tested in Primefaces 6)

Community
  • 1
  • 1
Helija
  • 133
  • 2
  • 9