Ext.NET 4.8 Now Available
The freshly updated Ext.NET version 4.8 release is ready and now available for download.
You can install Ext.NET using NuGet by running one of the following commands depending on whether your project is a WebForm or MVC project.
Ext.NET WebForms
Install-Package Ext.NET
Ext.NET MVC
Install-Package Ext.NET.MVC
Upgraded to Ext JS 6.7.0
Ext.NET 4.8.0 includes the latest Sencha Ext JS 6.7.0 release. This version introduces new features and addresses over 30 issues since Ext JS 6.6.0.
Ext.NET Updates
We’ve also fixed some ExtJS bugs on our own, and also some Ext.NET-specific ones. Check the complete list in Ext.NET 4.8 at our issues tracking github page. We’ll point out some of the most interesting new features here.
New Ext.Net.ClientStore
Ext.NET 4.8 introduces the ClientStore, a store which data can be saved either in the client’s browser (local) or browsing session. It features the same set of features a normal store would, but adds the ability of client-side saving, so grid panels, combo boxes, or anything that can take a store could benefit from it. Useful for example, to persist a grid data before it is saved to the server.
The store is uniquely saved by a key StorageKey, required parameter to the component; thus it can be reused somewhere else in the application, to sync pages, for example, without the need to pull off the data from server.
To highlight the usage of the store, we built WebForms and MVC examples where you can experiment with it. In the example, random data can be added to the store, then whenever the example is reloaded, as long as in the same browser, the data will be retained. Opening a private navigation tab, or another browser, will show an empty grid again.
You can see each example’s source code by clicking the Source Code button in the top-left of the screen.
Client-side documentation for the component is available in Sencha documentation on Ext.data.ClientStore.
New Ext.data.Filter SQL-like filtering
Ext.NET 4.8 includes support for the just introduced Ext.data.Query SQL-like store filtering class.
The Ext.data.Query is a powerful and more intuitive interface to apply filters to any store via sql-like syntax.
Store1.AddFilter(new FilterQuery(“column1 like \”Match\” or column2 > 10″));
Basic examples were drawn to highlight the functionality both in a MVC and WebForms, also showing how to use the feature client-side:
Notice you can’t set the filter beforehand, the only supported way to apply filters is with the addFilter() method, as shown in the examples above.
You can see each example’s source code by clicking the Source Code button in the top-left of the screen.
Ext.NET Fixes
Bundled within this release are several important Ext.NET bug fixes and general improvements.
The following fixes are specific to Ext.NET:
- [#1616] cleanResourceUrl=”false” fails loading Draw override
- [#1617] Ext.menu.Item override relies on non-existing getIconUrl() method
- [#1618] Ext.ux.SelectBox picker expand issue with no initial data load
- [#1619] Ext.form.field.Checkbox.updateIndicator() hides the whole checkbox
- [#1621] Ext.net.FieldNote.setNote() error if no initial note is set
We also fixed several Ext JS specific issues that we’ve had to deal with for some time. We decided it was time for fixing them on our own.
- [#1627] Viewport does not resize with browser’s viewport
- [#1628] Ext.data.Query incompatibility with GridFilters GridPanel plugin
- [#1632] Animated Dataview creates two DOM elements with same ID
Unfortunately, we had to introduce one breaking change with the Ext.Net.Node class as the listeners were not working properly. We are confident very few people will notice this change, if any; else they’d have noticed the listeners in nodes didn’t work before.
- [#1615] Ext.Net.Node implements non-existing listeners
Your Feedback
Your feedback and comments are greatly appreciated. Please feel free to contact us at hello@ext.net if you have any questions or comments, join the conversations happening within the Ext.NET Community forums.
Technical support questions are best asked in the forums. The public discussions may help others in the future and allows the entire Ext.NET community to participate.