ICEfaces
  1. ICEfaces
  2. ICE-5790

Compat Regression: ICE-3057 Resizable columns should save the state optionally

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Alpha3
    • Fix Version/s: 2.0-Beta1, 2.0.0
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      Tomcat6 & FF3.6

      Description

      Resizable columns is not saving the state when resize= true & clientOnly= false.

      Test case available at 'C:\repo\qa\trunk\Regression-Icefaces2\Nightly\ICE-3057'

        Issue Links

          Activity

          Hide
          Mircea Toma added a comment -

          With attributes set to resize= true & clientOnly= false, the columns keep their resized dimension after reload.

          Show
          Mircea Toma added a comment - With attributes set to resize= true & clientOnly= false, the columns keep their resized dimension after reload.
          Hide
          Mandeep Hayher added a comment -

          1)On loading the application, attribute values should be displayed as 'resize: true clientOnly: false' on the webpage
          2)resize columns
          3)change to tab1
          4)now come back to tab0
          all the resizing of the columns is lost.

          Test case available at 'C:\repo\qa\trunk\Regression-Icefaces2\Nightly\ICE-3057'

          Show
          Mandeep Hayher added a comment - 1)On loading the application, attribute values should be displayed as 'resize: true clientOnly: false' on the webpage 2)resize columns 3)change to tab1 4)now come back to tab0 all the resizing of the columns is lost. Test case available at 'C:\repo\qa\trunk\Regression-Icefaces2\Nightly\ ICE-3057 '
          Hide
          Mircea Toma added a comment -

          The reason why the state of the columns is not saved is due to how UIData components are visiting their children during save/restore process. PanelTabSet is inheriting the behavior visitTree() method from the UIData component. UIData.visitTree() method will recursively traverse its children only if they are instance of javax.faces.component.UIColumn (see UIDate.visitColumnsAndRows method). Since PanelTab is currently an instance of javax.faces.component.html.HtmlPanelGroup, it blocks the traversing and eventually saving/restoring the state of its direct children and grand-children.

          The solution was to make PanelTab inherit from UIColumn class.

          Show
          Mircea Toma added a comment - The reason why the state of the columns is not saved is due to how UIData components are visiting their children during save/restore process. PanelTabSet is inheriting the behavior visitTree() method from the UIData component. UIData.visitTree() method will recursively traverse its children only if they are instance of javax.faces.component.UIColumn (see UIDate.visitColumnsAndRows method). Since PanelTab is currently an instance of javax.faces.component.html.HtmlPanelGroup, it blocks the traversing and eventually saving/restoring the state of its direct children and grand-children. The solution was to make PanelTab inherit from UIColumn class.
          Hide
          Mircea Toma added a comment -

          Somebody from Component team should validate the fix.

          Show
          Mircea Toma added a comment - Somebody from Component team should validate the fix.
          Hide
          Ken Fyten added a comment -

          The change Mircea committed for this should be backed-out once ICE-5815 is fixed.

          Show
          Ken Fyten added a comment - The change Mircea committed for this should be backed-out once ICE-5815 is fixed.
          Hide
          yip.ng added a comment -

          ICE-5815 done. Previous changes for this case backed out.

          Show
          yip.ng added a comment - ICE-5815 done. Previous changes for this case backed out.
          Hide
          Mandeep Hayher added a comment -

          Tested successfully on Glimmer revision# 21736, Tomcat6 & FF3.6

          Show
          Mandeep Hayher added a comment - Tested successfully on Glimmer revision# 21736, Tomcat6 & FF3.6

            People

            • Assignee:
              yip.ng
              Reporter:
              Mandeep Hayher
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: