YUI Release 2.7.0 README Digest
This document is a summary of the 2.7.0 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
- Enhancements
- Updated set/getAttribute to fall back to element.attribute
AutoComplete
- Enhancements
-Â Better support for dealing with Arrays, including pure Arrays sent by remote
  DataSources, and empty Array result sets.
Base
- Enhancements
- Added padding:1px; to checkbox, radio, reset, and submit to restore andÂ
  preserve Opera's use of its standard form controls (through Opera v9.63).
- Updated formatting and layout of file and added new comments
- Added font-weight:bold for DTs.
- Bug Fixes
- Fixed bug 2366702 by removing the rule that set an arbitrary width for form
  input and textarea elements.
Button
- Enhancements
- Hovering over MenuItems in a Button's Menu will no longer update the Button's
 "selectedMenuItem" attribute. The "selectedMenuItem" attribute is now onlyÂ
 updated when the user clicks on a MenuItem. When the "selectedMenuItem"Â
 attribute is set, a class name of "yui-button-selectedmenuitem" is added toÂ
 the <LI> element of the corresponding MenuItem instance.
- Bug Fixes
- Buttons of type "split" will no longer block the submission of a form whenÂ
 the enter key is pressed to submit a form.
- Button instances will no longer overflow the boundaries of their parentÂ
 element in IE 7 Strict Mode when the content of the parent element is scrolledÂ
 (via use of the CSS overflow property).
- "click" event listeners registered via the "onclick" attribute will no longer
 be called when the user presses the section of a Button of type "split"Â
 responsible for showing the Button's Menu.
 Â
Calendar
- Bug Fixes
- Fixed CalendarGroup page construction, so that the intial pagedate forÂ
 each Calendar page instance is set in its constructor, as opposed to
 setting it in 2 passes, as was done before (setting all the pages to the
 same pagedate during construction, and then incrementing them to theÂ
 correct pagedate for page). This fixes a bug in reset(), where all theÂ
 Calendar pages were being reset to the same month.
- Fixed the argument for the delectEvent fired from deselectCellÂ
 to be an array of date fields arrays (e.g. [[2009, 1, 21]]) as opposed to
 just a date field array (e.g. [2009, 1, 21]), so that the argumentÂ
 structure is consistent for both select and deselect events, regardless
 of where they are fired from, and whether they have one or more dateÂ
 field arrays.
CarouselÂ
- Enhancements
- Important change - nav elements should be BUTTONS for receiving focus
 for accessibility.
- Make the Carousel list element, and item element configurable.
- Added helper methods like isAutoPlayOn(), isAnimating().
- Changed the ambiguous "autoPlay" attribute name to "autoPlayInterval".
- Code cleanup.
- Bug Fixes
- Fixed bugs related to computing the container width.
Charts
- Enhancements
- Added ability to rotate axis labels and titles.
- Enhanced series marker styling by adding ability to set color and alpha properties for borders, fills and lines.
- Refactored axes so that major units are more accurately plotted.
- Added ability to uniquely style a non-origin 0 gridline.
- Bug Fixes
- Fixed TimeAxis bug in which majorUnit was not being calculated properly.
- Fixed TimeAxis bug in which the minorUnit was not being calculated.
- Fixed bug in which Cartesian Charts were not updating properly when the series length changed.Â
- Fixed bug in which Pie Chart would not render properly when the data source was refreshed.Â
- Fixed bug in which the Line Chart broke when the first value of a data source was null.
- Fixed bug in which mouseover events were fired before the chart object was ready.
Color Picker
- Enhancements
- Moved private functions to protected prototype methods
- Can now set rgb config at construction for initial color
- initPicker logic broken up into methods _initElements, _initSliders, _bindUI, and syncUI
- Micro optimizations to color value conversions
- Bug Fixes
- Now allows paste into RGB, HSV, Hex input fields (Ticket 1907525)
- Hue field unaltered when choosing unsaturated values (Ticket 1893165)
- Saturation input field now updates swatches (Ticket 1893165)
Connection
- Bug Fixes
- Fixed Ticket 2141044. Button elements of type "submit" are now handled in the
 same manner as input elements of type "submit", including disambiguation of
 multiple submit buttons in a single HTML form.
- HTML form submissions, using setForm(), will not include the submit button's
 value, if the submission did not include the use of the button (e.g., form
 object's submit method.).
Container
- Enhancements
- Dialog now supports a "postdata" configuration parameter which can be used to defineÂ
 post data to be sent along with any data mined from the form, for async post requests.
- Dialog now provides the connection object, as the first argument to subscribers of the
 "asyncSubmit" event.
- Added support for fixedcenter:"contained", which acts like fixedcenter:true, enabling the
 user to keep the Overlay centered in the viewport when scrolling or resizing the window.Â
 However when fixedcenter is set to "contained", if the Overlay is too big for the viewport,Â
 re-centering on scroll will be disabled until the viewport is large enough to contain the OverlayÂ
 completely. This allows the user to scroll the viewport to access sections of the
 Overlay outside the current viewport.
- Added a "yui-overlay-hidden" class to hidden Overlays (and derived widgets).
 This class can be used to define CSS properties to work around bugs inÂ
 IE6 and IE7's handling of tables with captions, or tables with border-collapseÂ
 set to "collapse". In IE6 and IE7, if the overlay contains tables with captions, theÂ
 user will not be able to interact with element which lie underneath
 the table, even when the overlay is hidden. The above marker class can be used to hide tables
 when the overlay is hidden to workaround the IE bug:
 Â
  #containerWithTable.yui-overlay-hidden table {
    // Display is used here as an example, you could also
    // set the height, or margin, or position for the table toÂ
    // hide it if required.
    display:none;
  }
  Also, in IE6 and IE7, if the overlay contains tables with border-collapse set to "collapse", as
  is the case for the YUI Calendar's default Sam skin, the borders will remain visible even when
  the overlay is hidden. The above marker class can be used to flip the tables border-collapse
  setting, to workaround the IE bug:
 Â
  #containerWithTable.yui-overlay-hidden table {
  // IE hides the border correctly if it is set to "separate"
  border-collapse:separate;
  }
-Â Added tab-index = -1, to iframe shim to take it out of tab flow.
- Module id is generated using Dom.generateId, if the element passed to the constructor does not have an id set.
- Added Module.forceDocumentRedraw method which can be used to
 fix occasional content dependant rendering glitches in Opera.
-Â Resize monitor is now only positioned offset top, instead of both offset top and offset left, to
  avoid scrollbars in RTL pages. A buffer constant (Module.RESIZE_MONITOR_BUFFER) is
  also provided, to add a buffer amount to the offscreen position.
- Bug Fixes
- Fixed focusFirst behavior to give the default button priority over the first button if defined.
- Fixed erratic scrolling when clicking on the scrollbar in IE when a modal panel is visible.
- Removed suppressEvent from autofillheight in overlay, was causing "autofillheight"Â
 to not be honored in Panel.
- Added < 0 check for "autofillheight".
- Fixed "autofillheight", so that it only takes effect if a non "auto"Â height has been set on
  the container.
- Fixed shadow in IE6 not being resized correctly when autofillheight is set, and text is resized.
- Fixed opacity flash seen when a tooltip with ContainerEffect.FADE applied, is hidden.
- Fixed incorrect tooltip width, for the case where the width is set dynamically (see Tooltip's
 width configuration property), and the user moves from one of the Tooltip's context elementsÂ
 to another, without the tooltip being hidden.
- Autofillheight if enabled, is recalculated whenever content changes, to account for changes in section height.
- Fixed faulty repaint on Safari 3.2/MacOS 10.5, when using fixedcenter, by forcing redraw after centering.
 Â
Cookie UtilityÂ
- Enhancements
- Implemented change to return null for any cookie with an invalid encoding (causing
 decodeURIComponent() to fail).
DataSourceÂ
- Enhancements
- The parseNumber() method will now return null for the following values:
  null, undefined, NaN, "".
- YAHOO.util.Number.format() will now return "" for the following values:
 null, undefined, NaN, "".
- Added support for customizeable scope in JS Function DataSources.
- Added doBeforeGetScriptNode() as a hook to access the script URL immediately
 before it is processed by the Get Utility in Script Node DataSources.
- Added parseJSONArgs instance property to allow extra params be passed to JSON.parse routine.
- XHR instances configured with responseType TYPE_HTMLTABLE now create the requisite
 DOM table from the XHR responseText.
DataTable
- Enhancements
- The custom function defined by the formatRow Attribute is now called within
  the scope of the DataTable instance
- Added updateRows() and onDataReturnUpdateRows() to support incremental data
  modifications to a subset of rows
- The method getSanitizedKey() now also strips "." and ":" chars from Column keys
- Better validation of out-of-range index in the methods addRow(), addRows(),
  updateRow() and updateRows()
- Bug Fixes
- Fixed cellUpdateEvent to pass along the following values: record (the updated
  Record), column (the updated Column), oldData (the original data value of the
  updated cell, no longer an object literal of all data)
