ICEfaces
  1. ICEfaces
  2. ICE-9109

ace:dataTable - Scrollable dataTable columns become misaligned on row selection

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.2, EE-3.2.0.GA, 3.3
    • Fix Version/s: EE-3.3.0.GA, 4.0.BETA, 4.0
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      All

      Description

      An ace:dataTable is set to be scrollable, has row selection enabled, and has pagination set. With this setup there are a few sceanrios that cause the columns to become misaligned when the first row is selected.

      Scenario #1 Steps:
       - Load dataTable with data.
       - Select the first row.
       - Click the button to reload this data. Columns become misaligned.

      Scenario #2 Steps:
       - Load table with data.
       - Navigate to the second page via the paginator.
       - Select the first row, columns become misaligned.

      This seems to be related to the update when the row is selected. It also doesn't seem to matter if the ace:ajax tag is used or the rowSelectListener/rowUnselectListener methods are used.

        Activity

        Arran Mccullough created issue -
        Hide
        Arran Mccullough added a comment -

        Attached test case to reproduce issue with.

        Show
        Arran Mccullough added a comment - Attached test case to reproduce issue with.
        Arran Mccullough made changes -
        Field Original Value New Value
        Attachment Post21795Example.zip [ 15704 ]
        Attachment Post21795ExampleWAR.zip [ 15705 ]
        Arran Mccullough made changes -
        Affects Version/s 3.2 [ 10338 ]
        Ken Fyten made changes -
        Assignee Nils Lundquist [ nils.lundquist ]
        Fix Version/s 3.4 [ 10770 ]
        Assignee Priority P2 [ 10011 ]
        Arran Mccullough made changes -
        Salesforce Case Reference 5007000000T6aZfAAJ
        Ken Fyten made changes -
        Fix Version/s EE-3.3.0.GA [ 10572 ]
        Ken Fyten made changes -
        Assignee Priority P2 [ 10011 ] P1 [ 10010 ]
        Hide
        Nils Lundquist added a comment -

        This is due to an update overwriting specifically the first row - where the column widths are written - without rerunning column sizing logic.

        Other rows are not susceptible.

        Show
        Nils Lundquist added a comment - This is due to an update overwriting specifically the first row - where the column widths are written - without rerunning column sizing logic. Other rows are not susceptible.
        Hide
        Nils Lundquist added a comment -

        This has not been an issue as scrollable + pagination is an atypical use case.

        Scrollable + selection of the very first (of all data - not page) row causes a callback that resizes following it. The issue is being displayed here because the button doesn't have the same behaviour.

        The solution is to use a dynamic stylesheet to fix column widths which adds overhead and requires a large amount of rewriting.

        Show
        Nils Lundquist added a comment - This has not been an issue as scrollable + pagination is an atypical use case. Scrollable + selection of the very first (of all data - not page) row causes a callback that resizes following it. The issue is being displayed here because the button doesn't have the same behaviour. The solution is to use a dynamic stylesheet to fix column widths which adds overhead and requires a large amount of rewriting.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #35580 Thu May 23 21:35:13 MDT 2013 nils.lundquist ICE-9109 - Converted scrollable ace:dataTable body row sizing to use dynamic stylesheet rather than first row inline sizes. Also prevented prototype extension from overwriting existing native implementations. This is preferable for performance and consistency reasons but may cause regressions due to expectations of our overwritten behaviour.
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/util/util.js
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/datatable/datatable.js
        Commit graph MODIFY /icefaces3/trunk/icefaces/compat/core/src/main/javascript/prototype/prototype.js
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/datatable/DataTableRowRenderer.java
        Hide
        Nils Lundquist added a comment -

        Revision #35580
        Committed by nils.lundquist
        2 minutes ago
        ICE-9109 - Converted scrollable ace:dataTable body row sizing to use dynamic stylesheet rather than first row inline sizes. Also prevented prototype extension from overwriting existing native implementations. This is preferable for performance and consistency reasons but may cause regressions due to expectations of our overwritten behaviour.

        Show
        Nils Lundquist added a comment - Revision #35580 Committed by nils.lundquist 2 minutes ago ICE-9109 - Converted scrollable ace:dataTable body row sizing to use dynamic stylesheet rather than first row inline sizes. Also prevented prototype extension from overwriting existing native implementations. This is preferable for performance and consistency reasons but may cause regressions due to expectations of our overwritten behaviour.
        Nils Lundquist made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #35643 Wed May 29 14:38:06 MDT 2013 nils.lundquist ICE-9109 - Worked around Chrome document.styleSheets bug.
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/util/util.js
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #35644 Wed May 29 14:43:01 MDT 2013 nils.lundquist Revert: ICE-9109 - Prevented prototype extension from overwriting existing native implementations. Pushed to 3.4. Future effort captured in ICE-9303.
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/compat/core/src/main/javascript/prototype/prototype.js
        Hide
        Nils Lundquist added a comment -

        Commits intended for this JIRA were added to ICE-9109 - #35642 & #35636

        Show
        Nils Lundquist added a comment - Commits intended for this JIRA were added to ICE-9109 - #35642 & #35636
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #35663 Thu May 30 14:54:32 MDT 2013 nils.lundquist ICE-9109 - Improved row class rendering. Fixes IE9 issue.
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/datatable/DataTableRowRenderer.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #35672 Fri May 31 00:18:57 MDT 2013 nils.lundquist ICE-9109 - Fixed stylesheet reference in sizing code outside IE7 clause.
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/datatable/datatable.js
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #35688 Fri May 31 16:59:58 MDT 2013 nils.lundquist ICE-9109 - Webkit stylesheet title workaround was causing dynamic stylesheet rules to be removed inexplicably. Restrained workaround to Chrome & Safari.
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/util/util.js
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #36215 Thu Jun 13 11:41:56 MDT 2013 nils.lundquist ICE-9109 - remove logging
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/datatable/datatable.js
        Ken Fyten made changes -
        Fix Version/s 4.0 [ 11382 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Nils Lundquist
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: