Ticket #5151 (closed enhancement: worksforme)

Opened 5 years ago

Last modified 2 years ago

UI datepicker's defaultDate UI is confusing - please add some kind of todayDate option

Reported by: mesoconcepts Owned by:
Priority: minor Milestone:
Component: ui.datepicker Version: 1.7.2
Keywords: Cc:
Blocking: Blocked by:

Description

I've this weird use-case, which leads to rather confusing defaultDate UI:

  • The application lives in its server's time (EST)
  • I'm currently in Europe (CEST)
  • It's around 1am my time. Server time is 7pm "yesterday" ;-)
  • I use the defaultDate option to set the default date for the date picker to the server's time, as it should be

The fact of the matter is that I'd really need a todayDate option, rather than a defaultDate option. The todayDate option would override the browser's date, and be used as the defaultDate if the latter is not set separately.

At any rate, the current behavior, with the smoothness theme, when an empty date field is focused in the above-described setup:

  • datepicker highlights today's date (server date, set using defaultDate) in light grey
  • datepicker highlights today's date (my date) in orange (prominent)

The expected behavior, since the app is server-time centric:

  • datepicker highlights today's date (server date, set using defaultDate) in orange (prominent)
  • datepicker highlights today's date (my date) in light grey

Thanks in advance!

Attachments

jquery.ui.datepicker.patch.txt Download (921 bytes) - added by maxbarbul 4 years ago.
Workaround of this issue. Added new option {Date} "todayDate". You need to set it whatever you want.

Change History

Changed 4 years ago by maxbarbul

Workaround of this issue. Added new option {Date} "todayDate". You need to set it whatever you want.

comment:1 Changed 4 years ago by maxbarbul

I've attached patch. Workaround of this issue. It uses new option "todayDate" of type Date. You need to set it to your own today date.

Example:

var _today = new Date() // optimization
var userTimeZoneDiff = -360 // for -6 hours time zone

$('#elementId').datepicker({
    todayDate: new Date(
        _today.getTime() + (userTimeZoneDiff - _today.getTimezoneOffset()) * 60000
    )
})

comment:2 Changed 3 years ago by joern.zaefferer

  • Status changed from new to closed
  • Resolution set to worksforme

I don't see how that is any different from any other custom day highlighting, which is already supported. The API for that may be awkward, but will get better with the redesign.

comment:3 Changed 3 years ago by joern.zaefferer

Maybe I misunderstood this one, leaving #5427 open, seems to be about the same issue.

comment:4 Changed 2 years ago by scott.gonzalez

  • Milestone TBD deleted

Milestone TBD deleted

Note: See TracTickets for help on using tickets.