ICEfaces
  1. ICEfaces
  2. ICE-8938

Focus issues with ice:selectInputText

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.2, EE-3.2.0.BETA
    • Fix Version/s: EE-3.2.0.GA, 3.3
    • Component/s: Bridge, ICE-Components
    • Labels:
      None
    • Environment:
      Firefox, Chrome
    • Assignee Priority:
      P1
    • Salesforce Case Reference:

      Description

      Similar issue with ICEfaces 1.8.2 has been discussed in http://jira.icesoft.org/browse/ICE-7976
      Unfortunately work around provided in ICE-7976 is not functional with the latest ICEfaces 3.2 build.

      To reproduce download and run fully configured Tomcat instance with deployed application from our FTP server located under Swiss Post folder.

      Then open the browser and navigate to the following URL:
      http://localhost:8080/elwep-web/public/

      when requested, use the following credentials to login:
      username: test@localhost
      password: test@localhost

      Follow instructions provided in the attached PDF file.




        Activity

        Evgheni Sadovoi created issue -
        Evgheni Sadovoi made changes -
        Field Original Value New Value
        Attachment Autocompletion and focus issues.pdf [ 15392 ]
        Evgheni Sadovoi made changes -
        Salesforce Case Reference 5007000000QYqf8AAD
        Hide
        Evgheni Sadovoi added a comment -

        The problem can be reproduced in a stand alone test case as well. The situation worsens when you enable partial submit on ice:selectInputText and emulate latency via call to the Thread.sleep() method. In this case the focus will "jump around" indefinitely as long as you press the Tabulator key on each response from the server.

        To reproduce use attached source code.
        Video demonstration can be found @ http://www.screencast.com/t/rTfIyvzjv

        Show
        Evgheni Sadovoi added a comment - The problem can be reproduced in a stand alone test case as well. The situation worsens when you enable partial submit on ice:selectInputText and emulate latency via call to the Thread.sleep() method. In this case the focus will "jump around" indefinitely as long as you press the Tabulator key on each response from the server. To reproduce use attached source code. Video demonstration can be found @ http://www.screencast.com/t/rTfIyvzjv
        Evgheni Sadovoi made changes -
        Attachment Case11906.zip [ 15394 ]
        Evgheni Sadovoi made changes -
        Description Similar issue with ICEfaces 1.8.2 has been discussed in http://jira.icesoft.org/browse/ICE-7976
        Unfortunately work around provided in ICE-7976 is not functional with the latest ICEfaces 3.2 build.

        To reproduce download and run fully configured Tomcat instance with deployed application from our FTP site located under Swiss Post folder.

        Then open the browser and navigate to the following URL:
        http://localhost:8080/elwep-web/public/

        when requested, use the following credentials to login:
        username: test@localhost
        password: test@localhost

        Follow instructions provided in the attached PDF file.




        Similar issue with ICEfaces 1.8.2 has been discussed in http://jira.icesoft.org/browse/ICE-7976
        Unfortunately work around provided in ICE-7976 is not functional with the latest ICEfaces 3.2 build.

        To reproduce download and run fully configured Tomcat instance with deployed application from our FTP server located under Swiss Post folder.

        Then open the browser and navigate to the following URL:
        http://localhost:8080/elwep-web/public/

        when requested, use the following credentials to login:
        username: test@localhost
        password: test@localhost

        Follow instructions provided in the attached PDF file.




        Hide
        Markus Guenther added a comment -

        Please note that this Focus thing is a general problem with IceFaces if there is some latency in the response (which is usually the case in the real world), it should be somehow deactivatable that the server force focus or caret positions of the UI on the response.

        Show
        Markus Guenther added a comment - Please note that this Focus thing is a general problem with IceFaces if there is some latency in the response (which is usually the case in the real world), it should be somehow deactivatable that the server force focus or caret positions of the UI on the response.
        Ken Fyten made changes -
        Fix Version/s EE-3.2.0.GA [ 10332 ]
        Fix Version/s 3.3 [ 10370 ]
        Assignee Mircea Toma [ mircea.toma ]
        Assignee Priority P1 [ 10010 ]
        Hide
        Mircea Toma added a comment -

        The onkeypress event that triggers the submit or partial submit occurs before the onblur event runs setFocus('') to clear focus. That is why the ice.focus parameters is sent and focus is reapplied (by the focus retention) when the update is received.

        Show
        Mircea Toma added a comment - The onkeypress event that triggers the submit or partial submit occurs before the onblur event runs setFocus('') to clear focus. That is why the ice.focus parameters is sent and focus is reapplied (by the focus retention) when the update is received.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #33285 Thu Jan 31 14:24:39 MST 2013 mircea.toma ICE-8938 Added onfocus handler to the autocomplete input element to update the hasFocus flag. Modified updateNow function to show the new item list only when the element is focused. Just before submitting the entered text the focus is cleared so that the focus retention doesn't reapply the focus back on the input element (strategy used in most of the other input components). Modified key mapping to avoid submitting the entered text when tabbing without selecting first the item (the submit being redundant).
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/compat/core/src/main/javascript/extras/extras.js
        Hide
        Mircea Toma added a comment -

        Added onfocus handler to the autocomplete input element to update the hasFocus flag. Modified updateNow function to show the new item list only when the element is focused. Just before submitting the entered text the focus is cleared so that the focus retention doesn't reapply the focus back on the input element (strategy used in most of the other input components). Modified key mapping to avoid submitting the entered text when tabbing without selecting first the item (the submit being redundant).

        Show
        Mircea Toma added a comment - Added onfocus handler to the autocomplete input element to update the hasFocus flag. Modified updateNow function to show the new item list only when the element is focused. Just before submitting the entered text the focus is cleared so that the focus retention doesn't reapply the focus back on the input element (strategy used in most of the other input components). Modified key mapping to avoid submitting the entered text when tabbing without selecting first the item (the submit being redundant).
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Assignee Mircea Toma [ mircea.toma ] Arturo Zambrano [ artzambrano ]
        Ken Fyten made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Evgheni Sadovoi
          • Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: