3.0.1的更改还不少:
Release Notes for Ext 3.0.1
Release Date: Aug 20, 2009
Current Version: 3.0.1 (rev 5073)
Previous Version: 3.0.0 (rev 4750)
Changes
- Ext.Button
- Since we're reassigning the id of the element, we need to update the cache. If we don't and enableListenerCollection is true, it will remove the listeners on the button if it is hidden.
- Add a little more explanation about the clickEvent option.
- Update clickEvent docs.
- Ext.ComponentMgr
- Document Ext.create as shorthand for Ext.ComponentMgr.create
- Ext.Component
- Add note to @cfg itemCls that it is only relevant when the Component is being rendered by a FormLayout layout manager. Minor doc formatting correction.
- Ensure that we don't modify the state object unnecessarily. Also remove redundant config option in the Component method.
- Add a flag to ensure a component may only be destroyed once. This will fix a series of issues, but also fixes the one mentioned in the ticket.
- Some tabs crept in, convert tabs to spaces for consistency.
- Button inherits ownerCt documentation. Fix writing style of Component.ownerCt documentation. Class names must be capitalized to identify them as class names.
- Ext.Container
- Tidy up the code for initially adding items, since add() now handles arrays.
- Several modifications to fix issues with form layout: - Added the ability to hide and show field labels with the Field. - Added new template methods for when an item is added to and removed from a Container. - Added a method to allow layouts to clean up after themselves. - Form layouts can now be dynamic (moving fields to another form).
- Ensure the container is rendered before calling any remove operations on the layout.
- Refactored the Container class to use the onRender template method to prevent events firing too early.
- Containers will now layout even if they are hidden with visibility or hidemode (not display). Also corrected the name of getVisibilityEl (was missing an i).
- Modified how buffering layouts worked. Buffering now works much more effectively by reducing a number of unneeded layouts.
- Shorten the default bufferResize delay. Also fix up the condition for buffering items that have a layout.
- resizeEvent defaults to "resize", not "bodyresize"
- Ext.DataView
- Check the record is active in the store before doing an update.
- Clean up the destruction code for stores that are bound to multiple data sources.
- Ext.DatePicker
- Fix the display of the first set of days in the picker when the startDay is not 0.
- Remove unused local variable in @method setValue.
- Ensure that the minValue and maxValue for dates in the date picker are not modified, instead make a copy where appropriate.
- Ext.MessageBox
- Allow setIcon to be called before the MessageBox is first shown. Also fix an issue where MessageBox width is calculated differently depending on the previous content.
- Ext.PagingToolbar
- The refresh method overrides the private refresh button. It has been renamed to doRefresh so there is no conflict.
- Typo in handler.
- Allow the PagingToolbar information to be updated even when bound to an empty store.
- Remove console.log()
- Include a sample of data packet that might be used with paging.
- PagingToolbar can now be bound if the store is not an object, for example a store id can be passed.
- Ext.Panel
- Have onLayout method respect force to ensure that toolbars are laid out when force is passed.
- Elaborate contentEl docs
- When setting the iconCls, the first child of the header isn't guaranteed to be the icon. Make the check here more specific.
- Fix documentation closing tags for . Replace double quotes "" with single '' for consistency.
- Only add animation classes if we're actually animating. Helps resolve DOM reflow issues in FF.
- Ensure tools are created even if no appropriate header definition exists.
- Extra fixes here to intialize tools earlier.
- Additional fix, only initialize tools if they are required.
- Ensure that toolbars instances are destroyed if the panel has not yet been rendered.
- Fix for panel so that tools aren't created too early. A header will now be properly created when specifying tools (collapsible: true creates tool). It may be necessary to now explicitly set @cfg header:false in some situations (e.g. setting collapsible will now correctly create a header).
- Ext.ProgressBar
- When using wait, the initial value should start at 0, not 1 so that the display gets set correctly.
- Ext.TabPanel
- Correct documentation to hide TabPanel @cfg title since it is not applicable.
- initTab adds a dom reference to the container item. This will remove that reference when closing to prevent IE orphans.
- Ext.Toolbar
- Add documentation for Toolbar.TextItem @cfg text.
- Correct the order of events for using templated methods inside the container classes.
- Ensure that the overflow menu container is set so that the hierarchy chain is kept.
- Remove statusbar css since StatusBar css is included in separate file.
- Ext.Window
- Fix the links to @method setActive. Add to description that setActive is called by the WindowMgr. Minor trailing whitespace cleanup by IDE.
- Change window animations event to not be blocked, resolves the issue specified in the thread without having to modify the core code.
- Remove an extra resize event that is fired when the window is resized. Also deprecate the initHidden config, since hidden does exactly the same job.
- Ext.adapter.jquery-bridge
- jQuery animations don't work correctly when the callback and scope properties are passed to the animation.
- Ext.chart.Chart
- Only delete the tip function from the window if it exists.
- Ext.chart.FlashComponent
- Allow custom flashVars to be passed in when constructing a flash object.
- Allow custom flashParams to be passed in when constructing a flash object.
- To follow the Ext convention, the onRender method should not mutate the flashVars and flashParams config objects.
- Ext.core.CompositeElementLite-more
- Removed filter and fill methods, because they have been moved to core.
- Ext.core.CompositeElement
- Clarify and reformat the documentation for CompositeElement @method each to be consistent with and provide link to Ext.each. This revision includes minor whitespace cleanup by IDE.
- Ext.core.DomHelper-more
- Remove applyStyles from the -more file since it has been moved into the core.
- createDom needs to refer to Ext.DomHelper.applyStyles since it was moved into the core.
- Ext.core.Ext-more
- Version of Webkit that AIR contains does not support data URLS, use standard BLANK_IMAGE_URL instead
- Removed isDate from -more since it was moved to Ext Core.
- Due to various factors, the scroll bars on the operating system can differ (theme, font size). As such, a static value isn't always appropriate. This adds a method to dynamically calculate this.
- escapeRe now also correctly escapes the "-" character.
- Better description of scope parameter in Function methods
- Ext.core.Template-more
- Include documentation for @cfg disableFormats.
- Fix the documented example.
- Ext.data.ArrayReader
- Cache length check in loop.
- Ext.data.DataProxy
- RegExp in #buildUrl casted to wide a net looking for format.json|xml in url.
- Added 3 hook functions in Ext.data.Api for listening to proxy-events 'beforewrite', 'write' and 'exception'. Since all proxies are run through Ext.data.Api#prepare, this was easily done automatically. These hooks are great places for devs to implement user-feedback messages. Also had to move a small block of code (The call to Ext.data.Api#prepare) in DataProxy to *after* the call to super (Observable), which will cause no problems.
- Modified implementation of Ext.data.Api's new hook-functions on Animal's suggestions. Rather than instantiating a private Observable instance within the Api singleton, Animal suggested applying the Observable.prototype right to the Ext.data.DataProxy class itself, which is pretty neat. The hook functions remain on Ext.data.Api which I think is intuitive but could be moved to Ext.data.DataProxy if others desire, since that's where the proxy-events (write, beforewrite, exception) are relayed-to anyway.
- Relay events in data.DataProxy#constructor rather than data.Api#prepare since Api#prepare can be called multiple times (required tagging the proxy as "relayed" to not relay twice, which was ugly). Also remove the public function data.Api#onWrite, #onBeforeWrite, #onException. Devs will simply listen to the proxy-relayed events using data.DataProxy#addListener in the standard manner.
- Document the Observability of the Ext.data.DataProxy class. The beforewrite, write and exception events for all DataProxy instances are now relayed through the Ext.data.DataProxy class.
- Ext.data.DataReader
- Only buildExtractors in the constructor if recordType defined. A DataReader may be created with no configuration parameters at all if expected to be configured via metaData.
- Ext.data.DirectProxy
- Remove idProperty being written in DataWriter. This was unnecessary information since all info required by server to perform some CRUD action is in the request "root".
- Ext.data.HttpProxy
- Do not use meta.successProperty, meta.idProperty, etc, to access keys in response. Must use accessor methods instead, since user may have defined a complex response data-structure (eg: successProperty: "users.success").
- Reorganize docs for @cfg api and restful.
- Fixes #2. Implemented XmlWriter. Refactored XmlReader/JsonReader a bit to be more generalized. There's still a bit of ugliness between the old #readRecords vs #readResponse. XmlReader/JsonReader now return an instance of a simple Ext.data.Response class to return more generalized responses for all the proxies to deal with.
- References #2. added some TODOs
- Add some TODO to HttpProxy
- Ext.data.JsonReader
- Fix to ensure that the extractor methods for the reader are rebuilt when the metadata changes.
- Typo in exception "emtpy" along with corresponding message key.
- Include whitespace around ":" for class members. Reformat the example code to illustrate the more commonly used @cfg fields option. Include @cfg successProperty in the example code and include references and links to paging information.
- Fix behaviour when checking for undefined or empty root.
- References #2. Moved JsonReader#onMetaChange, XmlReader#onMetaChange -> DataReader#onMetaChange.
- Ext.data.JsonWriter
- Modify logic within @method createRecord within JsonWriter. Prior behavior was to delete the data within a field with same name as configured idProperty. Modify behavior to include that data with the request sent to the server provided that such a field exists within the record and it is not empty (that data would not be the autogenerated id associated with a phantom record by default).
- Ext.data.Record
- Clarify signature of generated constructor
- Ext.data.Store
- Check if the writer exists before setting the meta property in onMetaChange.
- Ensure that when a record is removed from the store, the reference to the store is destroyed.
- Fix documentation for Store @event beforewrite. The first parameter is Store, not Proxy.
- The writer on the store is now correctly notified when removeAll is called.
- Fixed an issue where the store could not restore records that were destroyed when the server returned success: false
- Fixes #67, documentation error in "write" event incorrectly suggested that write event fires with successProperty: false
- Ext.data.XmlWriter
- Removed unnecessary methods #create, #update, #destroy -- They were all doing the same thing. Moved the duplicate block into #write. Cleaned up the Reader/Writer code a bit, found some unused vars.
- References #2. XmlWriter now renders XML using Ext.XTemplate, which is neat. If users have a problem with the XML schema, they can provide their own template to XmlWriter constructor. Also made DataWriter#toHash a bit smarter dealing with meta.idProperty.
- Ext.dd.dnd_grid_to_grid
- Updated dnd grid to grid example. Minor code cleanup.
- Another pass to update the dnd grid to grid example. More cleanup.
- Ext.examples.examples
- Update Ext JS version to "3.0+"
- Fix the include order of grid filters.
- Ext.fileuploadfield.FileUploadField
- Add support for the file upload field to be able to disable/enable and also to be reset properly.
- Ext.fileuploadfield.css
- Reorganize location of FileUploadField class and supporting resources for more consistent and independent packaging.
- Ext.filter.ListFilter
- Supplement the documentation for the GridFilter extension and supporting classes. Remove @cfg fieldCfg from prototype.
- Ext.form
- Make form label styles more specific.
- Set the style on DisplayField so it lines up correctly.
- Fixed alignment of boxLabel and fieldLabel for check/radio items. Also fixed an issue with DisplayField not aligning correctly.
- Some internal refactoring of the form classes with regards to sizing, several fixes: 1) Correct adjustWidthAnchor/adjustHeightAnchor to return the appropriate value. 2) Allow labelAlign: 'top' labels to be hidden. 3) Ensure that components are rendered before the layout attempts to clean up certain items on the component.
- Ext.form.Action
- Minor formatting for direct form examples. Elaborate description for direct form examples, adding data packets to the documentation.
- Correct documentation typo.
- Ensure that the failureType is set correctly when success: false is returned by the server, regardless of whether or not errors are returned.
- Ext.form.BasicForm
- Fix typo in doc annotation so that BasicForm @property items is publicly documented.
- If a form is configured with @cfg standardSubmit == true, set the default action of the form provided that a url is set on the form and the action is not already set.
- Update documentation for BasicForm @cfg standardSubmit commensurate to changes within revision 4924.
- Ext.form.CheckboxGroup
- Override isDirty to ensure each box belonging to the group is checked.
- Ext.form.Combo
- Description for @cfg displayField, valueField, and store updated to not reference the prior 'value' and 'text' field designations.
- Related fix, we also need to set the list width size as well if the combo is hidden when a resize happens.
- Ensure that listEmptyText is shown consistently when the store is empty.
- Ext.form.FieldSet
- Correct visibility of titleCollapse config. Correct owning class of tabTip config (Any BoxComponent can be put in a TabPanel)
- Ext.form.Field
- Add documentation for @cfg preventMark. Clarify documentation for @method markInvalid that it does not the field invalid. Unhide documentation for @method processValue to support documentation for @method markInvalid. Clarify documentation for @method isValid, linking to other methods for clarification. Replace double quotes "" with single quotes '' for consistent treatment of strings.
- Ensure that the display of the msgTarget is set to a valid value by default (change from undefined to '').
- Only set the raw value if the field has been rendered.
- synchronised inline comments for initEvents() method with 2.x branch
- Ext.form.Form
- Remove unneeded block which checks isFieldWrap. Make checks more consistent for container. Also added a new private method to reduce code duplication.
- Modify the form class to catch bubbling events from children.
- Ext.form.HtmlEditor
- Use the getItemId methods instead of referring to the itemId.
- Use InsertHTML because it's supported in Safari and Chrome.
- Ext.form.RadioGroup
- When using setValueForItem in radio group, uncheck all other items in the group.
- Ext.form.TextArea
- Indicate that preventScrollbars is only relevant when grow is set to true.
- Ext.form.TextField
- Move the validation documentation to Textfield @method validateValue and correct the description for the validation procedure.
- Make validation more efficient if the validation event is set to blur. Prior behavior when setting validationEvent to 'blur' would cause an additional blur event handler to be attached, even though there was one already attached.
- Update the documentation format for @cfg validator() to be more consistent with the formatting of other methods.
- Ext.form.TriggerField
- Twin trigger fields now destroy the trigger correctly.
- The trigger incorrectly returns width when hidden. If the width returns 0 and the trigger is not hidden, assign a default.
- Since mimicBlur is called with a slight delay, add a check to ensure the combo field hasn't been destroyed before proceeding.
- Ensure that trigger dimensions are calculated correctly even when the hidden.
- Ext.form.vbox-form
- New form example which illustrates use of vbox layout to keep vertical space correctly allocated when Components are added and removed. Also illustrates advanced usage of Component plugins. Two new plugins used by the above example added to the UX directory. FieldReplicator and FieldLabeler.
- Configure Window correctly with appropriate commenting because the code will probably be copy/pasted.
- Ext.grid-filtering.grid-filter
- GridFilter extension sample php script modifications.
- Ext.grid.CheckboxSelectionModel
- Include whitespace around ":" for prototype members.
- Ext.grid.ColumnDD
- Fix for columnmove event firing twice. The event for columnmove is now fired in onColumnMove in the GridView, which means the event in ColumnDD is now redundant.
- Ext.grid.ColumnModel
- Change to the 2.x behavior where column's that do not specify an id will use the ordinal position of the column to generate the id, instead of autogenerating unique id's for every column.
- Slight tweak to rev 4872. Ensure the column id is always set. With rev 4872 it was possible to have an undefined id.
- Typo.
- Refs #136. Ensure ColumnModel @method isHidden() always returns Boolean
- Ensure that ColumnModel isFixed and isSortable methods return booleans as opposed to undefined.
- Ext.grid.Column
- Fix invalid type check.
- Correct the links for 'xtype' to point to Ext.grid.Column
- Correct a link and minor formatting within Ext.grid.Column @cfg sortable.
- Elaborate documentation for Ext.grid.Column @config hidden.
- Ext.grid.EditorGrid
- When finishing an edit, focus the cell that was being edited.
- Ext.grid.GridPanel
- Correct typo in the formatting of the example in the code comment.
- Adjust formatting of example to reduce width. Add links to @cfg enableColumnHide.
- The grid also needs to layout on bodyresize (for example, if the toolbar size has changed).
- Ext.grid.GridView
- Fixes an issue where the "stop" was being converted to a number AFTER being operated on. This needs to happen before.
- Update strings to use single '' instead of double "" for consistency.
- Fix typo for updating strings to use single '' instead of double "" for consistency.
- Correct format of @return annotation.
- Only show column resize cursor when enableResizeColumn is enabled.
- Missing scope in each() call.
- Add a slight delay when scrolling in Gecko to allow column headers to align properly.
- Fixed an issue that caused grid rows to not to be striped initially.
- Remove dom object references in order to prevent IE orpahned elements.
- Change activeHd to activeHdRef and no longer store a dom reference directly. Removes another IE orphan.
- Ext.grid.GroupingView
- Add @cfg groupMode configuration option to configure whether the group identifier for Ext.grid.GroupingView will be constructed using the default 'value' (use the raw value) or the prior behavior of 'display' (uses the value returned by the configured groupRenderer or renderer).
- Ext.grid.PropertyGrid
- The getValue definition for boolean field attempts to get the value of the Ext.Element, as opposed to the underlying DOM element.
- Ext.grid.RowSelectionModel
- Replace double "" with single ''. Include whitespace before ":" for prototype members.
- Fix global variables in onEditorKey method.
- Ext.grid.array-grid
- The stateful portion of the example was not complete. Include description in the html page that the example is using state management. Include small example how some minor styling might be applied to a grid.
- Ext.grid.edit-grid
- Fix grid example which was attempting to set the column model defaultSortable property after the column model was created. @cfg defaultSortable is not a writable property; it is only valid as a configuration option in 3.x. Also added some additional commentary within the code example. Added an example showing store load callback, to emphasize asynchronous nature and associated consequences.
- Ext.grid.grid-plugins
- Deleted the .x-grid-with-col-lines .x-grid3-row CSS class because it was causing a double border between grid rows. Also turned off columnLines on the grid-plugins example.
- Ext.grid.row-editor
- Fix a link to view one of the source files.
- Ext.gridfilters.menu
- Add GridFilter extension and example, refactored for Ext3.
- Ext.layout-browser.layout-browser
- Fix typo in displayed code
- Remove experimental code left in by accident in last commit.
- Ext.layout.AccordionLayout
- Class summary enhanced to mention that only Panels may be managed by AccordionLayout (Not any other classes of Component)
- Ext.layout.BorderLayout
- Ensure that the border layout class is added after the component is rendered so it can be applied to a wrapper element where appropriate.
- Ext.layout.BoxLayout
- Expand the class descriptions a bit. Correct the description of the padding config
- Ext.layout.ContainerLayout
- Fix link in @property fieldTpl.
- Ext.layout.FormLayout
- Allow certain styles within labelStyle to be set without overriding the defaults if they aren't present.
- Broaden check on form layout isValidParent.
- Fixed an issue where non form fields weren't being laid out correctly in the form.
- Ext.layout.TableLayout
- Layouts are now using a more standardized method to configure the items upon rendering.
- Ext.lib.session_db
- Modify examples to work without idProperty, which doesn't get sent in CRUD requests anymore.
- Ext.list.ListView
- Fix type check
- IE has issues when a total of 100% width is set in that it will overflow the total width. For the list view we will default to 99.
- Copy the column definitions so that we don't modify the original array this is passed.
- Missing parentheses in function call.
- Use Ext.num() instead of isDefined checks.
- Fixed an issue where columns in ListView were not sized correctly initially.
- Added an additional CSS class on the ListView wrap named .x-list-wrap. Added a CSS rule to set the overflow to auto to allow scrollbars to appear when the ListView overflows its container.
- Ext.locale.ext-lang-de
- Fix for displaying numbers in a numbercolumn, include the /i. Fix provided by pmatsumura (http://extjs.com/forum/member.php?u=77962)
- Ext.locale.multi-lang
- Renamed source to src in the locale examples
- Ext.menu.BaseItem
- Only cascade menu hiding up when the menus are floating.
- Ext.menu.Menu
- Move the beforeshow event to showAt inside the menu, since show either a) always call the superclass show method, b) calls showAt
- Add description for the events called when using @method show and showAt.
- When calling onClick on menu items, ensure that we're actually calling it on a menu item.
- Ext.menu.menus
- refs #53. Added ButtonGroup inside Menu to test initial layout of Components which are rendered hidden.
- Ext.state.Provider
- Correctly return empty arrays and objects when retrieved from state.
- Ext.statusbar.statusbar-demo
- Add statusbar to the jsb file. Add statusbar to the jsb2 file. Encapsulate the class under one folder (examples/ux/statusbar). Correction to css for vertical position of iconCls due to change from a div to a toolbar text item. Correction to the animated hide of the element since the statusElement changed from an Ext.Element to a toolbar item. Correction to initial iconCls not being removed when the icon was updated.
- Ext.tips.Tip
- Include xtypes for tooltip classes.
- Ext.tips.ToolTip
- When using delegation on tooltips, set the trigger element to the thing that actually fired the event.
- Reformat documented example code to be more narrow (otherwise stretches the div in the generated docs). Replaces double "" with single '' in strings for consistency. Use white space around ":" for class members.
- Ext.tree
- Fix positioning of tree checkboxes cross browser.
- Ext.tree.TreeLoader
- Correct example code.
- Ext.tree.TreeNodeUI
- Call the internal onDisableChange method instead of duplicating code.
- Ext.tree.TreeNode
- Add a beforedblclick event. Update the docs for node and tree panel.
- Fix event name
- Replace double "" with '' for strings. Correct typo of @event beforedblclick. Use whitespace around ":" consistently.
- Ext.tree.TreeSelectionModel
- Fixed an issue where hidden tree nodes are visited when using keyboard navigation. The behaviour now is that they are skipped over properly.
- Ext.tree.get-nodes
- refs #132. Fix the php backend so it does not throw an error when a directory does not exist. Fix the javascript file so it points to a directory which exists.
- Ext.tree.two-trees
- Expanding the trees overflowed visibly outside the bordered render container.
- Ext.trunk.ext
- Added ext.jsb2 to ext.jsb2
- Remove repetitive include of toolbar.css.
- Ext.util.CSS
- When interrogating rules in IE, elements are written in caps (eg DIV). This causes issues when retrieving the rules.
- Ext.util.Cookies
- Correct the documented type for @parameter name to be String instead of Object.
- Ext.util.Date
- when parsing, automatically calculate hour-of-day for 'a' & 'A' format specifiers when ante/post meridiem is present but time quantifier is absent
- call setDate(1) first on the cloned date to prevent problems resulting from date rollover when calling setMonth()
- Ext.util.KeyNav
- General overhaul of the key handling system to make events, especially in the editor grid, more consistent across browser and operating system. More detail here: http://extjs.com/playpen/evan/keyfixes.js Many thanks to Marc for digging into this!
- Added missing method from keyboard fixes.
- Missing ,
- Ext.util.MixedCollection
- Replace double quote "" with single quote ''.
- Consistently indent documented members. Add documentation for @cfg allowFunctions. Add links for @cfg allowFunctions. Document the private @method _sort (@private). Add defaults for @param of sort methods. Elaborate description for @param fn.
- Ext.util.Observable-more
- Add extra information and example code to the enableBubble method.
- Ext.util.XTemplate
- Reformat documentation for XTemplate. Clarify description for "tpl for".
- Allow single quotes to be used in code blocks specified in an XTemplate.
- Ext.ux.DataView-more
- Ensure that the highlight element belongs to the DataView dom.
- Ext.ux.FieldLabeler
- Fix setting labelWidth
- Ext.ux.Focus
- Updated Focus class to extend add instead of addItem.
- Ext.ux.GroupTabPanel
- When firing the deactivate event, pass the group as opposed to the active tab (which is undefined).
- Ext.ux.RowEditor
- 1) Only show the tooltip when the editor is within view. 2) When checking for an empty value, use isEmpty, since 0 will evaluate to false. 3) Only set editing to true once beforeedit has fired.
- Fix for RowEditor buttons incorrect vertical positioning in IE strict mode.
- Added a new cancel event on the editor to allow catching when the editor is closed but not saved.
- Ext.ux.RowExpander
- Fix grid rowExpander destroy, see: http://extjs.com/forum/showthread.php?t=73850
- Ext.ux.SelectBox
- Fix for SelectBox, initialize the list so that the row height can be calculated.
- Ext.ux.SpinnerField
- Make SpinnerField set the actionMode to wrap, this way we can remove redundant onShow/onHide methods