ICEfaces
  1. ICEfaces
  2. ICE-9651

ace:buttonGroup - mutuallyExclusive attribute fails if using checkboxButtons inside h:panelGrid

    Details

    • Assignee Priority:
      P3

      Description

      The mutuallyExclusive attribute cannot be enabled for an ace:buttonGroup with ace:checkboxButtons, if the checkboxButton components are inside an h:panelGrid. Removing the h:panelGrid fixes the issue.
      This is not an issue if using ace:radioButtons inside the h:panelGrid.

              <ace:buttonGroup id="cbButtonGroup" header="Using ace:checkboxButton" mutuallyExclusive="true">
                  <h:panelGrid id="panelGrid" columns="3" width="60%">
                      <ace:checkboxButton value="#{buttonGroupBean.cb1}" label="#{buttonGroupBean.cbValueDescription1}">
                          <ace:ajax execute="@this" event="activate" render="@form"/>
                      </ace:checkboxButton>
                      <ace:checkboxButton value="#{buttonGroupBean.cb2}" label="#{buttonGroupBean.cbValueDescription2}">
                          <ace:ajax execute="@this" event="activate" render="@form"/>
                      </ace:checkboxButton>
                      <ace:checkboxButton value="#{buttonGroupBean.cb3}" label="#{buttonGroupBean.cbValueDescription3}">
                          <ace:ajax execute="@this" event="activate" render="@form"/>
                      </ace:checkboxButton>
                  </h:panelGrid>
              </ace:buttonGroup>

      This can be reproduced with the ButtonGroup / ButtonGroup Only test app from: http://server.ice:8888/svn/repo/qa/trunk/Regression-Icefaces2/Sparkle/Manual/buttonGroup

        Activity

        Carmen Cristurean created issue -
        Carmen Cristurean made changes -
        Field Original Value New Value
        Summary ace:buttonGroup - mutuallyExclusive attribute fails if using checkboxButtons ace:buttonGroup - mutuallyExclusive attribute fails if using checkboxButtons inside h:panelGrid
        Ken Fyten made changes -
        Assignee Arturo Zambrano [ artzambrano ]
        Fix Version/s 3.4 [ 10770 ]
        Assignee Priority P2 [ 10011 ]
        Hide
        Carmen Cristurean added a comment -

        If the ace:buttonGroup w/ checkboxButtons is inside f:ajax (render/execute=@all), the mutuallyExclusive=true attribute always fails, with or without the checkboxButtons in an h:panelGrid.
        This can be reproduced using the same test application for buttonGroup, on the ButtonGroup inside f:ajax test: http://localhost:8080/buttonGroup/buttonGroupFAjax.jsf

        Show
        Carmen Cristurean added a comment - If the ace:buttonGroup w/ checkboxButtons is inside f:ajax (render/execute=@all), the mutuallyExclusive=true attribute always fails, with or without the checkboxButtons in an h:panelGrid. This can be reproduced using the same test application for buttonGroup, on the ButtonGroup inside f:ajax test: http://localhost:8080/buttonGroup/buttonGroupFAjax.jsf
        Hide
        Carmen Cristurean added a comment -

        The same behavior has been found for ace:buttonGroup w/ checkboxButtons inside ace:tabSet or ice:panelTabSet: multiple checkbox buttons can be selected when mutuallyExclusive=true, if after each button selection, user clicks on another tab, then comes back to the tab containing the buttonGroup and selects another checkboxButton. This behavior is not affected by the h:panelGrid.
        Steps to reproduce:

        Show
        Carmen Cristurean added a comment - The same behavior has been found for ace:buttonGroup w/ checkboxButtons inside ace:tabSet or ice:panelTabSet: multiple checkbox buttons can be selected when mutuallyExclusive=true, if after each button selection, user clicks on another tab, then comes back to the tab containing the buttonGroup and selects another checkboxButton. This behavior is not affected by the h:panelGrid. Steps to reproduce: go to: http://localhost:8080/buttonGroup/aceTabSet.jsf or http://localhost:8080/buttonGroup/panelTabSet.jsf select a checkboxButton, as example cb3 -> cb3 selected, cb1/cb2 unselected. click Tab1 -> second tab displayed. click to Tab0 -> first tab with the buttonGroup displayed, where cb3 is selected. select another checkbox, as example cb2 -> cb2&cb3 are both selected.
        Hide
        Carmen Cristurean added a comment -

        Adding a new buttonGroup failure scenario, partialStateSavings=false specific (icefaces4/trunk rev# 38729/Firefox24):

        In showcase sample -> ace:buttonGroup: mutual exclusivity fails for checkboxButtons, as two buttons can be selected at the same time.

        Show
        Carmen Cristurean added a comment - Adding a new buttonGroup failure scenario, partialStateSavings=false specific (icefaces4/trunk rev# 38729/Firefox24): In showcase sample -> ace:buttonGroup: mutual exclusivity fails for checkboxButtons, as two buttons can be selected at the same time.
        Ken Fyten made changes -
        Fix Version/s 4.0 [ 11382 ]
        Fix Version/s 4.0.BETA [ 10770 ]
        Hide
        Carmen Cristurean added a comment -

        Previously added issue for partialStateSaving=false could not be reproduced anymore (icefaces4 trunk rev# 41324/Firefox29).

        Show
        Carmen Cristurean added a comment - Previously added issue for partialStateSaving=false could not be reproduced anymore (icefaces4 trunk rev# 41324/Firefox29).
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #41772 Fri Jul 11 14:12:16 MDT 2014 art.zambrano ICE-9651 fix for checkboxbutton issues with mutuallyExclusive functionality; minor improvements to radiobutton behaviour; general fixes in lazy init strategy to avoid initializing components multiple times
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/checkboxbutton/checkboxbutton.js
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/buttongroup/ButtonGroupMeta.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/util/Utils.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/checkboxbutton/CheckboxButtonRenderer.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/radiobutton/radiobutton.js
        Hide
        Arturo Zambrano added a comment -

        r41772: comitted fixes for checkboxbutton issues with mutuallyExclusive functionality; minor improvements to radiobutton behaviour; general fixes in lazy init strategy to avoid initializing components multiple times.

        Show
        Arturo Zambrano added a comment - r41772: comitted fixes for checkboxbutton issues with mutuallyExclusive functionality; minor improvements to radiobutton behaviour; general fixes in lazy init strategy to avoid initializing components multiple times.
        Hide
        Arturo Zambrano added a comment -

        Could not reproduce f:ajax issue after the previous fixes. Marking issue as fixed.

        Show
        Arturo Zambrano added a comment - Could not reproduce f:ajax issue after the previous fixes. Marking issue as fixed.
        Arturo Zambrano made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Ken Fyten added a comment - - edited

        Issues related to nesting inside ui:repeat and h:dataTable are possibly related to the same root cause as the issues described in ICE-9895 and ICE-9998.

        Show
        Ken Fyten added a comment - - edited Issues related to nesting inside ui:repeat and h:dataTable are possibly related to the same root cause as the issues described in ICE-9895 and ICE-9998.
        Ken Fyten made changes -
        Assignee Priority P2 [ 10011 ] P3 [ 10012 ]
        Ken Fyten made changes -
        Security Private [ 10001 ]
        Hide
        Ken Fyten added a comment -

        Possible regressions from this change captured by QA:

        ICEfaces4 trunk revision# 41822
        Server: tomcat7
        Browser: IE7, FF3.6 & Chrome35
        JSF: Mojarra 2.2.7

        ButtonGroup > Overview
        Test fails manually, Checkbox buttons can not be de-selected.
        CheckBox button > Overview, Custom Styling
        Test fails manually, Checkbox buttons can not be de-selected.

        Show
        Ken Fyten added a comment - Possible regressions from this change captured by QA: ICEfaces4 trunk revision# 41822 Server: tomcat7 Browser: IE7, FF3.6 & Chrome35 JSF: Mojarra 2.2.7 ButtonGroup > Overview Test fails manually, Checkbox buttons can not be de-selected. CheckBox button > Overview, Custom Styling Test fails manually, Checkbox buttons can not be de-selected.
        Ken Fyten made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #41824 Mon Jul 21 14:32:58 MDT 2014 art.zambrano ICE-10132, ICE-9651 fix to only trigger action or deactivate event; fix to render selected class from the server when component is selected
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/radiobutton/RadioButtonRenderer.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/radiobutton/radiobutton.js
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #41826 Mon Jul 21 14:46:21 MDT 2014 art.zambrano ICE-9651 removed unnecessary line that was preventing buttons from being deselected
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/checkboxbutton/checkboxbutton.js
        Hide
        Arturo Zambrano added a comment -

        r41826: removed unnecessary line in Javascript code that was preventing buttons from being deselected.

        Show
        Arturo Zambrano added a comment - r41826: removed unnecessary line in Javascript code that was preventing buttons from being deselected.
        Arturo Zambrano made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #41827 Mon Jul 21 15:22:16 MDT 2014 art.zambrano ICE-10132, ICE-9651 fix to prevent NPE's when value is not initialized
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/radiobutton/RadioButtonRenderer.java
        Hide
        Carmen Cristurean added a comment -

        Showcase > checkboxButton, ButtonGroup issues have been resolved (IF4 trunk rev. 41826/ IE10, FF30, Chrome35).

        Show
        Carmen Cristurean added a comment - Showcase > checkboxButton, ButtonGroup issues have been resolved (IF4 trunk rev. 41826/ IE10, FF30, Chrome35).
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Carmen Cristurean
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: