ICEfaces
  1. ICEfaces
  2. ICE-11223

ace:dataTable - ace:checkboxButtons triggering row selection

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 4.2.BETA
    • Fix Version/s: 4.2, EE-3.3.0.GA_P05
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      All

      Description

      An ace:dataTable is set with an ace:checkboxButtons component in one of its columns. Depending on the browser, clicking on these buttons is causing issues with the row selection of the dataTable.

      Chrome: Checking a checkbox causes the row to become selected/unselected and is also causing the check to be cleared.

      IE11/Firefox: Clicking on a checkbox button isn't causing row selection/unselection but if a row is selected/unselected it is unchecking a checked checkbox.

        Activity

        Hide
        Judy Guglielmin added a comment -

        reopened for Support Case 14185 to backport fix to ICEfaces 3.3.0 maintenance branch

        Show
        Judy Guglielmin added a comment - reopened for Support Case 14185 to backport fix to ICEfaces 3.3.0 maintenance branch
        Hide
        Arturo Zambrano added a comment - - edited

        r51869: backported all fixes to the 3.3 EE maintenance branch

        Testing Notes: The last test case added (the one using ace:checkboxButton instead of ace:checkboxButtons) needs to be added <ace:ajax /> to the ace:checkboxButton, in order to save the checked state, otherwise, it's just a client-side component and the state is lost after selecting a row.

        Please also run all ace:autoCompleteEntry tests, since there was a modification for this fix to work.

        Show
        Arturo Zambrano added a comment - - edited r51869: backported all fixes to the 3.3 EE maintenance branch Testing Notes: The last test case added (the one using ace:checkboxButton instead of ace:checkboxButtons) needs to be added <ace:ajax /> to the ace:checkboxButton, in order to save the checked state, otherwise, it's just a client-side component and the state is lost after selecting a row. Please also run all ace:autoCompleteEntry tests, since there was a modification for this fix to work.
        Hide
        Arturo Zambrano added a comment - - edited

        It's important to mention that for this test case to work, the ace:checkboxButton needs to have it's value bound to a bean property and to have an <ace:ajax /> tag. Perhaps other components might need those two things to work as well.

        I had modified the original test case to use ace:checkboxButton as well, and I spent some time testing the backport either without ajax or without having the value bound to a bean property, and it wasn't working as expected. The first issue was solved (checking the ace:checkboxButton was being done successfully and without selecting the row it was in), but an issue remained where after checking an ace:checkboxButton and then selecting the row, the checked state was lost. This scenario only works if the ace:checkboxButton is using <ace:ajax /> and its value is bound to a bean property.

        Show
        Arturo Zambrano added a comment - - edited It's important to mention that for this test case to work, the ace:checkboxButton needs to have it's value bound to a bean property and to have an <ace:ajax /> tag. Perhaps other components might need those two things to work as well. I had modified the original test case to use ace:checkboxButton as well, and I spent some time testing the backport either without ajax or without having the value bound to a bean property, and it wasn't working as expected. The first issue was solved (checking the ace:checkboxButton was being done successfully and without selecting the row it was in), but an issue remained where after checking an ace:checkboxButton and then selecting the row, the checked state was lost. This scenario only works if the ace:checkboxButton is using <ace:ajax /> and its value is bound to a bean property.
        Hide
        Liana Munroe added a comment - - edited

        Verified using attached test case and ICEfaces EE-3.3.0_P05 Jenkins build 2, Tomcat 8, MS Edge, IE 11, 10, 9, FF 53, Chrome 60.

        When testing on IE 8 and 7, using Tomcat 8 or 7, the following console error was seen:
        IE 8 - SCRIPT5007: Unable to get property 'instanceTag' of undefined or null reference
        icepush.uncompressed.js (118,9). This issue is related to http://jira.icesoft.org/browse/ICE-11355. After removing the icepush-ee.jar the issue console error was no longer seen in IE 7 and 8.

        Show
        Liana Munroe added a comment - - edited Verified using attached test case and ICEfaces EE-3.3.0_P05 Jenkins build 2, Tomcat 8, MS Edge, IE 11, 10, 9, FF 53, Chrome 60. When testing on IE 8 and 7, using Tomcat 8 or 7, the following console error was seen: IE 8 - SCRIPT5007: Unable to get property 'instanceTag' of undefined or null reference icepush.uncompressed.js (118,9). This issue is related to http://jira.icesoft.org/browse/ICE-11355 . After removing the icepush-ee.jar the issue console error was no longer seen in IE 7 and 8.
        Hide
        Arturo Zambrano added a comment - - edited

        That seems to be the same issue as http://jira.icesoft.org/browse/ICE-11355.

        It doesn't happen when icepush.jar is not present.

        Show
        Arturo Zambrano added a comment - - edited That seems to be the same issue as http://jira.icesoft.org/browse/ICE-11355 . It doesn't happen when icepush.jar is not present.

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: