ICEfaces
  1. ICEfaces
  2. ICE-7802

Closing multiple modal panelPopups causes the Liferay controls to be non clickable

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.1, EE-2.0.0.GA, 2.0.2, 3.0
    • Fix Version/s: 3.0.1, EE-3.0.0.GA
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      Liferay Portal 6.0.6/Tomcat 6.0.29

      Description

      When opening a modal popup it sets the underlying input fields to have a tabindex or -1. This prevents the inputs from gaining focus when the user us tabbing. When the modal popup is closed it sets all these inputs back to 0 allowing them to gain focus and be selected.

      In this case there are two modal popups being opened one after the other. A modal popup is opened via a button click, this popup contains another button which will hide the first popup and show a second modal popup. Upon closing of this second modal popup the tab indexes for the Liferay controls, Sign Out link, etc are not set back to 0 and remain at -1 which makes it not possible to select the links/inputs. All inputs on the portlet still work though.

      This only occurs when two popups are opened consecutively and not an issue when a single popup is opened and closed.

        Activity

        Arran Mccullough created issue -
        Hide
        Arran Mccullough added a comment -

        Sample app that shows issue. Steps to reproduce:

        • Click on "Click here to open popup1" button, modal popup is shown.
        • Click on "Click here to open popup2" button, the popup1 popup is removed and a popup2 is shown.
        • Click on "Close Popup window", trying to click on the Sign out link on the liferay top banner is not possible.

        After this if you open and close a single popup the link works again. Viewing the Sign out link in Firebug can show the changes of the tabindex value.

        Show
        Arran Mccullough added a comment - Sample app that shows issue. Steps to reproduce: Click on "Click here to open popup1" button, modal popup is shown. Click on "Click here to open popup2" button, the popup1 popup is removed and a popup2 is shown. Click on "Close Popup window", trying to click on the Sign out link on the liferay top banner is not possible. After this if you open and close a single popup the link works again. Viewing the Sign out link in Firebug can show the changes of the tabindex value.
        Arran Mccullough made changes -
        Field Original Value New Value
        Attachment EmnosPopupTest.zip [ 14089 ]
        Attachment EmnosPopupTestWAR.zip [ 14090 ]
        Ken Fyten made changes -
        Salesforce Case []
        Fix Version/s EE-3.0.0.GA [ 10262 ]
        Fix Version/s 3.0.1 [ 10282 ]
        Assignee Priority P2
        Assignee Mircea Toma [ mircea.toma ]
        Hide
        Arran Mccullough added a comment -

        Upon further investigation this looks to be a more general issue rather than a Liferay issue. The key is to have links in different forms. I have attached a more general test case that can be run in Tomcat 7. The test case is similar to the other one but it includes two commandLinks. One link is in a different form than the button that opens the popup. Another link is in the same form. After closing the two popups the link outside of the form can't be clicked but the one inside can be.

        Show
        Arran Mccullough added a comment - Upon further investigation this looks to be a more general issue rather than a Liferay issue. The key is to have links in different forms. I have attached a more general test case that can be run in Tomcat 7. The test case is similar to the other one but it includes two commandLinks. One link is in a different form than the button that opens the popup. Another link is in the same form. After closing the two popups the link outside of the form can't be clicked but the one inside can be.
        Arran Mccullough made changes -
        Attachment EmnosPopupTest.zip [ 14089 ]
        Arran Mccullough made changes -
        Attachment EmnosPopupTestWAR.zip [ 14090 ]
        Arran Mccullough made changes -
        Attachment PopupTest2.war [ 14114 ]
        Arran Mccullough made changes -
        Attachment PopupTest2.zip [ 14115 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #28182 Tue Mar 06 08:13:47 MST 2012 mircea.toma ICE-7802 Modified modal JS code to handle correctly modal popup disposal even if the popups are not closed as if they were stacked.
        Files Changed
        Commit graph MODIFY /icefaces3/branches/icefaces-3.0.x-maintenance/icefaces/compat/core/src/main/javascript/extras/extras.js
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #28183 Tue Mar 06 08:14:16 MST 2012 mircea.toma ICE-7802 Modified modal JS code to handle correctly modal popup disposal even if the popups are not closed as if they were stacked.
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/compat/core/src/main/javascript/extras/extras.js
        Hide
        Mircea Toma added a comment -

        Modified modal JS code to handle correctly modal popup disposal even if the popups are not closed as if they were stacked. By removing correctly the popups from the active popup list the event handler callbacks belonging to the input elements are now restored once all the modal popups are closed.

        Show
        Mircea Toma added a comment - Modified modal JS code to handle correctly modal popup disposal even if the popups are not closed as if they were stacked. By removing correctly the popups from the active popup list the event handler callbacks belonging to the input elements are now restored once all the modal popups are closed.
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Mircea Toma added a comment -

        This issue was already taken care of in 1.8 branch by the fixes for ICE-6333.

        Show
        Mircea Toma added a comment - This issue was already taken care of in 1.8 branch by the fixes for ICE-6333 .
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #28234 Thu Mar 08 14:33:26 MST 2012 arran.mccullough ICE-7802 Modified modal JS code to handle correctly modal popup disposal even if the popups are not closed as if they were stacked.
        Files Changed
        Commit graph MODIFY /icefaces2/scratchpads/patches/EmnosBuild/icefaces/compat/core/src/main/javascript/extras/extras.js
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Priority P2

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: