Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Won't Fix
-
Affects Version/s: 2.1-Beta
-
Fix Version/s: 3.0
-
Component/s: ACE-Components
-
Labels:None
-
Environment:Test application be used is located at: repo\qa\trunk\Regression-Icefaces2\Sparkle\Nightly\notificationPanel
ice & ace tabSet
-
Workaround Exists:Yes
-
Workaround Description:
Description
To reproduce:
1. Load test application
2. Navigate to one of the tabSet tests (either Sparkle or Panel)
3. Switch tabs back and forth
Notice that a new div is being created each time you return to the tab with the notificationPanel.
Screenshot 1: This is the initial page load.
Screenshot 2: This is after switching to 'Tab 2' and back to 'Tab 1'.
Screenshot 3: This is after switching to 'Tab 2' and back to 'Tab 1' again.
1. Load test application
2. Navigate to one of the tabSet tests (either Sparkle or Panel)
3. Switch tabs back and forth
Notice that a new div is being created each time you return to the tab with the notificationPanel.
Screenshot 1: This is the initial page load.
Screenshot 2: This is after switching to 'Tab 2' and back to 'Tab 1'.
Screenshot 3: This is after switching to 'Tab 2' and back to 'Tab 1' again.
The notificationPanel renders the div inline, but then the javascipt moves it to the body, to avoid positioning issues. As such, when using panelTabSet or server-side tabSet, switching tabs will cause the notificationPanel to stop rendering, but will not cleanup the div from the body, since the dom diff knows nothing about that. So this has nothing to do with the panelTabSet or tabSet. It's about this render and move strategy of the notificationPanel.
A simple work-around would be to put the notificationPanel outside the container component, and just put it within the body anyways, since that's where it'll end up getting rendered regardless. Or inside a form but outside the containers that start and stop rendering it.