ICEfaces
  1. ICEfaces
  2. ICE-10668

ace:dataTable - filterEvent="enter" focus IE issue

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-3.3.0.GA_P02, EE-4.0.0.GA
    • Fix Version/s: EE-3.3.0.GA_P03, 4.1
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      IE

      Description

      When using the enter key event for the ace:dataTable filtering, focus is being set to an outside component instead of kept to the filter field.

      This happens in IE browsers only.
      1. Case13407Example.zip
        21 kB
        Arran Mccullough

        Activity

        Hide
        Mircea Toma added a comment -

        Ported forward the fix for ICE-10658 to trigger the events in the expected order.

        Show
        Mircea Toma added a comment - Ported forward the fix for ICE-10658 to trigger the events in the expected order.
        Hide
        Liana Munroe added a comment -

        Tested with ICEfaces 4 trunk r44668, ICEfaces EE-3.3.0.GA_P03 tag r44666 and modified test case.
        When using FF and the testing steps as per the description
        1.)Type 1 into the input and press enter, focus stays in the input. (_iceForm:testTable:colOne_filter)
        2.) Press Enter or dismiss the JS prompt and focus is moved to the button. (_iceForm:testButton)
        3.) Press Enter or dismiss the JS prompt and focus is moved back to the input area. (_iceForm:testTable:colOne_filter)

        When using Chrome and the testing steps as per the description
        1.)Type 1 into the input and press enter, focus stays in the input. (_iceForm:testTable:colOne_filter)
        2.) Press Enter or dismiss the JS prompt and focus becomes undefined. (2_undefined)
        3.) Press Enter or dismiss the JS prompt and focus is moved to the button. (3_undefined)

        When testing with IE 11 the focus appears to start at, and end at the text input, with a dead zone in between. The js prompts are as follows: (_iceForm:testTable:colOne_filter), (2_null), (3_undefined).

        Show
        Liana Munroe added a comment - Tested with ICEfaces 4 trunk r44668, ICEfaces EE-3.3.0.GA_P03 tag r44666 and modified test case. When using FF and the testing steps as per the description 1.)Type 1 into the input and press enter, focus stays in the input. (_iceForm:testTable:colOne_filter) 2.) Press Enter or dismiss the JS prompt and focus is moved to the button. (_iceForm:testButton) 3.) Press Enter or dismiss the JS prompt and focus is moved back to the input area. (_iceForm:testTable:colOne_filter) When using Chrome and the testing steps as per the description 1.)Type 1 into the input and press enter, focus stays in the input. (_iceForm:testTable:colOne_filter) 2.) Press Enter or dismiss the JS prompt and focus becomes undefined. (2_undefined) 3.) Press Enter or dismiss the JS prompt and focus is moved to the button. (3_undefined) When testing with IE 11 the focus appears to start at, and end at the text input, with a dead zone in between. The js prompts are as follows: (_iceForm:testTable:colOne_filter), (2_null), (3_undefined).
        Hide
        Mircea Toma added a comment -

        I don't see FF behaving as described, the focus is kept on the input element at all times. As for Chrome, indeed the focus is set on the window once after the first pop up is closed. Once the messages are logged instead of showing them in popups then Chrome runs just fine, it keeps the focus on the input element.
        In IE11 the second popup will show an undefined value because the DOM update is applied slightly different causing the input element to be out of the DOM temporarily.

        I believe the test should be changed so that the alert popups are replaced with log calls to avoid their interference with focus.

        .....
        <ace:ajax event="filter"
                  onStart="ice.log.debug(ice.log, '1_' + (document.activeElement ? document.activeElement.name : null)); return true;"
                  onSuccess="ice.log.debug(ice.log, '2_' + (document.activeElement ? document.activeElement.name : null));"
                  onComplete="ice.log.debug(ice.log, '3_' + (document.activeElement ? document.activeElement.name : null));"/>
        .....
        
        Show
        Mircea Toma added a comment - I don't see FF behaving as described, the focus is kept on the input element at all times. As for Chrome, indeed the focus is set on the window once after the first pop up is closed. Once the messages are logged instead of showing them in popups then Chrome runs just fine, it keeps the focus on the input element. In IE11 the second popup will show an undefined value because the DOM update is applied slightly different causing the input element to be out of the DOM temporarily. I believe the test should be changed so that the alert popups are replaced with log calls to avoid their interference with focus. ..... <ace:ajax event= "filter" onStart= "ice.log.debug(ice.log, '1_' + (document.activeElement ? document.activeElement.name : null )); return true ;" onSuccess= "ice.log.debug(ice.log, '2_' + (document.activeElement ? document.activeElement.name : null ));" onComplete= "ice.log.debug(ice.log, '3_' + (document.activeElement ? document.activeElement.name : null ));" /> .....
        Hide
        Liana Munroe added a comment -

        Verified using the suggested modification to the test application, ICEfaces EE-3.3.0.GA_p03 tag, ICEfaces 4 trunk r44693. Tomcat 7, IE 11, 10, 9, 8, 7, FF 34, Chrome 42.

        Show
        Liana Munroe added a comment - Verified using the suggested modification to the test application, ICEfaces EE-3.3.0.GA_p03 tag, ICEfaces 4 trunk r44693. Tomcat 7, IE 11, 10, 9, 8, 7, FF 34, Chrome 42.
        Hide
        Liana Munroe added a comment -

        Verified using the suggested modification to the test application, ICEfaces EE-3.3.0.GA_p03 Jenkins Build 07, Tomcat 7, IE 11, 10, 9, 8, 7, FF 34, Chrome 42

        Show
        Liana Munroe added a comment - Verified using the suggested modification to the test application, ICEfaces EE-3.3.0.GA_p03 Jenkins Build 07, Tomcat 7, IE 11, 10, 9, 8, 7, FF 34, Chrome 42

          People

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

            Dates

            • Created:
              Updated:
              Resolved: