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 -->