ICEfaces
  1. ICEfaces
  2. ICE-9006

ace:tabSet - Issue when disabling tabs in tabChangeListener

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.2, EE-3.2.0.GA
    • Fix Version/s: 3.3
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      All
    • Assignee Priority:
      P1
    • Salesforce Case Reference:

      Description

      If the tabs in the ace:tabSet are set to be disabled and this code is done in the tabChangeListener, the content of the tab is changed but the 'active' tab is kept to the previously selected tab. This causes the tabSet to become out of sync, with the active tab and content showing different contents.

      1. Case11593Example2.zip
        19 kB
        Arran Mccullough
      2. Case11593Example2WAR.zip
        9.43 MB
        Arran Mccullough

        Activity

        Hide
        Arran Mccullough added a comment -

        Attached test case that shows the issue.

        Steps:

        • Load welcomeICEfaces.jsf
        • Click the 'Selection Changed' button.
        • Try to navigate to another tab.
        • The tabs content changes and the tabs are disabled but 'Tab One' is still shown as being selected.
        • Click on the 'Enable Tabs' button. The tabs are now enabled. Clicking on another tab will show it as being active as well as the first tab.
        • The tab set only becomes in sync when the first tab is selected again.
        Show
        Arran Mccullough added a comment - Attached test case that shows the issue. Steps: Load welcomeICEfaces.jsf Click the 'Selection Changed' button. Try to navigate to another tab. The tabs content changes and the tabs are disabled but 'Tab One' is still shown as being selected. Click on the 'Enable Tabs' button. The tabs are now enabled. Clicking on another tab will show it as being active as well as the first tab. The tab set only becomes in sync when the first tab is selected again.
        Hide
        Mark Collette added a comment -

        From my testing, using the tabSetProxy in another form, or without it and everything in one form, made no difference. The issue is that the javascript code that sets the tabPane(s) disabled runs before the code that finishes setting the selected tab index, and YUI tabview code won't set a tabPane selection on something that's disabled. So I deferred the setting of disabled=true.

        icefaces3 trunk
        Subversion 33800

        Show
        Mark Collette added a comment - From my testing, using the tabSetProxy in another form, or without it and everything in one form, made no difference. The issue is that the javascript code that sets the tabPane(s) disabled runs before the code that finishes setting the selected tab index, and YUI tabview code won't set a tabPane selection on something that's disabled. So I deferred the setting of disabled=true. icefaces3 trunk Subversion 33800
        Hide
        Mark Collette added a comment -

        Wanted to solve another one on the list of corner cases with disabled and tab changing. Found this while testing for this jira. I reworked the original fix for this jira to hopefully accommodate many more scenarios.

        1. Deploy the Sparkle/Nightly/tabSet qa test app
        2. Browse to: http://localhost:8080/tabSet/tabAttribute.jsf
        3. Fill in the text field so it won't be an issue
        4. Change the tabs around to ensure that works, then go to the first tab
        5. Check the disabled checkbox, which will only make the first tab, that's currently selected, disabled
        6. Click to change tabs to another one
        7. When the code had the bug, the tab contents would change to the second tab's but the first clickable tab would remain blue. With the fix, the first tab does not remain blue, and only the clicked to tab is blue.

        icefaces3 trunk
        Subversion 33839

        Show
        Mark Collette added a comment - Wanted to solve another one on the list of corner cases with disabled and tab changing. Found this while testing for this jira. I reworked the original fix for this jira to hopefully accommodate many more scenarios. 1. Deploy the Sparkle/Nightly/tabSet qa test app 2. Browse to: http://localhost:8080/tabSet/tabAttribute.jsf 3. Fill in the text field so it won't be an issue 4. Change the tabs around to ensure that works, then go to the first tab 5. Check the disabled checkbox, which will only make the first tab, that's currently selected, disabled 6. Click to change tabs to another one 7. When the code had the bug, the tab contents would change to the second tab's but the first clickable tab would remain blue. With the fix, the first tab does not remain blue, and only the clicked to tab is blue. icefaces3 trunk Subversion 33839

          People

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

            Dates

            • Created:
              Updated:
              Resolved: