PDA

View Full Version : Changes from Alpha 3 R4 to Beta 1



dfenwick
1 Apr 2007, 10:26 PM
Here's a list I compiled. It includes only source changes and does not include the global licensing changes made, and also does not include minor bug fixes. These are my own notes and are not affiliated with the Ext team. If a file isn't listed here, there were either very minor changes or no changes at all:

core/Element.js
- removeClass() now uses regular expression caching

core/EventManager.js
- initDocReady() tests only for "complete" as the readyState and not "complete" and "loaded"

experimental/ext-lang-en.js
- Addition of new prototypes for static text in controls. Probably readying for complete internationalization

util/Date.js
- Bug fix for a problem with dates being greater than the 28th of a month

util/Observable.js
- removeListener() bug fix for possibly removing the wrong listener when that listener is firing

widgets/Button.js
- Defaults to qtip tooltip support now

widgets/Editor.js
- completeEdit() bug fix for firing a beforecomplete event if there was no change to the data

widgets/MessageBox.js
- handleHide() bug fix to remove any existing timer on the dialog if the dialog was programmatically hidden
- Changed the automatic handling of hitting ESC to do some sanity checks
- show() bug fix to set the dialog hidden if it's already shown and then process the rest of the functionality. Presumably this was to render the dialog while hidden to reduce the onscreen draw
- show() bug fix to set the z-index so that the cursor shows in FF
- Added a wait() function to produce a wait-style dialog

widgets/TabPanel.js
- If disableTooltips is enabled it no longer puts the title="{text}" into the template for the tabs

widgets/Toolbar.js
- Added a new type of element defined by setting it to " ", which adds a spacer element to the toolbar. Same usage as adding a separator

widgets/View.js
- clearSelections() checks that there is at least 1 item selected before clearing selections

widgets/form/Combo.js
- Added a function clearValue() to clear the value in a combobox
- restrictHeight() bug fix for alignment
- onKeyUp bug fix in case the box is editable

widgets/form/Field.js
- Added function getName() to return either the name of the dom element, the hiddenName, or '' depending on the state of the field
- Added function reset() to reset the field value to its original value
- getValue() now does some sanity checks on the value prior to returning it

widgets/form/Form.js
- Completely new Form class. Presumably it's in development. It's currently undocumented, but it looks promising

widgets/form/NumberField.js
- validateValue() sanity checks for NaN instead of a regular expression now
- keyPress() adds an additional sanity check for the key being pressed equal to -1. Presumably this is some anomaly that one or more browsers sends

widgets/form/TextField.js
- initEvents() sanity check to make sure validationEvent is set prior to listening for a validationEvent
- Added function reset() to reset the original data on the field
- keyPress() adds an additional sanity check for the key being pressed equal to -1. Presumably this is some anomaly that one or more browsers sends
- validateValue() additional sanity check in case the value is empty in addition to its length being < 1

widgets/form/TriggerField.js
- Adds default 'disable' and 'enable' wrappers

widgets/grid/Grid.js
- Added 2 config variables: autoExpandMin and autoExpandMax. Still not in the new documentation. Specifies the minimum and maximum sizes for the autoExpandColumn
- getDragDropText rewritten to use format instead of replace

widgets/grid/GridView.js
- bufferRows() - Odd fix. Not sure why it uses the index the way it is. Presumably it's an ordering issue?
- destroy() - Rewritten to take into account the column menu, hmenu (?) and enableColumnMove
- Added drag and drop support with the drag name of 'GridDD'. Not sure if this is completely done yet.
- layout() optimization for multi-pass rendering. Now supports both expansion and shrinking of the autoExpandColumn (\:D/)

widgets/grid/RowSelectionModel.js
- Added drag and drop support for the rows

widgets/layout/BasicLayoutRegion.js
- resizeTo() no longer requires the panel to be the active panel before resizing. If no panel is detected, it will use the activePanel

widgets/layout/BorderLayout.js
- Added function batchAdd() that allows you to supply an array of regions and automatically add them to the borderlayout based on their config criteria. Need to test this.

widgets/layout/ContentPanels.js
- Added a 'resize' event that allows you to listen for when a content panel is resized. Sends the contentpanel, width, and height to the event handler
- adjustForComponents() now adjusts to the resize element if it is specified for the particular content panel

widgets/layout/LayoutRegion.js
- Added 3 new config options: hidden, hideWhenEmpty, and disableTabTips
- Regions default to visible now

widgets/layout/ReaderLayout.js
- Completely new class. Creates a new borderlayout with north/east/west/center regions attached to document.body. The center region also has a nestedlayout with north/center regions. You can pass in configurations for the all of the panels in the outer layout or you can use the defaults in the class, but the inner layout does not check for any config options. The nested layout is also added to the center region, but all of the other regions are left without panels including the inner layout regions. This is a mega convenience class.

widgets/layout/SplitLayoutRegion.js
- Added checks for H and V max sizes
- hide() sanity checks for the splitter

widgets/tree/TreeLoader.js
- New uiProviders variable to manage custom UI providers
- You can now pass a string for the uiProvider config variable for a particular tree node and it will turn that into a class. This enables remote JSON data returns to not violate the JSON data transfer spec

widgets/tree/TreeNode.js
- ensureVisible() extends the functionality to take care of expanding and scrolling things into view prior to calling the defined callback

widgets/tree/TreePanel.js
- Editor functionality removed? Probably moved to TreeEdit.js

jack.slocum
2 Apr 2007, 5:20 AM
Wow, very nice. Thank you for compiling this list, is is MUCH better than anything I would have came up with!

dfenwick
2 Apr 2007, 7:19 AM
Wow, very nice. Thank you for compiling this list, is is MUCH better than anything I would have came up with!

I suspect you would have written a GUI to handle it. :)

Anyway, I passed it through DiffZilla in Visual SlickEdit in directory mode. Feel free to use the data here on the website. Also, make absolutely sure everything seems right! I typically do these recursive directory diffs after you release something new so I know which parts of my code are going to break.

2 Apr 2007, 8:21 AM
My question:

how the hell did you come up w/ that list? /:) ~o) :-?

dfenwick
2 Apr 2007, 8:52 AM
My question:

how the hell did you come up w/ that list? /:) ~o) :-?

Recursive diff tools followed by a code review of those diffs. There really weren't as many changes as one might think. As a former development manager, I've had to do this on projects that dwarfed the size of Ext. Imagine 150 developers making active changes and having to review all of those source changes prior to release. That was me. :)

brian.moeskau
2 Apr 2007, 9:33 AM
I typically do these recursive directory diffs after you release something new so I know which parts of my code are going to break.

Don't you mean "so I know which parts of my code are going to get fixed and start working better." ?? :D

2 Apr 2007, 5:03 PM
Recursive diff tools followed by a code review of those diffs. There really weren't as many changes as one might think. As a former development manager, I've had to do this on projects that dwarfed the size of Ext. Imagine 150 developers making active changes and having to review all of those source changes prior to release. That was me. :)

awesome bro!! thanks. i cannot wait for the ext team to update the docs. :)