• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..24-Nov-2021-

assets/H24-Nov-2021-803686

docs/cheatsheets/H24-Nov-2021-

js/H03-May-2022-

tests/manual/H03-May-2022-

READMEH A D24-Nov-202118.8 KiB531357

build.propertiesH A D24-Nov-2021428 108

build.xmlH A D24-Nov-2021291 86

README

1Calendar Release Notes
2
3*** 2.9.0 ***
4
5+ Fixed renderStack application when multiple renderers applied to
6  the same date.
7
8+ Removed Opera Width Fix. No longer required. Opera handles floats
9  correclty
10
11+ Allow calendar to be rendered into a (iframe) document, different
12  from the instance.
13
14+ Added OOM selection support, driven by the "oom_select" config
15  property. When oom_select is enabled, OOM dates will also accept
16  custom renderers.
17
18  Based on patches provided by Joshua Flynn (flynnjandm) and
19  Pranav (unohoo) in tickets #1755642, #2528933
20
21+ APIDocs updated to identify string parameters and
22  properties, which get added to the DOM as HTML.
23
24  These string values should be escaped by the implementor,
25  if they come from an untrusted external source.
26
27*** version 2.8.2 ***
28
29+ No changes
30
31*** version 2.8.1 ***
32
33+ No changes
34
35*** version 2.8.0 ***
36
37+ DateMath extracted to standalone module. However, it continues to
38  be included in the calendar module, so no change is required to
39  existing pages which use calendar.
40
41+ Made default configuration property values (DEFAULT_CONFIG) public.
42
43+ Made default class names (STYLES) used for CSS classes, public.
44
45+ Changed the few remaining hardcoded CSS class names to use default
46  STYLES configuration.
47
48+ The cells property is now populated by searching for tds by class
49  name ("calcell") under the calendar's table element, as opposed to
50  blindly picking up all td elements under the div container.
51
52  This fixes incorrect selection state related bugs in custom calendars,
53  where the customization introduces additional tables to the default
54  calendar markup.
55
56+ Added prevDate and newDate arguments to the changePage event. These
57  are accessible through the arguments array (as with all custom events
58  created using the default LIST signature):
59
60  e.g:
61
62  changePageEvent.subscribe(function(type, args) {
63
64    var prevDate = args[0];
65    var newDate = args[1];
66
67    if (YAHOO.widget.DateMath.before(newDate, prevDate) {
68       // Moving back in time
69    } else {
70       // Moving forward in time
71    }
72
73  });
74
75+ Added "year_offset" configuration property.
76
77  This can be used for locales which follow the Gregorian calendar,
78  but have the year offset by a fixed amount. For example the Thai
79  (th_TH) calendar, for which the year is a positive 543 year offset
80  from the Gregorian calendar.
81
82  The offset is applied to any output year strings, such as the year
83  label, or the year CSS marker class and to any input strings, such as
84  date selection strings or the pageDate value string.
85
86  NOTE: Any JavaScript Date objects which Calendar accepts as input,
87  should reflect the Gregorian calendar state (that is, the year should be
88  set to the Gregorian year), in order to maintain consistent state for other
89  fields such as weekday, month and date. Similarly, any JavaScript Date
90  objects returned by the Calendar, will be set to the Gregorian year.
91
92+ Added "today" configuration property, allowing the user to configure the
93  date which represents "today" in the Calendar.
94
95*** version 2.7.0 ***
96
97+ Fixed CalendarGroup page construction, so that the intial pagedate for
98  each Calendar page instance is set in it's constructor, as opposed to
99  setting it in 2 passes, as was done before (setting all the pages to the
100  same pagedate during construction, and then incrementing them to the
101  correct pagedate for page). This fixes a bug in reset(), where all the
102  Calendar pages were being reset to the same month.
103
104+ Fixed the argument for the delectEvent fired from deselectCell
105  to be an array of date fields arrays (e.g. [[2009, 1, 21]]) as opposed to
106  just a date field array (e.g. [2009, 1, 21]), so that the argument
107  structure is consistent for both select and deselect events, regardless
108  of where they are fired from, and whether they have one or more date
109  field arrays.
110
111*** version 2.6.0 ***
112
113+ Fixed incorrect cell index parsing from cell id attribute, when
114  Calendar id contained "cell".
115
116+ Added text to previous month, next month and close icons, to
117  enhance accessibility for screen-readers.
118
119+ Fixed issue with bubbled previous month, next month click events
120  missing target information in certain browsers (due to replaced HTML),
121  by delaying click event handling through a setTimeout.
122
123+ Added destroy method to Calendar/CalendarGroup
124
125+ Fixed incorrect clear method behavior for CalendarGroup where all
126  pages would be set to the same month.
127
128+ Refactored code to reduce minified Kweight.
129
130*** version 2.5.2 ***
131
132+ CalendarGroup toDate method no longer throws javascript exception
133
134*** version 2.5.1 ***
135
136+ Fixed bug with mindate, maxdate being applied incorrectly if
137  set to a day on which time change took place (DST, E.U Summertime)
138  and the day is not the first day of the week.
139
140+ Fixed DateMath.getWeekNumber implementation to return correct
141  week numbers. The older implementation would return Week 0 for
142  certain weeks (e.g. the week starting Sun Dec 28th 2008)
143
144  To suppor the fix, DateMath.getWeekNumber has a signature
145  change in 2.5.1 and can now support U.S Week calculations based
146  on Jan 1st identifying the first week of the year, as well as
147  ISO8601 week calculations based on Jan 4th identifying the first
148  week of the year
149
150  The arguments which the method expected prior to 2.5.1 were not
151  being used in calculating the week number. The new signature is:
152
153  DateMath.getWeekNumber(Date dt, Number firstDayOfWeek, Number janDate)
154
155  Where:
156
157    dt is the date for which week number is required
158
159    firstDayOfWeek is the day index identifying the first
160    day of the week. Default is 0 (Sunday).
161
162    janDate is the date in the first week of January, which
163    identifies the first week of the year.
164
165    Default is YAHOO.widget.DateMath.WEEK_ONE_JAN_DATE (1)
166
167  NOTE: Calendar instances themselves do not currently expose a
168  configuration property to change the week numbering system
169  used. A "janDate" value is not passed to the getWeekNumber
170  method, when used by Calendar, resulting in it using the default value.
171
172  Therefore, ISO8601 week numbering can be generated for Calendars
173  by setting the value of YAHOO.widget.DateMath.WEEK_ONE_JAN_DATE
174  to 4.
175
176*** version 2.5.0 ***
177
178+ Prevent default event handling in CalendarNavigator enter key
179  listener, to prevent automatic form submission when using Calendar
180  inside a form.
181
182+ Added workaround to DateMath.add and subtract for Safari 2 (webkit)
183  bug in Date.setDate(n) which doesn't handle value of n less than -128
184  or greater than 127 correctly.
185
186  See: http://brianary.blogspot.com/2006/03/safari-date-bug.html
187
188+ Added border, padding and margin rules to Calendar Sam Skin to
189  protect Sam Skin's look and feel when Calendar is used with
190  YUI base.css
191
192*** version 2.4.0 ***
193
194+ Added CalendarNavigator (year selector) feature to allow the user to
195  jump to a year/month directly without having to scroll through months
196  sequentially.
197
198  The feature is enabled/configured using the "navigator" configuration
199  property.
200
201+ Added Custom Events:
202
203    showNav/beforeShowNav
204    hideNav/beforeHideNav,
205    renderNav/beforeRenderNav
206
207  To Calendar/CalendarGroup, in support of the CalendarNavigator
208  functionality.
209
210+ Added Custom Events:
211
212    show/beforeShow
213    hide/beforeHide
214
215  To Calendar and CalendarGroup. Returning false from a
216  beforeShow/beforeHide listener can be used to prevent the Calendar
217  from being shown/hidden respectively.
218
219+ Added Public Methods:
220
221    getCellIndex(date)    [ Calendar ]
222    getCalendarPage(date) [ CalendarGroup ]
223    toDate(dateArray)     [ Calendar/CalendarGroup ]
224    removeRenderers()     [ Calendar/CalendarGroup ]
225
226+ The Calendar/CalendarGroup constructor is now more flexible:
227
228    * It no longer requires an "id" argument.
229
230      In it's simplest form, a Calendar/CalendarGroup can be
231      constructed by simply providing a container id or reference.
232
233          var cal = new YAHOO.widget.Calendar("container");
234          -or-
235          var containerDiv = YAHOO.util.Dom.get("container");
236          var cal = new YAHOO.widget.Calendar(containerDiv);
237
238      An id for the Calendar does not need to be provided, and will be
239      generated from the container id by appending an "_t" suffix to the
240      container id if only the container is provided.
241
242    * The container argument can be either a string, representing the
243      id of the container, or an HTMLElement referring to the container
244      element itself, as suggested in the example above.
245
246    * If an HTMLElement is provided for the container argument and the
247      element does not have an id, one will be generated for it using
248      YAHOO.util.Dom.generateId().
249
250    * The older form of Calendar/CalendarGroup signature, expecting
251      both an id and containerId is still supported and works as it did
252      prior to 2.4.0.
253
254+ Fixed performance issue, where the same custom renderer was being
255  applied multiple times to the same cell.
256
257+ Added getDate(year, month, date) factory method to the DateMath utility,
258  which can be used to create JavaScript Date instances for years less
259  than 100.
260
261  The default Date(year, month, date) constructor implementations across
262  browsers, assume that if year < 100, the caller is referring to the
263  nineteen hundreds, and the year is set to 19xx instead of xx (as with
264  the deprecated setYear method). However Date.setFullYear(xx) can
265  be used to set dates below 100. The above factory method provides a
266  construction mechanism consistent with setFullYear.
267
268+ Changed Calendar/CalendarGroup/DateMath code to use the DateMath.getDate
269  method, so that 2 digit years are  not assumed to be in the 1900's.
270
271  NOTE: Calendar's API already expects 4 digit date strings when referring
272  to years after 999.
273
274*** version 2.3.1 ***
275
276+ Changed Calendar/CalendarGroup to render an empty title bar element
277  when "close" is set to true, but "title" has not been set, to allow Sam
278  Skin to render a title bar correctly.
279
280*** version 2.3.0 ***
281
282+ Added checks to select, selectCell, deselect and deselectCell methods
283  to ensure the Calendar/Calendar group was not set to an invalid state
284  by programmatically selecting unselectable dates or cells.
285
286+ Added new locale configuration properties for the Month/Year label
287  used in the Calendar header (MY_LABEL_MONTH_POSITION,
288  MY_LABEL_YEAR_POSITION, MY_LABEL_YEAR_SUFFIX, MY_LABEL_MONTH_SUFFIX).
289  Japan is an example locale, where customization of the Month/Year
290  label is required.
291
292+ Changed "first", "last" class names to "first-of-type", "last-of-type",
293  to avoid collision with YUI Grids' use of the "first" class name.
294
295+ Added public isDateOOB method, to check if a given date is outside of
296  the minimum/maximum configuration dates of the Calendar.
297
298+ Deprecated YAHOO.widget.Calendar.browser, refactored to use
299  YAHOO.env.ua instead.
300
301+ Removed overflow:hidden from default Calendar/CalendarGroup container
302  for non-IE6 browsers to fix clipping issue with IE7 when CalendarGroup
303  was inside a box with a specific width. overflow:hidden is still
304  required for IE6 with an iframe shim.
305
306+ Added Opera container width calculation fix to CalendarGroup.show
307  method, to fix incorrect wrapping when using a CalendarGroup which is
308  initially rendered hidden (display:none). Previously this fix was
309  only applied on render.
310
311*** version 2.2.2 ***
312
313+ Fixed problem with selected dates being shared across instances, when
314  more than one Calendar/CalendarGroup was on the page
315
316*** version 2.2.1 ***
317
318+ Fixed problem with selectCell adding duplicate selected date entries
319  for dates which were already selected
320
321+ Fixed problem with CalendarGroup iframe shim not covering the
322  CalendarGroup title area
323
324+ Removed javascript:void(null) from close button and cell links which
325  was interrupting form submission and firing onbeforeunload in IE
326
327+ Fixed problem with CalendarGroup getSelectedDates returning invalid
328  results, when used in conjunction with the "selected" Config property
329  (either passed in the constructor config argument or set seperately
330  after construction)
331
332+ Refactored Calendar and CalendarGroup to improve performance,
333  especially when working with a large number of instances in
334  IE6
335
336*** version 2.2.0 ***
337
338+ Image customization can now be done through CSS. Images for Close,
339  Left and Right Arrows are now pulled in using CSS defined in
340  calendar.css and by default use relative paths to the images in
341  the same directory as calendar.css.
342
343+ Deprecated Calendar.IMG_ROOT and NAV_ARROW_LEFT, NAV_ARROW_RIGHT
344  configuration properties. Customizations based on older releases
345  which set these properties will still function as expected.
346
347+ Deprecated CalendarGroup.CSS_2UPCLOSE. Calendar's Style.CSS_CLOSE
348  property now represents the new default CSS class (calclose) for
349  the close button. CSS_2UPCLOSE is still applied along with
350  CSS_CLOSE to the new markup for the close button to support existing
351  customizations of the CSS_2UPCLOSE CSS class (close-icon)
352
353+ Fixed problem with Safari setting Calendar pages to incorrect dates
354  if the pages spanned a year boundary in CalendarGroups with 3 or more
355  pages, due to a bug in Safari's implementation of Date setMonth
356
357+ Fixed problem with CalendarGroup setMonth rendering Calendar pages
358  with incorrect dates in all browsers if current pages spanned year
359  boundary
360
361+ Fixed incorrect CalendarGroup logging statement in calendar-debug.js
362
363+ Fixed domEventMap support for Safari versions prior to 2.0.2,
364  caused by hasOwnProperty not being supported
365
366+ Removed unused private property : _pageDate from Calendar class
367
368*** version 0.12.2 ***
369
370+ Corrected documentation for clearTime function to reflect the
371  change from midnight to noon
372
373*** version 0.12.1 ***
374
375+ Calendar and CalendarGroup now automatically parse the argument
376  passed to setMonth and setYear into an integer, eliminating
377  potential concatenation bugs.
378
379*** version 0.12 ***
380
381+ New documentation format implemented
382
383+ Calendar2up and Calendar_Core are now deprecated. Now, Calendar alone
384  represents the single Calendar instance, and CalendarGroup represents
385  an n-up instance, defaulting to 2up
386
387+ Added semantic style classes to Calendar elements to allow for
388  custom styling solely using CSS.
389
390+ Remapped all configuration properties to use the Config object
391 (familiar to those who use the Container collection of controls).
392 Property names are the same as their previous counterparts, but
393 wrapped into Calendar.cfg, allowing for runtime reconfiguration of
394 most properties
395
396+ Added "title" property for setting the Calendar title
397
398+ Added "close" property for enabling and disabling the close icon
399
400+ Added "iframe" property for enabling an iframe shim in Internet
401  Explorer 6 and below to fix the select bleed-through bug
402
403+ pageDate moved to property: "pagedate"
404
405+ selectedDates moved to property: "selected"
406
407+ minDate moved to property : "mindate", which accepts a JavaScript
408  Date object like its predecessor, but also supports string dates
409
410+ maxDate moved to property : "maxdate", which accepts a JavaScript
411  Date object like its predecessor, but also supports string dates
412
413+ Moved style declarations to initStyles function
414
415+ Optimized event handling in doSelectCell/doCellMouseOver/
416  doCellMouseOut by only attaching the listener to the outer
417  Calendar container, and only reacting to events on cells with
418  the "selectable" CSS class.
419
420+ Added domEventMap field for applying DOM event listeners to cells
421  containing specific class and tag combinations.
422
423+ Moved all cell DOM event attachment to applyListeners function
424
425+ Added getDateByCellId / getDateFieldsByCellId helper functions
426
427+ Corrected DateMath.getWeekNumber to comply with ISO week number
428  handling
429
430+ Separated renderCellDefault style portions into styleCellDefault
431  function for easy extension
432
433+ Deprecated onBeforeSelect. Created beforeSelectEvent which
434  automatically subscribes to its deprecated predecessor.
435
436+ Deprecated onSelect. Created selectEvent, which automatically
437  subscribes to its deprecated predecessor.
438
439+ Deprecated onBeforeDeselect. Created beforeSelectEvent which
440  automatically subscribes to its deprecated predecessor.
441
442+ Deprecated onDeselect. Created beforeDeselectEvent, which
443  automatically subscribes to its deprecated predecessor.
444
445+ Deprecated onChangePage. Created changePageEvent, which automatically
446  subscribes to its deprecated predecessor.
447
448+ Deprecated onRender. Created renderEvent, which automatically
449  subscribes to its deprecated predecessor.
450
451+ Deprecated onReset. Created resetEvent, which automatically
452  subscribes to its deprecated predecessor.
453
454+ Deprecated onClear. Created clearEvent, which automatically
455  subscribes to its deprecated predecessor.
456
457+ Corrected setMonth documentation to refer to 0-11 indexed months.
458
459+ Added show and hide methods to Calendar for setting the Calendar's
460  display property.
461
462+ Optimized internal render classes to use innerHTML and string buffers
463
464+ Removed wireCustomEvents function
465
466+ Removed wireDefaultEvents function
467
468+ Removed doNextMonth / doPreviousMonth
469
470+ Removed all buildShell (header, body, footer) functions, since
471  the Calendar shell is now built dynamically on each render
472
473+ Wired all CalendarGroup events and configuration properties to
474  be properly delegated to Calendar
475
476+ Augmented CalendarGroup with all built-in renderers, label functions,
477  hide, show, and initStyles, creating API transparency between Calendar
478  and CalendarGroup.
479
480+ Made all tagName, createElement, and entity references XHTML compliant
481
482+ Fixed Daylight Saving Time bug for Brazilian time zone
483
484*** version 0.11.3 ***
485
486+ Calendar_Core: Added arguments for selected/deselected dates to
487  onSelect/onDeselect
488
489+ CalendarGroup: Fixed bug where selected dates passed to constructor
490  were not represented in selectedDates
491
492+ Calendar2up: Now displays correctly in Opera 9
493
494*** version 0.11.0 ***
495
496+ DateMath: DateMath.add now properly adds weeks
497
498+ DateMath: between() function added
499
500+ DateMath: getWeekNumber() fixed to take starting day of week into
501  account
502
503+ All references to Calendar's built in CSS class handlers are
504  removed, replaced with calls to Dom utility (addClass, removeClass)
505
506+ Several CSS class constants now have clearer names
507
508+ All CSS classes are now properly namespaced to avoid CSS conflicts
509
510+ Fixed table:hover bug in CSS
511
512+ Calendar no longer requires the container ID and variable name to
513  match in order for month navigation to function properly
514
515+ Calendar month navigation arrows are now represented as
516  background images
517
518*** version 0.10.0 ***
519
520+ Major performance improvements from attaching DOM events to
521  associated table cells only once, when the Calendar shell is built
522
523+ DOM events for mouseover/mouseout are now fired for all browsers
524 (not just Internet Explorer)
525
526+ Reset functionality bug fixed for 2-up Calendar view
527
528*** version 0.9.0 ***
529
530* Initial release
531