|
|||||||
![]() |
|
|
Thread Tools |
|
#1
|
||||
|
||||
|
EDIT: Updated Dec. 3 for final release.
OK folks, Yes, we have been hard at work on 2.0 and, believe it or not, 2.0 docs. Here is your first official look at what's happening between 1.1 and 2.0, subject to change of course between now and final release. This list focuses mostly on API changes (not internal refactoring or bug fixes) and so should be pretty close to the change list for the first 2.0 alpha release when it comes out. Please note that the 2.0 Overview and 1.x to 2.0 Migration Guide are in progress, but are not yet available and are now available . This change log is meant right now merely as a rough guide to what is changing so that those planning on using 2.0 soon can start determining the impact to any existing code.-Brian //=========================================
// Ext JS Release Notes
//=========================================
// Release Date: December 3, 2007
// Current Version: 2.0.0 (rev 1500)
// Previous Version: 1.1.1 (rev 876)
//=========================================
Added files
=============================================
Since most of these files represent new
classes, see the 2.0 API documentation and
Overview Guide for complete details on these.
http://extjs.com/learn/Ext_2_Overview
=============================================
src/data/
GroupingStore - A specialized store which provides grouping of data by a field
StoreMgr - Manages multiple stores and allows for easy retrieval of a store using the lookup method
src/dd/
DragTracker - New simple drag drop implementation
src/locale/
ext-lang-bg
ext-lang-ukr
ext-lang-sr
ext-lang-fa
src/state/
(These files are new -- split out from previous State.js -- but the classes have not changed)
CookiProvider
Provider
StateManager
src/widgets/
Action - Class for abstracting actions that apply to multiple components
Container - Base class for any component that contains components
CycleButton - SplitButton subclass that allows auto-cycling among options on click
DataView - New enhanced View implementation (replaces View and JsonView)
Panel - Basic application UI container
ProgressBar - Standard progress bar component
SplitButton - Renamed from MenuButton, no major changes (class is aliased for name compatibility)
Viewport - Utility container representing the browser viewport
Window - Panel subclass with window-specific functionality (floating, draggable, min/max/restore, etc.)
WindowManager - Manages z-order and interactions among multiple windows
src/widgets/form/
FieldSet (Component is not new but file is)
Hidden - Hidden field implementation
TimeField - Basic time picker field
src/widgets/grid/
CheckboxSelectionModel - Abstracted selection model for checkboxes
GridPanel - New version of Grid (replaces GridView2)
GroupingView - GridPanel view for row grouping
RowNumberer - GridPanel plugin to provide row numbering
src/widgets/layout/
AbsoluteLayout - Absolute XY positioning of contained items
AccordionLayout - Multiple stacked, collapsible panels visible one at a time
AnchorLayout - Supports anchoring of components to container dimensions
BorderLayout - Multiple nested regions/panels with split bar and collapse/expand support
CardLayout - Multiple panels with only one visible at a time (for wizards, tabs, etc.)
ColumnLayout - For column-based, variable-height content
ContainerLayout - Basic foundation class for all layouts
FitLayout - Fit a single item to fill its container
FormLayout - Utility layout specific to handling form fields
TableLayout - Uses an HTML table to provide the layout structure
src/widgets/tree/
TreeEventModel - Abstracted event model implementation for tree
resources/css/
borders.css
dialog.css
panel.css
progress.css
window.css
Backwards-Compatible API Changes
=============================================
src/adapter/
jquery-bridge
prototype-bridge
yui-bridge
- Added constrainTo function
src/core/
DomQuery
- Added support for new "any" pseudo
Element
- Added getOffsetsTo function (replaces previous private method calcOffsetsTo)
- Added getStyleSize function
- Added getTextWidth function
- Added hover function for automatic mouseover and mouseout handling
- Added replaceWith function
- Added isFlyweight property
- Renamed getUpdateManager function to getUpdater (aliased for backwards-compatibility)
Ext
- Added getDoc function (shorthand for Ext.get(document))
- Added getBody function (shorthand for Ext.get(document.body))
- Added value function (shorthand for testing empty and applying a default to a value)
- Added isAir property (test to check for Adobe AIR runtime environment)
- Added isIE6 property (test to differentiate from isIE and isIE7)
- Added removeNode (generic DOM node removal)
- Added String.prototype.trim function to trim whitespace
- Changed Array.prototype.remove to return a copy of the modified array (previously did not return a value)
Template
- Changed Template.from to accept a new config argument
UpdateManager
- Renamed UpdateManager class to Updater (aliased for backwards-compatibility)
src/data/
Record
- Changed commit and reject functions to accept a new optional "silent" argument which allows you to skip notification of the owning store of the change
- Added getChanges function that returns all records which have been modified since last commit/reject
SimpleStore
- Added expandData config to support one-dimensional array data
- Added Store.loadData override to implement expandData logic
Store
- Added url, autoLoad and pruneModifiedRecords configs
- Added addSorted function
- Added find and findBy functions
- Added isFiltered function
- Added destroy function
- Added optional storeId config
- Changed filter and query functions to accept a new optional "caseSensitive" argument
Tree
- Added remove function
src/util/
Date
- Added support for new formats:
N (ISO-8601 day of week)
o (ISO-8601 year number)
P (difference to GMT with : separator)
c (ISO-8601 date)
U (Seconds since Unix epoch)
u (milliseconds w/ leading zeroes)
- Added between, getShortMonthName, getShortDayName and getMonthNumber functions
Format
- Added defaultValue function
- Added fileSize format (xxx bytes, xxx KB, xxx MB)
- Added stripScripts function
MixedCollection
- Changed remove, removeAt and removeKey to return the removed item or false of no item matched (previously did not return a value)
- Changed filter function to accept new optional "anyMatch" and "caseSensitive" arguments
- Added findIndex and findIndexBy functions
Observable
- Added suspendEvents and resumeEvents functions
- Added (experimental) getMethodEvent, beforeMethod, afterMethod and removeMethodListener functions
src/widgets/
BoxComponent
- Added setWidth and setHeight functions
Button
- Changed Button class extensively to extend Ext.Component
- Added menu support via new menu config
- Added menu functions showMenu, hideMenu and hasVisibleMenu
- Added events menushow, menuhide, menutriggerover and menutriggerout
- Added toggle support via new config toggleGroup
- Added setIconClass function
Component
- Added plugin support via the plugins config
- Added autoShow config to automatically display the component after render
- Added ctCls config to provide an optional CSS class applied to the component's container
- Added addClass and removeClass functions
- Added XType methods getXType, isXType, getXTypes
- Added events beforestaterestore, staterestore, beforestatesave and statesave
- Added getItemId method
- Added optional delay argument to focus method
Container
- New functions find, findBy, findById, findByType to retrieve child components
LoadMask
- Added show and hide functions
MenuButton
- Renamed MenuButton class to SplitButton (aliased for backwards-compatibility)
MessageBox
- Added icon support via new icon config and setIcon function
- Added icon CSS class constant properties
- Changed getDialog to accept a new optional "titleText" argument
- Changed wait function to accept a new optional "config" argument
- Changed show function to accept a new optional "waitConfig" argument
- Added Ext.MessageBox.CANCEL button config
PagingToolbar
- Added paramNames config to allow custom paging parameter names for the load call
Toolbar
- Changed to extend Ext.BoxComponent (previously had no base class)
src/widgets/form/
BasicForm
- Added getEl method to return the form element
Combo
- Added lazyInit config to init the combo's store on first focus
HtmlEditor
- Added getEditorBody function
- Fix to allow multiple HtmlEditor components per page
TextArea
- Added configs for growAppend, growPad and enterIsSpecial
src/widgets/grid/
ColumnModel
- Added event configchange
- Added setConfig function
RowSelectionModel
- Added hasNext and hasPrevious functions
- Added each function
src/widgets/menu/
BaseItem
- Added setHandler function
Item
- Added setIconClass function
Menu
- Added defaults config to support default config values for each item added
MenuMgr
- Added getCheckedItem and setCheckedItem functions
src/widgets/tree/
TreeEditor
- Constructor now supports deferred rendering correctly
- Added initEditor function to allow deferred initialization
TreeLoader
- Added support for url config (equivalent to existing dataUrl config)
TreeNode
- Added beginUpdate and endUpdate functions to defer UI updates
TreeNodeUI
- Added destroy function
*******************************************************
| |
| All changes below are breaking changes! |
| Please see the 2.0 Migration Guide for |
| information about upgrading from 1.x: |
| http://extjs.com/learn/Ext_1_to_2_Migration_Guide |
| |
*******************************************************
Breaking API Changes
=============================================
src/core/
Element
- Renamed getNextSibling function to next and added an optional selector argument
- Renamed getPreviousSibling function to prev and added an optional selector argument
EventManager
- Removed previously-deprecated wrap function
src/widgets/
MessageBox
- Changed getDialog to return an Ext.Window instead of a BasicDialog
- Changed progress and updateProgress argument list -- moved second arg into third position and added a new arg in second position based on the progress bar's new ability to display text inside the bar itself as the logical default.
TabPanel
- Changed to extend Ext.Panel instead of Observable
- Major refactoring to support Component API and new tab strip functionality
QuickTips
- Changed "width" tag attribute to "qwidth" to avoid browser attribute conflicts
src/widgets/form/
Field
- Removed applyTo function (use base render function instead)
Form
- Converted Ext.form.Form to Ext.form.FormPanel (extends Panel instead of BasicForm)
- Removed functions column, fieldset, container, start and end
Layout
- Replaced Ext.form.Layout with Ext.layout.FormLayout
- Changed Fieldset to extend FormLayout instead of form.Layout
src/widgets/grid/
EditorGrid
- Changed EditorGrid to extend GridPanel instead of Grid (and renamed to EditorGridPanel)
GridView
- Major refactoring and API changes
- Removed support for column locking for performance reasons
- Added row grouping and summary functionality
src/widgets/tree/
TreePanel
- Changed TreePanel to extend Panel instead of Ext.data.Tree
- Constructor signature changed from (el, config) to just (config) - el is no longer required under the new 2.0 component model
- Added new events: append, remove, move, insert, beforeappend, beforeremove, beforemove and beforeinsert
- Renamed beforeexpand event to beforeexpandnode
- Renamed beforecollapse event to beforecollapsenode
- Renamed expand event to expandnode
- Renamed collapse event to collapsenode
- Added root property (root node of the TreePanel)
- Added getRootNode and setRootNode functions
- Added getNodeById function
Deprecated (moved to legacy folder)
=====================================================
Most of these classes have been deprecated
because of superseding classes introduced in
2.0. See the Migration Guide for complete details.
=====================================================
src/legacy/
AbstractGridView
BasicDialog
GridView2
JsonView
MasterTemplate
View
src/legacy/layout/
BasicLayoutRegion
BorderLayout
BorderLayoutRegions
ContentPanels
LayoutManager
LayoutRegion
LayoutStateManager
ReaderLayout
SplitLayoutRegion
resources/legacy/
basic-dialog.css
grid.css
Deleted
=====================================================
src/state/State.js - Classes have been split out to CookieProvider.js, Provider.js and StateManager.js
src/widgets/form/Layout.js - This became the new FormLayout.js
src/widgets/grid/Grid.js - This became GridPanel.js
resources/css/xtheme-aero.css - Aero is now the default theme in Ext, so the separate CSS is not needed
resources/css/xtheme-vista.css - No longer supported
Last edited by brian.moeskau; 12-04-2007 at 12:02 AM.. Reason: code tags and linked ext 2.0 docs |
|
#2
|
|||
|
|||
![]()
__________________
Founder of the Path of Exticism |
|
#3
|
||||
|
||||
|
great job brian thanks for the changelog!
![]()
__________________
I'm part of the Ext Community ![]() Maintaining: Translations and some Examples Developing on: ExtJS Python Builder / Gozerbot Places: Ido.nl.eu.org / My ExtSamples / Trbs on Wiki / IRC |
|
#4
|
||||
|
||||
|
Thanks brian!!
boy, i'm not even done w/ building my apps with ext 1.1 ![]() Any idea on how long ext 1.x will be supported?
__________________
Get 42% off by using coupon code n2442 valid until (11/24/09) -> [Book] - Ext JS In Action My Blog || Ext JS screencasts || ext-doc || twitter My free extensions/plugins: Progressbar inside paging toolbar || Tab panel scroller menu || Window drawers || Icon Manager Grid view custom 'view' filter || PanelHeaderToolbar JavaScript Magazine August article now available. |
|
#5
|
||||
|
||||
|
I believe I just read yesterday (although I can no longer find the post) that they plan on supporting the last 2 major production versions simultaneously. So Ext 1.x would be supported until Ext 3.x was released.
Cheers, JC |
|
#6
|
||||
|
||||
|
JC is correct. That policy is spelled out in our support agreement terms.
|
|
#7
|
||||
|
||||
|
Out of curiosity, why are you dropping the Vista Theme?
|
|
#8
|
||||
|
||||
|
Themes require a lot of maintenance from release to release, so we decided to simplify the core down to 2 (the "original" Ext theme is also gone, replaced by aero as the default). Our plans are to introduce an official community themes site soon, and anyone who would like to port Vista and add 2.0 support for it would be welcome to do so.
|
|
#9
|
||||
|
||||
|
any change for a helper tool for themes like the build-ext-yourself tool for customized ext-all.js builds ?
__________________
I'm part of the Ext Community ![]() Maintaining: Translations and some Examples Developing on: ExtJS Python Builder / Gozerbot Places: Ido.nl.eu.org / My ExtSamples / Trbs on Wiki / IRC |
|
#10
|
||||
|
||||
|
I assume you mean something to build a custom ext-all.css file? Nothing is planned as there's not much return on effort for that since the CSS for everything is already pretty small.
|
![]() |
| Thread Tools | |
|
|