Tapestry 5
  1. Tapestry 5
  2. TAP5-1408

datefield popup does not have option to cancel

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.2.4
    • Fix Version/s: 5.3
    • Component/s: None
    • Labels:
      None

      Description

      using the datefield component, if a user changes their mind there seems to be no way for them to close the popup without changing the value in some way.

      once the icon has been clicked, there's no option to close the popup explicitly and selecting the current value is disabled so the user has to select another date to close the popup.

        Issue Links

          Activity

          Hide
          Benny Law added a comment -

          The popup can be cancelled by clicking the icon again. However, it would be nice if the popup could be cancelled by clicking outside it or pressing Esc which is normal behaviour for most dropdowns and popups.

          Show
          Benny Law added a comment - The popup can be cancelled by clicking the icon again. However, it would be nice if the popup could be cancelled by clicking outside it or pressing Esc which is normal behaviour for most dropdowns and popups.
          Hide
          Paul Stanton added a comment -

          ah, didn't notice that .. i tried clicking within the textfield its self, clicking outside, clicking the existing value cell ...

          perhaps a close icon would be most intuitive for dumb users like myself.

          Show
          Paul Stanton added a comment - ah, didn't notice that .. i tried clicking within the textfield its self, clicking outside, clicking the existing value cell ... perhaps a close icon would be most intuitive for dumb users like myself.
          Hide
          Benny Law added a comment -

          Some of the users of my app are not very experienced with GUIs, and if we are having difficulty figuring out how to cancel a calendar popup, I'm sure it will be even harder for them. I still think the most intuitive way to cancel the popup is to click outside. That's what most users would try first. I don't think it is necessary to clutter the UI with another icon.

          Show
          Benny Law added a comment - Some of the users of my app are not very experienced with GUIs, and if we are having difficulty figuring out how to cancel a calendar popup, I'm sure it will be even harder for them. I still think the most intuitive way to cancel the popup is to click outside. That's what most users would try first. I don't think it is necessary to clutter the UI with another icon.
          Hide
          Paul Stanton added a comment -

          my patch for TAP5-1409 partially resolves this as it allows the user to close the popup by selecting the current value. i think this, combined with changing the calendar icon (that launches the popup) to something that describes a close action (like an 'x') would completely resolve this issue.

          Show
          Paul Stanton added a comment - my patch for TAP5-1409 partially resolves this as it allows the user to close the popup by selecting the current value. i think this, combined with changing the calendar icon (that launches the popup) to something that describes a close action (like an 'x') would completely resolve this issue.
          Hide
          Robert Zeigler added a comment -

          Went with the ability to click anywhere outside the calendar closes the calendar. No new icon.

          Show
          Robert Zeigler added a comment - Went with the ability to click anywhere outside the calendar closes the calendar. No new icon.
          Hide
          Hudson added a comment -

          Integrated in tapestry-trunk-freestyle #440 (See https://builds.apache.org/job/tapestry-trunk-freestyle/440/)
          TAP5-1408: datefield - cannot select same day in different month
          TAP5-1409: datefield popup does not have option to cancel

          robertdzeigler : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1151673
          Files :

          • /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DateFieldDemo.java
          • /tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/datepicker_106/js/datepicker.js
          • /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
          Show
          Hudson added a comment - Integrated in tapestry-trunk-freestyle #440 (See https://builds.apache.org/job/tapestry-trunk-freestyle/440/ ) TAP5-1408 : datefield - cannot select same day in different month TAP5-1409 : datefield popup does not have option to cancel robertdzeigler : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1151673 Files : /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/DateFieldDemo.java /tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/datepicker_106/js/datepicker.js /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
          Hide
          Robert Zeigler added a comment -

          From 1409:
          "This fix is great but it introduced a different bug. When one clicks on the month name at the top of the calendar, a popup list of surrounding months is shown. Upon clicking one of these months, the calendar disappears because the javascript thinks that you have clicked "outside" the calendar and exits.

          I identified a simple fix to not exit when a popup month is selected:

          ---change:
          331 if (parent.className == 'datePicker') {

          ---to:
          331 if (parent.className == 'datePicker' || parent.className == 'labelPopup') { "

          Show
          Robert Zeigler added a comment - From 1409: "This fix is great but it introduced a different bug. When one clicks on the month name at the top of the calendar, a popup list of surrounding months is shown. Upon clicking one of these months, the calendar disappears because the javascript thinks that you have clicked "outside" the calendar and exits. I identified a simple fix to not exit when a popup month is selected: ---change: 331 if (parent.className == 'datePicker') { ---to: 331 if (parent.className == 'datePicker' || parent.className == 'labelPopup') { "
          Hide
          Robert Zeigler added a comment -

          Fixed, with test.

          Show
          Robert Zeigler added a comment - Fixed, with test.
          Hide
          Hudson added a comment -

          Integrated in tapestry-trunk-freestyle #502 (See https://builds.apache.org/job/tapestry-trunk-freestyle/502/)
          TAP5-1408: datefield popup does not have option to cancel
          Resolve issue with original fix where selecting a month from the month dropdown would close the datepicker. Thanks to bkopelove for tracking down the issue and providing a fix.

          robertdzeigler : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1164595
          Files :

          • /tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/datepicker_106/js/datepicker.js
          • /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
          Show
          Hudson added a comment - Integrated in tapestry-trunk-freestyle #502 (See https://builds.apache.org/job/tapestry-trunk-freestyle/502/ ) TAP5-1408 : datefield popup does not have option to cancel Resolve issue with original fix where selecting a month from the month dropdown would close the datepicker. Thanks to bkopelove for tracking down the issue and providing a fix. robertdzeigler : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1164595 Files : /tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/datepicker_106/js/datepicker.js /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
          Hide
          Lenny Primak added a comment -

          I think this is broken again...

          Show
          Lenny Primak added a comment - I think this is broken again...
          Hide
          Robert Zeigler added a comment -

          The bug with the datepicker closing when selecting a month from the drop down is still present; the test for it was checking the visibility too quickly, so the picker was still visible for the test, but would not be visible a few milliseconds later.

          Show
          Robert Zeigler added a comment - The bug with the datepicker closing when selecting a month from the drop down is still present; the test for it was checking the visibility too quickly, so the picker was still visible for the test, but would not be visible a few milliseconds later.
          Hide
          Robert Zeigler added a comment -

          Fixed with proper test (which /does/ fail without the fix in place!)

          Show
          Robert Zeigler added a comment - Fixed with proper test (which /does/ fail without the fix in place!)
          Hide
          Hudson added a comment -

          Integrated in tapestry-trunk-freestyle #594 (See https://builds.apache.org/job/tapestry-trunk-freestyle/594/)
          TAP5-1408: datefield popup does not have option to cancel. Fix and properly
          test for issue where selecting a month from the "month menu" would prematurely
          close the datepicker. Previous version of the test was checking the visibility
          too quickly so the picker was still visible for the test even though it would
          disappear a few milliseconds later.

          robertdzeigler : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1186612
          Files :

          • /tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/datepicker_106/js/datepicker.js
          • /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
          Show
          Hudson added a comment - Integrated in tapestry-trunk-freestyle #594 (See https://builds.apache.org/job/tapestry-trunk-freestyle/594/ ) TAP5-1408 : datefield popup does not have option to cancel. Fix and properly test for issue where selecting a month from the "month menu" would prematurely close the datepicker. Previous version of the test was checking the visibility too quickly so the picker was still visible for the test even though it would disappear a few milliseconds later. robertdzeigler : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1186612 Files : /tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/datepicker_106/js/datepicker.js /tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/FormTests.java
          Hide
          Lenny Primak added a comment -

          This ticket should be re-opened (T5.4-alpha)
          Users are required to click on the little calendar button in order to cancel the datepicker.
          This isn't good usability-wise. They should be able to click anywhere on the page

          Show
          Lenny Primak added a comment - This ticket should be re-opened (T5.4-alpha) Users are required to click on the little calendar button in order to cancel the datepicker. This isn't good usability-wise. They should be able to click anywhere on the page

            People

            • Assignee:
              Robert Zeigler
              Reporter:
              Paul Stanton
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development