Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 4.1
-
Fix Version/s: 4.2
-
Component/s: ACE-Components, Sample Apps
-
Labels:None
-
Environment:Tomcat 8. all browsers, ICEfaces 4 trunk r49588. This issue was also present as far back as ICEfaces 4 trunk continuous build 2129
Description
Showcase ace:buttonGroup > Group in Row demo
When you first you make selections in the rows the mutuallyExclusive=true attribute is respected. However, when you refresh the page, all of the previous selections made are now rendered. This is not an issue in the QA test app /ICE-11123-2.jsf found at:
http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/buttonGroup
To reproduce:
1.) Use the showcase ace:buttonGroup > Group in Row demo.
2.) In any row, select each button or checkbox, note that mutuallyExclusive = true.
3.) Refresh the page, all buttons previously selected will now show as selected. See attached screenshot 1.PNG
When you first you make selections in the rows the mutuallyExclusive=true attribute is respected. However, when you refresh the page, all of the previous selections made are now rendered. This is not an issue in the QA test app /
http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/buttonGroup
To reproduce:
1.) Use the showcase ace:buttonGroup > Group in Row demo.
2.) In any row, select each button or checkbox, note that mutuallyExclusive = true.
3.) Refresh the page, all buttons previously selected will now show as selected. See attached screenshot 1.PNG
Issue Links
- depends on
-
ICE-11193 make ace:buttonGroup a naming container for more efficient ace:ajax update calls
- Closed
The only fix appears to be using:-
{group.row}:radioGroup" execute="#{frm2:rpt:#{group.row}<ace:ajax render="@form" execute="@form"/>
for each of the buttons.
The buttonGroup is not a naming container, so you have to submit the entire form. Weshould probably consider whether the buttonGroup should be a naming container so that we could use:-
<ace:ajax render="frm2:rpt:#
:radiogroup"/>
This would mean that you only submit the group and render the group..... (in this example, it would be correct).
for now, the only way to make this work and to ensure that all members of the group are submitted to be state-saved is executing and rendering the entire form for each submit.