Dom
- Bug Fixes
- get() now works with Element instances
- added getComputedStyle method
- backported getXY/setXY from 3.0
- hasClass/removeClass/replaceClass now accept regex object as target classÂ
- added getElementBy method
- added setAttribute/getAttribute methodsÂ
- added height and width properties to RegionÂ
Drag and Drop Â
- No changes
Editor Â
- Bug Fixes
- 1946017 - Unable to delete text when editor opens (Firefox)
- 2527610 - Insert image deletes image in FF3
- 2527613 - Create link window - remove link from text option disables toolbarÂ
- 2527678 - Rich Text Editor producing inconsistent line-breaks in SafariÂ
- 2527647 - Unable to input image url with rich editor in modal panelÂ
- 2034544 - Image Options Dialog Box needs fixing
- 2048035 - autoHeight will cause misaligned dialog panels
- 2107828 - extra newlines when using cleanHTML()
- 2117571 - getButtonBy doesn't work with custom id's on btns
- 2144339 - colouring a word colours the sentence (REGRESSION)
- 2148477 - RTE Image Editor Broken When yui-skin-sam on div
- 2151060 - RTE w/ Custom Image Editor broken in FF, Safari
- 2152230 - using ptags option only works in IE
- 2172817 - ampersand (&) converted to XML entity in image URL
- 2193135 - Safari incorrectly strips first line break
- 2212320 - Clicking on disabled buttons goes to '#' link
- 2212572 - Relative Links still convert to absolute links
- 2226092 - FF3: Cannot always make list item into a hyperlink
- 2226228 - Saf:multiple list items not made from mult lines
- 2277647 - Support for focus and blur events
- 2285513 - Ordered list html output has an extra li element
- 2310520 - Translating the widget
- 2355070 - Keyboard shortcut for Font Size isnot working.
- 2412129 - Removing link deactivates toolbar
- 2412770 - RTE color highligh whole paragraph
- 2417798 - cleanHTML() removes spaces around &
- 2447328 - Safari and Chrome inserts HTML at wrong position
- 2490558 - Unable to unapply formatting
- 2491229 - _cleanIncomingHTML replaces Cr+Lf with 2 BRs
- 2412129 - Removing link deactivates toolbar
Element (promoted from Beta to GA)
- Enhancements
- Added setter/getter fields to Attribute.
- get() now returns null for undefined attributes.
- added support for "change" event.
- Configured DOM attributes no longer store state in DOM unless configured to do so.
- Added destroy method.
Event
- Enhancements
- unsubscribeAll return value fixed.
Fonts
- Enhancements
- Added button element to rule adjusting font sizes for some form elements.
   Ticket #2359418
- Known Issue
- In IE8, font sizes defined via YUI Fonts CSS are user-scalable
 via IE8's zooming feature, but not via IE8's "View > Text Size."
Get
- Bug Fixes
- Fixed execution context for timeout listeners
Grids
- Enhancements
- Improved code formatting.Â
- Added clearing for #hd.Â
- Removed min-width from all doc[0-4] rules.Â
History Manager
- Enhancements
- Updated for IE8 support.Â
ImageCropper
- No changes
Image Loader
- No changes
JSON
- No changes
Layout Manager Â
- Enhancements
- 1940339 - Add resizing class to center unit whilst resizing
- 2481962 - Getting Started sample code
- Bug fixes
- 2144192 - !!!)double "_rendered" instead of "_unit" prop def
- 2481958 - Typos in Layout Manager API docs
- 2511189 - _rendered property found twice
Logger
- No changes
Menu
- Enhancements
- Added a "keylistener" configuration property that accepts an Object literalÂ
 representing the key(s) that can be used to trigger the MenuItem's "click"Â
 event. Possible attributes are shift (boolean), alt (boolean), ctrl (boolean)Â
 and keys (either an int or an array of ints representing keycodes).Â
- The "maxheight" configuration property now automatically propagates toÂ
 all submenus.
- Bug fixes
- Menus will no longer scroll unnecessarily when the "preventcontextoverlap"Â
 configuration property is set to true.
- Submenus containing content other than MenuItem instances will no longer hideÂ
 when the user mouses from the submenu's parent MenuItem to an element that is
 a child of the submenu's body node (<div class="bd">).
- Multiple ContenxtMenu instances can now be attached to the same elementÂ
 without the first ContextMenu instance preventing the display of the others.
PaginatorÂ
- Code trimming and restructure for better compression.
- Added support for numeric strings pag.set('totalRecords','100');
- Added support for "all" value of RowsPerPageDropdown.
Profiler Â
- No changes
Profiler Viewer (promoted from Beta to GA)
- Enhancements
- Minor changes to account for updates made in DataSource, DataTable,
  and Charts over the past few releases. No feature/function changes
  to ProfilerViewer.
