ICEfaces
  1. ICEfaces
  2. ICE-9668

REGRESSION - ICE-2131 ice:dataTable columns misalignment

    Details

    • Assignee Priority:
      P2

      Description

      This regression test passes from a functional perspective, but the ice:dataTable footer and header are misaligned with the columns, and this is mostly visible in Chrome, see attached screen shot.
      1. TableRendererComp.diff
        3 kB
        Arturo Zambrano
      2. TableRendererCore.diff
        0.7 kB
        Arturo Zambrano
      1. Capture.PNG
        24 kB
      2. ICE-2131-IE.PNG
        24 kB
      3. IE7.PNG
        48 kB

        Activity

        Hide
        Carmen Cristurean added a comment - - edited

        Attaching screen shot for Chrome30.

        Show
        Carmen Cristurean added a comment - - edited Attaching screen shot for Chrome30.
        Hide
        Arturo Zambrano added a comment - - edited

        Committed fix to 3.3 EE maintenance branch at revision 40944.

        This issue could be reproduced with the IF 3.0 release, and perhaps it started long before that.

        It seems that the original intention of the developer(s) of ice:dataTable was to implement a simple approach to align the columns of the various table elements that compose the component, by giving the columns equal width when scrollable=true, since all column cells are given the styling "width:100%;overflow:hidden;" to simply hide the contents of the cell if its contents could increase the width of the column. However, setting width:100% to all cells does not accomplish this. It is necessary to set table-layout:fixed; on the three tables (header, body and footer). This was done, as well as adding overflow-y:scroll, so that the scrollbar always appears (when scrollable=true) and have more consistent widths. Also, the spacer element in the header that accounts for the scrollbar width was tweaked to adjust to these changes, and another spacer element was added to the footer.

        Unlike, ace:dataTable, there just isn't an advanced script that calculates the column widths of the different table elements in a table component, and ice:dataTable simply doesn't have an extended and robust client side codebase as to set more precise column widths and alignments, as we do with ace:dataTable.

        Show
        Arturo Zambrano added a comment - - edited Committed fix to 3.3 EE maintenance branch at revision 40944. This issue could be reproduced with the IF 3.0 release, and perhaps it started long before that. It seems that the original intention of the developer(s) of ice:dataTable was to implement a simple approach to align the columns of the various table elements that compose the component, by giving the columns equal width when scrollable=true, since all column cells are given the styling "width:100%;overflow:hidden;" to simply hide the contents of the cell if its contents could increase the width of the column. However, setting width:100% to all cells does not accomplish this. It is necessary to set table-layout:fixed; on the three tables (header, body and footer). This was done, as well as adding overflow-y:scroll, so that the scrollbar always appears (when scrollable=true) and have more consistent widths. Also, the spacer element in the header that accounts for the scrollbar width was tweaked to adjust to these changes, and another spacer element was added to the footer. Unlike, ace:dataTable, there just isn't an advanced script that calculates the column widths of the different table elements in a table component, and ice:dataTable simply doesn't have an extended and robust client side codebase as to set more precise column widths and alignments, as we do with ace:dataTable.
        Hide
        Carmen Cristurean added a comment -

        Re-tested with EE-3.3.0-maintenance # 40944, and in IE there is just one column that is rendered now (Column 0).
        No issues in FF28 or Chrome34.

        Show
        Carmen Cristurean added a comment - Re-tested with EE-3.3.0-maintenance # 40944, and in IE there is just one column that is rendered now (Column 0). No issues in FF28 or Chrome34.
        Hide
        Carmen Cristurean added a comment -

        Attaching screenshot for IE.

        Show
        Carmen Cristurean added a comment - Attaching screenshot for IE.
        Hide
        Arturo Zambrano added a comment -

        Fixed issues with IE at revision 40947 by changing cell width to auto. Also, prevented spacer element from being rendered for the footer when scrollFooter=false.

        Show
        Arturo Zambrano added a comment - Fixed issues with IE at revision 40947 by changing cell width to auto. Also, prevented spacer element from being rendered for the footer when scrollFooter=false.
        Hide
        Carmen Cristurean added a comment -

        Verified with rev# 40947 in IE10/7/8FF28/Chrome34.

        Show
        Carmen Cristurean added a comment - Verified with rev# 40947 in IE10/7/8FF28/Chrome34.
        Hide
        Carmen Cristurean added a comment -

        EE-3.3.0-maintenance branch # 40947
        Browsers: IE7/8/9/10/FF28/Chrome34
        Server: Tomcat6

        component-showcase:
        Table > Data Paginator: columns are misaligned with the headers when viewing scrollable table, slightly in all browsers, but more visible in IE7, see attached screenshot (IE7.PNG).

        Show
        Carmen Cristurean added a comment - EE-3.3.0-maintenance branch # 40947 Browsers: IE7/8/9/10/FF28/Chrome34 Server: Tomcat6 component-showcase: Table > Data Paginator: columns are misaligned with the headers when viewing scrollable table, slightly in all browsers, but more visible in IE7, see attached screenshot (IE7.PNG).
        Hide
        Ken Fyten added a comment -

        Marking "Won't Fix" due to the large regression risk and unknown benefit to the general user-base.

        Show
        Ken Fyten added a comment - Marking "Won't Fix" due to the large regression risk and unknown benefit to the general user-base.
        Hide
        Arturo Zambrano added a comment -

        Reverted fix at revision 40954.

        Show
        Arturo Zambrano added a comment - Reverted fix at revision 40954.
        Hide
        Arturo Zambrano added a comment -

        Attaching diff files.

        TableRendererComp corresponds to...
        /compat/components/src/main/java/com/icesoft/faces/component/ext/renderkit/TableRenderer.java

        TableRendererCore corresponds to...
        /compat/core/src/main/java/com/icesoft/faces/renderkit/dom_html_basic/TableRenderer.java

        Show
        Arturo Zambrano added a comment - Attaching diff files. TableRendererComp corresponds to... /compat/components/src/main/java/com/icesoft/faces/component/ext/renderkit/TableRenderer.java TableRendererCore corresponds to... /compat/core/src/main/java/com/icesoft/faces/renderkit/dom_html_basic/TableRenderer.java

          People

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

            Dates

            • Created:
              Updated:
              Resolved: