
Release Notes for Ext JS 3.2.0
Release Date: Mar 30, 2010
Current Version: 3.2.0 (rev 6415-171)
Previous Version: 3.1.0 (rev 5770-119)
New
UX and examples
- Added grid multi sort example
- Added ToolbarDroppable and ToolbarReorderer classes
- Added a plugin which enables animation of a DataView on store's datachanged event
- Added a reorderable Toolbar example
- Added an animated DataView example
- Added a droppable Toolbar example
- Added an animated DataView example with multi sort capability
- Added Themes Viewer. Also, new theme called Your Theme which is an exact duplicate of the Default (Blue Theme). Your Theme files are intended as a starting point to customize your own Ext JS Theme.
Changes
- Ext.Container
- Refactored createComponent in Container which now removes ownerCt reference from initialComponent as well as from the component itself.
- Force layout of non-layed out subcontainers without a numeric height/width for H/V Box layouts. Non-flexed/static sized subcontainers now supported.
- Fix default anchor issue for IE6 in strict mode.
- Small optimization to doLayout to cache both height and width.
- Ext.Component
- Component's focus delay is now stored as a focusTask which is canceled at destroy time.
- Allow enableBubble to default on Component, instead of Container. Also added a small change to component to allow listeners to be bound as a config when calling a superclass initComponent
- Ext.Panel
- Change panel's setIconClass to insert it's img before the span instead of the firstChild. Resolves an issue with IE wrapping the header if setIconClass is used without an iconCls being defined in the initialConfig.
- AfterEffect for panel now always attempts to remove the x-panel-animated class.
- Added a getFooterToolbar function to Ext.Panel
- Change getFrameHeight/getInnerHeight to directly measure the panel's body.
- Panel's header, footer, etc. deletion changed to null in case they are being put on the prototype.
- Collapsing a panel will now reset lastSize for all subcontainers.
- Made the forced resize check for a panel's toolbars more restrictive so autoWidth and width: 'auto' sizes are not forced.
- Ext.form.BasicForm/Ext.form.FormPanel
- A new flag 'submitEmptyText' has been added for the form submit action. If false, the emptyText value will not be sent when a form is submitted. This currently defaults to true to maintain compatibility with previous releases. The xml-form example now uses this flag for demonstration purposes.
- alignErrorIcon is now attached to a field's ownerCt afterlayout and expand events.
- TriggerFieldWidth now properly sized when readOnly is true.
- DatePicker and DateField updates to fix timezone/dst issues.
- Added documentation to some undocumented members of CheckboxGroup
- Added a CompositeField class which allows several form fields to be laid out onto the same row in a FormPanel. Also added an example
- Added a clearInvalidChildren convenience method to CompositeField.
- Added a fix for the FieldLabeler display in Opera.
- Modified the order in which form items get destroyed to be consistent with the usual Container structure.
- CheckboxGroup/RadioGroup will now apply setReadOnly to their child items.
- standardSubmit now honors the clientValidation option (false now bypasses the isValid() check).
- Apply a workaround to allow trackResetOnLoad to work properly with isDirty for CheckboxGroup and RadioGroup.
- Moved the update of the emptyText to immediately after the Ajax submission.
- Ext.form.ComboBox
- The Editor wrapping class will not call combo's assertValue on completeEdit. Combo's assertValue is now more specific on it's onSelect check (display AND this.value must be set).
- TriggerField's getWidth will now make sure the resizeEl (wrap) is sized before measuring width. This allows combo boxes to be measured properly for active layouts.
- Fix race condition with remove of collapseIf event and destroy.
- Fix var declaration error in initList.
- Ext.Window
- When a defaultButton is specified, it will no longer be focused if it is outside of the Window's container.
- Remove extraneous doLayout from Window handleResize as the setSize operation already passes down a layout event.
- Additional IE6 strict mode hacks added to BoxLayout and Window
- Extra advice on the Window's dd property, and how to hook into it.
- Ext.DataView
- Added a supporting method to DataView to enable plugins to provide customised transitions on datachanged
- Minor enhancement to allow records to be passed to getNode, which means now select/deselect can accept record objects.
- Ext.Slider
- Added multislider compatibility. Single slider API is preserved
- Updated the Slider field example to work with the new multi slider component structure
- Sliders with multiple thumbs now have the option for the thumbs to be constrained - e.g. they cannot cross over one another
- Renamed AbstractSlider to MultiSlider as these are now the same class. SingleSlider is now a special-case subclass of MultiSlider
- Added better intro doc text to the Slider classes
- Added Ext.slider.Tip into the framework instead of being a ux
- Added Ext.form.SliderField to the framework, removed from the ux folder
- Ext.grid.*
- ProcessEvent moved to GridView and called from GridPanel. This will allow the view to dynamically change during and event and still function properly.
- syncFocusEl will now test for isNaN in case an invalid row is passed.
- Changed the behavior of tab for a combo to collapse to fix an issue with forceSelection. It now only changes this behavior if forceSelection === true.
- Remove deprecated gidSeed property.
- Added beforerowsinserted and rowsinserted events for groupable rows in GroupingView.
- Added sanity checks to ensure the grid is available before unbinding events. Also added the ability to lock and unlock the selection model before the grid is rendered.
- Added a groupchange event to GroupingStore, fires whenever a groupBy call has successfully completed
- Small optimization to doLayout to cache both height and width.
- Added a fix to make GroupingStore more "extend" friendly, by checking this references as well.
- Due to changes in GridView, those items that show as columns need to set hideable: false
- Added a fix when using hideGroupedColumn and changing from not grouping to grouping mode.
- SelectionModel will now add/remove events to temporarily allow reselection while a refresh is in progress.
- CheckboxSelectionModel: Added a mouseHandled flag so if handleMouseDown method is used from another event, onMouseDown does not process the mousedown a second time.
- Ext.Editor
- Fix the behaviour for allowBlur to match the description in the docs. Changed the default value to true to maintain the current default behaviour (which is to have allowBlur: true).
- Ext.tree.TreePanel
- Treepanel's remove now verifies it's parentNode exists before executing a destroy function on it.
- Added a fix so that container events work correctly on the tree.
- Ext.layout.AutoLayout
- AutoLayout will now passthrough any layout operations to its child containers in a shallow fashion as opposed to a forced recursive manner.
- AutoLayout docs updated. AutoLayout will now monitorResize as a passthough to subcontainers.
- Ext.layout.ColumnLayout
- De-interleaving ColumnLayout. Change layout process to ensure all dom reads (getMargins) are performed together prior to all dom writes (setSize).
- Ext.layout.AnchorLayout
- De-interleaving AnchorLayout. Change layout process to ensure all dom reads (getMargins) are performed together prior to all dom writes (setSize).
- Ext.layout.BoxLayout
- Large refactoring of HBox layout, avoids multiple size and positioning updates. Extracted HBox's size calculations into a separate function for ease of testing and caching. Added unit test coverage for HBox layout provisions
- VBox layout brought into line with HBox layout. Both now inherit much more functionality shared from BoxLayout.
- HBox will no longer size components to a height of 0. This will allow proper re-measurement of components which were originally layed out in a hidden container when. CompositeField now passes onResize through to it's container.
- Check added to make sure positioning is not attempted if a position value is NaN.
- BoxLayout will no longer consider a collapsed panel as visible.
- BoxLayout innerCt measurements of zero height or width will now be passed through to setSize as undefined.
- Additional IE6 strict mode hacks added to BoxLayout and Window
- BoxLayouts will now only call setSize for elements tagged as dirty. Elements which measure to 0 will be changed to undefined for setSize to ignore.
- Ext.Element
- Added a fix so isElement now returns a boolean, as opposed to truthy or falsey values.
- Update getWidth to just get sizing for trigger and field.
- Elements without and id that are passed to Element.get are now no longer passed to getElementById for IE.
- Ext.util.Observable
- hasListener is now case insensitive, so it is consistent with the other methods.
- Added a fix for findListener when binding events of the same name with a different scope.
- Ext.Ajax
- Unload will now abort any outstanding XHR (Ajax) requests as these may cause problems with some browsers (IE).
- The base ajax adapter now keeps a has of it's opened connections which is now referenced at _unload to abort any pending connections.
- Ext.data.Store/Ext.data.GroupingStore
- Refactored createComponent in Container which now removes ownerCt reference from initialComponent as well as from the component itself.
- Force layout of non-layed out subcontainers without a numeric height/width for H/V Box layouts. Non-flexed/static sized subcontainers now supported.
- Store will not attempt a sort when no sortInfo has been defined.
- Create new object from options passed to Store load.
- Fix for remote sorting with a grouping store.
- Updated GroupingStore to use the new Ext.data.Store multisort functionality.
- Ext.data.*
- Added a new deep parameter to findChild and findChildBy on Ext.data.Node, to allow for searching all the way down the tree.
- Change onWrite methods to use the accessor for the root and success.
- Fix DirectProxy callback scope.
-
Styling corrections
- Fix minor typos in new documentation.
- Clarify documentation in the light of the new Ext.data.Types class.
- Correct mismatched embedded HMTL tags in documentation comments.
- Added new SliderField class, including a SliderField example.
- Images for bottom active tab on Accessibility theme were misnamed ('right' was left and vice versa).
- Fixed css typo for outline property
- Removed an old webkit-only style from the invalid form css
- Various cosmetic issues with Gray Theme and Accessibility Theme.
- Remove redundant rule applied to webkit trigger fields.
- General
- Changed variable name 'each' to 'eachItem' to avoid using reserved word.
- eol-default set to LF for js, xml, html, txt files. eol-style: LF set to all text type files.
- Fix unterminated statements.
- Fixed a reference in the examples json file
- Changed the Ext.data namespace to have a new single types class for referencing data types. There will be a small breaking change, when interrogating the type of a field, it will now return a type object.
- Fixed an issue when trying to manually mask the document body.
- Remove deprecated examples.jsb.
- Remove deprecated ext-core.jsb.
- Added a fix to normalize the erronous 1223 status code in IE.
- Document some of the useful properties of TaskRunner.
- Added extra intro text to some of the examples
- Fix incorrect return value in the advanced validation example.
- Update the default YUI CHART_URL to 2.8.0.
- Change the default layout to be AutoLayout from ContainerLayout.
- ColorAnim's doMethod will now default the end parameter to an array if undefined.
- Updated the onReady code to be more reliable, works much better when using frames.
- Animated hide/show methods now support a hideMode parameter.
- Date parser is no longer flags for a case insensitive regex.
- Menu: Correct clickHideDelay's default time.
- Updates to default number format for and phrases.
- Fixed issue with international formatting when not using the thousand's separator.
- Spelling and consistency changes to DDCore