3 Replies Latest reply on Sep 23, 2008 9:08 AM by Phil Haigh

    SimpleTogglePanel fails with large amounts of data

    Phil Haigh Novice

      Hi,

      I have found an issue with SimpleTogglePanel. If you include one a long way down the page (this can be either because the STP itself contains a lot of rows of data, or because you include a STP after something else that has a lot of rows of data), then the rendering ceases.

      The border of the STP is unaffected, but the middle is just filled with whitespace after a certain length.

      I have checked that this is to do with length as setting border width to 0 in a datatable (hence meaning each row takes less space) means more rows of data are displayed before the white space.

      Changing from STP to standard panel removes the issue.

      This is in Firefox.

        • 1. Re: SimpleTogglePanel fails with large amounts of data
          Ilya Shaikovsky Master

          please paste page snippet for such case and share screenshot somewhere.

          • 2. Re: SimpleTogglePanel fails with large amounts of data
            Ilya Shaikovsky Master

            b.t.w. info about RF version also will be usefull. Current latest GAs are 3.2.2 and 3.1.6

            • 3. Re: SimpleTogglePanel fails with large amounts of data
              Phil Haigh Novice

              Apologies,

              RF version 3.2.1 and 3.2.2 (GA)

              The page snippet I'm not sure is relevant - it's more the number of rows of data (backing the datatable I'm using).

              Snippet below:

              <h:form id="mainForm">
              <f:facet name="afterInvalidField">
              <h:panelGroup><br/><s:message/></h:panelGroup>
              </f:facet>
              <f:facet name="aroundInvalidField">
              <s:span styleClass="error"/>
              </f:facet>
              <s:validateAll>
              <h:panelGrid columns="1" columnClasses="pgtop" rendered="#{currentUser.admin}">
               <rich:panel>
               <f:facet name="header">
               <h:outputText value="General"/>
               </f:facet>
               <h:panelGrid columns="2" columnClasses="object,value">
               <h:outputText value="Liason Officer: "/>
               <a4j:region>
               <s:decorate id="liasonOffice">
               <h:selectOneMenu label="Liason Officer" value="#{caseRecord.liasonOfficer}" >
               <s:selectItems value="#{caseRecord.client.users}" var="user" label="#{user.name}"
               noSelectionLabel="No liason officer" >
               </s:selectItems>
               <a4j:support event="onblur" ajaxSingle="true" reRender="liasonOffice"/>
               <s:convertEntity/>
               </h:selectOneMenu>
               </s:decorate>
               </a4j:region>
               </h:panelGrid>
               <h:panelGrid columns="1" style="margin: 5px auto 0px auto">
               <h:commandButton styleClass="buttonnopadd" action="#{caseDAO.update}" value="Save changes"></h:commandButton>
              
               </h:panelGrid>
               </rich:panel>
              
              </h:panelGrid>
              <rich:simpleTogglePanel switchType="client" opened="true" style="margin-left: 3px; width: 775px" rendered="#{caseRecord.id!=null}">
               <f:facet name="header">
               <h:outputText value="Boxes"/>
               </f:facet>
               <p style="font-size:8pt">Click on a box to see full details.</p>
               <h:dataTable headerClass="tableHeader" styleClass="datatable" rowClasses="oddRow,evenRow" value="#{caseRecord.boxes}" var="box">
               <h:column>
               <f:facet name="header">
               <h:outputText value="Box number"/>
               </f:facet>
               <h:commandLink action="#{boxManager.prepareToViewBox(box)}"><h:outputText value="#{box.boxNumber}"/></h:commandLink>
               </h:column>
               <h:column>
               <f:facet name="header">
               <h:outputText value="Reference"/>
               </f:facet>
               <h:outputText value="#{box.reference}"/>
               </h:column>
              
               <h:column>
               <f:facet name="header">
               <h:outputText value="Barcode"/>
               </f:facet>
               <h:outputText value="#{box.barcode}"/>
               </h:column>
               <h:column>
               <f:facet name="header">
               <h:outputText value="Date started"/>
               </f:facet>
               <h:outputText value="#{box.dateStarted}">
               <s:convertDateTime pattern="dd/MM/yyyy"/>
               </h:outputText>
               </h:column>
               <h:column>
               <f:facet name="header">
               <h:outputText value="Type"/>
               </f:facet>
               <h:outputText value="#{box.type}"/>
               </h:column>
              
               <h:column>
               <f:facet name="header">
               <h:outputText value="Current location"/>
               </f:facet>
               <h:outputText value="#{box.currentLocation}"/>
               </h:column>
               <h:column>
               <f:facet name="header">
               <h:outputText value="Request?"/>
               </f:facet>
               <a4j:region>
               <h:selectBooleanCheckbox class="tick" value="#{box.pick}" disabled="#{box.currentPickingList!=null or !box.currentLocation.equalsIgnoreCase(constants.locationWarehouse)}"/>
               </a4j:region>
               </h:column>
               </h:dataTable>
               <h:panelGrid columns="2" columnClasses="object,value">
               <h:outputText value="Request name: "/>
               <s:decorate><h:inputText value="#{pickingListManager.requestName}" label="Request name" required="true"/></s:decorate>
               </h:panelGrid>
               <h:panelGrid columns="1">
              
               <h:commandButton styleClass="buttonnopadd" value="Request boxes" action="#{pickingListManager.requestBoxes(caseRecord)}" />
               </h:panelGrid>
              </rich:simpleTogglePanel>