ICEfaces
  1. ICEfaces
  2. ICE-8059

Scrollable ace:dataTable - columns become misaligned after changing Row State visibility

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-3.0.0.GA, 3.1
    • Fix Version/s: 3.1.0.BETA1, 3.1, EE-3.0.0.GA_P01
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      Firefox, IE8, IE9
    • Assignee Priority:
      P3
    • Affects:
      Compatibility/Configuration

      Description

      When changing the visiblity of a row via its row state, the columns become misaligned in an scrollable ace:dataTable.
      1. Case11168Example.zip
        19 kB
        Arran Mccullough
      2. Case11168ExampleWAR.zip
        9.30 MB
        Arran Mccullough

        Activity

        Hide
        Arran Mccullough added a comment -

        Attached test case that show issue. Steps to reproduce:

        • Select a row in the table.
        • Click on the Disable Visibility For Selected button.
        • Columns become misaligned.
        Show
        Arran Mccullough added a comment - Attached test case that show issue. Steps to reproduce: Select a row in the table. Click on the Disable Visibility For Selected button. Columns become misaligned.
        Hide
        Nils Lundquist added a comment -

        This is due to the first row being updated as part of a dom diff effecting the entire body region of the scrollable table.

        When rows other than the first are hidden, because the diff produces enough updates to cause our diff "scope increase" optimization to kick in, the first row is updated as well, losing the sizing info that has been set on it.

        To workaround this issue resizeScrolling should be called on the client following these sorts of updates.

        Show
        Nils Lundquist added a comment - This is due to the first row being updated as part of a dom diff effecting the entire body region of the scrollable table. When rows other than the first are hidden, because the diff produces enough updates to cause our diff "scope increase" optimization to kick in, the first row is updated as well, losing the sizing info that has been set on it. To workaround this issue resizeScrolling should be called on the client following these sorts of updates.
        Hide
        Nils Lundquist added a comment -

        Revision #29123
        Committed by nils.lundquist
        Moments ago
        ICE-8059 - Remove unique id from table body allowing the "dom diff scope enlargement" optimization to update the entire component region, including the script, resolving this issue.

        Show
        Nils Lundquist added a comment - Revision #29123 Committed by nils.lundquist Moments ago ICE-8059 - Remove unique id from table body allowing the "dom diff scope enlargement" optimization to update the entire component region, including the script, resolving this issue.
        Hide
        Nils Lundquist added a comment -

        Revision #29129
        Committed by nils.lundquist
        Moments ago
        ICE-8059 - Change how rows determine if they render inner divs to enable scrollable sizing. This fixes the cases where the first row of a scrollable table (containing the sizing rules) is hidden.

        Show
        Nils Lundquist added a comment - Revision #29129 Committed by nils.lundquist Moments ago ICE-8059 - Change how rows determine if they render inner divs to enable scrollable sizing. This fixes the cases where the first row of a scrollable table (containing the sizing rules) is hidden.
        Hide
        Ken Fyten added a comment -

        Flag this as possible backward-compatibilty issue to be included in Release Notes.

        Show
        Ken Fyten added a comment - Flag this as possible backward-compatibilty issue to be included in Release Notes.
        Hide
        Nils Lundquist added a comment -

        Revision #29899
        Committed by nils.lundquist
        Today
        ICE-8059 - Backport of trunk DataTable to maintenance branch.

        Revision #29907
        Committed by nils.lundquist
        ICE-8059 - Aligning backported API with EE compat expectations.

        Hid 'clickableHeaderSorting', 'toggleOnInvalidEdit', 'hiddenScrollableSizing', and 'staticHeaders' properties and reverted any defaults that may have changed since 3.0

        Tested with showcase for basic feature integrity

        Show
        Nils Lundquist added a comment - Revision #29899 Committed by nils.lundquist Today ICE-8059 - Backport of trunk DataTable to maintenance branch. Revision #29907 Committed by nils.lundquist ICE-8059 - Aligning backported API with EE compat expectations. Hid 'clickableHeaderSorting', 'toggleOnInvalidEdit', 'hiddenScrollableSizing', and 'staticHeaders' properties and reverted any defaults that may have changed since 3.0 Tested with showcase for basic feature integrity

          People

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

            Dates

            • Created:
              Updated:
              Resolved: