0 Replies Latest reply on Mar 20, 2009 10:32 AM by Sandy McPherson

    panelBar and tabPanel interfering with one another on Tab se

    Sandy McPherson Newbie

      Hi I am trying to use a tabPanels inside a panelBarItem.

      Selection of a tab seems to interfere/interact with the selection of the panelBArItem

      e.g. if I select any tab in the second (or subsequent) panelBarItem, the first panel bar item is opened! If I open the second panelBarItem the correct tab is now selected.

      I have tried storing the selected panel and tab on the server, but this didn't work, my state bean was not being hit on the server switching tabs is probably done in the the javascript...

      How do I stop the selection of the panel bar changing when a tab in a panelBarItem is selected?

      Ideas anyone?
      Thanks

      Here's the richfaces code

      <?xml version='1.0' encoding='UTF-8' ?>
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html
       xmlns="http://www.w3.org/1999/xhtml"
       xmlns:ui="http://java.sun.com/jsf/facelets"
       xmlns:h="http://java.sun.com/jsf/html"
       xmlns:f="http://java.sun.com/jsf/core"
       xmlns:a4j="http://richfaces.org/a4j"
       xmlns:rich="http://richfaces.org/rich"
      >
       <ui:composition template="/WEB-INF/content/richfaces.xhtml">
       <ui:define name="header-title">
       <meta http-equiv="Content-Type" content="application/xhtml+xml"/>
       <title>#{opstatUnitIo.header.setExer ? opstatUnitIo.header.exer.exerciseNickname : opstatUnitIo.header.oper.operationCodeword}</title>
       </ui:define>
       <ui:define name="body">
       <rich:panelBar id="opstatUnitIo" selectedPanel="#{panelState['opstatInitIo'].selected}>
       <rich:panelBarItem id="opstatUnitIo-header-panel" label="#{opstatUnitIo.headerLabel}" name="header" rendered="#{opstatUnitIo.setHeader}">
       <rich:tabPanel id="opstatUnitIo-header" null="#{panelState['opstatUnitIo-header'].selected}" rendered="#{opstatUnitIo.setHeader}">
       <rich:tab id="opstatUnitIo-header-exer-panel" label="#{opstatUnitIo.header.exerLabel}" name="exer" rendered="#{opstatUnitIo.header.setExer}">
       <h:panelGrid id="opstatUnitIo-header-exer" class="richfacespanelclass" columns="2" rendered="#{opstatUnitIo.header.setExer}">
       <h:outputText id="opstatUnitIo-header-exer-exerciseAdditionalIdentifierLabel" value="#{opstatUnitIo.header.exer.exerciseAdditionalIdentifierLabel}" rendered="#{opstatUnitIo.header.exer.setExerciseAdditionalIdentifier}"/><h:inputText id="opstatUnitIo-header-exer-exerciseAdditionalIdentifier" readOnly="#{editable}" value="#{opstatUnitIo.header.exer.exerciseAdditionalIdentifier}" rendered="#{opstatUnitIo.header.exer.setExerciseAdditionalIdentifier}"/>
       </h:panelGrid>
       </rich:tab>
       <rich:tab id="opstatUnitIo-header-msgid-panel" label="#{opstatUnitIo.header.msgidLabel}" name="msgid" rendered="#{opstatUnitIo.header.setMsgid}">
       <h:panelGrid id="opstatUnitIo-header-msgid" class="richfacespanelclass" columns="2" rendered="#{opstatUnitIo.header.setMsgid}">
       <h:outputText id="opstatUnitIo-header-msgid-dateTimeIsoLabel" value="#{opstatUnitIo.header.msgid.dateTimeIsoLabel}" rendered="#{opstatUnitIo.header.msgid.setDateTimeIso}"/><h:inputText id="opstatUnitIo-header-msgid-dateTimeIso" converter="DateTimeIsoConverter" readOnly="#{editable}" value="#{opstatUnitIo.header.msgid.dateTimeIso}" rendered="#{opstatUnitIo.header.msgid.setDateTimeIso}"/>
       </h:panelGrid>
       </rich:tab>
       <rich:tab id="opstatUnitIo-header-oper-panel" label="#{opstatUnitIo.header.operLabel}" name="oper" rendered="#{opstatUnitIo.header.setOper}">
       <h:panelGrid id="opstatUnitIo-header-oper" class="richfacespanelclass" columns="2" rendered="#{opstatUnitIo.header.setOper}">
       <h:outputText id="opstatUnitIo-header-oper-operationCodewordLabel" value="#{opstatUnitIo.header.oper.operationCodewordLabel}" rendered="#{opstatUnitIo.header.oper.setOperationCodeword}"/><h:inputText id="opstatUnitIo-header-oper-operationCodeword" readOnly="#{editable}" value="#{opstatUnitIo.header.oper.operationCodeword}" rendered="#{opstatUnitIo.header.oper.setOperationCodeword}"/>
       </h:panelGrid>
       </rich:tab>
       </rich:tabPanel>
       </rich:panelBarItem>
       <rich:panelBarItem id="opstatUnitIo-data-panel" label="#{opstatUnitIo.dataLabel}" name="data" rendered="#{opstatUnitIo.setData}">
       <rich:tabPanel id="opstatUnitIo-data" null="#{panelState['opstatUnitIo-data'].selected}" rendered="#{opstatUnitIo.setData}">
       <rich:tab id="opstatUnitIo-data-gentext-panel" label="#{opstatUnitIo.data.gentextLabel}" name="gentext" rendered="#{opstatUnitIo.data.setGentext}">
       <rich:extendedDataTable id="opstatUnitIo-data-gentext" rendered="#{opstatUnitIo.data.setGentext}" value="#{opstatUnitIo.data.gentext}" var="e">
       </rich:extendedDataTable>
       </rich:tab>
       <rich:tab id="opstatUnitIo-data-maritimeUnitDataSegment-panel" label="#{opstatUnitIo.data.maritimeUnitDataSegmentLabel}" name="maritimeUnitDataSegment" rendered="#{opstatUnitIo.data.setMaritimeUnitDataSegment}">
       <rich:extendedDataTable id="opstatUnitIo-data-maritimeUnitDataSegment" rendered="#{opstatUnitIo.data.setMaritimeUnitDataSegment}" value="#{opstatUnitIo.data.maritimeUnitDataSegment}" var="e">
       </rich:extendedDataTable>
       </rich:tab>
       </rich:tabPanel>
       </rich:panelBarItem>
       </rich:panelBar>
       </ui:define>
       </ui:composition>
      </html>