ICEfaces
  1. ICEfaces
  2. ICE-8565

ace:tabSet - tab set becomes out of sync after changing selectedIndex

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.1, EE-3.0.0.GA_P01
    • Fix Version/s: 3.2
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      All

      Description


      When dynamically changing the selectedIndex of the ace:tabSet and setting the ace:tabPane to be disabled it is causing the tabs to become out of sync after the first tab change. The incorrect tab is shown as selected. It takes a few clicks of the tabs to allow them to go back in sync with the selected tab showing the correct tab content.

        Activity

        Hide
        Arran Mccullough added a comment - - edited

        Attached test case that shows this issue.

        Steps:

        • Load welcomeICEfaces.jsf
        • Click on the "Goto Tab Three" button.
        • Tab three is shown and the tabs are disabled.
        • Click on the "Goto Tab One" button.
        • The content of tab one is now shown but Tab Three is shown as selected.
        Show
        Arran Mccullough added a comment - - edited Attached test case that shows this issue. Steps: Load welcomeICEfaces.jsf Click on the "Goto Tab Three" button. Tab three is shown and the tabs are disabled. Click on the "Goto Tab One" button. The content of tab one is now shown but Tab Three is shown as selected.
        Hide
        Cruz Miraback added a comment - - edited

        Confirmed this issue still occurs on ICEfaces3/trunk revision#31472 using the provided test case.

        Show
        Cruz Miraback added a comment - - edited Confirmed this issue still occurs on ICEfaces3/trunk revision#31472 using the provided test case.
        Hide
        Mark Collette added a comment - - edited

        The problem was that the updating of the YAHOO.widget.Tab's disabled state happens after the component does all of its updating, but the activeIndex / activeTab can't be changed while the Tab is disabled. It's not as simple as updating disabled earlier instead of later, since the example app has two transitions, setting every Tab disabled, and setting them not disabled. If disabled was updated first, then it couldn't change tabs when making them disabled, and when updating disabled after, then it can't change tabs when making them not disabled. The solution I went with was, before anything, to make all the tabs temporarily not disabled, then do all the tab changes, and then set the disabled to the appropriate values after.
        icefaces3 trunk
        Subversion 31500

        Show
        Mark Collette added a comment - - edited The problem was that the updating of the YAHOO.widget.Tab's disabled state happens after the component does all of its updating, but the activeIndex / activeTab can't be changed while the Tab is disabled. It's not as simple as updating disabled earlier instead of later, since the example app has two transitions, setting every Tab disabled, and setting them not disabled. If disabled was updated first, then it couldn't change tabs when making them disabled, and when updating disabled after, then it can't change tabs when making them not disabled. The solution I went with was, before anything, to make all the tabs temporarily not disabled, then do all the tab changes, and then set the disabled to the appropriate values after. icefaces3 trunk Subversion 31500
        Hide
        Mark Collette added a comment - - edited

        The Subversion 31622 commit was for ICE-8674, not this jira.

        Show
        Mark Collette added a comment - - edited The Subversion 31622 commit was for ICE-8674 , not this jira.

          People

          • Assignee:
            Mark Collette
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: