ICEfaces
  1. ICEfaces
  2. ICE-11262

Disabled ace:pushButton, ace:linkButton, ace:checkboxButton, ace:radioButtons can still trigger events

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 4.1
    • Fix Version/s: 4.2
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      ICEfaces4 trunk r51092
      Server: Tomcat7
      Browsers: all

      Description

      The disabled property of the ace:pushButton seems to cause the graphical part of the button to become disabled. The button can still be clicked, and still carries out events.

      QA test: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/pushButton

      Test page: /pushButtonDisabled.jsf


      This is also an issue with ace:linkButton, ace:checkboxButton, and ace:radioButton.
      QA test apps:
      http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/linkButton
      http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/checkboxButton
      http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/radioButton

      Test pages: /linkButtonDisabled.jsf
      /checkboxButtonDisabled.jsf
      /radioButtonDisabled.jsf

        Activity

        Carmen Cristurean created issue -
        Carmen Cristurean made changes -
        Field Original Value New Value
        Fix Version/s 4.2 [ 12870 ]
        Hide
        Ken Fyten added a comment -

        When disabled=true, it should not be possible to click the button at all, no events should be triggered, etc.

        Show
        Ken Fyten added a comment - When disabled=true, it should not be possible to click the button at all, no events should be triggered, etc.
        Ken Fyten made changes -
        Assignee Arturo Zambrano [ artzambrano ]
        Affects Version/s 4.1 [ 11375 ]
        Affects Version/s 4.2.BETA [ 13091 ]
        Assignee Priority P1 [ 10010 ]
        Ken Fyten made changes -
        Security Private [ 10001 ]
        Carmen Cristurean made changes -
        Description The disabled property of the ace:pushButton seems to cause the graphical part of the button to become disabled. The button can still be clicked, and still carries out events.

        QA test: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/pushButton

        Test page: /pushButtonDisabled.jsf
        The disabled property of the ace:pushButton seems to cause the graphical part of the button to become disabled. The button can still be clicked, and still carries out events.

        QA test: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/pushButton

        Test page: /pushButtonDisabled.jsf

        This may be also an issue with ace:linkButton.
        Carmen Cristurean made changes -
        Description The disabled property of the ace:pushButton seems to cause the graphical part of the button to become disabled. The button can still be clicked, and still carries out events.

        QA test: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/pushButton

        Test page: /pushButtonDisabled.jsf

        This may be also an issue with ace:linkButton.
        The disabled property of the ace:pushButton seems to cause the graphical part of the button to become disabled. The button can still be clicked, and still carries out events.

        QA test: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/pushButton

        Test page: /pushButtonDisabled.jsf


        This is also an issue with ace:linkButton.
        QA test: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/linkButton
        Test page: /linkButtonDisabled.jsf
        Carmen Cristurean made changes -
        Description The disabled property of the ace:pushButton seems to cause the graphical part of the button to become disabled. The button can still be clicked, and still carries out events.

        QA test: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/pushButton

        Test page: /pushButtonDisabled.jsf


        This is also an issue with ace:linkButton.
        QA test: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/linkButton
        Test page: /linkButtonDisabled.jsf
        The disabled property of the ace:pushButton seems to cause the graphical part of the button to become disabled. The button can still be clicked, and still carries out events.

        QA test: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/pushButton

        Test page: /pushButtonDisabled.jsf


        This is also an issue with ace:linkButton, ace:checkboxButton, and ace:radioButton.
        QA test apps:
        http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/linkButton
        http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/checkboxButton
        http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/radioButton

        Test pages: /linkButtonDisabled.jsf
        /checkboxButtonDisabled.jsf
        /radioButtonDisabled.jsf
        Ken Fyten made changes -
        Summary Disabled ace:pushButton still carries out events Disabled ace:pushButton, ace:linkButton, ace:checkboxButton, ace:radioButtons can still trigger events
        ICEsoft Forum Reference http://www.icesoft.org/JForum/posts/list/23278.page#sthash.RrSQTVGB.dpbs
        Hide
        Arturo Zambrano added a comment - - edited

        r51119: various fixes to make ace:pushButton truly disabled when disabled="true": 1) render disabled="disabled" on button element 2) avoid rendering on* passthrough attributes 3) render script to erase on* passthrough attributes added with the <f:passThroughAttribute /> tag

        The button was still already disabled on the server side. Passthough attributes for DOM events (onclick, etc.) were still being rendered on the button element. Passthrough attributes added with the <f:passThroughAttribute /> tag aren't controlled by the renderer class and are added to the root element. So, the solution to this was to render a script to erase the content of those attributes on the root element, when disabled="true".

        I'll check if other buttons require this treatment as well.

        Show
        Arturo Zambrano added a comment - - edited r51119: various fixes to make ace:pushButton truly disabled when disabled="true": 1) render disabled="disabled" on button element 2) avoid rendering on* passthrough attributes 3) render script to erase on* passthrough attributes added with the <f:passThroughAttribute /> tag The button was still already disabled on the server side. Passthough attributes for DOM events (onclick, etc.) were still being rendered on the button element. Passthrough attributes added with the <f:passThroughAttribute /> tag aren't controlled by the renderer class and are added to the root element. So, the solution to this was to render a script to erase the content of those attributes on the root element, when disabled="true". I'll check if other buttons require this treatment as well.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #51119 Tue Mar 07 14:07:32 MST 2017 art.zambrano ICE-11262 various fixes to make ace:pushButton truly disabled when disabled="true": 1) render disabled="disabled" on button element 2) avoid rendering on* passthrough attributes 3) render script to erase on* passthrough attributes added with the <f:passThroughAttribute />
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/pushbutton/PushButtonRenderer.java
        Hide
        Arturo Zambrano added a comment -

        r51121: various fixes to make ace:linkButton, ace:checkboxButton, and ace:radioButton truly disabled when disabled="true": 1) render disabled="disabled" on button element 2) avoid rendering on* passthrough attributes 3) render script to erase on* passthrough attributes added with the <f:passThroughAttribute />

        Show
        Arturo Zambrano added a comment - r51121: various fixes to make ace:linkButton, ace:checkboxButton, and ace:radioButton truly disabled when disabled="true": 1) render disabled="disabled" on button element 2) avoid rendering on* passthrough attributes 3) render script to erase on* passthrough attributes added with the <f:passThroughAttribute />
        Arturo Zambrano made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #51121 Tue Mar 07 15:32:43 MST 2017 art.zambrano ICE-11262 various fixes to make ace:linkButton, ace:checkboxButton, and ace:radioButton truly disabled when disabled="true": 1) render disabled="disabled" on button element 2) avoid rendering on* passthrough attributes 3) render script to erase on* passthrough attributes added with the <f:passThroughAttribute />
        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/checkboxbutton/checkboxbutton.js
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/pushbutton/PushButtonRenderer.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/linkbutton/LinkButtonRenderer.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/checkboxbutton/CheckboxButtonRenderer.java
        Hide
        Carmen Cristurean added a comment -

        Verified IF4 trunk r.51122 on IE11, IE8, Chrome56, MsEdge38, FF39.

        Show
        Carmen Cristurean added a comment - Verified IF4 trunk r.51122 on IE11, IE8, Chrome56, MsEdge38, FF39.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #51125 Tue Mar 07 16:51:41 MST 2017 ken.fyten ICE-11262 various fixes to make ace:linkButton, ace:checkboxButton, and ace:radioButton truly disabled when disabled="true": 1) render disabled="disabled" on button element 2) avoid rendering on* passthrough attributes 3) render script to erase on* passthrough attributes added with the <f:passThroughAttribute />
        Files Changed
        Commit graph MODIFY /icefaces4/tags/icefaces-4.2.0/icefaces/ace/component/src/org/icefaces/ace/component/pushbutton/PushButtonRenderer.java
        Commit graph MODIFY /icefaces4/tags/icefaces-4.2.0/icefaces/ace/component/src/org/icefaces/ace/component/linkbutton/LinkButtonRenderer.java
        Commit graph MODIFY /icefaces4/tags/icefaces-4.2.0/icefaces/ace/component/src/org/icefaces/ace/component/checkboxbutton/CheckboxButtonRenderer.java
        Commit graph MODIFY /icefaces4/tags/icefaces-4.2.0/icefaces/ace/component/resources/icefaces.ace/checkboxbutton/checkboxbutton.js
        Commit graph MODIFY /icefaces4/tags/icefaces-4.2.0/icefaces/ace/component/src/org/icefaces/ace/component/radiobutton/RadioButtonRenderer.java
        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: