Animal
25 Jan 2007, 3:32 AM
I thought I'd get the ball rolling with a few suggestions.
Here is what my version looks like. Bit pedestrian and "Windows V3.1" I know:
http://i131.photobucket.com/albums/p286/TimeTrialAnimal/Calendar/cal1.jpg
The features I like are:
* Configurable minDate and maxDate
* Settable first day of week. The US standard is Sunday. ISO says Monday.
* Weekends have a different CSS class (red)
* Current date is given a CSS class (red border)
* Unavailable dates (ie before minDate and after maxDate) are given a CSS class (greyed out)
* Keyboard navigation up/down/left/right move by day, PageUp/PageDown move by month
* It won't navigate to months which are entirely outside the allowed date range
Clicking on the month name lets you change month quickly:
http://i131.photobucket.com/albums/p286/TimeTrialAnimal/Calendar/cal2.jpg
Clicking on the year lest you set the year:
http://i131.photobucket.com/albums/p286/TimeTrialAnimal/Calendar/cal3.jpg
Tooltip/Title appears:
http://i131.photobucket.com/albums/p286/TimeTrialAnimal/Calendar/cal4.jpg
Features that I'd like to see:
* Being able to select a date range. Perhaps click and shift-click could select a range. So the pictured example, of selecting shipments by booking date range would only need one popup, and a range could be selected which would be highlighted. You could navigate month-to-month and see a swathe of selected dates to see you had your range as you wanted it.
* Being able to optionally specify that a time be included in the input. In our old system we have a lot of "Date of XXXXX", "Time of XXXX" prompts, for eg vessel departure date and time. What is really required is a DateTime input widget which collects the data, and offers the result in ISO format: YYYY-MM-DDTHH:MM[:SS]
* Tie the control to a text field from which the initially selected values (including a range) would be drawn, and into which, a formatted result is placed on selection. Configurable display format. Tie it to a hidden field into which the ISO formatted result is placed. I don't want my servlet authors parsing any datetime strings except ISO format.
* Pluggable parsing of values from the tied display input field. Europeans use different date orders, but different apps also use different rules. We are VERY flexible in our date input parsing. We have a fixed (in the user config) element order, but after that it's super-flexible allowing elements to be omitted and defaulting missing elements to today's values. So if the user inputs in DMY order, the following inputs are valid:
1/2/3 -> 1st Feb 2003
1/2/98 -> 1st Feb 1998 (millenium pivot year is 1970)
1// -> 1st day of current month
//-1m -> Today's date minus 1 month
12dec -> 12th of December this year (delimiters aren't needed if alpha months are used)
22.5 -> 22nd of May this year (Delimiters may be /.-\)
nm -> Next Monday
lth -> Last Thursday
And many more. So I'd like the widget to use my parsing function to pull in its initial value.
Not asking for much am I :?: :wink: :lol: :lol: :lol:
Here is what my version looks like. Bit pedestrian and "Windows V3.1" I know:
http://i131.photobucket.com/albums/p286/TimeTrialAnimal/Calendar/cal1.jpg
The features I like are:
* Configurable minDate and maxDate
* Settable first day of week. The US standard is Sunday. ISO says Monday.
* Weekends have a different CSS class (red)
* Current date is given a CSS class (red border)
* Unavailable dates (ie before minDate and after maxDate) are given a CSS class (greyed out)
* Keyboard navigation up/down/left/right move by day, PageUp/PageDown move by month
* It won't navigate to months which are entirely outside the allowed date range
Clicking on the month name lets you change month quickly:
http://i131.photobucket.com/albums/p286/TimeTrialAnimal/Calendar/cal2.jpg
Clicking on the year lest you set the year:
http://i131.photobucket.com/albums/p286/TimeTrialAnimal/Calendar/cal3.jpg
Tooltip/Title appears:
http://i131.photobucket.com/albums/p286/TimeTrialAnimal/Calendar/cal4.jpg
Features that I'd like to see:
* Being able to select a date range. Perhaps click and shift-click could select a range. So the pictured example, of selecting shipments by booking date range would only need one popup, and a range could be selected which would be highlighted. You could navigate month-to-month and see a swathe of selected dates to see you had your range as you wanted it.
* Being able to optionally specify that a time be included in the input. In our old system we have a lot of "Date of XXXXX", "Time of XXXX" prompts, for eg vessel departure date and time. What is really required is a DateTime input widget which collects the data, and offers the result in ISO format: YYYY-MM-DDTHH:MM[:SS]
* Tie the control to a text field from which the initially selected values (including a range) would be drawn, and into which, a formatted result is placed on selection. Configurable display format. Tie it to a hidden field into which the ISO formatted result is placed. I don't want my servlet authors parsing any datetime strings except ISO format.
* Pluggable parsing of values from the tied display input field. Europeans use different date orders, but different apps also use different rules. We are VERY flexible in our date input parsing. We have a fixed (in the user config) element order, but after that it's super-flexible allowing elements to be omitted and defaulting missing elements to today's values. So if the user inputs in DMY order, the following inputs are valid:
1/2/3 -> 1st Feb 2003
1/2/98 -> 1st Feb 1998 (millenium pivot year is 1970)
1// -> 1st day of current month
//-1m -> Today's date minus 1 month
12dec -> 12th of December this year (delimiters aren't needed if alpha months are used)
22.5 -> 22nd of May this year (Delimiters may be /.-\)
nm -> Next Monday
lth -> Last Thursday
And many more. So I'd like the widget to use my parsing function to pull in its initial value.
Not asking for much am I :?: :wink: :lol: :lol: :lol: