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

          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.
          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.
          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.
          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.
          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.
          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.
          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.
          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.
          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.

            People

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

              Dates

              • Created:
                Updated:
                Resolved: