1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.2//EN">
4
<title>jscalendar release notes</title>
6
<style type="text/css">
7
h1 { border-bottom: 1px solid #000; }
8
h2 { border-bottom: 1px solid #444; }
9
ul li { margin-top: 0.5em; margin-bottom: 0.5em; }
14
<div style="float: right; border: 1px solid #000; background: #fff; padding: 10px; ">
15
<a href="http://www.dynarch.com/projects/calendar/">The Coolest DHTML Calendar</a><br />
16
© <a href="http://www.dynarch.com/">Dynarch.com</a> 2002 and later.
18
<h1>jscalendar release notes</h1>
20
<p>This release compiled at Monday, 7 Mar 2005 (19:06).</p>
27
Added support for multiple dates selection. In this mode the
28
calendar will allow the user to select more than one date, and
29
will maintain an array of selected dates that can be
30
investigated from your custom handlers. Sample in <a
31
href="multiple-dates.html">multiple-dates.html</a>.
35
Support for “day info”. Using this feature you can display
36
custom information for certain dates. Sample in <a
37
href="dayinfo.html">dayinfo.html</a>. Note that if the text
38
is really big the calendar layout might appear somehow broken;
39
this is something that should be easy to fix in the CSS file.
43
Clicking on “Today” will now close the calendar if the current
44
date is already selected.
48
The “first day of week” setting can now be defined in the
49
language file--after all, it is locale-specific. The new
50
parameter is “Calendar._FD”. Language files should be
51
updated, but the calendar will not complain nor fail to
52
function if the parameter is not present.
56
Some fixes to make the thing work in Safari. It now seems to
57
be properly supported, please let me know if you encounter any
62
New skin: Aqua theme, appropriate for MacOSX fan sites :-)
63
This theme is located in “skins/aqua/theme.css” (in the
64
future, all themes will go to this directory).
71
Keyboard operation now functions normally when the
72
calendar is displaying days from adjacent months; it might
73
even work correctly for months containing disabled dates
74
:). This fix was originally developed under contract for
76
href="http://www.zapatec.com/website/main/products/prod1/">The
77
Zapatec Calendar</a>. Zapatec kindly allowed us to
78
include the bugfixes back in the open source calendar.
81
Fixed the time selection bug: the previous version would
82
reset the time to current time when a new date was
86
Parsing hours like "12:XX pm" would wrongfully replace
87
"pm" with "am"--fixed.
90
Fixed critical bugs in parseDate function that would
91
initialize the calendar with 'NaN' values in all cells if
92
the string to be parsed is not a valid date.
95
The golbal variable that we are using was renamed to
96
“_dynarch_popupCalendar” to minimize the risk of name
97
clashes. It's still difficult to get rid of it.
100
Added z-index property to drop-down menus style.
103
The calendar will update an input field even in flat mode,
104
if an input field was passed. Also, the “showOthers”
105
parameter will be effective in both popup and flat mode.
114
Documentation & sample files updated.
124
"Smart" (TM :-) positioning algorithm. The new algorithm will
125
try to keep the calendar in the browser view, which is helpful
126
in situations when the input field is near the bottom or the
127
right edge. This code is only tested with IE and Mozilla, but
128
it should work with other browsers too. Many thanks to <a
129
href="http://www.ex3.com">Sunny Chowdhury</a> for sponsoring
134
Support for IE5/Win is back. I also want to thank Janusz
135
Piwowarski for keeping his eye on the CVS ;-) He reviewed my
136
IE5-related changes and sent me a much cleaner patch.
140
The calendar will now allow any day of week to be "the first
141
day of week". This was requested long time ago, by someone
142
whose name I forgot (sorry). The reason was that in certain
143
countries weeks start on Saturday. So I thought that instead
144
of having a "mondayFirst" and a "saturdayFirst" parameter,
145
:-), it's better to have a "firstDayOfWeek" parameter; now
146
it's present and its meaning is: "0 for Sunday", "1 for
147
Monday", "2 for Tuesday", etc. The equivalent parameter for
148
Calendar.setup is "firstDay". The end user can also change
149
it very easy: click on the day name in the calendar display.
153
The above feature triggered one <b>important change</b>: the
154
notion of "weekend" is now defined in the language file.
158
Calendar._TT["WEEKEND"] = "0,6";
159
Calendar._TT["DAY_FIRST"] = "Display %s first";</pre>
161
"WEEKEND" specifies a string with comma-separated numbers from
162
0 to 7; they define what days are marked as "weekend". 5 and
163
6 mean, of course, "Sunday" and "Saturday". Day first is the
164
tooltip displayed when a day name is hovered; "%s" will get
165
replaced with the day name. Updated languages are "en" and
166
"ro", which I maintain. Please note that languages wich are
167
not updated <b>will not work</b>. If yours is one of them,
168
please consider fixing it and sending me the fix so that I can
169
include it in the distro.
173
The calendar can now display days from the months adjacent to
174
the currently displayed one. This is optional, of course, and
175
the parameter name is "showsOtherMonths" (or "showOthers" in
176
Calendar.setup). All theme files were updated.
180
Displays "Time:" near the time selector, only if defined in
185
Some bugs fixed in the date parsing code (which has also been
186
rewritten a little bit cleaner).
190
Calendar.setup will now configure the calendar to trigger the
191
input fields' "onchange" event, if specified, when a date is
196
New parameter in Calendar.setup: "cache" (<b>defaults to
197
false</b>). If set to true then the popup calendar object
198
will be "cached", meaning, it will be created only once, no
199
matter how many input fields are there in the page. Sometimes
200
this is not desirable, which is why I've added this
201
parameter. Please note that it defaults to "false" (thus the
202
default behavior has changed).
206
Added a simple PHP wrapper. It provides code which loads all
207
the required scripts and theme file, and one function which
208
creates and configures an input field for date input. It
209
takes care of creating and assigning unique ID-s for the
210
calendar fields and it also creates the "Calendar.setup" code.
211
Functions to create more specialized fields can be added very
212
easily. This feature was requested by the FreeMED.org project
213
(thanks for donating!).
218
<p>Wow, there were quite some changes :-D Enjoy it!</p>
223
This release's primary goal is to fix a wrong license statement which
224
can be found in some files from 0.9.4. For instance in README or
225
calendar.js, the statement was that the code is distributed under the
226
GNU GPL; that's because I had plans to change the license, then
227
changed my mind but unfortunately I committed files so. I am sorry
228
for this inconvenience, please use the latest (0.9.5) release which is
229
fully covered by LGPL.
232
<p>Other changes:</p>
237
<b>Fixed</b> an annoying bug that prevented the calendar to display
238
correctly when it was configured for an input field inside a
239
<b>scrolling area</b>. <b>Many thanks</b> to Ian Barrack (<a
240
href="http://www.simban.com">Simban.com</a>) who pointed it up and
241
donated quite some money for the Calendar project!
245
All examples use UTF-8 now; the translations may not be all
246
up-to-date, but I <strong>strongly</strong> suggest everyone to use
247
UTF-8; other encodings are a plain mess. So far I know for sure
248
that Romanian translation will work with UTF-8 and <em>not
249
anymore</em> with ISO-8859-2. Other translations are probably
250
usable under UTF-8, but if your preferred language isn't... ;-)
251
please make it and send it to me for inclusion.
255
Fixed small bug in the documentation (one footnote didn't appear
256
where it should have).
260
Updated translations: DE, ES, HU, IT, RO. Thanks to everyone who
272
<li>Supports time selection. Yes. ;-) This work has been largely
273
sponsored by <strong>Himanshukumar Shah</strong> (thank you!). See
274
the docs and example files for details on how to setup.</li>
276
<li>Easy to link 2 or more fields by using the new
277
<code>onUpdate</code> parameter of <code>Calendar.setup</code>. This
278
is useful, say, to automatically set a value in a second field based
279
on the value selected in the first field. See the documentation and
280
first sample in <a href="simple-1.html">simple-1.html</a>.</li>
282
<li>Other <code>Calendar.setup</code> low-level parameters, for those
283
wanting to have the complete control: <code>onSelect</code> and
284
<code>onClose</code>. The handlers are called when something is
285
selected in the calendar or when the calendar is closed.</li>
287
<li>The translation files can optionally include the short day names
288
and the short month names. That's because in some languages, like
289
German, the short form is not the first 3 letters of the entire name
290
but only the first 2. Also in other languages short names can't be
291
as easily derived from the full name by just calling substr, so this
292
patch solves the problem.</li>
294
<li>Implemented a nice way to make some dates "special" (look
295
different). Specifically, the <code>setDisabledHandler</code> method
296
was replaced with the more general <code>setDateStatusHandler</code>
297
method (the old one is still available for backwards compatibility but
298
<em>will</em> be removed). More details about this in the
299
documentation. Also see <a href="simple-3.html">simple-3.html</a>
300
for a live sample.</li>
302
<li>Date parsing and formatting engine is now rewritten and supports a
303
subset of <code>strftime</code> format specifiers from ANSI C. This
304
makes it possible to use dates like "YYYYMMDD" (the corresponding
305
format for this would be "%Y%m%d"). Details in the documentation.
306
<b>Please note that the new engine is not compatibile with older
307
calendar releases!</b></li>
309
<li>Along with the new date parser I workarounded an unpleasant crash
310
that occurred in IE when certain accented characters appeared in the
311
texts. I think German was one of the language with such problems, and
312
the workaround was to use the letter without an accent. Well, now you
313
can translate to whatever you want.</li>
315
<li>"Fixes" (I mean, "horrible workarounds") for Konqueror (and
316
hopefully Safari). Unfortunately, this otherwise excellent browser
317
still has some bugs that keep the calendar from working
318
<em>exactly</em> as it should.. But they're going to be fixed,
321
<li>CSS themes got pretty much modified too so if you wrote your theme
322
you need to update it. Aside for the time selector support, the CSS
323
themes contain a simple hack that makes the navigation buttons show
324
a little arrow in the lower-right corner which indicates that if one
325
holds the mouse a menu will appear.</li>
329
<h3>Translation files</h3>
331
<p>The translation files need to be updated in order for the calendar to
332
work properly. Currently the only updated files are calendar-en.js
333
(main file) and calendar-ro.js (well, yes, I am a Romanian ;-).</p>
335
<p>Specifically, they need the following:</p>
339
<li>Correct date format, according with the new format specifiers
340
introduced in 0.9.4. Details about the available format specifiers
341
in the documentation</li>
343
<li>Short day or month names, <em>if required</em>. If they can be
344
derived by taking the first N letters of the full name then a simple
345
Calendar._SDN_len = N or Calendar._SMN_len = N will suffice. If N
346
is 3 then nothing needs to be done as we take it for granted if no
347
other option is offered ;-)</li>
349
<li>We have some new texts that shows short usage information as well
350
as copyright information.</li>
354
<p>If your favorite language is not there yet, or it is but not updated
355
according to the main calendar-en.js file, then please consider
356
translating calendar-en.js and send the translation back to me so that
357
I include it in the official distribution.</p>
362
href="http://sourceforge.net/tracker/?atid=544285&group_id=75569&func=browse">SourceForge</a>,
363
I didn't keep track. However, there were a lot of bugfixes.</p>
371
<li>Opera 7 compatibility — keyboard navigation is
372
still not available; text selection can't be disabled, leading to an
373
ugly effect when walking through the month/year menus.</li>
375
<li>Ability to align the calendar relative to the input field (or any
376
other element). Vertical: top, center, bottom. Horizontal: left,
377
center, right. This is established as a new parameter for
378
<tt>showAtElement</tt>.</li>
380
<li>Added <tt>dateClicked</tt> property (boolean). This can be
381
inspected in the "onSelect" handler to determine if a date was
382
really clicked or the user only changed month/year using the menus.
383
You <em>need</em> to check this for "single-click" calendars and
384
only close/hide the calendar if it's <tt>true</tt>.</li>
386
<li>Full documentation in <a href="doc/html/reference.html">HTML</a>
387
and <a href="doc/reference.pdf">PDF</a> format is now available in the
388
distribution archive.</li>
390
<li>New language definition files: HU, HR, PT, ZH. Thanks those who
397
<p>This covers only those bugs that have been reported <a
398
href="http://sourceforge.net/projects/jscalendar" target="_blank"
399
title="Project page at SourceForge">at SourceForge</a>.</p>
403
<li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=703238&group_id=75569&atid=544285" target="_blank"
404
title="Go to bug description at sourceforge"><tt>#703,238</tt></a> — fixed</li>
405
<li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=703814&group_id=75569&atid=544285" target="_blank"
406
title="Go to bug description at sourceforge"><tt>#703,814</tt></a> — fixed</li>
407
<li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=716777&group_id=75569&atid=544285" target="_blank"
408
title="Go to bug description at sourceforge"><tt>#716,777</tt></a> — closed (was fixed already in 0.9.2-1)</li>
409
<li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=723335&group_id=75569&atid=544285" target="_blank"
410
title="Go to bug description at sourceforge"><tt>#723,335</tt></a> — fixed</li>
411
<li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=715122&group_id=75569&atid=544285" target="_blank"
412
title="Go to bug description at sourceforge"><tt>#715,122</tt></a> — feature request; implemented.</li>
413
<li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=721206&group_id=75569&atid=544285" target="_blank"
414
title="Go to bug description at sourceforge"><tt>#721,206</tt></a> — fixed (added "refresh()" function)</li>
415
<li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=721833&group_id=75569&atid=544285" target="_blank"
416
title="Go to bug description at sourceforge"><tt>#721,833</tt></a> — fixed (bug concerning the "yy" format
418
<li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=721833&group_id=75569&atid=544285" target="_blank"
419
title="Go to bug description at sourceforge"><tt>#721,833</tt></a> — won't fix (we won't set the time to
420
midnight; time might actually be useful when we implement support
426
<address><a href="http://dynarch.com/mishoo/">Mihai Bazon</a></address>
427
<!-- Created: Tue Jul 8 17:29:37 EEST 2003 -->
429
Last modified on Wed Oct 29 02:37:07 2003
431
<!-- doc-lang: English -->