ICEfaces
  1. ICEfaces
  2. ICE-10601

icecore:focusManager - Allow focus to be set on Ajax updates

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: EE-3.3.0.GA_P02, 4.0
    • Fix Version/s: EE-3.3.0.GA_P03, 4.1
    • Component/s: ICECORE-Components
    • Labels:
      None
    • Environment:
      All

      Description

      Feature Request: Currently the focusManager for attribute can be set for a component id so that when the page is loaded focus will be set on this component. The request is to investigate to see if it is possible to have focus set when an ajax update occurs (button click, menu selection, etc).

        Activity

        Arran Mccullough created issue -
        Deryk Sinotte made changes -
        Field Original Value New Value
        Assignee Mircea Toma [ mircea.toma ]
        Deryk Sinotte made changes -
        Fix Version/s EE-3.3.0.GA_P03 [ 11572 ]
        Fix Version/s 4.1 [ 11375 ]
        Ken Fyten made changes -
        Assignee Priority P1 [ 10010 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #44530 Tue Apr 21 07:13:22 MDT 2015 mircea.toma ICE-10601 Apply focus only when different from last application.
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/core/src/main/java/org/icefaces/impl/component/FocusManager.java
        Hide
        Mircea Toma added a comment -

        Modified component to apply focus only when the chosen component is different from last focus application to avoid interfering with submits triggered during the 'blur' events. Without this provision the focus will be put back right away as described in issue ICE-9639.

        Show
        Mircea Toma added a comment - Modified component to apply focus only when the chosen component is different from last focus application to avoid interfering with submits triggered during the 'blur' events. Without this provision the focus will be put back right away as described in issue ICE-9639 .
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Ken Fyten added a comment -

        Re-opened.

        My own testing using a modified IF 4 showcase demo page (attached), which adds ace:ajax tags to each of the ace:textEntry inputs, shows a scenario where the focus is being incorrectly set.

        To reproduce:

        1. Run the demo
        2. Set the selectMenu to set focus on entry "B" (focus is set on B correctly)
        3. Tab through the entry fields, see the required error correctly appear after tabbing our of entry "D" and "E"
        4. If you then enter valid data into "E", and then "D", the focus will often incorrectly be set back to "B" once all fields are valid again, instead of to the next entry in the tab-order. I was using shift-tab to go backwards in the tab-order so when focus should have gone to "C", it was going to "B" instead.
        Show
        Ken Fyten added a comment - Re-opened. My own testing using a modified IF 4 showcase demo page (attached), which adds ace:ajax tags to each of the ace:textEntry inputs, shows a scenario where the focus is being incorrectly set. To reproduce: Run the demo Set the selectMenu to set focus on entry "B" (focus is set on B correctly) Tab through the entry fields, see the required error correctly appear after tabbing our of entry "D" and "E" If you then enter valid data into "E", and then "D", the focus will often incorrectly be set back to "B" once all fields are valid again, instead of to the next entry in the tab-order. I was using shift-tab to go backwards in the tab-order so when focus should have gone to "C", it was going to "B" instead.
        Ken Fyten made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Hide
        Ken Fyten added a comment - - edited

        Attached modified focus-manager demo with added ace:ajax calls.

        Show
        Ken Fyten added a comment - - edited Attached modified focus-manager demo with added ace:ajax calls.
        Ken Fyten made changes -
        Attachment focus-manager.xhtml [ 19288 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #44568 Thu Apr 23 12:38:39 MDT 2015 mircea.toma ICE-10601 Avoid to resolve drag handle element. In some cases the draggable monitor tries to re-build the draggable object when the draggable is not rendered which results in a configuration with no handle defined.
        Files Changed
        Commit graph MODIFY /icefaces/trunk/icefaces/bridge/lib/extras/draggable_ext.js
        Show
        Liana Munroe added a comment - Test application / ICE-10601 .jsf was added to: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/focusManager
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #44617 Thu Apr 30 11:00:38 MDT 2015 mircea.toma ICE-10601 Keep track of previously focus components only if they are not focused as a result of invalidity.
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/core/src/main/java/org/icefaces/impl/component/FocusManager.java
        Hide
        Mircea Toma added a comment -

        Keep track of previously focus components only if they are not focused as a result of invalidity.

        Show
        Mircea Toma added a comment - Keep track of previously focus components only if they are not focused as a result of invalidity.
        Mircea Toma made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Liana Munroe added a comment -

        Verified ICEfaces EE-3.3.0.GA_P03 tag, EE-3.3.0 maintenance branch, ICEfaces 4 trunk r44630. Tomcat 7, IE 11, FF 34, Chrome 42.

        Show
        Liana Munroe added a comment - Verified ICEfaces EE-3.3.0.GA_P03 tag, EE-3.3.0 maintenance branch, ICEfaces 4 trunk r44630. Tomcat 7, IE 11, FF 34, Chrome 42.
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

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

            Dates

            • Created:
              Updated:
              Resolved: