ICEfaces
  1. ICEfaces
  2. ICE-9909

ace:printer - table data gets cut off when printing

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: EE-3.3.0.GA_P01
    • Fix Version/s: EE-3.3.0.GA_P02, 4.0
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      All
    • Assignee Priority:
      P2
    • Support Case References:
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.)
    • Workaround Exists:
      Yes
    • Workaround Description:
      Add style="display:block;" to ace:dataTable.

      Description

      When using the ace:printer with an ace:dataTable that displays a large set of data. Sections of the dataTable get cut off and does not get rendered to a second page in the print.

        Activity

        Hide
        Arran Mccullough added a comment -

        Attached test case that shows the issue along with some sample output. Note, the icefaces, icefaces-ace, and icefaces-compat files need to be added back in to run the war.

        Steps:

        • Load welcomeICEfaces.jsf
        • Click the Print link.
        • Either printing or exporting the print to a file should show the last few rows cut off. This is more prevalent when using the landscape orientation.
        Show
        Arran Mccullough added a comment - Attached test case that shows the issue along with some sample output. Note, the icefaces, icefaces-ace, and icefaces-compat files need to be added back in to run the war. Steps: Load welcomeICEfaces.jsf Click the Print link. Either printing or exporting the print to a file should show the last few rows cut off. This is more prevalent when using the landscape orientation.
        Hide
        Arturo Zambrano added a comment -

        After investigating this issue thoroughly, with both codebases (3.3 EE and 4.0) and different browsers, I found out that the issue only occurs in Firefox, and it seems to be a general bug with the browser's printing functionality, as there are numerous threads on the web talking about issues with pages cutting off when printing in Firefox. In the case of ace:dataTable, I found that if we remove display:inline-block; from the ui-datatable CSS class, then the table gets printed correctly, printing the rest of the rows in a second page in this case. A plain-HTML test is attached to this JIRA, showing the issue with printing objects that behave as inline-block on Firefox. If this styling is removed from the table in this example, then the entire table is printed.

        The only possible solution is to remove display:inline-block; from the ui-datatable CSS class. There are no other feasible solutions. I tried specifying the container of the table in the ace:printer component instead, but that still cut off the table. I also tried doing the same and adding some more content after the table, and the table is still cut off and the other content is displayed after that.

        It is unclear what was the initial motivation for making the ace:dataTable's root container to display as inline-block, instead of the default block for div's. It is also unclear whether this change could affect existing applications. However, most likely this won't affect much, and app developers could always simply add display:inline-block; to the style attribute of the component or add such styling to a container node, if they really need the table to behave as an inline object;. Alternatively, we could decide not to make this change and simply suggest app developers interested in using ace:printer with ace:dataTable to add style="display:block;" to the table component in order to avoid this issue.

        Show
        Arturo Zambrano added a comment - After investigating this issue thoroughly, with both codebases (3.3 EE and 4.0) and different browsers, I found out that the issue only occurs in Firefox, and it seems to be a general bug with the browser's printing functionality, as there are numerous threads on the web talking about issues with pages cutting off when printing in Firefox. In the case of ace:dataTable, I found that if we remove display:inline-block; from the ui-datatable CSS class, then the table gets printed correctly, printing the rest of the rows in a second page in this case. A plain-HTML test is attached to this JIRA, showing the issue with printing objects that behave as inline-block on Firefox. If this styling is removed from the table in this example, then the entire table is printed. The only possible solution is to remove display:inline-block; from the ui-datatable CSS class. There are no other feasible solutions. I tried specifying the container of the table in the ace:printer component instead, but that still cut off the table. I also tried doing the same and adding some more content after the table, and the table is still cut off and the other content is displayed after that. It is unclear what was the initial motivation for making the ace:dataTable's root container to display as inline-block, instead of the default block for div's. It is also unclear whether this change could affect existing applications. However, most likely this won't affect much, and app developers could always simply add display:inline-block; to the style attribute of the component or add such styling to a container node, if they really need the table to behave as an inline object;. Alternatively, we could decide not to make this change and simply suggest app developers interested in using ace:printer with ace:dataTable to add style="display:block;" to the table component in order to avoid this issue.
        Hide
        Ken Fyten added a comment -

        Need to document the known issue for EE 3.3.0.GA_P02 in the Release Notes.

        Show
        Ken Fyten added a comment - Need to document the known issue for EE 3.3.0.GA_P02 in the Release Notes.
        Hide
        Arturo Zambrano added a comment -

        Documented this issue on the wiki. Resolving as Won't Fix.

        Show
        Arturo Zambrano added a comment - Documented this issue on the wiki. Resolving as Won't Fix.

          People

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

            Dates

            • Created:
              Updated:
              Resolved: