ICEfaces
  1. ICEfaces
  2. ICE-7929

ace:excludeFromExport does not obey rendered attribute

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.0
    • Fix Version/s: 3.0.1, EE-3.0.0.GA
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      Tomcat 7, ICEfaces 3 trunk code rev#28412, showcase app
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.)

      Description

      To reproduce, replace ace:dataTable content in dataExporterExcludeFromExport.xhtml file:

      <ace:dataTable id="carData"
                                        value="#{excludeFromExport.cars}"
                                        var="car"
                                        rows="15">
                     <ace:column headerText="Name">
                          <h:outputText value="#{car.name}"/>
                      </ace:column>
                      
                      <ace:column headerText="Chassis / Weight">
                          <h:outputText value="#{car.chassis} / ">
                              <ace:excludeFromExport rendered="true"/>
                          </h:outputText>
                          <h:outputText value="#{car.weight}lbs.">
                              <ace:excludeFromExport rendered="false"/>
                          </h:outputText>
                      </ace:column>
                      
                      <ace:column headerText="Accel / MPG">
                          <h:outputText value="#{car.acceleration} / ">
                              <ace:excludeFromExport rendered="false"/>
                          </h:outputText>
                          <h:outputText value="#{car.mpg}">
                              <ace:excludeFromExport rendered="false"/>
                          </h:outputText>
                      </ace:column>
                      
                      <ace:column headerText="Cost">
                          <ice:outputText value="#{car.cost}">
                              <f:convertNumber type="currency"
                                               currencySymbol="$"
                                               groupingUsed="true"
                                               minFractionDigits="2"
                                               maxFractionDigits="2"/>
                              <ace:excludeFromExport rendered="false"/>
                          </ice:outputText>
                      </ace:column>
                  </ace:dataTable>

      PLEASE NOTE: Only the name column will be exported to a file of given type.
      Rendered attribute value (either static or dynamic via EL expression) is not taken into consideration while inside of the ace:excludeFromExport component.

        Activity

        Evgheni Sadovoi created issue -
        Evgheni Sadovoi made changes -
        Field Original Value New Value
        Salesforce Case []
        Description View markup to reproduce:

        <ace:dataTable id="carData"
                                          value="#{excludeFromExport.cars}"
                                          var="car"
                                          rows="15">
                       <ace:column headerText="Name">
                            <h:outputText value="#{car.name}"/>
                        </ace:column>
                        
                        <ace:column headerText="Chassis / Weight">
                            <h:outputText value="#{car.chassis} / ">
                                <ace:excludeFromExport rendered="true"/>
                            </h:outputText>
                            <h:outputText value="#{car.weight}lbs.">
                                <ace:excludeFromExport rendered="false"/>
                            </h:outputText>
                        </ace:column>
                        
                        <ace:column headerText="Accel / MPG">
                            <h:outputText value="#{car.acceleration} / ">
                                <ace:excludeFromExport rendered="false"/>
                            </h:outputText>
                            <h:outputText value="#{car.mpg}">
                                <ace:excludeFromExport rendered="false"/>
                            </h:outputText>
                        </ace:column>
                        
                        <ace:column headerText="Cost">
                            <ice:outputText value="#{car.cost}">
                                <f:convertNumber type="currency"
                                                 currencySymbol="$"
                                                 groupingUsed="true"
                                                 minFractionDigits="2"
                                                 maxFractionDigits="2"/>
                                <ace:excludeFromExport rendered="false"/>
                            </ice:outputText>
                        </ace:column>
                    </ace:dataTable>

        <ace:panel>
                    <h:panelGrid styleClass="centeredPanelGridWithBorderSpacing">
                    <h:form id="form2">
                        <h:panelGrid columns="2">
                                <h:outputLabel for="typeIn" value="Export As:"/>
                                <h:selectOneRadio id="typeIn" value="#{excludeFromExport.type}" required="true">
                                    <f:ajax disabled="false"/>
                                    <f:selectItem itemValue="csv" itemLabel="CSV"/>
                                    <f:selectItem itemValue="pdf" itemLabel="PDF"/>
                                    <f:selectItem itemValue="xls" itemLabel="XLS"/>
                                    <f:selectItem itemValue="xml" itemLabel="XML"/>
                                </h:selectOneRadio>
                        </h:panelGrid>
                    </h:form>

                    <h:form id="form3">
                        <h:panelGrid styleClass="centeredPanelGrid">
                            <ace:dataExporter id="dataExporter" label="Export" type="#{excludeFromExport.type}" target="carData" fileName="cars"/>
                        </h:panelGrid>
                    </h:form>
                    </h:panelGrid>
                </ace:panel>

        Only the name column will be exported to a file of given type. In addition to the static value of the attribute. rendered does not work if used with EL expression to dynamically change it's state via server side.
        View markup to reproduce:

        <ace:dataTable id="carData"
                                          value="#{excludeFromExport.cars}"
                                          var="car"
                                          rows="15">
                       <ace:column headerText="Name">
                            <h:outputText value="#{car.name}"/>
                        </ace:column>
                        
                        <ace:column headerText="Chassis / Weight">
                            <h:outputText value="#{car.chassis} / ">
                                <ace:excludeFromExport rendered="true"/>
                            </h:outputText>
                            <h:outputText value="#{car.weight}lbs.">
                                <ace:excludeFromExport rendered="false"/>
                            </h:outputText>
                        </ace:column>
                        
                        <ace:column headerText="Accel / MPG">
                            <h:outputText value="#{car.acceleration} / ">
                                <ace:excludeFromExport rendered="false"/>
                            </h:outputText>
                            <h:outputText value="#{car.mpg}">
                                <ace:excludeFromExport rendered="false"/>
                            </h:outputText>
                        </ace:column>
                        
                        <ace:column headerText="Cost">
                            <ice:outputText value="#{car.cost}">
                                <f:convertNumber type="currency"
                                                 currencySymbol="$"
                                                 groupingUsed="true"
                                                 minFractionDigits="2"
                                                 maxFractionDigits="2"/>
                                <ace:excludeFromExport rendered="false"/>
                            </ice:outputText>
                        </ace:column>
                    </ace:dataTable>

        <ace:panel>
                    <h:panelGrid styleClass="centeredPanelGridWithBorderSpacing">
                    <h:form id="form2">
                        <h:panelGrid columns="2">
                                <h:outputLabel for="typeIn" value="Export As:"/>
                                <h:selectOneRadio id="typeIn" value="#{excludeFromExport.type}" required="true">
                                    <f:ajax disabled="false"/>
                                    <f:selectItem itemValue="csv" itemLabel="CSV"/>
                                    <f:selectItem itemValue="pdf" itemLabel="PDF"/>
                                    <f:selectItem itemValue="xls" itemLabel="XLS"/>
                                    <f:selectItem itemValue="xml" itemLabel="XML"/>
                                </h:selectOneRadio>
                        </h:panelGrid>
                    </h:form>

                    <h:form id="form3">
                        <h:panelGrid styleClass="centeredPanelGrid">
                            <ace:dataExporter id="dataExporter" label="Export" type="#{excludeFromExport.type}" target="carData" fileName="cars"/>
                        </h:panelGrid>
                    </h:form>
                    </h:panelGrid>
                </ace:panel>

        Only the name column will be exported to a file of given type. In addition to the static value of the rendered attribute, it does not work if used with EL expression to dynamically change it's state via server side.
        Evgheni Sadovoi made changes -
        Environment Tomcat 7, ICEfaces 3 trunk code. Tomcat 7, ICEfaces 3 trunk code rev#28412, showcase app
        Salesforce Case []
        Description View markup to reproduce:

        <ace:dataTable id="carData"
                                          value="#{excludeFromExport.cars}"
                                          var="car"
                                          rows="15">
                       <ace:column headerText="Name">
                            <h:outputText value="#{car.name}"/>
                        </ace:column>
                        
                        <ace:column headerText="Chassis / Weight">
                            <h:outputText value="#{car.chassis} / ">
                                <ace:excludeFromExport rendered="true"/>
                            </h:outputText>
                            <h:outputText value="#{car.weight}lbs.">
                                <ace:excludeFromExport rendered="false"/>
                            </h:outputText>
                        </ace:column>
                        
                        <ace:column headerText="Accel / MPG">
                            <h:outputText value="#{car.acceleration} / ">
                                <ace:excludeFromExport rendered="false"/>
                            </h:outputText>
                            <h:outputText value="#{car.mpg}">
                                <ace:excludeFromExport rendered="false"/>
                            </h:outputText>
                        </ace:column>
                        
                        <ace:column headerText="Cost">
                            <ice:outputText value="#{car.cost}">
                                <f:convertNumber type="currency"
                                                 currencySymbol="$"
                                                 groupingUsed="true"
                                                 minFractionDigits="2"
                                                 maxFractionDigits="2"/>
                                <ace:excludeFromExport rendered="false"/>
                            </ice:outputText>
                        </ace:column>
                    </ace:dataTable>

        <ace:panel>
                    <h:panelGrid styleClass="centeredPanelGridWithBorderSpacing">
                    <h:form id="form2">
                        <h:panelGrid columns="2">
                                <h:outputLabel for="typeIn" value="Export As:"/>
                                <h:selectOneRadio id="typeIn" value="#{excludeFromExport.type}" required="true">
                                    <f:ajax disabled="false"/>
                                    <f:selectItem itemValue="csv" itemLabel="CSV"/>
                                    <f:selectItem itemValue="pdf" itemLabel="PDF"/>
                                    <f:selectItem itemValue="xls" itemLabel="XLS"/>
                                    <f:selectItem itemValue="xml" itemLabel="XML"/>
                                </h:selectOneRadio>
                        </h:panelGrid>
                    </h:form>

                    <h:form id="form3">
                        <h:panelGrid styleClass="centeredPanelGrid">
                            <ace:dataExporter id="dataExporter" label="Export" type="#{excludeFromExport.type}" target="carData" fileName="cars"/>
                        </h:panelGrid>
                    </h:form>
                    </h:panelGrid>
                </ace:panel>

        Only the name column will be exported to a file of given type. In addition to the static value of the rendered attribute, it does not work if used with EL expression to dynamically change it's state via server side.
        To reproduce, replace ace:dataTable content in dataExporterExcludeFromExport.xhtml file:

        <ace:dataTable id="carData"
                                          value="#{excludeFromExport.cars}"
                                          var="car"
                                          rows="15">
                       <ace:column headerText="Name">
                            <h:outputText value="#{car.name}"/>
                        </ace:column>
                        
                        <ace:column headerText="Chassis / Weight">
                            <h:outputText value="#{car.chassis} / ">
                                <ace:excludeFromExport rendered="true"/>
                            </h:outputText>
                            <h:outputText value="#{car.weight}lbs.">
                                <ace:excludeFromExport rendered="false"/>
                            </h:outputText>
                        </ace:column>
                        
                        <ace:column headerText="Accel / MPG">
                            <h:outputText value="#{car.acceleration} / ">
                                <ace:excludeFromExport rendered="false"/>
                            </h:outputText>
                            <h:outputText value="#{car.mpg}">
                                <ace:excludeFromExport rendered="false"/>
                            </h:outputText>
                        </ace:column>
                        
                        <ace:column headerText="Cost">
                            <ice:outputText value="#{car.cost}">
                                <f:convertNumber type="currency"
                                                 currencySymbol="$"
                                                 groupingUsed="true"
                                                 minFractionDigits="2"
                                                 maxFractionDigits="2"/>
                                <ace:excludeFromExport rendered="false"/>
                            </ice:outputText>
                        </ace:column>
                    </ace:dataTable>

        PLEASE NOTE: Only the name column will be exported to a file of given type.
        Rendered attribute value (either static or dynamic via EL expression) is not taken into consideration while inside of the ace:excludeFromExport component.
        Evgheni Sadovoi made changes -
        Assignee Ken Fyten [ ken.fyten ]
        Evgheni Sadovoi made changes -
        Salesforce Case []
        Affects Version/s 3.1 [ 10312 ]
        Affects Version/s EE-3.0.0.GA [ 10262 ]
        Ken Fyten made changes -
        Salesforce Case []
        Fix Version/s 3.0.1 [ 10282 ]
        Affects [Documentation (User Guide, Ref. Guide, etc.)]
        Assignee Priority P1
        Affects Version/s 3.0 [ 10241 ]
        Affects Version/s 3.0.1 [ 10282 ]
        Affects Version/s 3.1 [ 10312 ]
        Assignee Ken Fyten [ ken.fyten ] Arturo Zambrano [ artzambrano ]
        Ken Fyten made changes -
        Salesforce Case []
        Security Private [ 10001 ]
        Arturo Zambrano made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Fix Version/s EE-3.0.0.GA [ 10262 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Priority P1

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Evgheni Sadovoi
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: