Ext.NET 4.3 Now Available
The Ext.NET Team is excited to announce that Ext.NET 4.3 has been released and is now available to download directly or install using NuGet.
Ext.NET WebForms
Install-Package Ext.NET
Ext.NET MVC
Install-Package Ext.NET.MVC
Ext JS 6.5
The release of Ext.NET 4.3 incorporates another big update to the underlying Sencha Ext JS framework with the inclusion of ExtJS 6.5. More than 300 fixes and features have been added since the last Ext.NET release and as always, everything is automatically included in both Ext.NET WebForms and Ext.NET MVC.
A detailed list of client-side improvements in Ext JS 6.5 is available for review, with several of the notable new features detailed next.
Chart Features
Smoothing out the LineChart lines between connected data hubs is now configurable with the new Curve property. The following sample demonstrates configuring the Curve
property of a LineSeries.
protected object chartCurve = new
{
type = "cardinal",
tension = 1.0
};
Then inside the LineSeries
configuration the chartCurve
can be applied using the following:
<ext:LineSeries
XField="Xdata"
YField="Ydata"
Curve="<%# chartCurve %>"
AutoDataBind="true"
/>
The LineSeries
with the default type="linear"
(see left) would then be rendered with a curved line (see right):
The above chart example was based on our Basic LineChart sample.
The PanZoom interaction has also been improved with a new DoubleTapReset boolean property. By default DoubleTapReset
is false
, but setting to true
will trigger the Chart to reset its zoom and pan with a double-tap in a touch environment.
Form Features
The TextField
selection action can now follow a specific direction when using the SelectText method. This feature becomes very useful when apps are run in a left-to-right language enviroment.
The Slider
Component has improved support for multiple thumbs configuration. In the sample below, the additional thumbs on the slider are only updated because the ThumbPerValue setting is set to true
.
<ext:Slider
ID="sld1"
runat="server"
ThumbPerValue="true"
Numbers="25,55,85"
Width="250"
/>
<ext:Button
runat="server"
Text="Update to 5-thumb"
Handler="App.sld1.setValue([20, 37, 60, 75, 95])"
/>
<ext:Button
runat="server"
Text="Update to 3-thumb"
Handler="App.sld1.setValue([25, 55, 85])"
/>
The Change and BeforeChange events were also reviewed to support the improved thumb information.
The Toolbar Components now have a TrackMenus setting that, when used with menu buttons within the toolbar, suppresses automatic button menu expansion if one of the toolbar buttons’ menu is expanded. To prevent this (default) behavior, set TrackMenus="false"
.
Toolbars with menu buttons can now be set to prevent buttons with a menu to expand when moving the mouse over them if another button has its menu expanded. This feature is useful when you want to handle the menus’ hiding mechanism so that the toolbar won’t be interfering with the menus’ expanded state.
<ext:Toolbar runat="server" TrackMenus="false" />
The lightweight Widget
Components can now be configured with a Name
property and also a customized Ripple effect for a nice visual feedback when clicked.
<ext:ProgressBarWidget runat="server" Ripple="true" />
<ext:ProgressBarWidget runat="server" RippleString="green" />
<ext:SliderWidget runat="server" RippleString="#00ff00" />
The Widget Grid Panel sample provides a working demonstration of setting Ripple="true"
.
The new ReplaceCls()
method was included to enable replacing CSS classes bound to the component. Very helpful when the component is handled during disabled or enabled events.
GridPanel Features
GridPanel Grouping
can now have tooltips configured for expanded and collapsed modes by setting the CollapseTip and ExpandTip properties.
<ext:Grouping
runat="server"
CollapseTip="Collapse this group"
ExpandTip="Expand this group"
/>
For example, if used with our Grid Panel Grouping example, when hovering the mouse on the grouping rows, the following tips will be rendered:
When using GridPanel filters, you can now bind custom actions in the events of the filter being activated and deactivated. A Grid Filters Local example sample has been added, or see documentation.
<Listeners>
<FilterActivate
Handler="Ext.Msg.alert('filter', 'activated: ' + column.text)"
/>
<FilterDeactivate
Handler="Ext.Msg.alert('filter', 'deactivated: ' + column.text)"
/>
</Listeners>
New Component KeyMap Support
A particularly interesting component that we completely reworked in the Ext.NET 4.3 release is KeyMap, which now includes the option to add a KeyMap configuration to any other Component.
We have included a new KeyMap sample which demonstrates several techniques for configuring the component-level key mapping.
The following code sample outlines a basic configuration to bind a Handler to the pressing of the a key.
<KeyMap>
<KeyBind Key="a" Handler="Ext.Msg.alert('Pressed');" />
</Keymap>
Other Notable Revisions
The full list of Ext.NET 4.3 changes is available for review on GitHub, with some highlights including:
- [#1350] GridPanel’s Ext.Net.GridView enableTextSelection issue
- [#1441] SelectOnFocus for text fields (TextArea, TextField) is ignored (always true)
- [#1497] Ext.chart.series.Pie3D can skip refreshing legend text when data changes
- [#1505] Grid Panels horizontal scrollbar misbehavior with IE11
- [#1514] Ext.Net.DropDownField: calling reset() triggers javascript error
- [#1518] Ext.Net.MenuPanel item selection to be improved
- [#1520] Ext.Net.CalendarPanel: Mouse hover/clicks on month view calendar events ignored on IE
Your Feedback
As always, your feedback and comments are greatly appreciated. Please feel free to contact us at hello@ext.net if you have any questions or comments, or join the conversations happening within the Ext.NET Community forums.
Technical support questions are best asked in the forums. The public discussion may help others in the future, and allows the community to participate.
Follow @extnet on Twitter to stay up-to-date.