jscalendar release notes
This release compiled at Monday, 7 Mar 2005 (19:06).
1.0
- Added support for multiple dates selection. In this mode the
calendar will allow the user to select more than one date, and will
maintain an array of selected dates that can be investigated from your
custom handlers. Sample in multiple-dates.html.
- Support for “day info”. Using this feature you can display
custom information for certain dates. Sample in dayinfo.html.
Note that if the text is really big the calendar layout might appear
somehow broken; this is something that should be easy to fix in the CSS
file.
- Clicking on “Today” will now close the calendar if the current
date is already selected.
- The “first day of week” setting can now be defined in the
language file--after all, it is locale-specific. The new parameter is
“Calendar._FD”. Language files should be updated, but the calendar
will not complain nor fail to function if the parameter is not present.
- Some fixes to make the thing work in Safari. It now seems to be
properly supported, please let me know if you encounter any problems.
- New skin: Aqua theme, appropriate for MacOSX fan sites :-) This
theme is located in “skins/aqua/theme.css” (in the future, all
themes will go to this directory).
- Bug fixes.
- Keyboard operation now functions normally when the calendar is
displaying days from adjacent months; it might even work correctly for
months containing disabled dates :). This fix was originally developed
under contract for The
Zapatec Calendar. Zapatec kindly allowed us to include the
bugfixes back in the open source calendar.
- Fixed the time selection bug: the previous version would reset the
time to current time when a new date was clicked.
- Parsing hours like "12:XX pm" would wrongfully replace "pm" with
"am"--fixed.
- Fixed critical bugs in parseDate function that would initialize
the calendar with 'NaN' values in all cells if the string to be parsed
is not a valid date.
- The golbal variable that we are using was renamed to
“_dynarch_popupCalendar” to minimize the risk of name clashes.
It's still difficult to get rid of it.
- Added z-index property to drop-down menus style.
- The calendar will update an input field even in flat mode, if an
input field was passed. Also, the “showOthers” parameter will be
effective in both popup and flat mode.
- Others, probably.
- Documentation & sample files updated.
0.9.6
Wow, there were quite some changes :-D Enjoy it!
0.9.5
This release's primary goal is to fix a wrong license statement which
can be found in some files from 0.9.4. For instance in README or
calendar.js, the statement was that the code is distributed under the
GNU GPL; that's because I had plans to change the license, then changed
my mind but unfortunately I committed files so. I am sorry for this
inconvenience, please use the latest (0.9.5) release which is fully
covered by LGPL.
Other changes:
- Fixed an annoying bug that prevented the calendar to display
correctly when it was configured for an input field inside a scrolling
area. Many thanks to Ian Barrack (Simban.com) who pointed it up and
donated quite some money for the Calendar project!
- All examples use UTF-8 now; the translations may not be all
up-to-date, but I strongly suggest everyone to use
UTF-8; other encodings are a plain mess. So far I know for sure that
Romanian translation will work with UTF-8 and not anymore with
ISO-8859-2. Other translations are probably usable under UTF-8, but if
your preferred language isn't... ;-) please make it and send it to me
for inclusion.
- Fixed small bug in the documentation (one footnote didn't appear
where it should have).
- Updated translations: DE, ES, HU, IT, RO. Thanks to everyone who
sent translations!
0.9.4
New stuff
- Supports time selection. Yes. ;-) This work has been largely
sponsored by Himanshukumar Shah (thank you!). See the
docs and example files for details on how to setup.
- Easy to link 2 or more fields by using the new
onUpdate
parameter of Calendar.setup
. This is useful, say, to
automatically set a value in a second field based on the value selected
in the first field. See the documentation and first sample in simple-1.html.
- Other
Calendar.setup
low-level parameters, for those
wanting to have the complete control: onSelect
and onClose
.
The handlers are called when something is selected in the calendar or
when the calendar is closed.
- The translation files can optionally include the short day names
and the short month names. That's because in some languages, like
German, the short form is not the first 3 letters of the entire name
but only the first 2. Also in other languages short names can't be as
easily derived from the full name by just calling substr, so this patch
solves the problem.
- Implemented a nice way to make some dates "special" (look
different). Specifically, the
setDisabledHandler
method
was replaced with the more general setDateStatusHandler
method (the old one is still available for backwards compatibility but
will be removed). More details about this in the
documentation. Also see simple-3.html for a
live sample.
- Date parsing and formatting engine is now rewritten and supports a
subset of
strftime
format specifiers from ANSI C. This
makes it possible to use dates like "YYYYMMDD" (the corresponding
format for this would be "%Y%m%d"). Details in the documentation. Please
note that the new engine is not compatibile with older calendar
releases!
- Along with the new date parser I workarounded an unpleasant crash
that occurred in IE when certain accented characters appeared in the
texts. I think German was one of the language with such problems, and
the workaround was to use the letter without an accent. Well, now you
can translate to whatever you want.
- "Fixes" (I mean, "horrible workarounds") for Konqueror (and
hopefully Safari). Unfortunately, this otherwise excellent browser
still has some bugs that keep the calendar from working exactly
as it should.. But they're going to be fixed, right? ;-)
- CSS themes got pretty much modified too so if you wrote your theme
you need to update it. Aside for the time selector support, the CSS
themes contain a simple hack that makes the navigation buttons show a
little arrow in the lower-right corner which indicates that if one
holds the mouse a menu will appear.
Translation files
The translation files need to be updated in order for the calendar to
work properly. Currently the only updated files are calendar-en.js (main
file) and calendar-ro.js (well, yes, I am a Romanian ;-).
Specifically, they need the following:
- Correct date format, according with the new format specifiers
introduced in 0.9.4. Details about the available format specifiers in
the documentation
- Short day or month names, if required. If they can be
derived by taking the first N letters of the full name then a simple
Calendar._SDN_len = N or Calendar._SMN_len = N will suffice. If N is 3
then nothing needs to be done as we take it for granted if no other
option is offered ;-)
- We have some new texts that shows short usage information as well
as copyright information.
If your favorite language is not there yet, or it is but not updated
according to the main calendar-en.js file, then please consider
translating calendar-en.js and send the translation back to me so that I
include it in the official distribution.
Bug status
Check SourceForge,
I didn't keep track. However, there were a lot of bugfixes.
0.9.3
New stuff
- Opera 7 compatibility — keyboard navigation is still not
available; text selection can't be disabled, leading to an ugly effect
when walking through the month/year menus.
- Ability to align the calendar relative to the input field (or any
other element). Vertical: top, center, bottom. Horizontal: left,
center, right. This is established as a new parameter for showAtElement.
- Added dateClicked property (boolean). This can be
inspected in the "onSelect" handler to determine if a date was really
clicked or the user only changed month/year using the menus. You need
to check this for "single-click" calendars and only close/hide the
calendar if it's true.
- Full documentation in HTML
and PDF format is now available in the
distribution archive.
- New language definition files: HU, HR, PT, ZH. Thanks those who
submitted!
Bug status
This covers only those bugs that have been reported at SourceForge.
- #703,238
— fixed
- #703,814
— fixed
- #716,777
— closed (was fixed already in 0.9.2-1)
- #723,335
— fixed
- #715,122
— feature request; implemented.
- #721,206
— fixed (added "refresh()" function)
- #721,833
— fixed (bug concerning the "yy" format parsing)
- #721,833
— won't fix (we won't set the time to midnight; time might
actually be useful when we implement support for time selection).
Mihai Bazon
Last modified on Wed Oct 29 02:37:07 2003