release-notes.html 18KB

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