ICEfaces
  1. ICEfaces
  2. ICE-11154

ace:dataTable - Paginator not resizing correctly

    Details

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

      Description

      When two ace:dataTable components are rendered on the same page and both use a paginator, the top tables paginator doesn't resize itself based off of the available browser area.

      The paginator sticks to the size it was orginally rendered as. The second table resizes itself accordingly. If the second table is removed from the page, the top table paginator resizes itself correctly.

        Activity

        Hide
        Arran Mccullough added a comment -

        Attached test case that shows the issue.

        Steps:

        • Open welcomeICEfaces.jsf
        • Resize the browser, the top table paginator won't resize itself based off of the browser window.
        Show
        Arran Mccullough added a comment - Attached test case that shows the issue. Steps: Open welcomeICEfaces.jsf Resize the browser, the top table paginator won't resize itself based off of the browser window.
        Hide
        Arran Mccullough added a comment -

        Note: this only happens on the ICEfaces 4 code base.

        Show
        Arran Mccullough added a comment - Note: this only happens on the ICEfaces 4 code base.
        Hide
        Arturo Zambrano added a comment -

        r49365: added checks to only unbind the resize callbacks from the window if they have already been defined, in order to avoid unbinding all resize callbacks of all tables (and other components) on the page

        Because the destroy() method is always called before initializing a table, and that destroy() method unbinds all the resize callbacks of the table from the window object, but those callbacks aren't defined yet at that point, then all resize callbacks where being removed from the window object, so only the last table got to keep its resize listeners. This was fixed by first checking that these callbacks are defined, before unbinding them.

        Show
        Arturo Zambrano added a comment - r49365: added checks to only unbind the resize callbacks from the window if they have already been defined, in order to avoid unbinding all resize callbacks of all tables (and other components) on the page Because the destroy() method is always called before initializing a table, and that destroy() method unbinds all the resize callbacks of the table from the window object, but those callbacks aren't defined yet at that point, then all resize callbacks where being removed from the window object, so only the last table got to keep its resize listeners. This was fixed by first checking that these callbacks are defined, before unbinding them.
        Hide
        Carmen Cristurean added a comment - - edited

        Verified ICEfaces4 trunk r 49367 with attached test case on IE11, MS Edge38, Chrome53, FF47.
        Ran all ace:dataTable QA tests on FF47; verified manually column alignment on dataTable with Paginator tests (IE11, MS Edge38, FF47, Chrome53).

        Show
        Carmen Cristurean added a comment - - edited Verified ICEfaces4 trunk r 49367 with attached test case on IE11, MS Edge38, Chrome53, FF47. Ran all ace:dataTable QA tests on FF47; verified manually column alignment on dataTable with Paginator tests (IE11, MS Edge38, FF47, Chrome53).

          People

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

            Dates

            • Created:
              Updated:
              Resolved: