Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 3.0
-
Fix Version/s: 3.0.1, EE-3.0.0.GA
-
Component/s: ACE-Components
-
Labels:None
-
Environment:Chrome, Firefox, IE, TomCat 7
Description
Modification of the ace:tabSet selectedIndex via server side does not trigger tab change on the client. Click on refresh button in the browser is required in order to force tab change.
To reproduce:
1. Create a test case from attached source code.
2. Launch application and click on change tab command link
Notice:
- Server log will display messages:
Action Event begin
Old Index value: 0
New index value: 1
Action Event end
- Tab1 will switch to Tab2 in the browser and display its content
3. Click on change tab for the second time.
Notice:
- Server log will display messages:
Action Event begin
Old Index value: 1
New index value: 2
Action Event end
- The content of tab 2 will disappear and it will remain selected in the browser.
4. Hit refresh button in the browser
Notice:
- Tab 2 will switch to Tab3 in the browser and display its content.
5. Click on change tab link. Behavior of steps 2-4 will be repeated.
Other notes:
Tried sample code with different parameters of the cache attribute for tabs without any success.
No errors were present in the JavaScript console or server log during the test.
To reproduce:
1. Create a test case from attached source code.
2. Launch application and click on change tab command link
Notice:
- Server log will display messages:
Action Event begin
Old Index value: 0
New index value: 1
Action Event end
- Tab1 will switch to Tab2 in the browser and display its content
3. Click on change tab for the second time.
Notice:
- Server log will display messages:
Action Event begin
Old Index value: 1
New index value: 2
Action Event end
- The content of tab 2 will disappear and it will remain selected in the browser.
4. Hit refresh button in the browser
Notice:
- Tab 2 will switch to Tab3 in the browser and display its content.
5. Click on change tab link. Behavior of steps 2-4 will be repeated.
Other notes:
Tried sample code with different parameters of the cache attribute for tabs without any success.
No errors were present in the JavaScript console or server log during the test.
There are four main scenarios:
1. When the user clicks to change tabs, the form doesn't validate, and the tabSet is set to remain on the old tab
2. When the user clicks to change tabs, the application uses a tabChangeListener, and forces it to remain on the old tab
3. When the user clicks to change tabs, the application uses a tabChangeListener, and forces it to go to a tertiary tab
4. When the user clicks on some other component, the action[Listener] changes the tabSet's selectedIndex
Both the QA test app and the support case are scenario #4. Fixing that won't necessarily fix any of the other scenarios. Not that they've necessarily been tested nor shown to be broken.