**************************************************************************
* Version 2.x CHANGELOG *
**************************************************************************
1. - XControl renamed to BaseControl
- StateManagedItem renamed to BaseItem
- StateManagedItemCollection renamed to BaseItemCollection
*2. .AutoRender functionality has changed.
Need to determine if old functionality should be recreated or is no longer required?
All usages of .AutoRender should checked to determine if using in proper context.
3. Window .CloseAction "Close" has been renamed to "Destroy".
Example
// Old
// New
4. Panel .Padding property has been renamed to .BodyPadding.
Example
// Old
// New
The .Padding property is still available, although now renders as Padding around
the Component, instead of padding in the Body of the Component.
All previous instance of .Padding should be renamed to .BodyPadding.
5. Panel .Border type has been changed from a Boolean to a Int. To remove border, set to "0".
Example
// Old
// New
6. AccordionLayout .Animate property has been renamed to .AnimatePosition.
Example
// Old
// New
7. AfterRecordUpdatedEventArgs .NewValues has been renamed to .Values.
Example
// Old
protected void Store1_RecordUpdated(object sender, AfterRecordUpdatedEventArgs e)
{
var company = new
{
Name = e.NewValues["company"],
Price = e.NewValues["price"],
LastChange = e.NewValues["lastChange"]
};
}
//New
protected void Store1_RecordUpdated(object sender, AfterRecordUpdatedEventArgs e)
{
var company = new
{
Name = e.Values["company"],
Price = e.Values["price"],
LastChange = e.Values["lastChange"]
};
}
8. GridPanel .StripeRows has been moved to GridView.
Example
//Old
//New
9. GridPanel .TrackMouseOver has been moved to GridView and renamed to .TrackOver
Example
//Old
//New
Note
In according to ExtJS docs the default value is false. Now it's not. So, it needs to check it in the future.
Now is August'17.
10. GridPanel .AutoExpandColumn has been removed. To achieve the same effect use .Flex of Column.
Example
//Old
//New
11. RowSelectionModel .SingleSelect has been removed.
Now use the public property .Mode which is defined in AbstractSelectionModel. The possible values are Single (default), Simple and Multi.
RowSelectionModel and CheckboxSelectionModel inherit from AbstractSelectionModel.
The default value of .SingleSelect is false: so, the equivalent is Mode="Multi" which is not default and should be set up explicitly.
Example 1
//Old
//New
Example 2
//Old
//New
Example 3
//Old
//New
12. Column .ColumnID has been renamed to .ID
Now Column is a component and registered in ComponentMgr (http://www.sencha.com/forum/showthread.php?133562)
Example
//Old
//New
13. Column .Header has been replaced with .Text
The JavaScript config option .header can still work, but it's deprecated.
Example 1
//Old
//New
Example 2
//Old
Column c = new Column()
{
Header = "Company"
};
//New
Column c = new Column()
{
Text = "Company"
};
14.1 RecordField has been renamed to ModelField and must be defined in Model.
Reader .Fields has been removed.
Example
//Old
//New
14.2 Use Validations instead .AllowBlank property.
15. HttpProxy has been removed to AjaxProxy.
Example
//Old
//New
And there is no .Method
Use ActionMethods
Example
//Old
//New
16. If Store .Proxy is specified, then Reader should be specified for that Proxy.
Example
//Old
//New
17. PagingToolbar .PageSize has been removed.
Store .PageSize should be used instead.
Example
//Old
//New
18. ColumnModel .SetHidden() has been removed.
Use Column .Hidden
Example
//Old
this.GridPanel1.ColumnModel.SetHidden(2, true);
//New
this.GridPanel1.ColumnModel.Columns[2].Hidden = true;
19. ColumnModel .SetColumnWidth() has been removed.
Use Column .SetWidth()
Example
//Old
this.GridPanel1.ColumnModel.SetColumnWidth(1, 100);
//New
this.GridPanel1.ColumnModel.Columns[1].SetWidth(100);
20. ColumnModel SetColumnHeader method has been removed.
Use Column Text property.
Example
//Old
this.GridPanel1.ColumnModel.SetColumnHeader(0, "New label");
//New
this.GridPanel1.ColumnModel.Columns[0].Text = "New label";
21. ColumnModel SetRenderer method has been removed.
Use Column Renderer property.
Example
//Old
Renderer r = new Renderer();
r.Fn = "change";
this.GridPanel1.ColumnModel.SetRenderer(2, r);
//New
Renderer r = new Renderer();
r.Fn = "change";
this.GridPanel1.ColumnModel.Columns[2].Renderer = r;
22. JavaScript: MixedCollection .itemAt() has been removed.
Use .getAt().
Example
//Old
Panel1.items.itemAt(0);
//New
Panel1.items.getAt(0);
23. GroupingView has been removed and replaced with Grouping feauture.
Example
//Old
//New
24. GridView .ForceFit has been moved to GridPanel.
25. GridView .EnableRowBody has been removed and replaced with RowBody feature.
Example
//Old
//New
26. GridPanel Command and GroupCommand listeners has been moved to Column listeners
27. Store .SortInfo has been removed.
Use Store .Sorters
Example
//Old
//New
28. Store .SerializationMode has been removed.
Use ModelField .IsComplex
or
Store .Data instead of .DataSource equals SerializationMode="Complex".
29. To get Column .Editor working set up CellEditing plugin for GridPanel.
GridPanel "editing" events are moved to CellEditing.
Example
30. Signature of ModelField .Convert has been changed.
The first argument is a record, not an array of values.
31. Store .BasePrams has been renamed to .Parameters
Parameter has been renamed to StoreParameter
32. RowSelectionModel RowSelect and RowDeselect Listener and DirectEvent has been renamed to
Select and Deselect
33. RowSelectionModel JavaScript .getSelected() has been removed.
Use .getSelection().
34. "Layout" type controls has been removed.
Use the Layout and LayoutConfig properties of a container.
35. GridFilters plugin became a feature and should be defined in GridPanel .Features, not .Plugins.
36. ScriptTagProxy has been renamed to JsonPProxy
37. BufferView has been removed. Use Store .Buffered property.
38. GridView .ScrollOffset has been moved to GridPanel.
39. Panel .Header has been renamed to .PreventHeader.
Example
//Old
//New
40. Now ExtJS doesn't override/extend standard JavaScript classes.
The createDelegate function has been renamed to bind.
Example 1
//Old
String.format(string, value1, value2);
//New
Ext.String.format(string, value1, value2);
Example 2
//Old
var f = function () { };
f.defer(10);
//New
Ext.Function.defer(f, 10);
Example 3
//Old
var f = function () {
alert(this);
};
f.createDelegate('Hello!')();
//New
Ext.Function.bind(f, 'Hello!')();
41. Store .OnRefreshData has been renamed to .OnReadData
42. LockingGridView has been removed.
Use Column .Locked property.
43. GridView .MarkDirty has been removed.
44. RowEditor plugin has been removed.
Use GridPanel RowEditing Feature.
45. XMLReader .IDPath has been removed.
Use .IDProperty
46. ComboBox .Template has been removed. Use ComboBox ListConfig.Tpl and ListConfig.ItemTpl.
Example
//Old
//New
47. ComboBox .LoadingText has been removed. Use ComboBox ListConfig.LoadingText.
Example
//Old
//New
48. ComboBox .ItemSelector has been removed. Use ComboBox ListConfig.ItemSelector.
Example
//Old
//New
49. ComboBox Select listener. An array of records is passed to a listener, not a single record.
50. ComboBox server .SelectedItem is used only when ComboBox is configured with ReadOnly="true".
In any other cases use .SelectedItems.
51. Store server .UpdateRecordField() has been removed.
Example
//Old
Store1.UpdateRecordField(0, "company", (object)"New Company");
//New
Store1.GetAt(0).Set("company", (object)"New Company");
52. ComboBox client .triggers collection has been removed. Use .getTrigger(index).
Example
//Old
ComboBox1.triggers[0]
//New
ComboBox.getTrigger(0)
53. CompositeField hasb been removed and replaced with FieldContainer.
Note that default Layout of FieldContainer is "autocontainer", not "hbox".
Example
//Old
//New
54. Menu ItemClick has been renamed to Click.
55. DropDownField .ComponentAlign has been renamed to PickerAlign.
56. DropDownField new property .MatchFieldWidth has true value by default.
So, .Width of a Component is ignored.
To avoid it set up MatchFieldWidth="false".
57. TreeNode class has been renamed to Node, .Nodes renamed to .Children.
Node has client .data property instead of .attributes one.
58. TreePanel DefaultSelectionModel and MultiSelectionModel has been renamed to TreeSelectionModel.
Use .Mode to set up selection mode.
59. FieldUploadField FileSelected event has been removed. Use Change.
60. Form fields .DataIndex has been renamed to .Name.
61. PagingToolbar .PageIndex has been removed. Use Store .LoadPage(index) or set up a respective "start" parameter.
62. MultiSelect .Legend has been removed. Wrap MultiSelect in FieldSet of use ListTitle.
63. Use NumberField instead of SpinnerField.
64. Container .LabelAlign, .LabelPad, .LabelSeparator, .LabelStyle, .LabelWidth has been removed.
Use the same properties of container items.
Note that you can set these properties for all items using Container Defaults or FormPanel FieldDefaults.
65. ColorPalette has been renamed to ColorPicker.
66. ComboBox Mode has need renamed to QueryMode.
67. BottomTitle has been removed. Use Panel HeaderPosition.
68. DataView OverClass has been renamed to OverCls.
To set up over class for items, use OverItemCls.
69. MenuTextItem has been removed. You can use, for example, Label or DisplayField.
70. Element .AddClass(), .RemoveClass(), .ToogleClass() has been renamed to, respectively,
.AddCls(), .RemoveCls(), .ToogleCls(). Their client side pairs as well.
71. Panel AutoLoad has been removed. Use Loader.
71.1. Use DisableCaching instead of NoCache.
71.2. Use RendererType insted of Mode.
71.3. Default RendererType is Iframe.
71.4. Use RendererType="Html" instead of Mode="Merge".
71.5. Use LoadMask.ShowMask instead of ShowMask.
71.6. Use LoadMask.Msg instead of MaskMsg.
71.7. Use Loader BeforeLoad and Load events instead of Panel BeforeUpdate and Update.
72. TabPanel ResizeTabs has been renamed to Resizable.
73. CenterLayout has been removed. Please us a combination of HBoxLayout and VBoxLayout.
74. ToolbarReorderer plugin has been renamed to BoxReorderer.
75. FormLayout has been removed. Use AnchorLayout.
76. TreeNode has been renamed to Node. Node has no client side getUI method.
To get a node's HTML element, use the view's getNode method.
Example
//New
tree.getView().getNode(node)
77. TreeNode has been renamed to Node. Its Draggable property has be renamed to AllowDrag.
78. TreeNode has been renamed to Node. Leaf nodes requires Leaf="true" to be set up.
79. Tool Qtip has been renamed to Tooltip.
80. TreePanel client side initChildren method has been removed. Use the setRootNode method.
81. TreePanel EnableDD has been removed. Set up TreeViewDragDrop plugin for TreePanel View.
82. TreePanel ContainerScroll has been removed.
83. AsyncNode class has been removed. Use Node with NodeType="async".
84. TreeNode has been renamed to Node. Its cliet side ensureVisible method has been removed.
Use TreePanel View focusRow method.
Example
//New
TreePanel.getView().focusRow(node)
85. ModelField Convert. Now the first argument is a record instance, not just an array.
86. BottomTitle plugin has been removed. Use Panel HeaderPosition="Bottom".
87. BoxComponentBase AutoWidth has been removed.
88. PanelBase KeyMap has been removed. Though we are planning to implement it in one of next releases.
89. Calendaer: Event and EventCollection classes has been renamed to EventModel and EventModelCollection.
90. ResourceManager Namespace is "App" by default. Any widget will share own client id in that namespace.
Example (client side)
//Old
TextField1.setValue("Hello World!");
//New
App.TextField1.setValue("Hello World!");
or
//New
#{TextField1}.setValue("Hello World!");
You can set up an empty Namespace to get the same as it's in Ext.NET v1.
Example
91. There is no ViewState on page by default, i.e. ResourceManager DisableViewState="true" by default.
To get it back, set .DisableViewState="false" for ResourceManager.
92. ColumnLayout doesn't support FitHeight and Split options.
Please use HBox layout if you need this functionality.
93. The type of TextFieldBase Validator has been changed to JFunction (was string).
Example
//Old
//New
94. GridPanel Reload method doesn't reload its Store, don't use it.
Use Store Reload method.