Reset
- Enhancements
- Added new test for nesting ordered and unordered lists.
- Added new test for thead, tfoot, tbody.
- Added new test for optgroup and option.
- Added new test for nested em and strong.
- Added new test for nested blockquote.
- Added new test for nested blockquote.
- Added button to Reset and Base. Ticket #2359418.
- For button and various input types, added padding:1px; via Base so thatÂ
  Opera (9.63) will render using its standard form controls. Ticket #1985570.
- Known issue
- Can not reset the font-style and font-weight properties forÂ
  the option and optgroup elements on IE8 (as of build 18372, RC1).
Resize Â
- Bug fixes
   - 2172971 - Attribute "useShim" for Resize mislabeled
Selector (promoted from Beta to GA)
- Enhancements
- allow for root node with initial combinator (e.g. "query('> li', 'foo')
- updated for IE8 getAttribute('class')
Slider
- Enhancements
-Â Sliders with ticks no longer require YAHOO.util.Anim to be animated.
  Still need to set slider.animated = true, however.
-Â Added skin images to assets/skins/sam.
-Â Structure changes for better compression.
-Â Event cleanup, so slideStart and slideEnd fire consistently.
-Â DualSlider setMinValue and setMaxValue set respective Slider values in non-silent mode.
-Â Added SOURCE_KEY_EVENT as value for valueChangeSource.
-Â Moved SOURCE_* to statics, deprecated instance consts.
-Â Added key support for DualSlider.
-Â Slider recalcs the thumb center point if it is not yet set when an operation requires it
  (useful for Sliders with thumb div or image without declared or styled dimensions)
StyleSheet ( ** New **)
Tab View
- Enhancements
- allow cancelling of tab change from "beforeActiveTabChange"
- changed yui-hidden implementation to hide offscreen instead of display:none
- allow for "activeIndex" in constructor
- added selectTab and deselectTab methods
- Bug Fixes
- null "activeTab" when all tabs are removed
- fixed setters for "contentEl" and "labelEl"
- fire "remove" event when a tab is removed
Tree View
- Enhancements
- Added node highlighting/selection with single and multi-node selection and Â
 propagation up and down
- Improved focus functionality: property currentFocus, event focusChanged, methods
 _canHaveFocus and _removeFocus. The focus method has been improved so it can
 be safely called by the developer. If called on a Node in a collapsed branch, saidÂ
 branch will be expanded from the root so all unexpanded nodes will be rendered.
- buildTreeFromObject:Â type can also contain a reference to an actual object class
- buildTreeFromMarkup: improved parsing. It can read an HTML attribute called
 yuiConfig which can override any property read from the markup. It assembles
 an object literal which then passes to buildTreeFromObject.
- Event handling: the event listeners for UI events set in method render had been
 moved from anonymous inner functions to private methods, allowing for easy overriding:
 _onClickEvent, _onDblClickEvent, _onMouseOverEvent, _onMouseOutEventÂ
 and _onKeyDownEvent and helper function _getEventTargetTdEl
- Configuration properties, the first argument to a Node constructor will now go to either
 an actual Node property if it exists or to member Node.data otherwise, not to both.
- Methods getNodeByProperty and getNodesByProperty have been changed to look forÂ
 property values either as native properties or in Node.data.
- destroy method now destroys the content of the tree container not the container itself.
- classNames ygtvtable, ygtvrow and ygtvcell have been added to make it easier
 to identify elements in the generated HTML
- getNodeDefinition:Â fixed bug where original configuration would continue to be
 reported in its initial state (initially expanded nodes would always report expandedÂ
 even when later collapsed).
- refresh method was overriden in TextNode to refresh the node label.
- Node editor accepts a validator function which can convert the entered value and
 validate it, rejecting it by returning undefined (not false, which might be a valid value). Â
 Method saveEditorValue can prevent the pop up editor from closing by returning false.Â
 If validator returns undefined, saveEditorValue will return false.Â
- Properties href and target were moved from Node to TextNode, which is the lowest point
  in the hierarchy that uses these properties.
- Method getNodeDefinition was not serializing all properties for every node type.
- Added method setNodesProperty to globaly set a property on all nodes of a branch
 or the whole tree.
- JSON utility is now an optional dependency for TreeView when enhancing markup
 containing the yuiConfig attribute.
Uploader
- No changes
YAHOO Global
- Enhancements
- isArray and isFunction updated to use Object.prototype.toString.apply(o).
- Added Caja detection.
YUI Loader
- Enhancements
- Added stylesheet.
- Took selector, element, and profilerviewer out of beta.
- json is an optional dependency for treeview.
- Bug fixes
- Combo filtering fixed.
YUI Test
- No changes