- Determine the format of any populated date text field (e.g. mm-dd-yyyy), and the format of the date text fields when the date picker is closed by:
- Allowing implementers to specify the default date format.
- Allowing the date picker to receive input from the a particular user's preferences settings about how they would like to format the date field.
- Allow users to type a date in the date field which changes the display of the calendar as the user types (e.g. as user types, "J", the month is changed to "January").
- Allow configuration of default date (for each date picker or for all date pickers in an application)
: Add functionality to give users additional control of the Date Picker
- Add a "Close" button that closes the date picker when activated
- Allow date picker to be dragged if it is "grabbed" anywhere that is not clickable. Cursor should be an open hand in those areas.
- Allow the date picker to display the week number (current week in the year) in a box like the other date boxes at the beginning of the week
7: Internationalize the Date Picker
- Enable the integrator to configure the calendar so that any day of the week (e.g. Monday) is specified to start the week.
- Enable calendar to display right-to-left instead of left-to-right
- Create a system (e.g. external file) to allow implementers to localize the date picker by creating a mechanism to replace all text and numbers in the date picker with translations in other languages.
8: Allow multi-month display of Date Picker
- Allow the date picker to display two months side by side
- Allow the date picker to display two months, one underneath the other
- Allow the date picker to display 6 months in a 3 x 2 grid
- Allow implementors to configure which of these date picker views (or the single month display) they would like to use
9: Allow implementers to customize certain settings
- Allow all configurations below on both a per application and per date picker basis
- allow configuration of the date that appears by default (for each date picker or for all date pickers in an application)
- customize whether the date picker pops up automatically or is opened by clicking on an icon (TBD: whether the icon should be *in* -- e.g. Kayak.com -- or *next to* the text field)
- allow customized alignments for the date picker (e.g. http://www.obout.com/calendar/calendar_datepicker_align.aspx)
- make it configurable whether there is just a time picker, just a date picker, or a date-time picker
- allow the setting of a a maximum range (e.g. the current semester)
- allow implementer to make certain dates (e.g. holidays) unselectable
- allow implementer to configure whether or not "Today is: xxx" is displayed
- allow implementer to specify any day or set of days of the week the "weekend" (see http://en.wikipedia.org/wiki/WeekEnd)
- allow implementer to specify whether the week #s are displayed.
- allow implementer to specify either a) when the weeks start (e.g. week 1 could be the first week in the semester) or b) that the week #s should be calculated using the ISO 8601 calendar system.
10: Smart text recognition
- Process text such as "next thursday" (potentially using a library such as: http://www.datejs.com/) into a date
- Recognize multiple date formats (e.g. mm-dd-yyyy) and convert them to the default format (e.g. mm-dd-yyyy)