ICEfaces
  1. ICEfaces
  2. ICE-8558

ace:dateTimeEntry - tab order is lost after selecting a date with the mouse with ace:ajax

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: EE-3.0.0.GA, 3.1
    • Fix Version/s: EE-3.2.0.GA, 3.3
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      Firefox, IE
    • Assignee Priority:
      P1
    • Salesforce Case Reference:

      Description

      This is a follow-on JIRA from ICE-8453. Remaining issue relates to using the ace:dateTimeEntry component in popup mode with ace:ajax specified.

      When a date is selected via the popup dialog when ajax event is added for date select, the focus is lost after coming back from server.

      The log trace shows that the re-focusing is being done by the framework, yet the focus can't be found anywhere.

        Issue Links

          Activity

          Arran Mccullough created issue -
          Ken Fyten made changes -
          Field Original Value New Value
          Assignee Priority P2 P1
          Description When a date is selected via the popup dialog, focus is lost and therefore the tab order is gone and you can't tab into the next field. Tabbing into the date input field and then changing the date via the keyboard does retain the tab order. This is a follow-on JIRA from ICE-8453. Remaining issue relates to using the ace:dateTimeEntry component in popup mode with ace:ajax specified.

          When a date is selected via the popup dialog when ajax event is added for date select, the focus is lost after coming back from server.

          The log trace shows that the re-focusing is being done by the framework, yet the focus can't be found anywhere.
          Priority Major [ 3 ] Minor [ 4 ]
          Ken Fyten made changes -
          Link This issue depends on ICE-8527 [ ICE-8527 ]
          Ken Fyten made changes -
          Link This issue depends on ICE-8527 [ ICE-8527 ]
          Ken Fyten made changes -
          Link This issue depends on ICE-8453 [ ICE-8453 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #30822 Tue Sep 11 17:18:05 MDT 2012 mircea.toma ICE-8558 Change configuration during postbacks so that 'onfocus' callbacks are not wired. Rewire the 'onfocus' callbacks with the newly DOM attached elements after a delay so that ice.applyFocus command has a chance to run.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/jquery/ui/jquery-ui.js
          Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/datetimeentry/datetimeentry.js
          Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/datetimeentry/DateTimeEntryRenderer.java
          Hide
          Mircea Toma added a comment -

          Change configuration during postbacks so that 'onfocus' callbacks are not wired. Rewire the 'onfocus' callbacks with the newly DOM attached elements after a delay so that ice.applyFocus command has a chance to run.

          Show
          Mircea Toma added a comment - Change configuration during postbacks so that 'onfocus' callbacks are not wired. Rewire the 'onfocus' callbacks with the newly DOM attached elements after a delay so that ice.applyFocus command has a chance to run.
          Hide
          Mircea Toma added a comment -

          The applied fix is replacing the wiring of the previous onfocus callbacks that pop up the calendar with callbacks that run after the updates are applied including the ice.applyFocus evaluation. Also the callbacks will be wired to the new elements that updated the dom to make sure they properly respond to the 'focus' events.

          Show
          Mircea Toma added a comment - The applied fix is replacing the wiring of the previous onfocus callbacks that pop up the calendar with callbacks that run after the updates are applied including the ice.applyFocus evaluation. Also the callbacks will be wired to the new elements that updated the dom to make sure they properly respond to the 'focus' events.
          Mircea Toma made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Hide
          Ken Fyten added a comment - - edited

          Assignee: yip.ng (was: Mircea Toma)
          Yip, pls review Mircea's commit to see if needs to be refactored or cleaned up.
          (Restricted to icesoft-internal-developers group)

          Show
          Ken Fyten added a comment - - edited Assignee: yip.ng (was: Mircea Toma) Yip, pls review Mircea's commit to see if needs to be refactored or cleaned up. (Restricted to icesoft-internal-developers group)
          Hide
          yip.ng added a comment - - edited

          1. Still doesn't seem to work on the test app even after changing the timer from 500 to 5000. Focus still just disappears after selecting a date.
          2. After selecting a date, tabbing into input field doesn't popup calendar anymore.

          Show
          yip.ng added a comment - - edited 1. Still doesn't seem to work on the test app even after changing the timer from 500 to 5000. Focus still just disappears after selecting a date. 2. After selecting a date, tabbing into input field doesn't popup calendar anymore.
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #30945 Thu Sep 20 10:40:35 MDT 2012 yip.ng ICE-8558 reverted for now. Can't easily fix problems created. See JIRA for details.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/jquery/ui/jquery-ui.js
          Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/datetimeentry/datetimeentry.js
          Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/datetimeentry/DateTimeEntryRenderer.java
          Hide
          Ken Fyten added a comment - - edited

          Yip, lets revert Mircea's commit for the Beta release and he can take another crack at this later.

          Show
          Ken Fyten added a comment - - edited Yip, lets revert Mircea's commit for the Beta release and he can take another crack at this later.
          Hide
          Ken Fyten added a comment - - edited

          Assigned to Mircea to devise a new fix that avoids the negative side-effects that the original commit had.

          Show
          Ken Fyten added a comment - - edited Assigned to Mircea to devise a new fix that avoids the negative side-effects that the original commit had.
          Migration made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Migration made changes -
          Assignee Priority P1 [ 10010 ] P2 [ 10011 ]
          Migration made changes -
          Fix Version/s EE-3.2.0.GA [ 10332 ]
          Fix Version/s 3.2 [ 10338 ]
          Migration made changes -
          Fix Version/s 3.3 [ 10370 ]
          Arran Mccullough made changes -
          Salesforce Case Reference 5007000000NImRIAA1
          Ken Fyten made changes -
          Assignee Priority P2 [ 10011 ] P1 [ 10010 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #32857 Tue Dec 18 14:28:59 MST 2012 mircea.toma ICE-8558 Modified ice.ace.Calendar.prototype.bindDateSelectListener to set the focus back on the input element after the update is applied.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/datetimeentry/datetimeentry.js
          Hide
          Mircea Toma added a comment - - edited

          Modified ice.ace.Calendar.prototype.bindDateSelectListener to set the focus back on the input element after the update is applied. The $.datepicker._showDatepicker callback is unbound, focus applied and then the callback is bound again.

          Show
          Mircea Toma added a comment - - edited Modified ice.ace.Calendar.prototype.bindDateSelectListener to set the focus back on the input element after the update is applied. The $.datepicker._showDatepicker callback is unbound, focus applied and then the callback is bound again.
          Mircea Toma made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Hide
          yip.ng added a comment - - edited

          [2:49:00 PM] Ken Fyten: Yip please verify Mircea's fix.

          Still doesn't seem to work in the test case. The focus still disappears into nowhere after date select. See video: http://screencast.com/t/hr8GYJpp.

          Show
          yip.ng added a comment - - edited [2:49:00 PM] Ken Fyten: Yip please verify Mircea's fix. Still doesn't seem to work in the test case. The focus still disappears into nowhere after date select. See video: http://screencast.com/t/hr8GYJpp .
          Hide
          Ken Fyten added a comment -

          Yip reports that the test still fails.

          Show
          Ken Fyten added a comment - Yip reports that the test still fails.
          Ken Fyten made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Hide
          Mircea Toma added a comment -

          Yip, please make sure you have the latest code and any cache cleared. I'm pretty sure this time the fix is working well.

          Show
          Mircea Toma added a comment - Yip, please make sure you have the latest code and any cache cleared. I'm pretty sure this time the fix is working well.
          Hide
          Mircea Toma added a comment -

          Use ice.ace.jq namespace instead of $ when referencing jQuery API.

          Show
          Mircea Toma added a comment - Use ice.ace.jq namespace instead of $ when referencing jQuery API.
          Mircea Toma made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Hide
          yip.ng added a comment -

          [2:52:45 PM] Ken Fyten: Yip please retest http://jira.icesoft.org/browse/ICE-8558 with latest trunk.

          Show
          yip.ng added a comment - [2:52:45 PM] Ken Fyten: Yip please retest http://jira.icesoft.org/browse/ICE-8558 with latest trunk.
          Hide
          yip.ng added a comment -
          • SVN Update: Completed: At revision: 32914
          • ant clean
          • TortoiseSVN -> Check for modifications -> Show all except Unmodified: make sure no files left over
          • ant world
          • close all FF tabs except Start Page, clear FF cache (Ctrl + Shift + Del -> Clear Everything), then exit FF
          • run test app
          • repeat all above 3 times

          Still doesn't work. Same result as video shown above. Maybe get someone else to double-test?

          Show
          yip.ng added a comment - SVN Update: Completed: At revision: 32914 ant clean TortoiseSVN -> Check for modifications -> Show all except Unmodified: make sure no files left over ant world close all FF tabs except Start Page, clear FF cache (Ctrl + Shift + Del -> Clear Everything), then exit FF run test app repeat all above 3 times Still doesn't work. Same result as video shown above. Maybe get someone else to double-test?
          Hide
          Arran Mccullough added a comment -

          I also just tested my original test case with the updated trunk and I could still see the issue as reported by Yip.

          Show
          Arran Mccullough added a comment - I also just tested my original test case with the updated trunk and I could still see the issue as reported by Yip.
          Ken Fyten made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #32925 Thu Dec 27 11:46:19 MST 2012 mircea.toma ICE-8558 Use ice.ace.jq variable instead of $.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/datetimeentry/datetimeentry.js
          Hide
          Mircea Toma added a comment -

          After doing a fresh checkout of ICEfaces I discovered that my last commit didn't make into the trunk. Committed successfully this time the change of $ function to ice.ace.jq in datetimeentry.js.

          Please re-test.

          Show
          Mircea Toma added a comment - After doing a fresh checkout of ICEfaces I discovered that my last commit didn't make into the trunk. Committed successfully this time the change of $ function to ice.ace.jq in datetimeentry.js. Please re-test.
          Mircea Toma made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Hide
          Arran Mccullough added a comment -

          Just tested the latest trunk with my test case and this looks to be resolved.

          Show
          Arran Mccullough added a comment - Just tested the latest trunk with my test case and this looks to be resolved.
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #38310 Mon Sep 30 09:27:24 MDT 2013 mircea.toma ICE-8558 Re-wire the onfocus event listener only when the calendar has the input element rendered.
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/datetimeentry/datetimeentry.js
          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: