ICEfaces
  1. ICEfaces
  2. ICE-8657

ace:tabSet - Active tab changes after clicking on commandLink

    Details

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

      Description


      Issue scenario: A tabSet is rendered that shows three tabs. Tab one contains a link that changes the selectedIndex to the third tab. The third tab has a commandLink. After a set of actions when clicking on the link in the third tab, it will automatically change the active tab to the first tab.

      Steps to reproduce:
       - Click on the 'Show Tab Three' link in tab one. Active tab is now tab three.
       - Click on the link in Tab Three. Active tab stays as Tab Three.
       - Click on Tab One to make it the active tab.
       - Click on the 'Show Tab Three' link in tab one. Active tab is now tab three.
       - Click on the link in Tab Three, the active tab is changed to tab one.

        Activity

        Hide
        Arran Mccullough added a comment - - edited

        Support Case #11671

        Show
        Arran Mccullough added a comment - - edited Support Case #11671
        Hide
        Mark Collette added a comment -

        The problem was that the yti hidden field is used to communicate the user clicked tab change to the server, and since it's the submitting element, it can't just be a parameter but must be an element. So when the server overrides the selected tab, that field is then stale and incorrect. The server isn't rendering out the yti element itself, since it can be in the tabSet's form or any tabSetProxy's form. So, needed to add post-submit code in the onsuccess handler to clear out the hidden field so it can't become stale later.

        icefaces3 trunk
        Subversion 34105

        Show
        Mark Collette added a comment - The problem was that the yti hidden field is used to communicate the user clicked tab change to the server, and since it's the submitting element, it can't just be a parameter but must be an element. So when the server overrides the selected tab, that field is then stale and incorrect. The server isn't rendering out the yti element itself, since it can be in the tabSet's form or any tabSetProxy's form. So, needed to add post-submit code in the onsuccess handler to clear out the hidden field so it can't become stale later. icefaces3 trunk Subversion 34105
        Hide
        Cruz Miraback added a comment -

        Confirmed fixed on ICEfaces3 trunk revision# 34106 in Firefox19, Chrome25, IE10.

        Show
        Cruz Miraback added a comment - Confirmed fixed on ICEfaces3 trunk revision# 34106 in Firefox19, Chrome25, IE10.

          People

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

            Dates

            • Created:
              Updated:
              Resolved: