1
1
Calendar Release Notes
5
- Corrected documentation for clearTime function to reflect the change from midnight to noon
9
- Calendar and CalendarGroup now automatically parse the argument passed to setMonth and setYear into an integer, eliminating potential concatenation bugs.
13
- New documentation format implemented
14
- Calendar2up and Calendar_Core are now deprecated. Now, Calendar alone represents the single Calendar instance, and CalendarGroup represents an n-up instance, defaulting to 2up
15
- Added semantic style classes to Calendar elements to allow for custom styling solely using CSS.
16
- Remapped all configuration properties to use the Config object (familiar to those who use the Container collection of controls). Property names are the same as their previous counterparts, but wrapped into Calendar.cfg, allowing for runtime reconfiguration of most properties
17
- Added "title" property for setting the Calendar title
18
- Added "close" property for enabling and disabling the close icon
19
- Added "iframe" property for enabling an iframe shim in Internet Explorer 6 and below to fix the select bleed-through bug
20
- pageDate moved to property: "pagedate"
21
- selectedDates moved to property: "selected"
22
- minDate moved to property : "mindate", which accepts a JavaScript Date object like its predecessor, but also supports string dates
23
- maxDate moved to property : "maxdate", which accepts a JavaScript Date object like its predecessor, but also supports string dates
24
- Moved style declarations to initStyles function
25
- Optimized event handling in doSelectCell/doCellMouseOver/doCellMouseOut by only attaching the listener to the outer Calendar container, and only reacting to events on cells with the "selectable" CSS class.
26
- Added domEventMap field for applying DOM event listeners to cells containing specific class and tag combinations.
27
- Moved all cell DOM event attachment to applyListeners function
28
- Added getDateByCellId / getDateFieldsByCellId helper functions
29
- Corrected DateMath.getWeekNumber to comply with ISO week number handling
30
- Separated renderCellDefault style portions into styleCellDefault function for easy extension
31
- Deprecated onBeforeSelect. Created beforeSelectEvent which automatically subscribes to its deprecated predecessor.
32
- Deprecated onSelect. Created selectEvent, which automatically subscribes to its deprecated predecessor.
33
- Deprecated onBeforeDeselect. Created beforeSelectEvent which automatically subscribes to its deprecated predecessor.
34
- Deprecated onDeselect. Created beforeDeselectEvent, which automatically subscribes to its deprecated predecessor.
35
- Deprecated onChangePage. Created changePageEvent, which automatically subscribes to its deprecated predecessor.
36
- Deprecated onRender. Created renderEvent, which automatically subscribes to its deprecated predecessor.
37
- Deprecated onReset. Created resetEvent, which automatically subscribes to its deprecated predecessor.
38
- Deprecated onClear. Created clearEvent, which automatically subscribes to its deprecated predecessor.
39
- Corrected setMonth documentation to refer to 0-11 indexed months.
40
- Added show and hide methods to Calendar for setting the Calendar's display property.
41
- Optimized internal render classes to use innerHTML and string buffers
42
- Removed wireCustomEvents function
43
- Removed wireDefaultEvents function
44
- Removed doNextMonth / doPreviousMonth
45
- Removed all buildShell (header, body, footer) functions, since the Calendar shell is now built dynamically on each render
46
- Wired all CalendarGroup events and configuration properties to be properly delegated to Calendar
47
- Augmented CalendarGroup with all built-in renderers, label functions, hide, show, and initStyles, creating API transparency between Calendar and CalendarGroup.
48
- Made all tagName, createElement, and entity references XHTML compliant
49
- Fixed Daylight Saving Time bug for Brazilian time zone
51
*** version 0.11.3 ***
53
- Calendar_Core: Added arguments for selected/deselected dates to onSelect/onDeselect
54
- CalendarGroup: Fixed bug where selected dates passed to constructor were not represented in selectedDates
55
- Calendar2up: Now displays correctly in Opera 9
57
*** version 0.11.0 ***
59
- DateMath: DateMath.add now properly adds weeks
60
- DateMath: between() function added
61
- DateMath: getWeekNumber() fixed to take starting day of week into account
62
- All references to Calendar's built in CSS class handlers are removed, replaced with calls to Dom utility (addClass, removeClass)
63
- Several CSS class constants now have clearer names
64
- All CSS classes are now properly namespaced to avoid CSS conflicts
65
- Fixed table:hover bug in CSS
66
- Calendar no longer requires the container ID and variable name to match in order for month navigation to function properly
67
- Calendar month navigation arrows are now represented as background images
69
*** version 0.10.0 ***
71
- Major performance improvements from attaching DOM events to associated table cells only once, when the Calendar shell is built
72
- DOM events for mouseover/mouseout are now fired for all browsers (not just Internet Explorer)
73
- Reset functionality bug fixed for 2-up Calendar view
5
+ Fixed incorrect cell index parsing from cell id attribute, when
6
Calendar id contained "cell".
8
+ Added text to previous month, next month and close icons, to
9
enhance accessibility for screen-readers.
11
+ Fixed issue with bubbled previous month, next month click events
12
missing target information in certain browsers (due to replaced HTML),
13
by delaying click event handling through a setTimeout.
15
+ Added destroy method to Calendar/CalendarGroup
17
+ Fixed incorrect clear method behavior for CalendarGroup where all
18
pages would be set to the same month.
20
+ Refactored code to reduce minified Kweight.
24
+ CalendarGroup toDate method no longer throws javascript exception
28
+ Fixed bug with mindate, maxdate being applied incorrectly if
29
set to a day on which time change took place (DST, E.U Summertime)
30
and the day is not the first day of the week.
32
+ Fixed DateMath.getWeekNumber implementation to return correct
33
week numbers. The older implementation would return Week 0 for
34
certain weeks (e.g. the week starting Sun Dec 28th 2008)
36
To suppor the fix, DateMath.getWeekNumber has a signature
37
change in 2.5.1 and can now support U.S Week calculations based
38
on Jan 1st identifying the first week of the year, as well as
39
ISO8601 week calculations based on Jan 4th identifying the first
42
The arguments which the method expected prior to 2.5.1 were not
43
being used in calculating the week number. The new signature is:
45
DateMath.getWeekNumber(Date dt, Number firstDayOfWeek, Number janDate)
49
dt is the date for which week number is required
51
firstDayOfWeek is the day index identifying the first
52
day of the week. Default is 0 (Sunday).
54
janDate is the date in the first week of January, which
55
identifies the first week of the year.
56
Default is YAHOO.widget.DateMath.WEEK_ONE_JAN_DATE (1)
58
NOTE: Calendar instances themselves do not currently expose a
59
configuration property to change the week numbering system
60
used. A "janDate" value is not passed to the getWeekNumber
61
method, when used by Calendar, resulting in it using the default value.
63
Therefore, ISO8601 week numbering can be generated for Calendars
64
by setting the value of YAHOO.widget.DateMath.WEEK_ONE_JAN_DATE
69
+ Prevent default event handling in CalendarNavigator enter key
70
listener, to prevent automatic form submission when using Calendar
73
+ Added workaround to DateMath.add and subtract for Safari 2 (webkit)
74
bug in Date.setDate(n) which doesn't handle value of n less than -128
75
or greater than 127 correctly.
77
See: http://brianary.blogspot.com/2006/03/safari-date-bug.html
79
+ Added border, padding and margin rules to Calendar Sam Skin to
80
protect Sam Skin's look and feel when Calendar is used with
85
+ Added CalendarNavigator (year selector) feature to allow the user to
86
jump to a year/month directly without having to scroll through months
89
The feature is enabled/configured using the "navigator" configuration
92
+ Added Custom Events:
95
hideNav/beforeHideNav,
96
renderNav/beforeRenderNav
98
To Calendar/CalendarGroup, in support of the CalendarNavigator
101
+ Added Custom Events:
106
To Calendar and CalendarGroup. Returning false from a
107
beforeShow/beforeHide listener can be used to prevent the Calendar
108
from being shown/hidden respectively.
110
+ Added Public Methods:
112
getCellIndex(date) [ Calendar ]
113
getCalendarPage(date) [ CalendarGroup ]
114
toDate(dateArray) [ Calendar/CalendarGroup ]
115
removeRenderers() [ Calendar/CalendarGroup ]
117
+ The Calendar/CalendarGroup constructor is now more flexible:
119
* It no longer requires an "id" argument.
121
In it's simplest form, a Calendar/CalendarGroup can be
122
constructed by simply providing a container id or reference.
124
var cal = new YAHOO.widget.Calendar("container");
126
var containerDiv = YAHOO.util.Dom.get("container");
127
var cal = new YAHOO.widget.Calendar(containerDiv);
129
An id for the Calendar does not need to be provided, and will be
130
generated from the container id by appending an "_t" suffix to the
131
container id if only the container is provided.
133
* The container argument can be either a string, representing the
134
id of the container, or an HTMLElement referring to the container
135
element itself, as suggested in the example above.
137
* If an HTMLElement is provided for the container argument and the
138
element does not have an id, one will be generated for it using
139
YAHOO.util.Dom.generateId().
141
* The older form of Calendar/CalendarGroup signature, expecting
142
both an id and containerId is still supported and works as it did
145
+ Fixed performance issue, where the same custom renderer was being
146
applied multiple times to the same cell.
148
+ Added getDate(year, month, date) factory method to the DateMath utility,
149
which can be used to create JavaScript Date instances for years less
152
The default Date(year, month, date) constructor implementations across
153
browsers, assume that if year < 100, the caller is referring to the
154
nineteen hundreds, and the year is set to 19xx instead of xx (as with
155
the deprecated setYear method). However Date.setFullYear(xx) can
156
be used to set dates below 100. The above factory method provides a
157
construction mechanism consistent with setFullYear.
159
+ Changed Calendar/CalendarGroup/DateMath code to use the DateMath.getDate
160
method, so that 2 digit years are not assumed to be in the 1900's.
162
NOTE: Calendar's API already expects 4 digit date strings when referring
165
*** version 2.3.1 ***
167
+ Changed Calendar/CalendarGroup to render an empty title bar element
168
when "close" is set to true, but "title" has not been set, to allow Sam
169
Skin to render a title bar correctly.
171
*** version 2.3.0 ***
173
+ Added checks to select, selectCell, deselect and deselectCell methods
174
to ensure the Calendar/Calendar group was not set to an invalid state
175
by programmatically selecting unselectable dates or cells.
177
+ Added new locale configuration properties for the Month/Year label
178
used in the Calendar header (MY_LABEL_MONTH_POSITION,
179
MY_LABEL_YEAR_POSITION, MY_LABEL_YEAR_SUFFIX, MY_LABEL_MONTH_SUFFIX).
180
Japan is an example locale, where customization of the Month/Year
183
+ Changed "first", "last" class names to "first-of-type", "last-of-type",
184
to avoid collision with YUI Grids' use of the "first" class name.
186
+ Added public isDateOOB method, to check if a given date is outside of
187
the minimum/maximum configuration dates of the Calendar.
189
+ Deprecated YAHOO.widget.Calendar.browser, refactored to use
190
YAHOO.env.ua instead.
192
+ Removed overflow:hidden from default Calendar/CalendarGroup container
193
for non-IE6 browsers to fix clipping issue with IE7 when CalendarGroup
194
was inside a box with a specific width. overflow:hidden is still
195
required for IE6 with an iframe shim.
197
+ Added Opera container width calculation fix to CalendarGroup.show
198
method, to fix incorrect wrapping when using a CalendarGroup which is
199
initially rendered hidden (display:none). Previously this fix was
200
only applied on render.
202
*** version 2.2.2 ***
204
+ Fixed problem with selected dates being shared across instances, when
205
more than one Calendar/CalendarGroup was on the page
207
*** version 2.2.1 ***
209
+ Fixed problem with selectCell adding duplicate selected date entries
210
for dates which were already selected
212
+ Fixed problem with CalendarGroup iframe shim not covering the
213
CalendarGroup title area
215
+ Removed javascript:void(null) from close button and cell links which
216
was interrupting form submission and firing onbeforeunload in IE
218
+ Fixed problem with CalendarGroup getSelectedDates returning invalid
219
results, when used in conjunction with the "selected" Config property
220
(either passed in the constructor config argument or set seperately
223
+ Refactored Calendar and CalendarGroup to improve performance,
224
especially when working with a large number of instances in
227
*** version 2.2.0 ***
229
+ Image customization can now be done through CSS. Images for Close,
230
Left and Right Arrows are now pulled in using CSS defined in
231
calendar.css and by default use relative paths to the images in
232
the same directory as calendar.css.
234
+ Deprecated Calendar.IMG_ROOT and NAV_ARROW_LEFT, NAV_ARROW_RIGHT
235
configuration properties. Customizations based on older releases
236
which set these properties will still function as expected.
238
+ Deprecated CalendarGroup.CSS_2UPCLOSE. Calendar's Style.CSS_CLOSE
239
property now represents the new default CSS class (calclose) for
240
the close button. CSS_2UPCLOSE is still applied along with
241
CSS_CLOSE to the new markup for the close button to support existing
242
customizations of the CSS_2UPCLOSE CSS class (close-icon)
244
+ Fixed problem with Safari setting Calendar pages to incorrect dates
245
if the pages spanned a year boundary in CalendarGroups with 3 or more
246
pages, due to a bug in Safari's implementation of Date setMonth
248
+ Fixed problem with CalendarGroup setMonth rendering Calendar pages
249
with incorrect dates in all browsers if current pages spanned year
252
+ Fixed incorrect CalendarGroup logging statement in calendar-debug.js
254
+ Fixed domEventMap support for Safari versions prior to 2.0.2,
255
caused by hasOwnProperty not being supported
257
+ Removed unused private property : _pageDate from Calendar class
259
*** version 0.12.2 ***
261
+ Corrected documentation for clearTime function to reflect the
262
change from midnight to noon
264
*** version 0.12.1 ***
266
+ Calendar and CalendarGroup now automatically parse the argument
267
passed to setMonth and setYear into an integer, eliminating
268
potential concatenation bugs.
272
+ New documentation format implemented
274
+ Calendar2up and Calendar_Core are now deprecated. Now, Calendar alone
275
represents the single Calendar instance, and CalendarGroup represents
276
an n-up instance, defaulting to 2up
278
+ Added semantic style classes to Calendar elements to allow for
279
custom styling solely using CSS.
281
+ Remapped all configuration properties to use the Config object
282
(familiar to those who use the Container collection of controls).
283
Property names are the same as their previous counterparts, but
284
wrapped into Calendar.cfg, allowing for runtime reconfiguration of
287
+ Added "title" property for setting the Calendar title
289
+ Added "close" property for enabling and disabling the close icon
291
+ Added "iframe" property for enabling an iframe shim in Internet
292
Explorer 6 and below to fix the select bleed-through bug
294
+ pageDate moved to property: "pagedate"
296
+ selectedDates moved to property: "selected"
298
+ minDate moved to property : "mindate", which accepts a JavaScript
299
Date object like its predecessor, but also supports string dates
301
+ maxDate moved to property : "maxdate", which accepts a JavaScript
302
Date object like its predecessor, but also supports string dates
304
+ Moved style declarations to initStyles function
306
+ Optimized event handling in doSelectCell/doCellMouseOver/
307
doCellMouseOut by only attaching the listener to the outer
308
Calendar container, and only reacting to events on cells with
309
the "selectable" CSS class.
311
+ Added domEventMap field for applying DOM event listeners to cells
312
containing specific class and tag combinations.
314
+ Moved all cell DOM event attachment to applyListeners function
316
+ Added getDateByCellId / getDateFieldsByCellId helper functions
318
+ Corrected DateMath.getWeekNumber to comply with ISO week number
321
+ Separated renderCellDefault style portions into styleCellDefault
322
function for easy extension
324
+ Deprecated onBeforeSelect. Created beforeSelectEvent which
325
automatically subscribes to its deprecated predecessor.
327
+ Deprecated onSelect. Created selectEvent, which automatically
328
subscribes to its deprecated predecessor.
330
+ Deprecated onBeforeDeselect. Created beforeSelectEvent which
331
automatically subscribes to its deprecated predecessor.
333
+ Deprecated onDeselect. Created beforeDeselectEvent, which
334
automatically subscribes to its deprecated predecessor.
336
+ Deprecated onChangePage. Created changePageEvent, which automatically
337
subscribes to its deprecated predecessor.
339
+ Deprecated onRender. Created renderEvent, which automatically
340
subscribes to its deprecated predecessor.
342
+ Deprecated onReset. Created resetEvent, which automatically
343
subscribes to its deprecated predecessor.
345
+ Deprecated onClear. Created clearEvent, which automatically
346
subscribes to its deprecated predecessor.
348
+ Corrected setMonth documentation to refer to 0-11 indexed months.
350
+ Added show and hide methods to Calendar for setting the Calendar's
353
+ Optimized internal render classes to use innerHTML and string buffers
355
+ Removed wireCustomEvents function
357
+ Removed wireDefaultEvents function
359
+ Removed doNextMonth / doPreviousMonth
361
+ Removed all buildShell (header, body, footer) functions, since
362
the Calendar shell is now built dynamically on each render
364
+ Wired all CalendarGroup events and configuration properties to
365
be properly delegated to Calendar
367
+ Augmented CalendarGroup with all built-in renderers, label functions,
368
hide, show, and initStyles, creating API transparency between Calendar
371
+ Made all tagName, createElement, and entity references XHTML compliant
373
+ Fixed Daylight Saving Time bug for Brazilian time zone
375
*** version 0.11.3 ***
377
+ Calendar_Core: Added arguments for selected/deselected dates to
380
+ CalendarGroup: Fixed bug where selected dates passed to constructor
381
were not represented in selectedDates
383
+ Calendar2up: Now displays correctly in Opera 9
385
*** version 0.11.0 ***
387
+ DateMath: DateMath.add now properly adds weeks
389
+ DateMath: between() function added
391
+ DateMath: getWeekNumber() fixed to take starting day of week into
394
+ All references to Calendar's built in CSS class handlers are
395
removed, replaced with calls to Dom utility (addClass, removeClass)
397
+ Several CSS class constants now have clearer names
399
+ All CSS classes are now properly namespaced to avoid CSS conflicts
401
+ Fixed table:hover bug in CSS
403
+ Calendar no longer requires the container ID and variable name to
404
match in order for month navigation to function properly
406
+ Calendar month navigation arrows are now represented as
409
*** version 0.10.0 ***
411
+ Major performance improvements from attaching DOM events to
412
associated table cells only once, when the Calendar shell is built
414
+ DOM events for mouseover/mouseout are now fired for all browsers
415
(not just Internet Explorer)
417
+ Reset functionality bug fixed for 2-up Calendar view
419
*** version 0.9.0 ***
b'\\ No newline at end of file'