YUI Release 2.3.1 README Digest
This document is a summary of
the 2.3.1 update information that has been added to the respective
README files included within
each component folder. Please
refer the README files for the
components you are using for
a full change history of each component.
Animation
-
no change
AutoComplete
- AutoComplete no longer throw a JavaScript error due to an
invalid or
non-existent parent container. While a wrapper DIV element is
still expected in
order to enable skinning (see 2.3.0 release note), a lack of such
will not
cause an error.
- When suggestion container is collapsed, Mac users no longer need
to type
Enter twice to submit input.
Button
Fixed
the following bugs:
-
Purged the old 2.2.2 Button stylesheet and related image assets that was
mistakenly included in the 2.3.0 build.
-
Fixed an issue in Gecko where changing a Button instance's "label"
attribute
after the Button had been created would
not result in the Button redrawing at
a width to fit its content.
-
Fixed an issue where the singleton keypress event handler
(YAHOO.widget.Button.onFormKeyPress)
registered for forms containing
Button instances of type
"submit" was not removed from the form once all of
its child Button instances are
destroyed.
- Submitting
a form by clicking on a MenuItem of a SplitButton's or MenuButton's
Menu will no longer result in a
JavaScript error.
-
Modified how element tag names are compared to support XHTML applications.
-
Added code to remove the CSS class names representing the "hover,"
"focus,"
and "active" states when a
Button instance is disabled.
Calendar
- Changed Calendar/CalendarGroup to render an empty
title bar element when "close"
is
set to true, but "title" has not been set, to allow Sam Skin to render
a title bar correctly.
Color Picker
-
no change
Connection
-
setDefaultPostHeader() can now be overloaded with a boolean, string, or
number. By default, POST transactions send the
following Content-Type header:
'application/x-www-form-urlencoded;
charset=UTF-8'.
A
custom Content-Type header can now be set by passing its value to
setDefaultPostHeader().
-
HTML form submissions now send a Content-Type header of
"application/x-www-
form-urlencoded",
omitting the charset=UTF-8 value.
-
setDefaultXhrHeader() can now be overloaded with a boolean, string, or number.
By
default, all transactions send a custom header of "X-Requested-
With:XMLHttpRequest".
This default header value can be overridden by passing
the desired value as an
argument to setDefaultPostHeader().
-
The file upload iframe's event listener is now explicitly removed before the
iframe
is destroyed.
Container
Fixed
the following bugs:
-
To help reduce the occurrence of "Operation Aborted" errors in IE,
containers which are rendered to the
document's BODY element (e.g.
myOverlay.render(document.body)) are now
inserted before the first
child of the BODY element. This applies
to both the container
element as well as the iframe shim if
enabled.
Prior to 2.3.1, these two elements were
appended as the last
children of the BODY element.
When rendering to any other element on
the page, the behavior is
unchanged and both the container and
shim are appended as the last
children of the element.
See Container README file for detailed
information on
Upgrade Impact For Containers Rendered
To Document.Body
-
Z-index is now applied correctly for Overlay/Panel elements, their
corresponding iframe shims, and modal
masks (for Panels).
This fix applies to both the default
z-index based on the CSS
for the Overlay/Panel and specific
z-indices set using the
"zindex" configuration
parameter.
See
Container README file for additional details and implications of the
z-index
fix.
-
Module now correctly recognizes standard module header, body and footer
DIVs when they have extra CSS classes
applied in addition to the
required hd, bd, and ft classes. e.g.
<div class="bd news"></div>.
-
An empty header (set to $#160;) is created for draggable Panels which
don't have a header specified, to
provide a drag handle. This fixes a
regression introduced in 2.3.0 so that
2.2.2 behavior is restored.
-
Dialog.destroy has been fixed to account for Dialog form elements which
may not be direct children of the
standard module body ("bd") element.
-
SimpleDialog.destroy now completes successfully if the optional
button-beta.js dependancy is not
included on the page.
-
Destroying Overlays registered with the OverlayManager no longer results in a
JavaScript error. The Overlay is destroyed
and removed from the
OverlayManager correctly.
-
Submitting a Dialog form directly (e.g. using a "submit" button,
hitting
enter on a single text field form) no
longer throws a JavaScript error.
-
See Container README file for information on known issues
Data Source
-
no change
Data Table
-
For better support of resizeable Columns, the following core CSS changes have
been
made:
-
applied "table-layout:fixed" to TABLE elements
-
removed "overflow:hidden" from TH and TD elements
-
removed "white-space:nowrap" from TD elements
As
a result, implementers may notice a change in the widths of their rendered
DataTables,
which should be resolved by setting widths explicitly via CSS or
your
Column definitions.
-
Selection model issues have been addressed by clearing up ambiguous ID and
index
usage. Record instances are now assigned globally unique and immutable ID
strings
(no longer numbers). Record indexes are numbers that are mutable in order
to
represent Record order within a RecordSet instance. TR elements are assigned
DOM
ID strings that are *unrelated* to Record instance IDs and Record indexes. Be
aware
that DOM element IDs will get reused when sorting and paginating. Furthermore,
Column
instances are assigned globally unique and immutable ID strings
(no
longer numbers). Column indexes are numbers that are mutable and represent
Column
order within a ColumnSet instance. Please refer to the API documentation
for
details on when to use Record/Column instance IDs, DOM element IDs, and
Record/Column
index numbers.
-
Enabling row or cell selection no longer breaks clicks on links and form
elements.
Dom
-
allow batch() to work on array-like object
-
return null from Dom.get(undefined)
Drag and Drop
-
no change
Editor
- New methods were added (show and hide) that need to
be called when the Editor is placed inside an element that will be set to
display: none.
For
example: Placing an Editor inside of a TabView or Panel. You should now hook
into the other widgets show/hide event and call myEditor.show() or
myEditor.hide() when needed.
-
Dependency on the full Container family was removed, you can now use only the
container-core package.
-
The editor CSS has changed to allow for easier customizing.
-
The CSS patch that was issued for the 2.3.0 release of the Editor should be
removed when installing 2.3.1.
-
Safari performance issue: If you are experiencing extreme performance issues
with Safari
(keys taking a long time to
respond, enter key not working, CPU spiking).
Please check to see if you
have AcidSearch from pozytron.com installed.
It has been determined that
the latest release if AcidSearch is interfering
with the Rich Text Editor.
Currently the only solution is to un-install
the plugin. The maker of
AcidSearch has been notified of the issue and should respond soon.
-
Several performance enhancements and bug fixes.
All
1.
[1406169] - Fixed Toolbar performance issues
2.
[1406176] - You can now set the height and width of the editor after it has
been rendered
3.
[1413456] - Group Labels can now be turned off after the editor has been
rendered
4.
[1413750] - Editor now supports delayed render (script block above the textarea
markup)
5.
[1416349] - cleanHTML now supports markup config options better (added xhtml
option)
6.
[1422334] - Added a link field to the image property editor
7.
[1425540] - [SF 1775187] Fixed adding a link to an LI
8.
[1406370] - [SF 1767246 ] Using Back button causes breaking behavior. Fixed.
9.
[1435809] - Base href config fails when on a page with a port number. Fixed.
Safari
1.
[1390926] - Fixed Safari handleSubmit issue
2.
[1433563] - Editor becomes unstable when rendered inside an element set to
display: none (added show() method)
Opera
1.
[1396921] - Fixed clicking the Toolbar while typing loses insertion point
2.
[1406700] - [SF 1767251] Background color can not be overridden in Opera..
Fixed.
Gecko
1.
[1411911] - [SF 1769657] RTE looks strange on Firefox when base.css - Fixed
style collisions
2.
[1433563] - Editor becomes unstable when rendered inside an element set to
display: none (added show() method)
Internet Explorer
1.
[1396921] - Fixed clicking the Toolbar while typing loses insertion point
Element
-
no change
Event
-
CustomEvent fire() now catches exceptions thrown by the subscribers so
that the rest of the
subscribers execute. The exception
is logged and
stored in the
"lastError" property.
-
Performance tweak: _isValidCollection fails strings first.
- onAvailable/onContentReady will work if
an element ref rather than an
id is provided.
- getListeners: fixed the values for the
obj and adjust properties.
Added scope property
Fonts
-
no change
Grids
-
Fixed bug in 2.3.0 that transposed the columns in deeply-
nested
grids. Sourceforge #1765553, Bugzilla #1419885
-
Improved precision and consistency of margins in nested grids.
History Manager
-
no change
Image Loader
- no
change
Logger
-
no change
Menu
Fixed the following bugs:
- Including both the Container and Menu CSS on a page
will no longer result in
statically positioned Menu instances rendering as
hidden.
- The focus outline for MenuItem instances no longer
sticks in Opera.
- Clicking MenuItem instances without a value for the
"url" configuration
property will no longer result in the MenuItem losing
focus.
- Menu and MenuBar instances will no longer be
rendered with bullets when a
page includes the YUI Base CSS.
- Submenus of scrolling menus are now able to be
displayed.
- MenuItem instances now correctly navigate to the URL
specified by their
"url" configuration property when clicked in
Opera.
- Applying the "yui-sam-skin" CSS class name
to elements other than the <BODY>
will no
longer result in submenus of Menu instances being rendered at
an
incorrect width.
- Replaced hard coded absolute path in Menu CSS file
with correct relative path.
- Menu instances will now render at the correct with
if the browser's font size
is
changed prior its initial display.
- Clearing and repopulating Menu instances via the
"clearContent" method no
longer
triggers JavaScript errors.
- Submenus are now rendered at their correct width in
Opera.
Added the following features:
- Added new CSS class
"yui-menu-body-scrolled" that is applied to the body
element
of a Menu instance when it is scrolled via use of the "maxheight"
configuration property.
Slider
-
getValue will return the last value or 0 rather than NaN if the control
is
display:none.
-
The slider will not fire slideStart/change/slideEnd events during its
initial
setup unless setValue was called prior to initialization.
-
slideStart/slideEnd now fire consistently among the various methods of
changing
the slider value (setValue, bg click, thumb drag). A bg click
and
drag continuation will result in two start/end events.
-
Added a silent flag to setValue and setRegionValue to silence all of the
events
during that operation.
Tab View
-
The "expand" event no longer fires twice for dynamically loaded
nodes.
-
Added setHtml() to HTMLNode, which will synchronize the html and data
properties,
as well as the content of the node if it has been rendered.
YAHOO Global
-
YAHOO.lang.dump casts primitives to strings.