ICEfaces
  1. ICEfaces
  2. ICE-11164

ace:dataExporter, content of components that perform iteration is not exported

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-4.1.0.GA, EE-3.3.0.GA_P04
    • Fix Version/s: 4.3, EE-3.3.0.GA_P06
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      All
    • Support Case References:
    • Workaround Exists:
      Yes
    • Workaround Description:
      Hide
      The workaround consists of, instead of using an iterative component, simply using an h:outputText component and build a string based on the List that would've been used in ui:repeat, concatenating all item values in the List and adding necessary formatting, like commas. This h:outputText component would only be rendered when performing the export operation (i.e. having a boolean property bound to its 'rendered' attribute that returns true only when the current phase is the Invoke Application phase).
      Show
      The workaround consists of, instead of using an iterative component, simply using an h:outputText component and build a string based on the List that would've been used in ui:repeat, concatenating all item values in the List and adding necessary formatting, like commas. This h:outputText component would only be rendered when performing the export operation (i.e. having a boolean property bound to its 'rendered' attribute that returns true only when the current phase is the Invoke Application phase).

      Description

      Iterative components like ui:repeat, icecore:repeat, ace:list and any other component that performs iteration don't get to be exported by ace:dataExporter. This is because, when exporting, the components aren't really processed in the same way as when they're rendered. The export operation occurs in the Invoke Application phase, and the component values are extracted by different means, depending on the general type of the component. An UIData component just won't go through the full iteration process at this stage, initiated by the ace:dataExporter component. Perhaps we could consider adding some special processing for UIData components in ace:dataExporter to perform the full iteration process and extract the value at each row, and we just concatenate all the values.

        Activity

        Repository Revision Date User Message
        ICEsoft Public SVN Repository #52506 Wed Jul 04 17:21:09 MDT 2018 art.zambrano ICE-11164 added null checks before removing the row var from the request map; added some more exception handling code
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dataexporter/PDFExporter.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dataexporter/Exporter.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #52489 Thu Jun 21 15:00:10 MDT 2018 art.zambrano ICE-11164 added support for exporting nested ace:list components based on SelectItem models
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dataexporter/Exporter.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #52052 Thu Nov 02 11:23:17 MDT 2017 art.zambrano ICE-11164 added support for exporting ace:dataTable, ace:list, icecore:repeat and UIData descendants in general
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/dataexporter/Exporter.java

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: