Ext 4 beta1 发布似乎仍不给力

  • Bug Fixes
    • Fixed an issue where menu items would not respect the cls property
    • Fixed improper variable in RemotingProvider
    • Fixed param logic in DirectProxy
    • Fixed an issue when reloading stores with different data sets
    • Added a finite check for a DrawComponent's bounding box
    • Pass the correct parameter to ServerProxy.afterRequest
    • Fix indexOf reference in ListMenu
    • When a date is chosen for a date filter, hide its parent menu
    • Add autocomplete="off" to Button template to prevent Firefox from remembering its disabled state between page reloads
    • Prevent NumericFilter's menu fields from getting focused when mousing over them
    • Fix form submission when using direct
    • Fixed an issue where phantom records were being duplicated in the store when returned from a remote data source
    • Fixed an issue when clearing a client data proxy
    • Fixed Model dependencies
    • Removed redundant requires in Component
    • Fix to make sure initExtCss always executes after Ext.supports.init
    • Fix an issues where the expander icons are hidden when lines: false is used
    • Ensure that the grid doesn't trigger a sort on the store when it renders
    • Fix setValue method and initial value config on HtmlEditor
    • Fixed recursive cloning of a non "plain" object (the constructor of which is !== Object)
    • Ensure a layout isn't triggered if the container is destroying
    • Fixed the styling of forms in a toolbar
    • Fixed Window restore issue
    • Fixed Grid dependencies
    • Fix Accordion layout when initially layed out with no child items
    • Updating $font-size dynamic variable's to use ceil to fix sub-pixel (ex: 10.4px) font-sizes
    • Fixed multiple issues with rotated labels on category axis
    • Fix TabPanel dependencies
    • Fix typo in alternateClassName definitions
    • If the panel has a re-expander, make sure the title is set when setTitle is called
    • Fix an issue where panels would not be collapsed initially when not in a container
    • Allow the combo store to be bound using a single flat array
    • Fix autoCreated Store setup in StoreMgr
    • Fix unreachable code in Ext.getDom
    • Properly clear managedListeners array in Observable
    • Fix problem with the animate config option replacing the animate method
    • Fixed grid scroll options 'horizontal' and 'none'
    • Fix problem with autoHeighting TabPanels by their child items
    • Fix menu box overflow handler on IE
    • Fixed stacked bar chart axis calculation issue
    • Fix scaling re-calculation issue for Bar, Line, Scatter series
    • Fire change event when ComboBox value is changed
    • Update alignment of ComboBox dropdown when its content changes, so it can flip from below to above or vice versa as the user types
    • Clear selection in ComboBox.BoundList if it no longer matches the value in the field, so that the old value can be re-selected
    • Fix bug with ComboBox where the value in the field would be blanked out while the user was typing with typeAhead:true
    • Fix ComboBox scrolling selected item into view when list is expanded
    • Set ComboBox selection in list when it is first created, if the ComboBox has an initial 'value' config
    • Fix Scatter series shadow issue
    • Don't reinsert a node into the NodeStore if its new parent is not part of the NodeStore
    • Fixed issue with Element.destroy not being properly called resulting in memory problems for IE
    • Fixed Ext.require() not firing callbacks after a failure
    • Fixed Ext.Loader.getPath() not returning properly value for unknown namespace
    • Forced setting the Axis minimum and maximum values specified by the configuration
    • Fixed cropped window titles in various browsers
    • Firefox fix for getNextId method in WebStorageProxy
    • Fixed an issue with the id not being sent when calling load directly on the model
    • Fixed a bug in previousNode and nextNode. They were not being checked before walking up the hierarchy and therefore triggered a cousin to always be returned
    • Fixed discontinuous tree selection
    • Field component onLayout was being run while the field was hidden but not after, so trigger width was always calcualted as zero. Changed order so layout occurs after show
    • Fix reset method on sliders
    • Fix application of emptyText in IE when ComboBox value is set
    • Fix the setTitle text in windows with vertical headers
    • Make empty ComboBox list item hoverable/clickable in IE quirks mode
    • Fixes Sprite item Bounding Box offset in Opera
    • Fix "Member not found" error in IE by preventing native event object from getting passed and used across the specialkey buffered listener
    • Fix individual record update in Ext.grid.GroupingFeature
    • Surface has now the ability to add in instances of Sprite and configuration objects
    • Ensure datachanged event is fired when filtering the Store without sorters
    • Adjust alignment styles for checkboxes and radios to match Ext3
    • Fixed checkbox spacing + positioning in IE
    • Fixed a bug in DataView Draggable where items in the ghost dataview would not be correctly removed
    • Fix vertical clipping of CheckboxGroup columns without fixed widths in IE quirks mode
    • Fix bug with Radial Axis scaling
    • Fix an issue when retrieving the previous sibling of a component
    • Fix sorter issue with DirectProxy
    • Fix setReadOnly method in HtmlEditor
    • Fix issue with looking up a store by id
    • Fix problem hiding modal mask after modal window hide
    • Fix support for passing a dom element as a target to an animation
  • Enhancements
    • Locking GridPanel implemtented
    • Accessibility theme added
    • Numeric Axis majorTickSteps added to set the number of major ticks between a `maximum` and a `minimum` value
    • Implement the animate configuration option on TreePanel
    • Implement singleExpand on TreePanel
    • Store aggregation functions moved to the prototype
    • Implemented checked field in NodeInterface. Have renderer add a checkbox if a value other then null is set in checked
    • Implemented state support as a mixin
    • Added html to each tab in the history example to make it clearer which tab is currently activated
    • Refactored the GridFilters plugin UX as FiltersFeature, a Ext.grid.Feature subclass, and ported it to work with the new Ext4 grid architecture. Reworked the grid-filters example to match
    • Inject the TableView instance into each grid filter, even if it is an already instantiated Filter rather than a filter config object
    • Allow month picker items to wrap properly when inside components with white-space:nowrap like menus
    • Refactoring a Theming so it is easier to customize
    • Updated the themes example to include more components
    • Added HTTP error info to the data operation when a request fails
    • Added load event in preference of read event on TreeStore
    • Grid headers now support grouping in which a header may be configured with a nested headers config object as well as a text/header string
    • The Ext 3.x class ActionColumn has been implemented in 4.x as ActionHeader
    • Cleaned all locale packages files
    • Introduced a new getAssociatedData method on Model to make it easier to aggregate model data
    • Added window state management
    • Added state support for border layout
    • Removed extraneous layout in Card.setActiveItem
    • Made Ext.override proxy to Ext.Base.override if the class was created with Ext.define
    • added Ext.Base.getName method
    • Add animateTarget to show/hide of floating Components (such as Windows and Tooltips, or anything else that floats
    • Allow the aggregation function to be called with the grouped parameter for consistency
    • Added total summary and group summary support for the grid
    • Fix combos example to make getInnerTpl work properly - now must be part of listConfig
    • Implemented Ext.form.File, a custom field widget for file uploads
    • Properly set class on field error quicktips
    • Added grid state support
    • Relay view and tree events to the TreePanel and TreeStore
    • Added a new LocalStorage state provider
    • Allow the model to be defined in the store prototype
    • Implemented Sutherland–Hodgman algorithm and use it for our render label axis implementation
    • Implemented animate config option
    • Styled invalid form qtips
    • Implemented Tree sorting
    • Add additional check in setStyle to ensure the dom node still exists before setting style on it
    • FocusManager enhancements to support Containers being able to subscribe for keyboard navigation
    • Implemented Ext.menu.DateMenu class
    • Implemented Ext.menu.ColorMenu class
    • Cleanup FocusManager's handling of component add/destroy when enabled
    • Convert TabBar to use FocusManager.subscribe instead of its own KeyNav
    • Grid Header needs to give visual indication when it is focused, which will show the menu trigger. This supports key navigation on grid headers and the ability to press down to open the header menu. The menu needs the trigger to be shown since it aligns itself to the trigger
    • Add deep copy operation to NodeInterface
    • Allow Ext.form.Basic#markInvalid to accept a Ext.data.Errors object
    • Added logic to reduce/increase the number of columns in the shadowCt to match the number of items if columns:'auto'
    • Updated MVC to work with dynamic loading
    • Implemented CheckBox selection for Trees
    • Prevent ComboBox from querying and expanding list on keyup if readOnly=true.
    • HeaderDropZone will intelligently move a Header within the same container rather than add/remove, which will perform better as well as prevent add/remove events from firing unnecessarily on the HeaderContainer
    • Trigger fields no longer reserve space for trigger when it is hidden due to readOnly=true
    • Number field value can no longer be modified by up/down arrows or mousewheel when readOnly=true
    • Implemented scrolling while dragging
    • Implemented Grid Editing support as a plugin
    • Clean html entities when setting text to an Surface Sprite
    • Enhanced htmlDecode and htmlEncode methods in Ext.String
    • Scatter and Line series now skip records with undefined yValues
    • ComboBox now automatically set queryMode='local' for auto-generated array stores
    • Ext.form.BaseField now rewraps the browser event object when firing the specialkey event, to prevent issues with buffered specialkey listeners
    • Extended the useNull option to apply to boolean/string types for data stores
    • Added deferredRender back to Card Layout (currently defaulted to true for TabPanel)
    • Updated FeedViewer to be smarter about how it opened many tabs at once
    • Modify Proxy so batching is configurable
    • Allow a store configuration to be passed to data bound objects
    • Add beginEdit/cancelEdit/endEdit functionality to Model
    • Added isValid to Model for a shortcut
    • Added autoSave support for Data writers
    • Ensure writer always passes the id if we have a non phantom
    • Made Tips constrain within their zIndexManager's client element. Change the constrain default to true
    • Button will now use an anchor element when configured with an href
    • Make Ext.form.Field.resetOriginalValue update the field's dirty state to match
    • Automatically convert objects into records with NodeInterface
    • Make ComboBox.getValue return the raw text field value if it does not match the display value from the last list selection or setValue call. Allows submitting values that do not appear in the store
    • Enhance the appendChild, removeChild, insertBefore code on the NodeInterface with suppressEvents capabilities. This optimizes the performance of the initial Tree rendering drastically
    • Implemented Grid RowEditing
    • Basic.updateRecord() will now use the actual field data for updating the Model fields rather than the submit-friendly string equivalent of the form field data. Certain string encodings are not compatible with Model field covert methods if they are not in the exact/proper format, e.g. Date fields
    • Remove Canvas support as it is not ready for release. SVG/VML still covers all desktop platforms.
  • API Changes
    • Moved methods slated for deprecation to the compat layer
    • Added a new ElementLoader class that is the superclass of ComponentLoader. The purpose of this class is to replace Ext.Updater. Updater is removed and the load method now points to the new loader
    • Move model creation into the model itself, essentially deprecates regModel
    • Time axis now works with Dates and not formatted strings
    • Move Ext.util.Date methods over to Ext.Date. Changed all references to Ext.Date in code, examples and tests
    • Add workaround to Ext.core.Element#getWidth to avoid Gecko bug where it returns an offsetWidth that rounds down the actual width due to subpixel font rendering. This logic was previously in a couple of components, this commit moves that up to Element.getWidth
    • Fix AbstractPanel.bodyCls to also support array values
    • Created an AbstractMixedCollection which MixedCollection extends from
    • Sortable refactored as a mixin
    • Refactored Sorting on MixedCollection, TreeStore, and TreePanel to use the new Sortable mixin
    • Absolute Layout will now always use setItemSize even if an anchor property isn't specified
    • Ensure the page parameter gets sent on remote data loading
    • Remove any trace of applyTo throughout the framework
    • Updating the BoundList selection on setValue for ComboBox is now the default behavior
    • Selection models are now consistent: Moved grid/CellSelectionModel.js to selection/CellModel.js, grid/RowSelectionModel.js to selection/RowModel.js, and grid/CheckBoxSelectionModel to selection/CheckBoxModel.js. Namespace moved to Ext.selection as well
    • Set AjaxProxy as the default proxy
    • Normalize store aliases to be store.name. Added the ability to specify a store configuration when creating a data bound class. Note that this requires all of the stores to be looked up using StoreMgr.lookup so that we can determine whether we have received an id, a config or an instance
    • Enhance DataView UI event handling
    • Remove dependency of CellEditing on CellSelectionModel
  • Compatibility Changes
    • Implemented compat layer for PagingToolbar and MemoryProxy
    • Significant update to AbstractStore compat layer to handle different store/proxy/reader config setups
    • Updates to compat layer for AbstractStore and MemoryProxy to support filtering correctly
    • Aliased row[de]select to [de]select
    • Tweaked message formatting in compat layer for deprecating events
    • The bodyStyle config types from 3.x are all now fully supported on Panel
    • Compat code was using Array.indexOf, which did not agree with IE6. Switched to use Ext.Array.indexOf
    • Alias Panel.bodyCssClass config to bodyCls
    • Added Slider compat override to convert the SliderTip plugin to tipText config
  • Documentation Changes
    • Updated Ext.Date
    • Fix the link to Ext Direct specification
    • Correct spelling of 'resizable' and not 'resizeable'
    • Updated Controller
    • Updated Advanced DataView
    • Update Ext.Window
    • Added ActionHeader
    • Added Ext.Base.override
    • Updated AbstractDataView
    • Updated Draw.Component
    • Fix ComboBox docs error
  • Known Issues
    • Various styling fixes are ongoing
    • Buttons are not part of the focusable items in a form
    • Shadows to be implemented in the next release
    • Tree Filtering and Editing to be implemented in the next release
    • Performance and memory optimizations to be implemented in the next release
    • Cleanup of API naming conventions to be implemented in the next release
    • IE9 is not detected as supporting CSS3BorderRadius, which it only does in strict mode.
这些我不详述了,当然在一些功能上有不错的表现,但是我比较关心的动态加载。。。。在他们的例子里 依旧是加载了整个的ext-all。。。这个比较蛋疼

感觉上是通过设置config来解决的,但是到目前为止还没折腾出来,似乎可能还是要等到release版本出来 

看样子还是要等一段时间 不过也可以先做起来 看以后那个boot.js 怎么改。

 

 比如在bootjs那里 加载的方式很不错 虽然加载的内容比较大:

  document.write('<script type="text/javascript" src="' + path + 'ext-all' + ((isDevelopment) ? '-debug' : '') + '.js"></script>'); 

  在对 isDevelopment的判断上下了一番功夫,如果是本地访问则返回debug,这个不错,如果是远程访问则返回压缩过地。

 当然 load了all的js文件经过gzip压缩依旧有200多k 这个太大,如果是debug没压缩的达到了2m 不知道ext的开发人员是怎么考虑的

 在具体的js那里已经准备好动态加载了:Ext.require 这个就是

而且对原型的扩展得到了大大的增强,可能ext太在乎面向对象的设计了,导致现在非常大。

不过  Ext.define 这个实在太帅了,这个的出现实在是一个飞跃,可惜如果不解决文件过大的问题,这些仅仅只能看而不能用。

ext4 是不象3那样再支持jq了,原来的adpt都没了,并且他们的开发人员也明确表示没必要再用jq了,估计他们快被jq折腾死了,现在挺牛a和c之间了。

 

我不知道博客园编辑是怎么考虑问题的,估计原来是做广告出身的并非技术人员,嘿嘿。 

 

 

 

 

 

posted @ 2011-03-31 10:01  neverlost  Views(2550)  Comments(7Edit  收藏  举报