View Poll Results: Organize changes by:

Voters
215. You may not vote on this poll
  • Class

    113 52.56%
  • Type of Change (Breaking, New, Modified, ?)

    102 47.44%
Page 1 of 8 123 ... LastLast
Results 1 to 10 of 80

Thread: Upgrading to Ext 3

  1. #1
    Ext User
    Join Date
    Jul 2007
    Location
    Florida
    Posts
    9,996

    Default Upgrading to Ext 3

    Figured I would start a thread to summarize known issues, things to be aware of, etc. for Ext 3.

    Feel free to post to this thread any issues you're encountering and I'll update the first post to summarize them.


    Do not forget to replace all css resources including all images. Image sprites (like those for Button for example) have changed.


    Changes, Additions (roughly organized alphabetically)
    1. Ext
      • New:
        • iterate method - iterates an array or object calling a specified function
        • isNumber method - Returns true if the passed object is a number
        • isString method - Returns true if the passed object is a string.
        • isBoolean method - Returns true if the passed object is a boolean.
        • isDefined method - Returns true if the passed object is not undefined.


    2. Ext.lib.Ajax
      • Change: Ajax responses. The core adapter file in the Ext.lib.Ajax class has been changed in line with the W3 XMLHttpRequest specification. The response object which emulates the XHR now has getResponseHeader and getAllResponseHeaders as functions rather than Arrays to keep inline with the real XHR object. So, anyone who was currenltly examining headers using an Array (as inherited from YUI via yui-ext) will need to change to use a function.

    3. Ext.Component
      • New: A Component's Observable events may now be set to bubble up the Component-ownerCt axis.

    4. Ext.BoxComponent
      • getWidth() - added
      • getHeight() - added
      • getOuterSize() - added

    5. Ext.Button
      • Change:
        • Button is now a valid BoxComponent and can partake in layout management.
        • The markup for buttons is completely different and will require changes if you had implemented a custom theme.
      • New:
        • Rather than being limited to only positioning buttons in a buttons configuration, they can now be placed anywhere you please.
        • Buttons can now scale to any height or width and have advanced text positioning.
        • new configs:
          • scale: 'small',
          • iconAlign : 'left',
          • arrowAlign : 'right',

    6. Ext.Component
      • New:
        • afterrender event added
        • ref config - establish a named reference for an object an ancestor Container (mitigate dependency on 'id' and Ext.getCmp).
        • ptypes - ComponentMgr manages plugins similar to xtypes (use Ext.preg similar to Ext.reg)
        • nextSibling
        • previousSibling
        • getDomPositionEl


    7. Ext.ComponentMgr
      • New:
        • isRegistered method added - checks if an xtype has been registered


    8. Ext.Container
      • get() - added

    9. Ext.data.Reader
      • Deprecated: id deprecated in favor of propertyId and idIndex

    10. Ext.data.Store
      • Change:
        • baseParams may be overwritten by params of same name passed to load()
      • Deprecated:
        • id deprecated in favor of storeId
        • loadexception event deprecated in favor of catch all exception event
        • SimpleStore is now ArrayStore
      • New:
        • store xtypes
        • autoDestroy config to destroy the store when the component the store is bound to is destroyed
        • setBaseParam() - added

    11. Ext.Element
      • New:
        • mouseenter and mouseleave events added
      • Changed / Deprecated:
        • getAttributeNS() deprecated in favor of getAttribute()
        • autoHeight() - removed
        • alignTo() - "position" parameter changed
        • query() - "unique" parameter added
        • focus() - "defer" parameter added

    12. Ext.EventManager
      • within() - can now also check if the passed element is the target or related target

    13. Ext.form
      • New: When dynamically adding Containers anywhere in a FormPanel, any
        Fields are now found and added to the BasicForm's Collection. So BasicForm's setValues method
        will now work consistently with dynamically added Fields.
      • New: Ext.form.DisplayField
      • Change:
        • Ext.form.Radio/Checkbox - theme has changed see this thread.
        • Ext.form.TextField - The validation behavior for allowBlank has been altered, please see Ext.form.TextField for more information
        • Ext.form.FormPanel buttonAlign does not override the default center for Ext.Panel ('right')


    14. Ext.grid.GridPanel
      • columnLines config (boolean) - adds class ' x-grid-with-col-lines'
      • Altered/New:Ext.grid.Column
        • Instances of this class are used as columns passed to ColumnModel
        • xtypes can be used to specify a preconfigured renderer
        • renderer may be specified in additional ways
      • New:
        • Grid RowEditor Class
        • Grid like ListView and ListView.Sorter Classes
        • Grid BufferedView Class. Buffered GridView enhances performance by waiting to render rows until they are visible.
      • Removed:
        • GetSelections method. Access the SelectionModel.


    15. Layouts:
      • New:hbox and vbox
      • ToolbarLayout and MenuLayout (internally used by respective classes)
      • Layout managers now defer layout of hidden or collapsed child Components until such time as the child Component becomes visible or expanded. This avoids size calculation problems in hidden/collapsed Containers, and removes the need to use hideMode: 'offsets' (may even require that it be removed).

    16. Ext.Menu
      • Changed / Deprecated:
        • Toolbar and Menu are now proper Containers (formerly extended from BoxComponent).
        • Breaking change: MenuItem ids are no longer local to their menu but global component ids. This means that you can't use the same id in multiple menus. Suggested fix: Use unique ids or switch to using itemIds.
        • As well as Menu being a Container, this also means Menu can be a regular Component. Menu did not extend BoxComponent before, but was out on its own. Now, it can behave either as a regular floating Menu, or, if configured floating: false, it can be used as a usual inline Component of a Container.
        • DateItem and ColorItem have been removed, they are no longer needed, you can now put components as menu items.
        • autoWidth() - changed to autoSize()
      • New:
        • Menu Overflow. Whenever a menu gets so long that the items wont fit the viewable area, it provides the user with an easy UI to scroll the menu. This feature is turned on by default and can be disabled by the configuration option enableScrolling.


    17. Ext.MenuButton
      • Removed:Ext.MenuButton is removed (use SplitButton instead)

    18. Ext.StatusBar has been removed from the core library and will be added as Ext.ux.StatusBar by Ext 3.0 final.
    19. Ext.Toolbar
      • Toolbar and Menu are now proper Containers (formerly extended from BoxComponent).
      • New:Toolbar Overflow. A menu for items that dont fit the visible toolbar area will be created by default and can be disabled with the configuration option enableOverflow. Items in the menu react with the same handlers as the toolbar items.

    20. Ext.Tooltip
      • delegate option added so one Tooltip can handle multiple child elements of its target based on selection using the delegate config.
      • New:AnchorTips. Tooltips now support an anchor configuration which will allow you to bring attention to a particular element or component with a small callout arrow.

    21. Ext.util.Format
      • ellipsis() - "word" parameter added
      • focus() - "defer" parameter added
      • number() - added
      • numberRenderer() - added
      • plural() - added

    22. Ext.util.Observable
      • Ext.util.Observable.observeClass() - Class level observability

    23. ux's that worked prior to 3.x may need some tweaking (especially if the ux used private properties). ux's should be checked they are utilizing the latest preferred techniques and properties. More notes here.
    24. CSS. general updates, as well as refactoring to split css into visual and structural files to simplify theming.
    25. New:Charting (Chart, PieChart, CartesianChart, LineChart, BarChart - numeric, time, category axis)
    26. New:Ext.FlashComponent
    27. New:Direct (Direct, Ext.data.DirectStore, Ext.data.DirectProxy)
    28. New:Writer
    29. New:Ext.Spacer - xtype 'spacer' (for empty box component)
    30. New:ButtonGroup (xtype: 'buttongroup')
    31. New:GroupTabs
    32. Enhanced:Debug Console
    33. New:Ext.Error


    Changes to some example classes:
    Code:
    Class                        x(p)type          Deprecates
    Ext.ux.data.PagingMemoryProxy                  Ext.data.PagingMemoryProxy
    Ext.ux.form.FileUploadField  fileuploadfield   Ext.ux.FileUploadField
    Ext.ux.form.SelectBox        selectbox         Ext.ux.SelectBox
    Ext.ux.form.SpinnerField     spinnerfield      Ext.form.SpinnerField (remove xtype=spinner)
    Ext.ux.form.ItemSelector     itemselector      Ext.ux.ItemSelector
    Ext.ux.form.MultiSelect      multiselect       Ext.ux.Multiselect  
    Ext.ux.grid.CheckColumn      checkcolumn (p) 
    Ext.ux.grid.GroupSummary                       Ext.grid.GroupSummary
    Ext.ux.grid.HybridSummary                      Ext.grid.HybridSummary
    Ext.ux.grid.RowEditor        roweditor   (p)
    Ext.ux.grid.RowExpander      rowexpander (p)   Ext.grid.RowExpander
    Ext.ux.grid.TableGrid                          Ext.grid.TableGrid
    Ext.ux.GMapPanel             gmappanel
    Ext.ux.SliderTip
    Ext.ux.SlidingPager
    Ext.ux.Spinner               
    Ext.ux.Spotlight                               Ext.Spotlight
    Ext.ux.Statusbar                               Ext.Statusbar
    Ext.ux.TabCloseMenu          tabclosemenu (p)
    Ext.ux.tree.ColumnTree       columntree        Ext.tree.ColumnTree
    Ext.ux.tree.ColumnNodeUI                       Ext.tree.ColumnNodeUI
    Ext.ux.tree.XmlTreeLoader                      Ext.ux.XmlTreeLoader
    Changes to Resources
    • Ensure you have updated all the Ext-provided CSS with the new CSS from version 3.
    • Ensure you have updated all the Ext-provided images with the new images from version 3.



    Additional References
    1. http://extjs.com/blog/2009/06/03/ext...-and-enhanced/
    2. http://extjs.com/blog/2009/05/13/int...ng-ext-direct/
    3. http://extjs.com/blog/2009/05/04/ext...rc11-released/
    4. http://extjs.com/blog/2009/04/04/ext...beta-released/

  2. #2
    Sencha User aconran's Avatar
    Join Date
    Mar 2007
    Posts
    9,488

    Default

    [ADDED]

    Toolbar and Menu are now proper containers.

    Button is now a valid BoxComponent and can partake in layout management. The markup for buttons is completely different and will require changes if you had implemented a custom theme.

    Ext.StatusBar has been removed from the core library and will be added as ux/ by Ext 3.0 final.
    Aaron Conran
    @aconran

  3. #3
    Sencha User aconran's Avatar
    Join Date
    Mar 2007
    Posts
    9,488

    Default

    [ADDED]

    allowBlank changes for validation
    Aaron Conran
    @aconran

  4. #4
    Sencha User
    Join Date
    Nov 2008
    Posts
    114

    Default

    http://extjs.com/forum/showthread.ph...574#post318574

    Id like to understand what jamesc mean by custom layouts. Is
    column layout such a custom layout?

  5. #5
    Sencha User mschwartz's Avatar
    Join Date
    Nov 2008
    Location
    San Diego, Peoples' Republic of California
    Posts
    2,061

    Default

    [INCLUDED, POST LINKED]

    Many user extensions for 2.x do not work 100% right with 3.0 yet.

    If you're migrating from 2.x to 3.0, include ext-all-debug.js and don't be afraid to debug/step through the Ext library code - it's not that scary. Don't be afraid to debug through the extensions, either. My experience is that it's only a couple of lines of code wrong in any of the extensions that need to be fixed for 3.0 compatibility.

    Maintain a file with overrides that fix the problems in the pre-release 3.0 versions of Ext. Carefully comment each override in that file, why you added it, and the URL to the thread/post here discussing it.

  6. #6
    Ext User
    Join Date
    Jul 2007
    Location
    Florida
    Posts
    9,996

    Default

    Quote Originally Posted by tomlobato View Post
    http://extjs.com/forum/showthread.ph...574#post318574

    Id like to understand what jamesc mean by custom layouts. Is
    column layout such a custom layout?
    I think he meant layouts not part of the main Ext framework (something not included in the API docs). There's a few user examples about, etc., a couple are in the Layout Browser demo for example.

  7. #7
    Sencha User Animal's Avatar
    Join Date
    Mar 2007
    Location
    Bédoin/Nottingham
    Posts
    30,890

    Default

    [ADDED]

    Breaking change:

    Ajax responses.

    The response object which emulates the XHR now has getResponseHeader and getAllResponseHeaders as functions rather than Arrays to keep inline with the real XHR object.

  8. #8
    Sencha User Animal's Avatar
    Join Date
    Mar 2007
    Location
    Bédoin/Nottingham
    Posts
    30,890

    Default

    [ADDED]

    Enhancements:

    mouseenter and mouseleave events added.

    Tooltip delegate option added so one Tooltip can handle multiple child elements of its target based on selection using the delegate config.

    Class level observability.

  9. #9
    Sencha User Animal's Avatar
    Join Date
    Mar 2007
    Location
    Bédoin/Nottingham
    Posts
    30,890

    Default

    [ADDED]

    As well as menu being a Container, this also means it can be a regular Component.

    It did not extend BoxComponent before, but was out on its own.

    Now, it can behave either as a regular floating Menu, or, if configured floating: false, it can be used as a usual inline Component of a Container.

  10. #10
    Ext User
    Join Date
    Jul 2007
    Location
    Florida
    Posts
    9,996

    Default

    Just bumping for those subscribed to the thread as I've expanded the first post a bit. I did a quick sweep of what I had taken notes about. I'll probably try to reorganize the post a bit into something easier to read.

Page 1 of 8 123 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •